Files
stack/docs/plans/reviews/2026-09-06_foundation-inspector-build-admission-findings.md
T
jason.woltje 8ebddd6f93 feat(foundation): offline synthetic scope/permission inspector (FI-FILBERT-8 APPROVED r6)
Rocko-authored, Filbert-reviewed inspector (r6 manifest
a4a44930...) with full review/build/verdict evidence under
docs/plans/reviews. 43/0 selftests, oracle zero-disagreement,
foundation checker PASS. Owner A9 acceptance recorded separately.
2026-09-07 14:06:35 -05:00

83 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FI-ROCKO-4 — build admission findings before independent code review
Coordinator: darkwing. Build report SHA-256 verified:
857470d97af6aeae4e7d7942c2a1d8455bfcda74ff68b8e1dc4ba8d066521fa4.
These are coordinator admission findings, not Filbert's independent code verdict.
No new CLI/test code has been executed by darkwing in this admission check.
## C1 — resolve the advertised candidate identity mismatch
Of 35 explicit file rows checked, 34 match. Both fixture-tree manifest hashes and
counts match (185 bundles; 19 raw files). The demo file
scripts/foundation/fixtures/demo/prop-message-is-not-authority.json differs from
the report's advertised digest:
- Report: f1c6bd523cdff161e51da156fd00cfaa652d193f41541686548fc023378fd8ab
- Measured: f1c6bd523cdff161e51da156fd00cfaa652d193f41541686548cf023378fd8ab
Confirm whether this is a transcription error or unexpected file drift. Do not
silently regenerate/overwrite evidence to make a hash match. Return a corrected,
complete per-file machine-readable manifest for the next candidate, including modes.
The initial manifest-verification attempt stopped at this mismatch; it did not
produce a completed coordinator manifest. A subsequent table audit confirmed the
single mismatch above and both matching aggregate tree manifests.
## C2 — differential verification cannot silently waive disagreements
verify-schema.py:427435 accepts six KNOWN_DIVERGENCES and fails if they disappear.
The charter incorporates a required oracle where disagreements fail, separating
schema verdict from legitimate strict-profile limitations. No six-exception waiver
was requested or approved. Reporting those reproduced mismatches as PASS is not
satisfaction of that gate. The report itself identifies years 00010999 accepted
by Node but rejected by the pinned format checker, plus trailing-newline cases.
Make the shape validator and oracle faithful to the pinned contract, with strict
input/profile behavior independently verified. Do not relax safe input handling
merely to turn counts green. If a charter/source-format conflict requires a policy
choice, return a precise proposed amendment and witness; do not implement your own
waiver or change the pinned schema/checker. A finite corpus remains limited even
when it has no unapproved disagreements.
## C3 — serialized output adds a field outside the closed charter
Charter §7 lists the closed emitted result fields, with no exit field. CLI
renderJson(r) serializes the result directly; renderText(r) emits an exit line;
main uses result.exit. The report calls the result closed but describes RESULT_KEYS
from the implementation, not a check against the independent charter field list.
Keep process exit metadata separate from the serialized result, or return a proposed
charter amendment instead of changing the external contract implicitly. Add tests
whose expected output keys come from the approved contract, not solely from an
implementation-exported key list.
## C4 — before/after demo evidence must preserve the original digest
Report §9 step 2 recomputes hashes independently inside each process substitution;
both checks compare files to their own current values. That cannot establish
unchanged bytes across the operation. Preserve a before manifest in a separate
scratch location, execute the preview, then verify against that SAME manifest.
Existing suite observations may remain useful; correct the owner-demo receipt.
## C5 — report/code flag discrepancy
The report says the open flags are O_RDONLY|O_NOFOLLOW only. Actual reviewed CLI
readBundleBytes includes O_NONBLOCK and checks its numeric availability. Correct
the report; do not remove the required flag to match its prose. This finding is
about receipt accuracy, not evidence that a FIFO actually blocked.
## Authorized correction and return
First reconcile C1, then fix C2C5 only under the existing FI-ROCKO-3 source/test
allowlist. Preserve the original report; new allowed report/manifest paths are:
- docs/plans/reviews/2026-09-06_foundation-inspector-rocko-build-r2.md
- docs/plans/reviews/2026-09-06_foundation-inspector-rocko-build-manifest-r2.json
Return FI-ROCKO-4 with per-finding dispositions, exact hashes, all required tests
and any unresolved specification decision. Freeze the resulting candidate for
Filbert. No staging, commit, push, new runtime dependencies, live environment,
credential or native/sync work. The shared index remains outside this assignment.
Do not edit charter, existing schemas, prior verdicts or coordinator records.
Transport (2026-09-06 18:17 UTC): FI-ROCKO-4 sent once to =rocko/mosaic-fleet;
exit 0, delivered. Await corrected manifest/test receipts or spec blocker.
Follow-up darkwing; no timer or automatic acceptance.