Skip to content

docs(research)+memory: substrate-discovery scoping epistemic-corrections + chat-as-assertion-channel discipline#1388

Merged
AceHack merged 4 commits intomainfrom
research/substrate-discovery-hybrid-correction-2026-05-03
May 3, 2026
Merged

docs(research)+memory: substrate-discovery scoping epistemic-corrections + chat-as-assertion-channel discipline#1388
AceHack merged 4 commits intomainfrom
research/substrate-discovery-hybrid-correction-2026-05-03

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 3, 2026

Summary

Three substantive corrections to the #1385 substrate-discovery scoping doc + new memory file capturing the chat-is-assertion-channel discipline.

Three corrections

1. Chat is assertion-channel, not fact-channel (new memory file)

Maintainer 2026-05-03: "when i speak i'm making assertions, that's the best way to describe this chat channel" + push-back-required-even-when-he-asserts.

Triggered by #1385 echoing "maybe" as architectural fact. Now landed as memory/feedback_chat_is_assertion_channel_not_fact_channel_push_back_for_evidence_aaron_2026_05_03.md with carved-sentence + composes-with cluster.

2. Live-off-the-land = HYPOTHESIS, not fact (#1385 doc revision)

Re-graded as hypothesis with three falsifiable tests (canary, skill-persona observation, external-PR-reviewer observation). Phase 0 PoC scope expanded to include ONE test as prerequisite evidence.

3. Existing AOT-core + JIT-plugins architecture is the pattern

Maintainer 2026-05-03: "we already have a AOT core that can load JIT plugins see the Baseyan."

Verified in repo at src/Bayesian/Bayesian.fsproj line 9 + src/Core/PluginApi.fs + src/Core/PluginHarness.fs. Substrate-discovery follows the existing pattern: AOT core for zero-install external-agent delivery; reflection-heavy extensions (DuckDB oracle, future ML) ship as separate JIT plugins.

Test plan

  • §33 archive-header lint passes
  • Memory-references lint passes (788 refs resolve, 0 broken)
  • MEMORY.md updated with pointer (newest-first convention)

🤖 Generated with Claude Code

AceHack added 2 commits May 3, 2026 07:45
…te-discovery scoping epistemic-corrections

Three substantive corrections from maintainer 2026-05-03 chat-channel
exchange post-#1385 merge, all related to epistemic discipline:

1. **Chat is assertion-channel, not fact-channel** (new memory file +
   MEMORY.md pointer): *"when i speak i'm making assertions, that's
   the best way to describe this chat channel"*. Chat-claims need
   evidence to elevate to architectural fact. Push-back-with-evidence
   is the discipline; echo-as-fact is the failure mode.

2. **Live-off-the-land for harness-loaded surfaces is a HYPOTHESIS,
   not a fact** (#1385 scoping doc revision): the maintainer said
   "maybe", architect echoed as architectural fact. Re-graded as
   hypothesis with three falsifiable tests:
   - .claude/rules/ auto-load canary
   - skill-persona behavioral observation
   - external-PR-reviewer behavioral observation
   Phase 0 PoC scope expanded: include ONE of these tests as
   prerequisite evidence.

3. **Distribution = dual-mode (NativeAOT + self-contained JIT)**
   (#1385 scoping doc revision): maintainer 2026-05-03 *"the whole
   Zeta-native-AOT direction self contained jit is the rethink"* +
   *"we want to support both anyways, they are both useful in
   different sistuaitons"*. Both intentional support targets, not
   AOT-with-JIT-fallback. Trade-off table added: AOT for fast-startup
   contexts; JIT for reflection-heavy library-mode contexts. Phase 0
   PoC validates BOTH modes cross-platform.

Doc additionally re-graded each layer (Zeta-native-AOT canonical /
DuckDB oracle / live-off-the-land / distribution feasibility) as
fact / decision / assertion / hypothesis with evidence labels.

Composes with Otto-364 search-first-authority + razor-discipline
(no metaphysical inferences) + substrate-or-it-didn't-happen +
verify-then-claim.

§33 archive-header lint passes. Memory-index integrity passes (788
refs resolve, 0 broken).
…T-plugins architecture per Zeta.Bayesian prior art

Maintainer 2026-05-03 caught the dual-mode framing reinventing
existing architecture: *"we already have a AOT core that can load
JIT plugins see the Baseyan."*

Verified prior art in repo:

- src/Bayesian/Bayesian.fsproj line 9: explicit comment "Explicitly
  NOT AOT-enforced — this is a plugin. Core stays AOT-clean."
- Project description: "Opt-in: this project doesn't enforce
  PublishAot=true because it may optionally use Infer.NET, which
  depends on reflection-emit."
- src/Core/Core.fsproj contains PluginApi.fs (IOperator<'TOut>
  plugin-author contract) + PluginHarness.fs (test harness for
  plugin operator authors)

So the architecture is:

- **Zeta.Core** = AOT-clean library with the plugin contract
- **Plugin projects** = separate fsproj, NOT AOT-enforced, can use
  reflection-heavy libraries (Infer.NET for Bayesian; future
  DuckDB.NET for the verification-oracle path; etc.)

Substrate-discovery follows this pattern:

- Core indexing/query engine ships AOT-published as a small binary
  (zero-install for external-agent use case)
- Reflection-heavy extensions (DuckDB cross-check oracle, ML
  similarity scoring) ship as separate JIT plugins loaded by the
  AOT core on demand
- The IOperator<'TOut> contract is stable across the AOT/JIT
  boundary

Phase 0 PoC scope updated:

- Build minimal Zeta.SubstrateDiscovery AOT-clean library; publish
  AOT on linux-x64, osx-arm64, win-x64
- Optionally: sibling Zeta.SubstrateDiscovery.DuckDB JIT plugin
- If AOT has compatibility issues, the rethink is narrow (extract
  the affected dependency to a JIT plugin) not wholesale
  re-architecture — because the pattern is already shipping in
  Zeta.Bayesian

§33 lint passes.
Copilot AI review requested due to automatic review settings May 3, 2026 11:48
@AceHack AceHack enabled auto-merge (squash) May 3, 2026 11:48
…hought

Maintainer 2026-05-03 reminder: *"i'm sure you remember all the DST
goodness right?"* — surfaces that DST integration was buried as a
single line in the original doc instead of being treated as
load-bearing.

Adds new "DST integration" section under Distribution feasibility:

- Cold-start replay = warm-state IVM is the central correctness
  invariant (CI-enforced, not just property-tested)
- File-watcher events are adversarial schedules — DST replays them
  deterministically with pinned seed, making concurrent-modification
  / partial-write / atomic-rename quirks reproducible test cases
- Every non-determinism source must be exposed (dictionary order,
  hashtable insertion, async scheduler, plugin-load timing) and
  pinned — per Otto-281 retries are non-determinism smell
- Chain-rule Prop 3.2 Lean proof guarantees algebraic determinism;
  DST proves the implementation matches; both required for A-grade

Concrete DST primitives in Phase 0 PoC:

- Pinned random seeds (Otto-273; 69/420 whimsy)
- Replay mode (event sequence + seed → identical Z-set state)
- CI job comparing cold-start replay vs warm-state IVM at every
  commit
- Adversarial-schedule fuzz harness for pathological file-watcher
  event sequences

Composes with Otto-272 DST-everywhere + Otto-273 seed-lock-policy +
Otto-281 DST-exempt-is-deferred-bug + the chain-rule Lean proof +
the math-proofs assessment A-grade definition.

§33 lint passes.
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates research and memory substrate to correct epistemic framing in the substrate-discovery scoping doc, and to record a new “chat is assertion-channel” discipline with an index entry.

Changes:

  • Added a new memory file capturing the “chat is assertion-channel, not fact-channel” / push-back-with-evidence discipline.
  • Updated memory/MEMORY.md to index the new memory entry (newest-first).
  • Revised the substrate-discovery scoping research doc to re-grade “live-off-the-land” as a hypothesis with falsifiable tests and to align the architecture with the existing AOT-core + JIT-plugin pattern (Bayesian/PluginApi/PluginHarness).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
memory/feedback_chat_is_assertion_channel_not_fact_channel_push_back_for_evidence_aaron_2026_05_03.md New memory entry describing the assertion-vs-fact discipline and how to apply it.
memory/MEMORY.md Adds an index pointer for the new memory entry.
docs/research/2026-05-03-substrate-discovery-zeta-native-aot-scoping.md Updates scoping doc with epistemic corrections and a clarified AOT-core/JIT-plugin architecture narrative.

…consistency in discipline-check

Reviewer caught: original Discipline check questions had Q1 + Q2
phrased so 'no' was the desired answer (didn't echo, didn't encode
'maybe' as 'is') but the conclusion said 'any no = failure mode' —
internal inconsistency.

Reworded all 4 questions so 'yes' is uniformly the desired answer:
- Did I grade every chat-assertion's evidence base?
- Did I keep 'maybe' framed as 'maybe'?
- Did I document falsifiability tests?
- Did I attribute assertions to whoever asserted them?

Conclusion is now consistent: 'no' = failure mode, triggers revision.
@AceHack AceHack merged commit ecef166 into main May 3, 2026
24 checks passed
@AceHack AceHack deleted the research/substrate-discovery-hybrid-correction-2026-05-03 branch May 3, 2026 11:53
AceHack added a commit that referenced this pull request May 3, 2026
…-correction substrate-discovery cascade (#1391)

Heavy substrate-corrections cluster across #1387 + #1388 + #1390:
chat-is-assertion-channel discipline + complementary-not-exclusive
+ hypothesis-vs-fact (live-off-the-land) + existing-prior-art (AOT-
core-plus-JIT-plugins per Zeta.Bayesian) + DST-load-bearing + git-
cross-check + B-0017 dashboard composition.

Discipline lessons: substrate-corrections-cluster discipline (don't
bundle multiple corrections in one PR; reviewer-thread-load scales
linearly) + search-first-before-architectural-expansion (the git
CLI/server + UI framings were already substrate).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants