Add inactive control policy-set validator - #206
Conversation
Codex reviewer (cross-vendor, read-only)Reviewed-head: 7e74fb2 Posted verbatim by The validator safely rejects most malformed inputs, but a non-string generation ID is misreported as an internal runtime failure rather than a shape violation. This makes the validator's error contract incorrect for a valid malformed-input scenario. Review comment:
|
Deploying ystack with
|
| Latest commit: |
25474f5
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://a15a4d44.fabrica-6yx.pages.dev |
| Branch Preview URL: | https://codex-control-policy-set-v1.fabrica-6yx.pages.dev |
Codex reviewer (cross-vendor, read-only)Reviewed-head: 5c10268 Posted verbatim by The new validator mandates control reference IDs that the existing portable-core content-reference contract rejects. This prevents the identity bundle from being used at its intended downstream integration seam. Review comment:
|
|
Scoped revision for review finding 5486663695 Changed only the control policy/decision content IDs to dot-separated core-compatible forms and added a direct check of every section ref against the current core v2 schema. Focused proof:
Exact CI and fresh independent final review remain pending for this new head. |
|
Scoped correction after CI run 33454712679 The dot-separated IDs remain unchanged. The compatibility regression now uses only the public scripts/core-contract.sh validate-document seam. It creates a selected-core v2 stage request from the existing public fixture and verifies all 12 policy/decision refs through the wrapper. The private schema import and embedded generation path are gone. Focused proof:
Exact CI and fresh independent final review remain pending for this head. |
Codex reviewer (cross-vendor, read-only)Reviewed-head: 1b97a84 Posted verbatim by The validator can accept a core package reference that the repository's public core contract rejects, breaking the intended interoperability of the identity bundle. Review comment:
|
|
Scoped revision for review finding 5486955661 All control content refs now share a core-compatible content ID predicate that rejects colon and slash. Added package-ref colon/path negatives and included package_ref as the 13th public core-contract.sh validate-document compatibility case. Focused proof:
Exact CI and fresh independent final review remain pending for this head. |
Codex reviewer (cross-vendor, read-only)Reviewed-head: eaa147a Posted verbatim by The validator can execute a working-directory-controlled jq binary under a relative PATH, undermining its fail-closed and ambient-independence guarantees. Review comment:
|
|
Scoped revision for review finding 5487160953 The validator now rejects a non-absolute command -v jq result before any file, version, or jq execution. Existing regular-file, executable, non-symlink, and pinned-version checks remain. The new untrusted-cwd test places a sentinel-writing fake jq behind a relative PATH entry and proves E_RUNTIME with no sentinel. Focused proof:
Exact CI and fresh independent final review remain pending for this head. |
|
Scoped completion of review finding 5487160953 The validator now starts with fixed /bin/bash, avoiding PATH lookup before its own checks. The relative-PATH adversarial case places both fake bash and fake jq in an untrusted cwd; validation fails E_RUNTIME and neither sentinel is created. The absolute-jq and existing file/version checks remain. Trusted-directory qualification is intentionally deferred. Focused proof:
Exact CI and fresh independent final review remain pending for this head. |
Codex reviewer (cross-vendor, read-only)Reviewed-head: 25474f5 Posted verbatim by The validator consistently enforces canonical input, bounded resources, exact schema relationships, and inactive fail-closed semantics. The focused tests cover valid integration with the public core seam and relevant malformed, unsafe-path, and ambient-environment cases. |
Summary
control_policy_set.v1identity bundle.Boundary
This unit defines identity only. It does not contain or evaluate policy, grant authority, access credentials, launch an adapter, enforce a sandbox, persist kill-switch state, store evidence, publish, activate, or write externally. Those are separate Roadmap item 2 units.
Targeted proof
Exact head/base:
25474f5a58d61d655b3ec4380863e5e0a6ae18b9/f8c51f10c3c6cba1a1b6f86bf82f976f00114714./bin/bashinterpreter; jq resolution must return an absolute regular executableE_RUNTIME; neither sentinel is createdRoadmap item 2: Control foundation.