Repository navigation
Support explicit Policy contract candidate alongside prototype - #296
Conversation
Serve the pinned, unadopted 1.0.0 review candidate through the shared offline Policy engine, preserving prototype bytes, provenance and default reports. Add explicit contract discovery, candidate-only portable check results, ordered material registration, retained-format isolation and 104 portable vectors. Document the proposed ADR, source pin and unchanged private transport ceilings. Focused Policy CLI/MCP tests and package vet pass; full Policy and MCP package tests pass. The broader CLI run requires loopback sockets unavailable in the local sandbox. Co-authored-by: Codex (gpt-6.1-sol) <noreply@openai.com> Signed-off-by: kikashy <kikashy@hotmail.com>
Use an explicit candidate-only RFC 3986 URI assertion for every URI field, including editing-schema compilation and init. Keep Core and prototype URI validation unchanged. Check material count before entry shape and validate private-wire entries in registration order, preserving earlier refusals. Add 62 URI probes, candidate schema/init/reference parity, Core/prototype compatibility checks and native private-wire ordering regressions. These implement the two accepted same-vendor review findings on 558df43. Co-authored-by: Codex (gpt-6.1-sol) <noreply@openai.com> Signed-off-by: kikashy <kikashy@hotmail.com>
Select candidate URI format assertions explicitly for Core structural checks inside candidate adoption. Validate original Pack bytes against the same bundled schema while leaving default Core and prototype engine behavior unchanged. Extend the accepted URI review correction with 62 full-adoption URI probes, raw numeric-literal identity checks and default-engine isolation coverage. Co-authored-by: Codex (gpt-6.1-sol) <noreply@openai.com> Signed-off-by: kikashy <kikashy@hotmail.com>
Apply the existing immutable-artifact -text policy to the separately vendored Policy candidate tree. This prevents autocrlf checkout conversion from changing provenance, schemas, examples and portable vector inputs. Verified core.autocrlf=true checkout with all143 current upstream file digests, lengths and the independent provenance pin unchanged; a control file converted to CRLF. Runtime inputs and identity checks are unchanged. Co-authored-by: Codex (gpt-6.1-sol) <noreply@openai.com> Signed-off-by: kikashy <kikashy@hotmail.com>
Runtime Policy candidate: clean-room material review
ResultTwo P2 findings. No P1 finding. The finite candidate result is correct on the checked baseline cases, but the new contract has acceptance and refusal-order gaps beyond its 104 vectors. Each finding requires a written maintainer disposition on the PR; any fix is covered only to the extent it implements that disposition. This record reviews the exact commit above, not a subsequent fix. P2-1: Use the candidate's RFC 3986 URI grammar, rather than the legacy URI approximationLocation: The new candidate schemas reuse the existing global URI predicate, which allows RFC 3986 reserved characters in positions where they are forbidden and then relies on Go Reproduce against the exact reviewed binary
Controls agreed: percent-encoded brackets, Saved reproduction inputs: /tmp/jps-policy-runtime-contract-jpack experimental policy check /tmp/jps-policy-runtime-contract-invalid-uri.json --materials /tmp/jps-policy-runtime-contract-probe-wire.json --format json
/tmp/jps-policy-runtime-contract-jpack experimental policy check /tmp/jps-policy-runtime-contract-valid-uri.json --materials /tmp/jps-policy-runtime-contract-probe-wire.json --format jsonThe expected objects were obtained from the exact pinned Suggested correction: provide a candidate-specific RFC 3986 URI assertion for candidate schema compilation and init. Keep the frozen prototype/Core path's behavior unchanged unless a separately dispositioned compatibility decision authorizes changing it. Add focused positive and negative URI cases outside the self-authored vector corpus. Disposition at record creation: coordinator acknowledged the finding and reported a candidate-only fix in progress; formal maintainer disposition and verification of the eventual fix remain pending. P2-2: Check count and each registration in order before later entry-shape refusalsLocation: The candidate private carrier scans the shape/type of every entry before checking the number of registrations or attempting the first registration. A malformed later entry can therefore replace the earlier portable refusal in Use an otherwise valid refunds candidate Policy. Let the first entry be: {"content":{"bytesDigest":"sha256:0000000000000000000000000000000000000000000000000000000000000000","byteLength":1,"mediaType":"text/plain"},"dataBase64":"eA=="}Its decoded With 17 entries and the last Saved reproduction inputs: /tmp/jps-policy-runtime-contract-jpack experimental policy check /tmp/jps-policy-runtime-contract-review/internal/policy/candidate/examples/refunds/policy.json --materials /tmp/jps-policy-runtime-contract-earlier-digest-mismatch-later-null-content.json --format json
/tmp/jps-policy-runtime-contract-jpack experimental policy check /tmp/jps-policy-runtime-contract-review/internal/policy/candidate/examples/refunds/policy.json --materials /tmp/jps-policy-runtime-contract-count17-later-null-content.json --format jsonThe base64 carrier is Runtime-private, while the Spec API consumes raw registrations. The issue is that the new full-check report promises the portable refusal order after adaptation, and ADR-0060 plus the architecture/MCP documentation state root dispatch, then count, then ordered material registration, then root schema/semantics. A global later-entry shape scan introduces an unrecorded phase. The portable vector harness bypasses this adapter, so its 104 passing cases cannot detect the gap. Suggested correction: once the envelope object and materials array are parsed, check registration count first. Validate each entry's closed shape and types immediately before decoding/registering that entry, preserving declaration order and stopping at the first refusal. Preserve prototype preflight ordering. Add focused compound-defect CLI/MCP or shared carrier checks. Disposition at record creation: finding sent to coordinator; formal maintainer disposition pending. Scope and evidenceRead CONTRIBUTING, ADR process/review rules, ADR-0060, all handwritten changed Policy engine files, CLI/MCP adapter changes and discovery schemas, candidate tests and portable harness, and the changed README/architecture/MCP/NOTICE claims. Compared the candidate's semantic and refusal phases against the exact pinned Spec Python checker and its prose/schemas. No external service or network access was used. Independently checked all 143 vendored source files against the pinned Spec checkout, each manifest hash/byte count, manifest coverage, and manifest digest The new reports omit candidate-only fields on prototype paths; default contract discovery retains the legacy entry, explicit registry discovery is separate, and discovery selectors are mutually exclusive. Candidate retained Policies are selected explicitly and cannot fall back to prototype grammar. Raw bytes reach identity checks and Core structural validation; no normalization into prototype documents was found. Material aliasing/media registration, distinct-byte accounting, role bounds, anchors and typed coverage checks are shared. Candidate diagnostics use finite static text, and MCP calls take supplied strings and invoke no file/network acquisition. Candidate capabilities and documentation consistently preserve proposed-draft/unadopted/no-authority status; no premature adoption or independent implementation claim was found. The coordinating agent supplied successful full candidate-vector, Policy/MCP package, focused CLI Policy and vet results; these were not rerun by this reviewer. Broader CLI testing was reported blocked by sandbox loopback restrictions. Desk exact-material/refusal/archive checks were reported run on a precommit development binary, with the final probe binary rebuilt at the reviewed SHA; this review does not relabel that earlier Desk evidence as an exact-final-binary check. Reviewer execution was limited to targeted URI and compound-defect probes plus the independent vendored-byte comparison described above. Coordinator dispositions under the maintainer-authorized workflow
The final correction review and final-head CI are still required. Windows CI also exposed checkout-time line-ending conversion in the new vendored candidate tree; an exact-byte attributes correction is in progress and will be included in that final review. This record authorizes no release publication or Desk pin/install change. |
Runtime Policy candidate: correction review
ResultBoth accepted P2 findings from the initial exact-558 review are corrected at Closed P2-1: Candidate URI grammarThe new The compiler registers overrides in a newly allocated compiler's local format map. The override path does not assign to the engine's cached schemas, and default Core/prototype calls supply no override. Static inspection found no external schema loading, input-derived diagnostics, state leakage or new acquisition path. IPvFuture permits the ABNF's case-insensitive The exact correction tests cover 62 URI cases across standalone candidate full checks, init, assembled editing schemas and consuming Packs; candidate references; raw noncanonical Core numbers; and unchanged legacy URI behavior. The original saved CLI probes now return:
The coordinating agent reports that the Spec follow-up is being amended to cover uppercase Closed P2-2: Ordered private carrier registrationThe global later-entry shape scan was removed from the candidate branch. The decoded envelope and materials-array shape are checked, then registration count, then each entry's shape/type, content schema, base64, byte identity and registration in declaration order. Prototype preflight ordering remains in its existing branch. The exact focused correction tests pass, including reached-invalid-entry controls. The saved CLI repros now return:
Closed P2-3: Pin candidate checkout bytes with Git attributesLocation: The candidate is embedded from worktree files and hashes/pins exact upstream bytes. With git -c core.autocrlf=true cat-file --filters 2e158c5105046594749139c955839a041331a106:internal/policy/candidate/provenance.json
The same filter leaves the prototype README unchanged because its directory already has Suggested correction: add Closure at Verification and limitsPassed on the exact archive snapshot, using the existing writable Go cache: env GO111MODULE=on GOCACHE=/tmp/jps-policy-runtime-contract-go-cache go test ./internal/policy -run '^(TestCandidateURIFormatAgreementAndInitSchemaParity|TestCandidateURIAssertionsCoverArtifactReferences|TestCandidateConsumerURIUsesSameAssertionAndPreservesRawBytes|TestCandidatePrivateWireRegistrationPhaseOrdering)$' -count=1Built The first test attempt could not use the read-only default Go cache; rerunning with the existing Coordinator disposition: P2-3 accepted and resolved by the exact-byte Git attribute rule at |
Pin the URI-corrected proposed-draft candidate at Spec 0852c5fa7726, preserving all 170 vendored source files with exact provenance and byte checks. Expand portable agreement to 124 vectors and record the accepted same-vendor review findings, their corrections and the temporary maintainer-authorized waiver. Accept ADR 0060 as the authorized merge-ready procedural transition without adopting a normative Policy format. Keep Core/prototype URI behavior and all release/Desk state unchanged. Verify companion URI bounds do not leak into Core structural assertions, and validate autocrlf checkout byte preservation. Co-authored-by: Codex (gpt-6.1-sol) <noreply@openai.com> Signed-off-by: kikashy <kikashy@hotmail.com>
Record the three resolved Runtime P2 findings and the completed review of the exact URI-corrected Spec source. The source remains pinned to reviewed 0852c5f, with RFC Review status and no normative adoption or independent-vendor claim. This documentation-only follow-up preserves the production and vendored bytes of 65ff571 for the already-started CI and final delta review. Co-authored-by: Codex (gpt-6.1-sol) <noreply@openai.com> Signed-off-by: kikashy <kikashy@hotmail.com>
Runtime Policy candidate: final bounded delta review
ResultNo material findings in these final deltas. The previous three P2 findings remain closed through There is no remaining material-review blocker at Exact vendoring and vector evidenceIndependently compared all 170 vendored source files with their exact Git-object contents at Spec
All 170 files also remain byte-exact through The final portable manifest has 124 cases: the original 104 case objects remain identical, followed by exactly 20 URI cases. The appended cases cover the corrected whole-string RFC 3986 assertion, percent encoding, Unicode, component-specific brackets, IPv6/IPvFuture, and registered names. Every expected result remains one of the candidate's finite valid/refusal objects. Seven additions are complete adoptions. Independently checked their retained Pack ID/version against the consumer reference, raw digest and byte length. Each new Pack differs from the original data-access consumer Pack only in the root ID string token; all other bytes remain identical. These cases include positive consuming-Pack percent-encoded host and lowercase/uppercase IPvFuture coverage. Implementation and claim boundariesThe only production Go change after the reviewed corrections is There is no delta to the reviewed URI parser, ordered material-registration logic, per-call Core format override, CLI/MCP adapters, frozen prototype vendor files, default Core validator, module dependencies or byte-preserving Git attributes. No new acquisition, exposure, normalization, authority or compatibility gap was found. README, architecture and MCP documentation consistently use the exact new source pin and 124-vector count. Candidate status remains proposed-draft, unadopted and unreleased; passing tests establishes no current authority or independent implementation agreement. ADR-0060's accepted status records the user-authorized merge-ready procedural disposition and explicitly leaves RFC Review status and normative adoption unchanged. Documentation-only closure at
|
|
🎉 Thank you for your contribution to Judgment Pack! If you’d like another task, choose a path that interests you: |
Runtime now checks the proposed Policy companion
formatVersion: "1.0.0"through the existing shared CLI/MCP tools while preserving prototype0.0.2clients. Candidate discovery is explicit; default contract responses and prototype reports retain the shape required by Desk's strict decoder.The candidate is pinned to Spec
0852c5fa7726e51b36e574a5b110e7f5e012e03d, merged with an identical tree by Judgment-Pack/judgment-pack-spec#217 following #216. RFC 0023 remains Review: this is experimental support, not standard adoption. Candidate schemas and retained consuming Packs use RFC 3986 URI assertions without normalizing raw bytes. Ordered material registration preserves the first portable refusal; Git attributes preserve vendored bytes on Windows. Existing transport ceilings and default Core/prototype validation remain unchanged.Related: #293. Accepted-contract tooling and live governance admission remain outside this candidate PR.
Validation:
55a23b8.Material-decision impact: public-surface, documented-claim, dependency, security; review: #296 (comment).
Clean-room Codex review found and resolved three P2 findings. The final reviewed head is
55a23b884f0ce67fe6a9141b04e081a518fd5d61; no material findings remain. This is same-vendor review under the maintainer's temporary waiver, not different-vendor review or independent implementation evidence. ADR-0060 records the implementation decision without adopting the proposed standard.Runtime v0.35.0 remains unpublished at its existing source/tag. This PR does not approve that release's gate, change Desk's held Runtime pin, or restart Desk.