3.9 KiB
Repair 30 — BLOCKED / partial implementation
This revision is not ready for Root native admission. Formal status remains 16/88, P04=0. Outstanding items include unfinished implementation, not merely the fresh evidence Root is expected to produce after submission.
Implemented within allowed_paths:
- Four actual human approvals, exact answer/policy text, both source paths and SHA256 bindings; candidate documents marked superseded.
- Per-ID path/hash authority binding for six D05 IDs; required authority refs corrected without changing the 15-condition + EV roster or thresholds.
- Frozen M is
c0ea009b28. Counts/membership derive from Git objects: 1368 product files excluding checker, 3644 metadata paths. Ordering functions retain registered byte equality; applicability has 58 changed function units. Full details are in REPAIR30_SOURCE_FACTS.json. - Q must equal the recomputed merge-tree object. A commit cannot impersonate Q. C must have frozen M as first parent, legal S as second parent and the same entire tree as Q. Selected native sources explicitly include the checker; product equality continues to exclude it.
- Seven-domain audit refreshed with actual M hashes/function lines. All condition-specific nativeWindows obligations remain pending.
Implementation/context gaps blocking readiness:
- S5's four executable drivers and raw semantic adapters are not written. s5/PENDING.md records concrete source constraints. Additional approved destruction/day/pause-reason/exit measurements are not enforced from S5 raw bytes yet. REQUIRED retains the existing safety metrics.
- p04_native_series.py, collect_p04_native.py, S1–S4 wrappers and parts of the schema2 builder still bind historical run names/manifests/raw pins. Connect fresh Q material without replacing historical records or inventing future hashes. The builder now reads tested revision from native provenance and includes the checker, so the old bundle cannot satisfy the new role check.
- Full184/329 runner-input has no source_before or QA_overrides, unlike native QA inputs. It needs its own exact source/settings/markers/policy/engine/input and ended-receipt join. The native input loop is not a full-proof verifier.
- Parent/tree equality alone cannot establish normal prepare-integration provenance: a synthetic commit can have identical parents/tree. The supplied plan does not define the concrete normal-candidate qualification receipt, path and hash contract. Independent qualification remains pending; no invented Runner API or authority has been added.
- Bulk and role fixtures perform Git writes, including temporary objects, commits and merges. They were not run under the worker Git-write prohibition. Updated role negatives are unexecuted; genuine fresh-Q positive and fake-normal-C rejection remain unqualified.
Static results are in REPAIR30_STATIC_CHECKS.json. Historical/synthetic fixture success is not new game evidence. No engine, formal registered gate, Runner operation, Git write or other agent was invoked. Product/test-tree/Clock/values remain unchanged.
Required Root order after remaining implementation is repaired:
- All eight static controls plus role/applicability/approval negatives.
- Genuine Q from final S and frozen M; fresh real native S1–S5 once.
- Inspect free disk and verified CoW, then full184/329 once on the same final Q including final checker; bind test_required_kitchen separately.
- Truthful index from exact raw material.
- Registered p04-acceptance on S with --verify-only.
- Independent whole-unit review.
- Normal prepare-integration/final on independently qualified C, equal to Q for source/settings/markers/policy/engine/inputs.
Keep live Root records under .runtime while M is frozen. Old S1–S4/r22 and f5 full178 remain historical. No known-fail formal gate is a progress check. No sources/evidence are removed for the obsolete 500000-byte cap.