Files
stack/docs/plans/reviews/2026-09-07_foundation-inspector-demo.md
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

65 lines
3.0 KiB
Markdown

# Inspector r6 — owner demo
Independent code verdict: APPROVED for the bounded offline demo (FI-FILBERT-8).
Code manifest: a4a4493000aff5905337a643886ca36e7c5377d52deed77b8aeab7174ca73dcf.
Verdict: ab9dd5e5c3cad5c9263e873ff82cac444da2d36040e907e4798b208fa1c08b13.
Coordinator ran all four examples in an isolated verified copy: expected outcomes
passed, observed copy/HOME unchanged, shared candidate hashes unchanged. Receipt:
2026-09-07_foundation-inspector-demo-receipt.json. This is not owner acceptance.
## Try it
From /home/jwoltje/src/mosaic-stack-dev-test, using the tested Node v26.8.1:
```sh
# Helper only shortens these four commands; it does not install anything.
inspect_demo() {
node scripts/foundation-inspect.mjs "scripts/foundation/fixtures/$1"
}
# 1. Permitted work-record read: allowed, exit 0.
inspect_demo demo/demo-read-w1.json
# 2. Assigned change of src/main.mjs: allowed PREVIEW, exit 0; no file is changed.
inspect_demo demo/demo-file-change-src.json
# 3. Workspace registration missing in this fixture: refused, exit 3.
inspect_demo bundles/adm-workspace-registration-missing.json
# 4. Even fully supplied mock reassignment evidence: unresolved, exit 3.
inspect_demo bundles/prop-all-pass-restricted-contexts.json
```
Run individually or together without `set -e`/`&&`: exits 3 for the negative
examples are expected, not crashes. Each bundle is an independent synthetic
scenario, not successive edits to live state. The third fixture removes w1's
registration; it does not claim to switch selection to w2.
Look for:
- The same explicit agent/project/workspace and selected assignment where applicable.
- `allowed` only as a hypothetical permission calculation, never an actual grant.
- `workspace-registration-missing` rather than a fallback to another workspace.
- `runtime-reconciliation-required` with the original assignment still selected.
- `SYNTHETIC PREVIEW — NO LIVE EFFECTS` on every result.
Optional: add `--json` immediately after scripts/foundation-inspect.mjs; inspecting
JSON is not required for acceptance. Do not pass credentials or actual work records.
## Your acceptance question
Are the selected scope, refusals and no-live-effects limitation clear, and does
this meet your expectations for this first offline inspector increment?
Report confusing output or unexpected behavior; do not certify security.
## Boundaries retained
Two legacy suites (task/release) are NOT RUN / DEFERRED by owner decision, not green.
Other required offline checks passed independently. No live registration, sandbox,
authentication, durable runtime, restart recovery, deployment or federation is proved.
Reviewer qualifications remain: ordering equality means structurally equal parsed
values, not raw byte identity; auxiliary native-parser warm-run anomalies remain
unresolved separate evidence, not a passed universal parser-equivalence test.
No code/comment fixes were made after approval. No commit, push or dependent runtime
work is authorized by this demo. Jason's A9 answer must be recorded separately.