OIC semantic code-start gate closure candidate - #37
Conversation
inventor1975
left a comment
There was a problem hiding this comment.
OIC-SEMANTIC-CODE-START-REVIEW-001
Separate exact-head reviewer. Composition verified before substantive review.
No branch mutation: no edit, push, rebase, amend, merge, or auto-merge.
REVIEWED HEAD: 4065e6a
BASE: fc96d6f
SYNTHETIC MERGE: 3091995
STATE: DRAFT / OPEN / MERGEABLE / NOT MERGED · 19 changed files
FINAL CI: 33121629108, bound to this exact head, success
DISPOSITION: REQUEST CHANGES — bound to head 4065e6a
One defect, found by the §7 mandatory special attack. Everything else passed.
§7 special attack — verdict B: material fail-closed gap
validate_evidence(..., semantic_paths=...) correctly rejects a non-empty
list (scripts/verify_code_start_gate.py:138). But no caller ever supplies
that list:
load_and_validate()(:141-165) callsvalidate_evidence()with seven
arguments;semantic_pathsstaysNoneon every real run — the parameter
is dead at the only production call site;- the covering test (
test_semantic_code_start_gate_closure.py:127-128)
injects["src/oic/semantic_parser.py"]BY HAND — it proves the refuser
works, not that anything detects; - searched independently for another mechanism:
test_document_consistency's
static scan targetszverifyoccurrences only; the historical scope
control fencesdocs/contracts/,schemas/draft/,STATUS.md,
adapters/ztl/— notsrc/;semantic_conformance.pyis a test-only
fixture validator.src/oic/already exists (10 non-semantic modules), so
a newsrc/oic/semantic_parser.pycrosses no fence.
Consequence, exactly as the work order framed it: after semantic
implementation lands under an undetected path, make verify still prints
PASS semantic code-start prerequisite evidence; gate remains NOT OPEN.
The gate's own guard cannot fire in production.
Minimal correction (no redesign): make load_and_validate() derive
semantic_paths mechanically — e.g. freeze the current ten src/oic/*.py
module names as the admitted non-semantic set and pass anything new or
renamed under src/oic/ (and any other owner-named prohibited roots) into
semantic_paths. The refuser and its test then stand unchanged.
Everything verified and clean
- §2 OD-001: all four source digests match byte-for-byte (SYN-NS-GOV-1
b8824599…, SYN-NS-PROC-1 cfb57827…, SYN-NS-AMEND-2 8e197bc9…, CA-3
6e89ad25… at its manifest path). Each synthetic file self-declares
SYNTHETIC — FICTIONALin its first line; issuer is a fictional
"Northstar Test Institution"; the only dates areCreated:stamps —
no real-government effective date is invented. Stale vs current synthetic
is explicit (SYNTHETIC_SUPERSEDED+superseded_by). CA-3 remains
REAL_PUBLIC_CANADIAN_SOURCE_UNOFFICIAL_COPY,BOUNDED_TEST_INPUT_ONLY,
effective stateNOT_ESTABLISHED_NO_DATE_INVENTED, rights limitations
unchanged.SOURCE_MANIFEST.csvandSTATUS.mduntouched (0 occurrences
in the 19 changed files). Global status staysINCOMPLETE. - §3 OD-002: profile
ztl-v0.1, version0.1.0, tag
veraxis-ztl-input-v0.2-signed, commit56e1ff05…— verified against the
ZTL repository itself (the tag resolves to exactly that commit);
fixtureINDEX.jsonhashes toffadd65352…exactly. Stale PR#18 pin is
preserved as a correction (pin_correction_noticewith superseded
commit/tag), not rewritten. No ZTL runtime import/call anywhere in the
diff; admission text is bounded to CODE START throughout. - §4 OD-003: every Tier-1 mention in the diff reads NOT ESTABLISHED /
deferred; the verifier itself rejects escalation
("Tier-1 state escalated"check). No PASS/COMPLETE/VERIFIED anywhere. - §5 OD-004: boundary record carries all eight expected invariants
verbatim,NON_EXECUTABLE_BOUNDARY_RECORD, no adapter, no lifecycle
execution, no self-authorization. - §6 Failure 33104571953: remediated by moving synthetic evidence to
benchmarks/preflight/— frozen artifacts restored (absent from the final
diff), their tests strengthened rather than weakened. Failure 33121441202:
remediated with a literal four-pathallowed_contract_updatesset
subtracted from the blanket prohibition; everything else under
docs/contracts/(andSTATUS.md,schemas/draft/,adapters/ztl/)
stays fenced. This is a genuinely narrow owner-named exception, not a
general escape hatch. One remark, not a blocker: the allowlist is
permanent, so future mutation of those four files will pass the same
fence; version-bump discipline on those v0.1-named files is what keeps
that honest. - §8: semantic implementation ABSENT. All 19 files inspected;
src/oic
on this head holds only baseline/cli/doctor/errors/hashing/manifests/
paths/schemas — no parser, extraction, IR, OCE, Rego, OPA/Cedar/OpenFGA/
Cerbos execution, ZTL/VEIP invocation, or benchmark result generation. - §9 claim ceiling: respected; the gate document and OD-003 keep
NOT OPEN / NOT ESTABLISHED; the verifier's success line itself restates
"gate remains NOT OPEN". - §10: all nine expected jobs SUCCESS on the exact head; the
failure-only "Show service logs on failure" step is SKIPPED and correctly
inapplicable — "Wait for every service to become healthy" succeeded.
Reviewer role and limitations
Produced by Vitaly Reznik's assistant; Vitaly Reznik is a collaborator of
the repository owner and the author of the admitted ZTL kernel. This is an
exact-head technical review — not independent third-party adjudication, not
legal review, not Tier-1 reproduction. Those categories remain separate and
unclaimed.
SEMANTIC CODE-START GATE — NOT OPEN BY THIS REVIEW.
SEMANTIC IMPLEMENTATION — NOT AUTHORIZED BY THIS REVIEW.
MERGE — NOT AUTHORIZED BY THIS REVIEW.
inventor1975
left a comment
There was a problem hiding this comment.
OIC-SEMANTIC-CODE-START-REVIEW-001 — SUCCESSOR EXACT-HEAD RE-REVIEW
Successor disposition: APPROVED — bound to exact head
1b97551 and CI run 33127281845 (9/9 SUCCESS
on that head; synthetic merge 42c427f).
The original CHANGES_REQUESTED review (id 5046228894, head 4065e6a…) is
preserved, not dismissed: it correctly described the predecessor.
Why the defect is closed — verified on the bytes, not the changelog
The successor differs from the rejected head by ONE commit touching exactly
TWO files (compared via the API: scripts/verify_code_start_gate.py +47/−1,
tests/contract/test_semantic_code_start_gate_closure.py +89/−0). Nothing else
moved, so every finding of the predecessor review carries over unchanged.
The dead parameter is dead no more:
discover_unadmitted_production_paths()enumerates trackedsrc/oic
paths viagit ls-filesand compares them against an immutable ten-path
pre-gate baseline (frozenset in the verifier, stamped with the admitted
pre-gate head). Additions AND missing paths are returned, so a rename
surfaces as both.load_and_validate()now calls it and passes the result into
validate_evidence(semantic_paths=...)on every production run — the
§7 gap exactly.- Absence of git is a GateEvidenceError, not a silent pass: fail-closed.
The attack tests are real, not hand-fed: they build git sandboxes and
exercise the actual mechanism — T1 exact baseline accepted; T2–T4 any new
tracked path (semantic_parser.py, innocuous helper.py, nested
newmodule/engine.py) refused; T5 rename/substitution refused; T6 proves
load_and_validate() detects WITHOUT any manual parameter — the precise
predecessor defect; T7 the working tree cannot self-extend the immutable
baseline.
Named limitations of the mechanism (not blockers)
git ls-filessees tracked paths only. For exact-head review this is
definitionally sufficient — an untracked file is not part of any head —
but a locally-runmake verifyin a dirty tree will not see untracked
semantic code.- The scan covers
src/oiconly. A semantic implementation planted under a
new root would not hit this detector; it would instead have to pass the
bootstrap-integrity baseline manifest and the historical scope controls,
which fence tree changes by a different mechanism. Widening the scan to
owner-named prohibited roots remains available if the owner wants both
fences on one mechanism.
Standing statements
Reviewer relationship unchanged and restated: produced by Vitaly Reznik's
assistant; Vitaly Reznik is a collaborator of the repository owner and the
author of the admitted ZTL kernel. Exact-head technical review only — not
independent adjudication, not legal review, not Tier-1 reproduction.
SEMANTIC CODE-START PREREQUISITES — APPROVED FOR OWNER GATE-OPENING DECISION.
SEMANTIC CODE-START GATE — NOT OPEN BY THIS REVIEW.
SEMANTIC IMPLEMENTATION — NOT AUTHORIZED BY THIS REVIEW.
MERGE — NOT AUTHORIZED BY THIS REVIEW.
Scope
Owner-authorized non-semantic closure of OD-001 through OD-004 from current main
fc96d6f590a6f8ed12ecbb256f33f6de16d0c619.PR #35 at
8fc72aba7c7de80e64de83a8f9f65184b002b9acremains the historical audit/readiness evidence basis. This is a fresh closure branch; it does not implement semantics.Owner decisions represented
ztl-v0.1/0.1.0, signed tagveraxis-ztl-input-v0.2-signed, commit56e1ff0510c62b04dbd85bbe08b7a6deacbf276b, fixture-index SHA-256ffadd65352d69ffcf55787c6dc26339e51eaed76b4c2ae789f7c813625247145. No ZTL runtime import, call, or semantic change.ActionProposal → OIC exact proposal → RuntimeDecision → evidence handed downstream toward VEIPboundary. OIC has no VEIP lifecycle authority; VEIP does not reinterpret ZTL; absent integration fails closed; no adapter/import/execution is authorized.Synthetic source identities
SYN-NS-GOV-1:b882459931ddf06fb647e6885c1ced368b4a5f45b6441df618484a30473a2a24SYN-NS-PROC-1:cfb578274460cc17492f4b25a4db6893ce87a527e1207fe6a52b6384125ec073SYN-NS-AMEND-2:8e197bc9e01554853163dfb5f84ad807893f678b26673737c8a72ddf0c8daf476e89ad25847944ca2bd72bcbf02ec3d2942a234d373b6c10db44307e0fbdf2c3Fail-closed evidence
The new stdlib-only verifier and contract tests refuse all 15 required conditions: synthetic-as-real authority, missing synthetic classification, byte mutation, provenance mismatch, fabricated government metadata, wrong ZTL commit/tag/index, stale currentness, Tier-1 escalation, executable VEIP integration, OIC lifecycle authority, VEIP reinterpretation of ZTL, premature semantic implementation, and global-manifest escalation.
Global
verify-manifest --allremains truthfully INCOMPLETE / exit 3. Scoped prerequisite readiness does not launder global completeness.Local producer verification
git diff --check: cleanmake verify PYTHON=.venv/bin/python: schema 9/9, bootstrap 52/52, scoped verifier PASS, global manifest INCOMPLETE / exit 3 as expectedruff check .: PASSruff format --check .: PASS (47 files)python -m mypy src tests: PASS (35 source files)python -m pip check: PASSpython -m pip_audit --skip-editable: no known vulnerabilitiespytestandmake falsify: authoring host Python 3.12 process exited by signal 11; no assertion result was produced. GitHub-hosted exact-PR-composition CI is required and is the decisive suite evidence.Claim ceiling
No semantic compiler correctness, source-interpretation correctness, legal correctness, benchmark performance, runtime authority, VEIP lifecycle, production-readiness, or expanded product claim is made.
SEMANTIC CODE-START GATE:
READY FOR SEPARATE EXACT-HEAD REVIEW
NOT OPEN
SEMANTIC IMPLEMENTATION HAS NOT STARTED
CI GREEN IS EVIDENCE, NOT ACCEPTANCE
NOT SELF-ADJUDICATED
Final GitHub-native evidence
4065e6a7c02badd3356f4c74be0815079d836acafc96d6f590a6f8ed12ecbb256f33f6de16d0c619309199520c84e5c9917de69c2d15e4a112717677RECORDED_NOT_VERIFIED; not converted to PASS.Preserved failure history and remediation
d98145f9e194a58b496852cf9e7b0333f9e965c5: test failed (12 failures). Root cause: scoped synthetic evidence had been added to frozen globalSOURCE_MANIFEST.csv/STATUS.md, and a provenance filename collided with historical receipt-freeze assertions. Fix: restored global artifacts byte-for-byte, kept the new source set scoped, and renamed its record toPROVENANCE.json.bb5c954074e2ee747ac0ec3d2179fb4428617285: test failed (2 failures). Root cause: historical tests categorically rejected all futuredocs/contracts/changes despite this owner-authorized exact contract scope. Fix: replaced the blanket rule with an explicit four-file allowlist; all other contracts, draft schemas, adapters, andSTATUS.mdremain forbidden.4065e6a7c02badd3356f4c74be0815079d836aca: SUCCESS.004A review-requested fail-closed correction
4065e6a7c02badd3356f4c74be0815079d836acaOIC-SEMANTIC-CODE-START-REVIEW-001, review ID5046228894,CHANGES_REQUESTEDvalidate_evidence()refused a suppliedsemantic_pathslist, but productionload_and_validate()never discovered or supplied paths, so the real verifier could pass after an unauthorizedsrc/oicaddition.1b9755126f6df40f8a2799896c58c433a3c8ba8942c427f4bee8df800fe9dbf379e71ee307fb8f70scripts/verify_code_start_gate.py;tests/contract/test_semantic_code_start_gate_closure.pyThe production verifier now uses
git ls-files -- src/oicand compares the tracked tree to an immutable ten-path baseline derived from reviewed predecessor4065e6a7c02badd3356f4c74be0815079d836aca. Added paths and missing/renamed baseline paths are passed byload_and_validate()to the existing fail-closed invariant. The baseline is a literal constant and is never regenerated from the current tree.T1–T7 execute in the hosted suite and establish: exact baseline acceptance; refusal of
semantic_parser.py; refusal of innocuously namedhelper.py; refusal of nestednewmodule/engine.py; refusal of rename/substitution; productionload_and_validate()detection without manual parameter injection; and refusal to self-admit a newly existing path.All previously reviewed PASS dimensions remain untouched. OD-001 through OD-004, CA-3, synthetic bytes, ZTL tuple and semantics, Tier-1 disposition, VEIP boundary semantics, contracts/mapping, schemas, dependencies, workflows, claims, licensing, and runtime boundaries were not modified by 004A.
Hosted successor suite: 1255 passed, 1 intentionally skipped, 1256 collected. All nine jobs succeeded. Global manifest remains INCOMPLETE / exit 3. The requested-changes review remains visible and undismissed.
SEMANTIC CODE-START GATE:
READY FOR SUCCESSOR EXACT-HEAD RE-REVIEW
NOT OPEN
SEMANTIC IMPLEMENTATION HAS NOT STARTED
REVIEW-REQUESTED DEFECT CLOSED IN PRODUCER CANDIDATE
CI GREEN IS EVIDENCE, NOT ACCEPTANCE
NOT SELF-ADJUDICATED