Milestone 27a implementation and qualification record
Status: Complete. Owner approval: Lukas Bower, 14 September 2026.
Implementation baseline: b848b5cbb; pre-publication main was
13020a33dba0832e2297fe119fedf6d302704bdc. Reviewed candidate F is
58140c1a5c79124a8dd7a4ff4bd547a52c8bd362. Its separate owner review is
recorded below. Publication preserves candidate F in the commit ancestry;
completion documentation does not rebind its qualification artifacts.
Title/ID: m27a-authority-hardening
Milestone: Milestone 27a — Authority Hardening: Delegated REST Identity, Fenced
Failover, Idempotent Queen Intents.
Goal: Close the single-host Release A authority floor while preserving existing
transport and accepted Worker/driver boundaries.
Inputs: canonical target manifests, manifest schema 1.21, upstream selected seL4
profiles, existing v2 execution journal, exact pre-change gateway binary at
out/m27a/baseline-target/debug/hive-gateway from detached b848b5cbb.
Scoped task coverage
| Task | Implementation and qualification disposition |
|---|---|
m27a-rest-delegated-identity |
MAC validation, role/mount/write-scope intersection, finite budgets, issuer rotation and bounded cache pass host tests. Final QEMU and Pi live REST refusal, concurrent caller quota and audit checks pass (107/112). |
m27a-queen-ctl-idempotency |
Shared bounded reservation, stable duplicate terminal, changed-envelope refusal, explicit legacy compatibility and versioned introspection pass host tests. Final production QEMU and Pi strict/dedupe/stale checks pass (101/114). |
m27a-failover-epoch-fencing |
Local/relay stale rejection, durable epoch floors and crash-safe cutover state tests pass. Release A excludes production failover/federation; no multi-host qualification claimed. |
m27a-production-secret-profile |
Shared references, pre-connect placeholder refusal, production profile generator, compiler-bound public key and exact release inventory pass compiler/release negative tests. Final production QEMU and Pi images compile (101/106); both final payload scans pass (111). No new release assembly is claimed. |
m27a-audit-replay-production-default |
Production generator requires bounded audit/replay. Final QEMU and Pi read audit/replay (101/114) and export epoch/dedupe with the shipped coh client (107/121). |
m27a-host-ticket-validation-replay |
Generated provider field contracts, validated operands, bounded v1/v2 journals, durable terminal replay and interrupted-execution deadletter. Crash/writeback and relay recovery tests pass. |
m27a-python-authority-contract-parity |
Shared generated policy/provider contracts, delegated mutation headers, strict intents, epoch/correlation and bounded responses. Python suite passes. |
m27a-gpu-bridge-auth-frame-caps |
Selected secret sources fail closed; generated frame length checked before allocation. Focused tests pass. |
m27a-console-debug-memory-gate |
Diagnostics default off; release features independently deny memory reads. Four pure range tests and six live non-release QEMU cases pass (83/95), as do final production QEMU upper/lowercase refusals (107). |
m27a-deferred-vm-authority-gates |
Compiler rejects unaccepted VM identity, 28b ledger/quarantine, AI actuation and production failover claims. Existing accepted task/driver authority remains distinct. |
m27a-gateway-authority-performance |
Current/pre-27a host-model comparison passes without retries; measured latency regressions are retained. Equivalent 26d status comparison is NOT_PERFORMED because its artifact is missing, accepted for M27a closure by the owner decision below. |
Optional admission correlation is retained in strict intents, host tickets,
execution journals, receipts, audit and evidence: admission_id, intent_hash,
policy_hash, state_epoch, resource_generation, decision_expiry.
No component evaluates or fabricates a Milestone 28a decision. writer_epoch
remains an independent writer fence.
Compatibility review
| Surface | Same-change review |
|---|---|
hive-gateway |
Per-request caller delegation intersects one upstream session; bounded cache/quotas, typed refusals, hash-bound audit and status counters. No parallel console owners. |
cohsh |
TCP secret references resolve before connect; REST attach selects the current caller ticket; minting supplies finite caller claims; strict writes use the existing ECHO grammar. |
coh, including FUSE and evidence |
Shared REST client supplies delegation for mutations; evidence adds bounded authority/dedupe snapshots; filesystem and GPU operations retain their documented paths. |
coh-status |
Read-only status projection and terminal rendering unchanged; shared client validates any selected credential before HTTP. No new mutation authority. |
| SwarmUI | Placeholder TCP credentials now fail before connection; REST operations inherit shared caller delegation and bounded responses. Existing replay mode remains explicit. |
gpu-bridge-host |
Live TCP/REST credential preflight and generated console-frame bound; provider/registry publication and unavailable-state semantics preserved. |
host-sidecar-bridge |
Existing TCP transport receives shared pre-connect refusal; REST transport selects COH_REST_TICKET. Provider scheduling and publication paths need no change. Tool-specific token aliases remain documented. |
host-ticket-agent |
Provider allowlists and operands checked before executor dispatch; durable execution recovery, epoch floor, bounded journal reads, result/correlation binding and whole-request relay deadline. |
cas-tool |
Explicit bounded signing-key references, no fallback, file rotation; release bundles retain only the public key emitted with the selected root manifest. CAS protocol unchanged. |
sidecar-bus and provider libraries |
Use the existing transport/provider contracts; no independent network auth path or new host authority introduced. |
tools/cohesix-py |
Generated authority and provider fields, strict intent/epoch validation, delegated REST mutation preflight, response bounds, reference rotation and evidence parity. |
| Benchmarks and regression runners | Mutation workloads pass delegated tickets; selected manifests resolve exact private credentials; no bootstrap fallback. Authority probe preserves every sample/refusal and does not supply target throughput proof. |
| Build, release and due diligence | Selected manifest drives Python projection; generated snapshots include compiler-bound public key; release policy and payload scan reject fixtures/private keys; historical release directories remain immutable. |
The public migration contract is M27A_AUTHORITY.md.
Retained command evidence
All paths below are local retained evidence, not portable release attestations. Earlier failed attempts remain in place and are not relabeled.
| Command / result | Evidence |
|---|---|
scripts/check-generated.sh --update-pi4-test-profile PASS |
out/m27a/check-generated-4.log; current Pi generated fixtures refreshed by the compiler. |
scripts/ci/check_test_plan.sh PASS |
out/m27a/check-test-plan-2.log; 47 catalog actions. |
cargo test -p rust-risk-audit PASS, 28 tests |
out/m27a/risk-tests-16.log. |
cargo run -p rust-risk-audit -- --baseline docs/audit/rust_risk_baseline.toml PASS |
out/m27a/risk-ratchet-16.log; counts below. |
cargo test -p host-ticket-agent -p cohesix-rest -p hive-gateway -p coh-rtc packages PASS in combined run |
out/m27a/authority-tests-15.log; that run’s additional risk-audit package failed on the stale current build fingerprint, subsequently repaired and retested. |
| Python auth/SDK/benchmark/failover/release tests PASS, 421 tests | out/m27a/python-15.log; command uses PYTHONPATH=tools/cohesix-py out/m27a/venv/bin/python -m pytest. |
| Release and regression-runner tests PASS, 40 tests | out/m27a/release-runner-12.log. |
cargo test -p gpu-bridge-host --features rest PASS |
out/m27a/gpu-tests-17.log; includes selected-source refusal and pre-allocation frame bounds. |
| Gateway current/pre-27a probe PASS | out/bench/m27a-gateway-authority-04/report.json, raw samples and gateway audit logs beside it. |
cargo audit and cargo deny check advisories PASS under existing advisory policy |
out/m27a/cargo-audit-1.log, out/m27a/cargo-deny-1.log; later lockfile changes require final refresh. |
| Full workspace run 13 failed only the stale build fingerprint | out/m27a/workspace-tests-13.log; final workspace run remains required. |
| Stage 01 attempt 01 stopped at an unused relay test import in Clippy | out/m27a/stage1-01.log; import removed, final staged refresh pending. |
Current build-script audit contract
The selected-manifest preflight added to apps/root-task/build.rs resolves each
configured secret reference before compilation and registers its env/file source
through the existing validated Cargo directive emitter. The six existing
OUT_DIR generators and their include contracts are unchanged. The reviewed
current build-script SHA-256 is
8b70f0ab92bbc18c4e63b25aedabd6527ab448d056f1eacd7fded42125463b14.
The scanner constants and current baseline bindings are updated together;
historical fingerprints and every risk ceiling remain unchanged. This records
implementation review, not human Rust approval.
Measured unsafe / unwrap / expect / panic counts are global
823 / 38 / 242 / 100, linked HAL 173 / 0 / 2 / 0, and outside HAL
650 / 38 / 240 / 100. Each is within its existing independent ceiling.
Gateway comparison
The 32-iteration host-model run has no unexpected HTTP/protocol responses, client retries or backpressure. Current status p50/p95 is 0.433/0.623 ms; strict delegated writes 1.288/2.612 ms; exact duplicate acknowledgements 2.115/2.155 ms. Conflicting identities, non-current future epochs (2 against 1), and missing delegation each produce exactly 32 expected refusals. This run does not prove refusal of an older writer epoch. Against the same-host pre-27a binary, status p95 increases 0.182 ms and write p95 increases 1.015 ms. This is a small absolute host-model latency cost; it does not establish equivalent target performance or dismiss the relative status increase. The accepted 26d status-read comparator remains required and has been requested from the owner.
Direct production QEMU observation
out/m27a/qemu-production-5/authority/result.json passes the direct production
profile diagnostic: compiled epoch 7, a documented policy approval, one fresh
strict write, exact duplicate ACK, identity conflict, stale epoch 6 refusal,
legacy path refusal and readable full audit/replay records. It uses the pinned
QEMU 10.1.0 HVF binary and the canonical four-core 24 MHz seL4 build. The packaged
CPIO is 152,064 bytes. Build log and exact retained image bindings are beside the
result. This is convergence evidence, not staged acceptance. The subsequent
console-shortcut and durable dedupe-label changes require a fresh image.
The first compatibility authority diagnostic refused the missing policy
approval. The prior TCP response-matrix failure was a client sending a literal
secret reference; the repaired probe resolves it before connecting. The shared
Pi reboot and raw TCP credential preflights now follow the same contract;
out/m27a/probe-auth-20b.log records 381 passing focused tests.
Host and root audit checks now retain fresh/duplicate with the complete
strict envelope, and preflight journal capacity before reservation or effects.
out/m27a/ninedoor-audit-22.log and out/m27a/root-intent-22.log pass. Rust/Python
C1 reassembly accepts bounded 8192-byte logical records while preserving the
256-byte frame and 64-chunk ceilings; focused validation is retained in
rust-chunks-19.log, python-chunks-19.log, and root-chunk-21.log under
out/m27a/.
out/bench/m27a-gateway-authority-05/report.json verifies actual stale epoch 6
refusal against a compiled epoch-7 gateway, plus all expected positive/negative
HTTP outcomes. Its release-versus-debug baseline and overlapping root compile
make its comparative latency unsuitable for final write-overhead qualification.
A matching optimized baseline and an idle-host rerun remain required.
Source-freeze qualification boundary
out/m27a/check-generated-23.log and check-test-plan-23.log pass. The second
Stage 01 attempt passes generated consistency, formatting, Clippy, workspace
check and the catalogued workspace tests. It was stopped before completion
because concurrent main documentation commits changed its Git source identity;
out/m27a/stage1-02-cancellation.txt records the reason. No stage marker from
that attempt is accepted. Remaining qualification uses a fixed isolated source.
Frozen candidate and current qualification
Implementation candidate 275922fde5c607de38f767e8c19115093c27e9a1 was frozen
without moving main. Candidate 72bffffd1b35dffaf65d1ae1525a8ac7112a1ec5
adds only the missing public verification keys to the release-qualification
fixture; production implementation bytes are identical. The original archive
SHA-256 is 5ca00473f80a89e7efd32f0a387a7d3e80d43923a77b8a85b7e06cf728491af2.
out/m27a/qualification-candidate*.json retains both source records.
The native Linux AArch64 release build and 449 host tests pass on Merlin2 for
the implementation candidate. The canonical Python SDK gate passes 139 tests
with one skip on Python 3.12.3. Logs, toolchain versions and binary hashes are in
out/m27a/merlin2-275922fde5c6/logs/. This proves native host contracts, not GPU
provider execution or target behavior. An earlier manually selected Python
command named a nonexistent test file and collected no tests; the subsequent
canonical SDK command supplies the reported evidence.
The corrected Mac Stage 01 attempt passes formatting, Clippy, workspace check,
the catalogued Rust suites, 2,559 Python tests and example smokes. It stops at
the Rust bootstrap guard because a checkout nested under the main repository
inherits that parent’s Cargo configuration. The guard correctly refuses this
external configuration. Both candidate checkouts were moved to sibling
directories outside the parent repository; all seven bootstrap tests then pass
in out/m27a/candidate-risk-bootstrap-41.log. Full staged qualification is
restarted there. No failed attempt supplies a stage marker. Earlier absent
local Python environments and externally resolving compiler caches were also
repaired without weakening their checks.
The compatibility Pi image built from the clean corrected candidate is
sha256:35512e394a9266b9c0df28ff129d1679d15bf3b7f3fc449ed9650848f5ef623d.
out/m27a/pi4-boot-36/ retains its fresh RAM-load/reset CRC checks, exact BUILD
marker, settled serial log and first raw TCP sample: 64/64 requests, one
connection, zero application retries or reconnects. The same boot passes strict
intent first/duplicate acknowledgement, identity-conflict refusal and full
fresh/duplicate audit labels. Its compiled writer epoch is 1; the diagnostic
named stale-epoch actually tests future epoch 2, so it is only a non-current
epoch refusal. Actual older-epoch and disabled legacy-path checks require the
separate production epoch-7 run. The first raw CLI invocation rejected a missing
ticket before connection; the retained successful invocation supplies a minted
ticket and is the first target TCP connection. These observations remain
non-claiming diagnostics until the applicable staged target checks complete.
The production Pi image also builds with clean source binding:
sha256:e863b609e4c6ea8b462f69d3155f652669ae8a51ee10187e63198849f7e609a2.
Build evidence is out/m27a/pi4-production-build-40.log; its current hardware
run is separate from the compatibility boot. out/m27a/pi4-production-42/
now records a fresh exact BUILD, CRC checks before and after reset, a settled
GENET lifetime and a first-connection 64/64 raw sample without retries or
reconnects. The production authority diagnostic passes epoch 7, true stale
epoch 6 refusal, stable duplicate acknowledgement with full dedupe audit labels,
legacy-path refusal and explicit SPAWN/KILL refusal. A subsequent bounded
check refuses both upper- and lowercase memory-dump commands on the production
operator surface; it does not exercise the emergency fallback or a kernel fault.
Paired continuous captures are retained under out/m27a/pi4-capture-36/ and
must be closed and sealed before final capture claims.
Relocation also exposed cached host binaries with their old compile-time paths;
the owned build caches were cleared before the clean staged rerun. Copied QEMU
kernel trees fail the path-bound profile contract and remain unqualified. A
fresh canonical toolchain setup and 303-step seL4 build in the sibling Pi
checkout passes qemu_smp_production validation in
out/m27a/pi-worktree-qemu-profile-{configure,build,validate}-48.log.
The QEMU acceptance checkout needs its own corresponding profile build.
The clean sibling Mac Stage 01 now passes all 22 common actions in
out/m27a/candidate-stage1-43.log, including the Rust bootstrap and risk ratchet.
The immutable common attestation is retained in
/Users/lukasbower/GitHub/cohesix-m27a-qualification/out/test-plan/m27a-qemu-43/.
The Pi checkout imports that exact verified common evidence in
out/m27a/pi4-stage1-import-50.log; target-bound stages remain separate.
The refreshed production QEMU diagnostic also passes for candidate
72bffffd1b35dffaf65d1ae1525a8ac7112a1ec5 in the sibling Pi checkout at
out/m27a/qemu-production-49/authority/result.json. Compiled epoch 7 admits one
fresh strict intent and the exact duplicate, retains one dedupe entry and one
duplicate, refuses actual stale epoch 6, conflicting identity, the legacy path,
SPAWN/KILL shortcuts and the normal HEXDUMP console command, and exposes full
fresh/duplicate audit records plus replay status. The canonical pinned HVF
QEMU build, source identity, selected manifest and runtime logs are retained
beside it. This is target convergence evidence, not staged acceptance or a
dynamic kernel fault/wake test.
The QEMU sibling’s own toolchain setup and fresh seL4 profile build now pass
in out/m27a/qemu-worktree-toolchain-50.log and
qemu-profile-{configure,build,validate}-52.log. Both target Stage 02 actions
pass initially (pi4-stage2-51.log, qemu-stage2-55.log). The first attempted
Pi Stage 03 refuses changed environment selectors before a hardware boot;
pi4-stage3-56.log preserves that failure. Stage 02 is rerun with the complete
stable target settings before either target progresses to Stage 03. The
immutable source identity and acceptance checks remain unchanged.
out/m27a/production-payload-scan-54.log passes selected production policy and
private-fixture, canary and symlink scans for both built target artifact sets.
This is an artifact payload check, not a full release assembly claim.
The stable-settings Stage 02 refresh passes on QEMU and Pi in
out/m27a/{qemu,pi4}-stage2-57.log. QEMU Stage 03 then starts normally.
Pi Stage 03 attempt 58 records a fresh exact compatibility boot and a successful
first raw sample, then refuses the production-built client’s mismatch with the
restored compatibility policy before regression operations reach the target.
The matching compatibility clients are built and the policy check passes in
pi4-compat-clients-62.log and pi4-client-policy-62.log. The earlier temporary
production coh client installation is superseded by this ordinary Cargo build;
its retained production artifact remains unchanged. Pi qualification restarts
with those clients and a newly bound Stage 02; failed results are preserved.
Merlin2’s additional production-profile build first refuses the archive’s
missing Git tracked-file inventory. The exact candidate Git objects are
transferred with pack SHA-256
00c0ad7a951dda722399ffa2e9603efef2a90c39d0566ba01958e657c55f9d3e.
Two vendor metadata files omitted by Git archive’s export-ignore rules are
restored from those immutable objects. The earlier host build’s generated Linux
UI schema is retained under ignored evidence. The resulting checkout is clean
at candidate 275922fde5c607de38f767e8c19115093c27e9a1, tree
37f84e6de0503cacda6aeafc3a2381ad29d987fe; native production build 61 remains
pending. This does not change or relabel the original native compatibility tests.
Native production host compilation completes for all nine selected packages
in out/m27a/merlin2-production-61/host-build.log. Artifact collection initially
mistakes the coh-status library package for an executable; the eight actual
executables and libcoh_status.rlib are subsequently retained without a rebuild.
The correction does not relabel the failed collection process. The native
production gateway probe passes all 32 positive and negative cases per scenario
in gateway-probe-65/report.json, including actual stale epoch refusal, with no
operation retries or backpressure. The original native compatibility logs remain
separate; production evidence is not a physical GPU/provider execution claim.
The matching optimized Mac comparison in
out/bench/m27a-gateway-authority-70/report.json passes on an idle build host.
The production epoch-7 gateway has status p50/p95 0.567/0.698 ms, delegated-write
2.020/2.510 ms and duplicate-ACK 1.888/2.088 ms. All 32 conflicts, stale-epoch
writes and missing-ticket writes are refused as expected; no unexpected error,
client retry, reconnect or backpressure occurs. The queue high-water mark is 1;
one ticket cache entry records 127 hits and one miss. The 160 authority audit
records cost 4.636 ms in total. Against the matching optimized pre-27a binary,
status p95 increases 0.273 ms (about 64%) and write p95 1.118 ms (about 80%).
These are measured host-model latency regressions with bounded absolute costs;
there is no target-throughput or improvement claim. The equivalent accepted 26d
status comparator is still missing and remains required.
QEMU Stage 03 attempt 58 passes the complete base group and fixed response
matrix, then fails the telemetry fixture: its published-key MAC is correctly
refused by the provisioned issuer before the expected expiry check. The
m27a-production-secret-profile compatibility closure therefore adds
coh-rtc-regression-tickets and runner integration. It verifies the original
fixture MAC, replaces only the MAC with the selected issuer’s signature, and
asserts exact claim-byte preservation. Original scripts and expected outcomes
remain unchanged; transport records retain the private materialized copies and
hash bindings. Five independent fixture/bound tests, 21 wrapper tests and
compiler Clippy pass in out/m27a/regression-ticket-{tests,clippy}-67.log and
regression-ticket-runner-tests-66.log. Regeneration and Test Plan integrity pass
in check-generated-69.log and check-test-plan-69.log.
Pi Stage 02 attempt 63 passes with matching compatibility clients. The queued Stage 03 attempt 64 is interrupted after its fresh exact-image boot and first raw sample while the fixture mismatch is corrected; its incomplete record is not accepted. This is distinct from the earlier policy-file refusal. All target results retain their original source identity. The fixture workflow change requires a new frozen candidate and refreshed staged qualification.
Candidate cargo audit and
cargo deny check advisories pass under the existing advisory policy in
out/m27a/candidate-cargo-{audit,deny}-38.log.
Candidate C is d00eaad4bc1e3bc709de04c3ed4529a90fda6b95, tree
8496c4c5713947af981407f13fa90b90ab4ec7bf. Its new fixture compiler passes five
native Linux tests in native-candidate-c-tests-72.log. The provisioned telemetry
fixture passes on the physical B compatibility image, including expiry,
scope/quota refusals, Worker readiness, ring wraparound and clean QUIT
(pi-fixture-convergence-72.log, pi-fixture-output-check-73.log). That is
C-host/B-image convergence, not C target acceptance. C’s initial Pi rebuild
fails on the qualification manifest’s obsolete checkout path; the path is
corrected in the ignored local manifest and rebuild 74 retains the new result.
C’s complete common Stage 01 passes in candidate-c-stage1-71.log, including
Python suites/examples and the unchanged Rust risk ceilings. Pi build 74 also
passes and seals its source-bound image; it is not booted before the REST runner
correction below.
Pre-execution review of the local REST stage finds that its temporary delegation
issuer name was not secret-classified by the evidence recorder and that the
issuer reference was omitted from context restoration. The issuer now uses
TP_STAGE4_DELEGATION_SECRET; the reference, delegated ticket and issuer variable
join the existing exact inherited-environment restoration contract. Focused
tests verify exclusion/redaction and restoration before either finalization
path. No Stage 04 with the faulty local issuer setup was executed. This is part
of m27a-production-secret-profile and requires a new candidate identity.
All 16 focused REST runner tests, generated consistency and Test Plan integrity
pass in rest-stage4-context-tests-76.log, check-generated-76.log and
check-test-plan-76.log.
The DD30 preflight still refuses the changed protected kernel.rs fingerprint.
The existing approval is scoped to Milestone 27 and does not approve 27a’s
secret-registration and debug-memory changes. Fresh human Rust review and an
explicit applicable DD30 disposition remain required before merge. The dynamic
fault/wake test remains unexecuted; no static check or policy refusal replaces it.
Candidate D a761eec4662f6def20b5b3272acde79efd3f1fb7 adds only the REST
runner secret/context correction and documentation. Its 16 focused REST tests
pass natively on Linux in native-candidate-d-tests-80.log; attempt 78 used the
wrong virtual-environment path and remains failed. Pi build 77 passes. The fresh
RAM boot and first raw sample in the Pi checkout’s out/m27a/pi4-d-initial-81
pass with 64/64 requests, one connection and no retries/reconnects. Its initial
transport-record command then refuses an incorrect gateway hostname field;
pi4-d-initial-81.log remains failed and grants no staged acceptance.
Final review of m27a-console-debug-memory-gate finds an incomplete bring-up
boundary: release refusal was implemented, but explicit non-release diagnostics
still trusted arbitrary addresses. HAL now classifies only the immutable root
code RX span; the console rejects oversized, unclassified and overflowing reads
before dereference and emits bounded serial audit lines. The existing volatile
read stays within that admitted range. Four deterministic bounds/policy tests,
root Clippy, generated consistency and Test Plan integrity pass in
diagnostic-range-{tests,clippy}-83.log, check-generated-84.log and
check-test-plan-84.log. diagnostic-range-risk-83.log confirms no increase in
non-test unsafe, unwrap, expect or panic counts. Exact target builds and the
refreshed candidate’s staged qualification remain required.
Candidate E 1d4745c32881dbb04ae53d135bdc30f457825106 passes the Pi image
build and fresh RAM boot with 64/64 raw requests, one connection and no retries
or reconnects. Its initial transport record is in the Pi checkout’s
out/m27a/pi4-e-initial-85/target-evidence.json; the corrected gateway host is
the local gateway endpoint, 127.0.0.1. Four native Linux bounds tests and root
Clippy pass in native-candidate-e-tests-86.log. E’s dependency audit and
advisory checks pass under the existing policy in
candidate-e-cargo-{audit,deny}-91.log.
The non-release QEMU debug-input build first exposes an existing incomplete
bootstrap branch: normal bootstrap was compiled out even when the early debug
shell was unavailable. The supported early shell diverges; unavailable cases
now retain normal serial/runtime bootstrap and its declared owner. Build 88
retains the original type errors. Build 92 passes with that correction, but its
background TCP launch does not deliver UART stdin; that attempt is stopped
without a memory-read result. The canonical direct launch of the same immutable
artifact passes all six live console cases in
out/m27a/qemu-diagnostic-range-95/result.json: permitted bytes exactly match
the ELF, and unclassified, crossing, oversized, overflowing and extra-argument
requests are refused. Range admission/refusal audit lines are observed. The
code span is [0, 0x164000). This is a non-release QEMU diagnostic, not staged
acceptance or the unrelated DD30 dynamic fault/wake test. The bootstrap
correction requires the final candidate and refreshed applicable stages.
E’s complete common Stage 01 passes in candidate-e-stage1-87.log; generated
consistency and Test Plan integrity pass after the correction in
check-generated-96.log and check-test-plan-96.log.
Candidate F’s exact compatibility Pi image passes the fresh RAM boot, CRC
checks across reset, passive settle and first raw sample (64/64, one connection,
zero retries/reconnects) in pi4-f-initial-100.log. Its source-bound transport
record is in the Pi checkout’s out/m27a/pi4-f-initial-97/. The final production
QEMU image also passes strict-intent, dedupe, stale-epoch, legacy-command and
audit/replay observations in the QEMU checkout’s
out/m27a/qemu-f-production-101/authority/result.json. These are focused M27a
target observations, not a complete staged chain. The direct compatibility pack
and production REST/memory/evidence observations remain pending.
Final generated consistency, Test Plan integrity and diff whitespace checks
pass in check-generated-103.log, check-test-plan-103.log and
diff-check-103.log. The first QEMU-checkout Pi production build stops before
compilation because its repository mkimage executable is absent (attempt 105).
The exact already-built canonical mkimage is copied and byte-compared; attempt
106 retains the subsequent build independently.
The final production Pi image build 106 passes at clean candidate F with
image SHA-256 2b2b23161c4d6eff614a3d5992fca91a627d87fa3cbecc4af265498876d283ae.
The image is retained in the QEMU checkout’s
out/m27a/pi4-f-production-106-sd/; its fresh physical boot remains pending.
The same immutable production QEMU artifact passes the remaining live REST and
memory checks in out/m27a/qemu-f-rest-107/rest/result.json: uppercase/lowercase
memory commands are refused, missing delegation and wrong scope return 403,
two concurrent callers each admit one write and independently exhaust their
one-operation quota with 429, and the refusal audit lines are retained.
The shipped coh evidence pack command captures production epoch and dedupe
state. The Python REST client reads live state with one attempt. These
observations use one gateway console owner and record zero reconnects.
The final Pi compatibility pack passes all 17 scripts with zero failures in
out/m27a/pi4-f-tcp-104.log. Each of the telemetry, shard, gated and base groups
has a fresh candidate-F boot, paired captures and a first raw sample. The
canonical transport aggregate is retained in the Pi checkout at
out/m27a/pi4-f-tcp-104/transport-results/stage-03.json; it binds source
sha256:35971ac6bd068e0ab1e50570a3f4828ac25195cd85f2cb634e3cbb85df546952.
The direct action did not create a full staged-chain acceptance marker.
On the same final base boot, Pi REST observations pass six delegated-identity,
scope and independent quota cases, core compatibility 3/3, parity 1/1 and Python
live state reads in out/m27a/pi4-f-rest-112/result.json in the Pi checkout.
The gateway remains the sole TCP owner and records zero reconnects. Both final
production artifact payload scans pass in production-payload-scan-111.json;
this checks selected policy and streamed private-fixture/canary/symlink exclusion,
without claiming a new release assembly.
The final QEMU compatibility pack also passes all 19 entries: the fixed
seven-case response matrix and all 18 selected .coh scripts. Its four
source-bound transport results and aggregate are in the QEMU checkout’s
out/m27a/qemu-f-tcp-108/transport-results/; qemu-f-tcp-108.log retains the
command output. Both checkouts restore their generated outputs after the pack.
The three Mac clients used for the final Pi production observation compile
against that exact production Pi manifest at clean candidate F in
out/m27a/pi4-f-production-clients-113/ in the Pi checkout; their binaries,
policies and hashes are retained and canonical generated outputs restored.
The final production Pi boot passes exact BUILD and CRC checks across reset,
passive settle, and 64/64 first raw requests on one connection without retries
or reconnects. The strict-intent, stable duplicate, changed-envelope, stale-epoch,
legacy/SPAWN/KILL refusal, memory-command refusal, complete fresh/duplicate audit
and replay observations pass in the Pi checkout’s
out/m27a/pi4-f-production-114/authority/result.json. All six live REST authority
cases and three Python state reads also pass before evidence export.
That export initially fails its policy fingerprint check: the temporary client
collector retained canonical configs/generated policy files, while its compiler
command wrote the production TOML policies under out/. The executable is correct;
the policy copies are stale. Attempt 114 remains FAIL as an aggregate. Collection
attempt 119 also remains failed after assuming an incorrect public-key output
path. Corrected collection 120 retains the actual compiler policy outputs and
verifies the already-correct compiler public key; every client binary hash is
unchanged. Only the failed export is repeated, on the same physical boot.
out/m27a/pi4-f-evidence-121/result.json passes and the shipped coh evidence
pack captures epoch 7 with one dedupe entry and one duplicate. No boot or passing
operation suite is repeated. The native Linux collector used the same shorthand
compiler command; its original generated production policy files are likewise
retained separately in out/m27a/merlin2-production-policies-123/, preserving
original candidate A compilation/probe identities without rebuilding or retesting.
Continuous paired captures run from 08:12:22 to 10:44:50 UTC. Both tcpdump children
exit zero and report zero kernel drops (en0: 887758 captured packets; en8: 601532).
The supervisor receives the requested interrupt and completes its finally block;
its KeyboardInterrupt exit is retained. out/m27a/pi4-capture-seal-124.json binds
the closed pcap files, logs, ownership and shutdown record with SHA-256 hashes.
The final physical production image remains running; all task-owned serial,
TCP client and gateway processes are closed.
scoped-metadata-review-116.log passes current-year author/purpose metadata on
changed human-authored comment-capable files and all 27 new local Markdown file
links. Baseline recovery checked repository/sibling outputs, Merlin2, GitHub
Actions artifacts, Spotlight and retained local worktrees. Historical commit
29a6c034b retains the narrative and filenames, but the referenced M26d status
JSON is absent. out/m27a/missing-baseline-118.json records this evidence gap;
the owner subsequently accepted its absence for M27a closure. The pre-27a
host-model report is not substituted for it.
Owner review and focused completion scope
Lukas Bower answered “Sign off” to the explicit candidate-F Rust review and
M27a-specific DD30 disposition request on 14 September 2026. The request bound
source 58140c1a5c79124a8dd7a4ff4bd547a52c8bd362 and the retained full patch
out/m27a/candidate-f-review.patch. The separate
approval record binds every reviewed implementation
path and ten protected IPC source hashes. DD30 remains P1 / ACCEPTED_RISK,
expires on 13 October 2026, and its dynamic fault/wake test is UNEXECUTED.
No static or functional observation is relabeled as that test.
The focused lifecycle suite passes 48 tests and 125 subtests in
out/m27a/approval-lifecycle-tests-99.log. The actual
DD_MILESTONE_ID=27a blocking-findings and exceptions-register preflights pass
in m27a-blocking-preflight-99.log and m27a-exceptions-preflight-99.log.
The original release and M27 approvals remain separately selected.
The owner’s later instruction is: “Only run tests required to mark this
milestone ‘Complete’, not the full suite”. Candidate F’s common Stage 01 run
was interrupted with exit 143 accordingly; its partial results are retained
in candidate-f-stage1-97.log and do not constitute Stage 01 PASS. Earlier
completed common suites remain evidence at their original candidate identities.
Completed validation follows the M27a definition of done and focused scope recorded
in TEST_PLAN.md; no final-source full five-stage chain or
replacement staged markers are claimed.
The final actual DD30 blocking-findings and exception-register preflights,
Test Plan integrity and diff whitespace checks pass in
final-blocking-preflight-125.log, final-exceptions-preflight-125.log,
check-test-plan-125.log and diff-check-125.log. The reviewed implementation
still matches candidate F exactly. out/m27a/final-review-126.patch retains the
full patch before the final completion decision, when main was still at
13020a33dba0832e2297fe119fedf6d302704bdc.
Completion decision
On 14 September 2026, Lukas Bower explicitly directed:
Not sure where the json went, 26d is approved and you don’t need it. Finish the milestone, mark Complete, commit and push
This decision accepts M26d and closes M27a without recovering the missing M26d status-baseline JSON or performing its equivalent status comparison. The comparison remains NOT_PERFORMED. It is a scoped milestone-status exception, separate from Rust sign-off and the DD30 decision; it does not establish performance equivalence, replace target proof, create staged PASS markers or waive another milestone’s benchmark requirements. The pre-27a host-model comparison and its measured status/write latency regressions remain recorded.
M27a is Complete using the retained host contracts, exact builds, TCP/REST compatibility, production authority observations, scoped security and generated checks, together with the explicit owner dispositions above. The approved implementation remains byte-identical to candidate F. The completion commit updates BUILD_PLAN, STATUS and the owning evidence/benchmark documents together. Production failover/federation remains disabled in the single-Jetson Release A profile. No physical failover or future VM authority qualification is claimed.
Final publication checks pass after recording the owner decision:
| Command | Retained output |
|---|---|
scripts/check-generated.sh |
out/m27a/check-generated-final-128.log |
scripts/ci/check_test_plan.sh |
out/m27a/check-test-plan-final-128.log |
DD_MILESTONE_ID=27a scripts/ci/due_diligence_gate.sh --check-blocking-findings docs/audit/findings.csv docs/audit/EXCEPTIONS.md |
out/m27a/blocking-preflight-final-128.log |
DD_MILESTONE_ID=27a scripts/ci/due_diligence_gate.sh --check-exceptions-register docs/audit/findings.csv docs/audit/EXCEPTIONS.md |
out/m27a/exceptions-preflight-final-128.log |
The final whitespace, documentation-link and reviewed-source comparisons also pass. No full workspace suite or additional target run is performed for this publication step.