toolchain: node v26.8.1, python 3.12.8, jsonschema 4.26.0

OK    syntax: scripts/foundation-inspect.mjs
OK    syntax: scripts/foundation/strict-json.mjs
OK    syntax: scripts/foundation/canonical.mjs
OK    syntax: scripts/foundation/resolve.mjs
OK    syntax: scripts/foundation/validate-record.mjs
OK    syntax: scripts/foundation/fixtures/build-fixtures.mjs
OK    syntax: scripts/foundation/canonical.test.mjs
OK    syntax: scripts/foundation/cli.test.mjs
OK    syntax: scripts/foundation/fixtures.test.mjs
OK    syntax: scripts/foundation/resolve.test.mjs
OK    syntax: scripts/foundation/strict-json.test.mjs
OK    syntax: scripts/foundation/verify-schema.py (ast only; no bytecode written)
OK    fixture generator runs
OK    checked-in fixtures/bundles equal a fresh generation
OK    checked-in fixtures/raw equal a fresh generation
OK    checked-in fixtures/index.json equal a fresh generation
OK    checked-in demo bundles equal a fresh generation
OK    a failing nested test fails the run under a parent runner's NODE_TEST_CONTEXT
OK    node --test scripts/foundation/ (ℹ pass 80)
OK    differential schema oracle: PASS: differential schema oracle (finite corpus; compatibility evidence, not equivalence proof)
      platform witness: strftime('%Y') for year 999 -> '999' (pinned checker refuses years 0001..0999)
      node v26.8.1; corpus 1568 records (38 pinned fixtures, 478 unique bundle records, 1052 typeCase/mutation/lexical cases)
      schema column: agree-valid 540, agree-invalid 991, DISAGREEMENTS 0; strict-only (parser-bound) cases: 27; unsupported-kind records not schema-assessed by the inspector: 10
      profile column (schema-valid records only): profile-valid 510, profile-invalid 30
      profile refusals asserted: 30 schema-agreed-valid records refused only by the strict typed-string profile (rule profile-pattern-mismatch), 12 declared by name; 73 named probes verified against declared schema/profile columns
OK    oracle: zero schema-column disagreements with the pinned checker
OK    oracle: strict-only profile refusals are counted and asserted
OK    demo: permitted read preview exits 0 (exit 0)
OK    demo: permitted file.change preview exits 0 (exit 0)
OK    demo: assignment.change proposal is unresolved (exit 3) (exit 3)
OK    demo: revoked registration is refused (exit 3) (exit 3)
OK    demo: message is not authority (exit 3) (exit 3)
OK    usage: no arguments exits 2 (exit 2)
OK    io: missing file exits 4 (exit 4)
OK    io: directory exits 4 (exit 4)
OK    io: symlink exits 4 (O_NOFOLLOW) (exit 4)
OK    bound: oversize fixture exits 2 (exit 2)
OK    profile: one final LF in a typed selection id is refused before admission (exit 2) (exit 2)
OK    profile: two final LFs fail the schema pattern itself (exit 2) (exit 2)
OK    profile: escaped newlines in free-form text stay allowed (exit 0) (exit 0)
OK    profile refusal is invalid-request/profile-pattern-mismatch with selection and operation withheld, value not echoed
OK    text output starts with the disclaimer
OK    json output is valid JSON with result allowed and exactly the charter §7 fields
OK    json golden matches byte-for-byte
OK    sandboxed bundle run (env -i, PATH=/nonexistent) produced the unresolved proposal
OK    sandbox inventory (path/type/size/mode/uid/gid/inode/mtime/sha256) unchanged by runs
OK    canary never printed (bundle run and credential-file run)
OK    a non-bundle JSON file is refused at the shape gate, not read into output
OK    no field of the non-bundle file is echoed

selftest: 44 passed, 0 failed
