Skip to content

OIC semantic code-start gate closure candidate - #37

Merged
veraxis-protocol merged 4 commits into
mainfrom
codex/oic-semantic-code-start-gate-closure
Aug 28, 2026
Merged

OIC semantic code-start gate closure candidate#37
veraxis-protocol merged 4 commits into
mainfrom
codex/oic-semantic-code-start-gate-closure

Conversation

@veraxis-protocol

@veraxis-protocol veraxis-protocol commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Scope

Owner-authorized non-semantic closure of OD-001 through OD-004 from current main fc96d6f590a6f8ed12ecbb256f33f6de16d0c619.

PR #35 at 8fc72aba7c7de80e64de83a8f9f65184b002b9ac remains the historical audit/readiness evidence basis. This is a fresh closure branch; it does not implement semantics.

Owner decisions represented

  • OD-001: CA-3 plus three deterministic, explicitly SYNTHETIC and FICTIONAL companion sources. Each byte set has an immutable SHA-256 and benchmark-only authority. CA-3 remains an unofficial copy; its existing source-specific rights limitations and broader Canada clearance state are unchanged.
  • OD-002: exact bounded admission of ztl-v0.1 / 0.1.0, signed tag veraxis-ztl-input-v0.2-signed, commit 56e1ff0510c62b04dbd85bbe08b7a6deacbf276b, fixture-index SHA-256 ffadd65352d69ffcf55787c6dc26339e51eaed76b4c2ae789f7c813625247145. No ZTL runtime import, call, or semantic change.
  • OD-003: Tier-1 reproduction is NOT ESTABLISHED and deferred to the experimental-release boundary; it is not represented as PASS.
  • OD-004: non-executable ActionProposal → OIC exact proposal → RuntimeDecision → evidence handed downstream toward VEIP boundary. 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: b882459931ddf06fb647e6885c1ced368b4a5f45b6441df618484a30473a2a24
  • SYN-NS-PROC-1: cfb578274460cc17492f4b25a4db6893ce87a527e1207fe6a52b6384125ec073
  • SYN-NS-AMEND-2: 8e197bc9e01554853163dfb5f84ad807893f678b26673737c8a72ddf0c8daf47
  • retained CA-3: 6e89ad25847944ca2bd72bcbf02ec3d2942a234d373b6c10db44307e0fbdf2c3

Fail-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 --all remains truthfully INCOMPLETE / exit 3. Scoped prerequisite readiness does not launder global completeness.

Local producer verification

  • git diff --check: clean
  • make verify PYTHON=.venv/bin/python: schema 9/9, bootstrap 52/52, scoped verifier PASS, global manifest INCOMPLETE / exit 3 as expected
  • ruff check .: PASS
  • ruff format --check .: PASS (47 files)
  • python -m mypy src tests: PASS (35 source files)
  • python -m pip check: PASS
  • python -m pip_audit --skip-editable: no known vulnerabilities
  • SBOM generation: completed
  • wheel build/smoke-install: completed
  • forbidden-pattern scan: PASS
  • Local pytest and make 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

  • Final branch head: 4065e6a7c02badd3356f4c74be0815079d836aca
  • Base: fc96d6f590a6f8ed12ecbb256f33f6de16d0c619
  • GitHub synthetic merge composition: 309199520c84e5c9917de69c2d15e4a112717677
  • Successful PR run: 33121629108
  • All nine jobs succeeded: dependency-review, advisory-scan, bootstrap-integrity, schema-validation, lint, typecheck, test, sbom, compose-validation.
  • Hosted suite: 1248 passed, 1 intentionally skipped (gitignored local receipts unavailable in CI), 1249 collected.
  • Global manifest: INCOMPLETE / exit 3, one CA-3 row RECORDED_NOT_VERIFIED; not converted to PASS.
  • Action runtime deprecation warnings: 0 observed.
  • The compose job's “Show service logs on failure” step was skipped because all services became healthy; it is explicitly failure-only and inapplicable on success.

Preserved failure history and remediation

  • 33104571953, head d98145f9e194a58b496852cf9e7b0333f9e965c5: test failed (12 failures). Root cause: scoped synthetic evidence had been added to frozen global SOURCE_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 to PROVENANCE.json.
  • 33121441202, head bb5c954074e2ee747ac0ec3d2179fb4428617285: test failed (2 failures). Root cause: historical tests categorically rejected all future docs/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, and STATUS.md remain forbidden.
  • 33121629108, head 4065e6a7c02badd3356f4c74be0815079d836aca: SUCCESS.

004A review-requested fail-closed correction

  • Reviewed predecessor head: 4065e6a7c02badd3356f4c74be0815079d836aca
  • Preserved review: OIC-SEMANTIC-CODE-START-REVIEW-001, review ID 5046228894, CHANGES_REQUESTED
  • Defect: validate_evidence() refused a supplied semantic_paths list, but production load_and_validate() never discovered or supplied paths, so the real verifier could pass after an unauthorized src/oic addition.
  • Correction commit/final head: 1b9755126f6df40f8a2799896c58c433a3c8ba89
  • New synthetic merge composition: 42c427f4bee8df800fe9dbf379e71ee307fb8f70
  • Final successor run: 33127281845 — SUCCESS
  • 004A changed files only: scripts/verify_code_start_gate.py; tests/contract/test_semantic_code_start_gate_closure.py

The production verifier now uses git ls-files -- src/oic and compares the tracked tree to an immutable ten-path baseline derived from reviewed predecessor 4065e6a7c02badd3356f4c74be0815079d836aca. Added paths and missing/renamed baseline paths are passed by load_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 named helper.py; refusal of nested newmodule/engine.py; refusal of rename/substitution; production load_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

@inventor1975 inventor1975 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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) calls validate_evidence() with seven
    arguments; semantic_paths stays None on 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 targets zverify occurrences only; the historical scope
    control fences docs/contracts/, schemas/draft/, STATUS.md,
    adapters/ztl/not src/; semantic_conformance.py is a test-only
    fixture validator. src/oic/ already exists (10 non-semantic modules), so
    a new src/oic/semantic_parser.py crosses 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 — FICTIONAL in its first line; issuer is a fictional
    "Northstar Test Institution"; the only dates are Created: 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 state NOT_ESTABLISHED_NO_DATE_INVENTED, rights limitations
    unchanged. SOURCE_MANIFEST.csv and STATUS.md untouched (0 occurrences
    in the 19 changed files). Global status stays INCOMPLETE.
  • §3 OD-002: profile ztl-v0.1, version 0.1.0, tag
    veraxis-ztl-input-v0.2-signed, commit 56e1ff05… — verified against the
    ZTL repository itself (the tag resolves to exactly that commit);
    fixture INDEX.json hashes to ffadd65352… exactly. Stale PR#18 pin is
    preserved as a correction (pin_correction_notice with 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-path allowed_contract_updates set
    subtracted from the blanket prohibition; everything else under
    docs/contracts/ (and STATUS.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 inventor1975 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 tracked src/oic
    paths via git ls-files and 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-files sees tracked paths only. For exact-head review this is
    definitionally sufficient — an untracked file is not part of any head —
    but a locally-run make verify in a dirty tree will not see untracked
    semantic code.
  • The scan covers src/oic only. 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.

@veraxis-protocol
veraxis-protocol marked this pull request as ready for review August 28, 2026 14:50
@veraxis-protocol
veraxis-protocol merged commit 914830c into main Aug 28, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants