M38 stage B: the kernel-integrated Conductor — the guest drives the verified organ-loop over the M30 channel (closes #105)#52
Open
bahadirarda wants to merge 2 commits into
Open
Conversation
…erified organ-loop over the M30 channel (closes #105)
TRINITY ADOPT-1 wired into the kernel boot. The in-kernel selftest agent
drives the Verifier-gated organ loop FROM THE GUEST through the cap
chokepoint: M_MEM_RECALL (the BM25 lexical recall, RetrievalOverMemory) ->
the discrete Worker score -> M_MODEL_INVOKE_BYTES (the MOCK organ through the
landed INVOKE_MODEL possession gate, LocalM32/ExternalMock) -> the verified
tb_encode::conductor discrete Verifier verdict, looping
select-organ->assign-role->until-ACCEPT (MAX_TURNS=5, bounded). Each
orchestration DECISION folds into a conduct_head via the M22 prov fold reused
verbatim, on its OWN lane (every prior fold head byte-identical).
The guest emits the same conduct: witness grammar stage A emits (now
guest-serial), the per-step conduct-step: trace (hex-only, injection-proof),
and the M38: conductor OK marker — the NEW cumulative tail; M31 is
demoted-not-deleted. The HOST feeds the guest's OWN emitted trace to
conductor-host --recompute-from-trace, which independently re-folds the
lineage via the SAME verified leaf in a SEPARATE process; the run script
string-equals the two heads — the cross-process anti-hollow leg, now
guest->host. The guest-side negative is the aarch64 in-guest forge-test: M38:
line (escapes ONLY hex-framed).
Both arches boot green on both the host leg and the aarch64 in-guest leg; the
cross-process head matches byte-identically across arches
(head=0x066855300c57557b). NO new encoder harnesses (the policy ALGEBRA is
fully proven at stage A; pin stays 112). Offline + deterministic: NO network,
NO secret, all organs mocks (the real M32 organ is the #90 follow-up).
Surface: tb-hal selftests.rs (conductor_selftest) + verified_leaf.rs
(ConductorProof/facade) + the aarch64 inguest forge-test; kernel/src/main.rs
(the stage-B selftest agent block + write_dec_u64); conductor-host
(--recompute-from-trace); scripts/run-{x86_64,aarch64}.sh (the M38 guard
block + the displacement + the cross-process recompute); ci.yml
(conductor-host pre-build) + conductor-host.yml (stage-B cumulative-tail
invariant); docs (proposal Status + Landing-status, MILESTONES, ARCHITECTURE).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
run-vmm-x86_64.sh mirrors run-x86_64.sh's cumulative-tail discipline; advance it to the M38 marker (demote-not-delete M31) + the M38 guard block + the §8.6 cross-process recompute leg, so the conductor loop is also witnessed under tb-vmm/KVM. Builds conductor-host on demand (the lane runs on a cargo runner). The conductor output is deterministic, so the cross-process head matches identically under KVM (verified: the vmm-leg guard logic is sound). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
M38 stage B — the kernel-integrated Conductor (TRINITY ADOPT-1; closes #105)
Stage B wires the verified
tb-encode::conductorpolicy (landed in stage A, PR #51) into the kernel boot. The in-kernel selftest agent drives the Verifier-gated organ loop from the guest through the cap chokepoint, exactly the M31 selftest idiom:M_MEM_RECALL(the M13/M20 BM25 lexical recall — the RetrievalOverMemory organ) → the discrete Worker score over that context →M_MODEL_INVOKE_BYTES(the MOCK organ through the landedINVOKE_MODELpossession gate — LocalM32/ExternalMock) → thetb_encode::conductordiscrete Verifier verdict, looping select-organ→assign-role→until-ACCEPT,MAX_TURNS=5bounded (no unbounded wait — the boot-hang risk is structurally excluded by the verified bounded transition).Each orchestration DECISION folds into a
conduct_headvia the M22 prov fold reused verbatim (under the newprov::kind::CONDUCT_DECISIONtag), on its own lane — every prior fold head stays byte-identical.The guest-serial witness (verbatim from a green boot, both arches)
The displacement (demote-not-delete)
M38: conductor OK ...is the NEW cumulative tail on both arches;M31: infer-e2e OK backend=MOCK-DETERMINISTICis demoted-not-deleted (asserted directly beneath it per the run-script displacement discipline).The cross-process anti-hollow leg (now guest→host)
The HOST feeds the guest's OWN emitted
conduct-step:trace toconductor-host --recompute-from-trace, which independently re-folds the M22 lineage via the SAME verified leaf in a SEPARATE process; the run script string-equals the two heads:head=0x066855300c57557b == head=0x066855300c57557b. A forged summary or a doctored trace diverges (verified: a single verdict-flip →0x79a0..., a forged single-organ trace →0xe11d...).Anti-hollow + regression-proof
forge-test: M38: conductor OK ...— a deprivileged guest cannot forge the host-trusted marker (escapes ONLY hex-framed; the host sees exactly ONE un-framed M38).prov=0xcb8f40696aac351d,exp=0x9e912bbee2cb0539,opframe=0x5b02b34b6fcf40b3,exittel=0x11135119b78d99aa— the conductor folds on its own lane.EXPECTED_HARNESSES_TOTALpin stays 112).Honest scope (verbatim tokens)
HAND-WRITTEN not learned; the Verifier is the discrete CI verdict (the M18.1 human gate is admission-only + provably inert in the all-mock chain); all organs are mocks (the real M32 organ is the #90 follow-up; the live external organ in-loop is the dispatch-only
conductor-live.ymlsuccessor); offline + deterministic, NO network, NO secret.Verification
2× consecutive green on BOTH arches (x86_64 microvm + aarch64 virt, including the aarch64 in-guest EL1 leg) from clean
rm -rf targetbuilds.🤖 Generated with Claude Code