Repository navigation
[Codegen#6] Ship codegen CLI and cross-backend golden and differential conformance #6
Description
Activity
- addedassuranceEngineering-assurance artifact or evidence workEngineering-assurance artifact or evidence workworkstream:contract-loweringContract IR, runtime, and code-generation workContract IR, runtime, and code-generation work
on Aug 30, 2026 - added a parent issue
on Aug 30, 2026 Agent A local atomic-publication checkpoint (no hosted CI dispatched)
Exact local candidate:
5dbf6cce0d31993f3a3de6fb7be62247e3440b7doncontract-agent-a/codegen-v01-completion, based on0f4df413b21dba39ef62aca89ededc707aab7056.The library-owned publication slice is implemented locally:
- validates bounded, canonical, unique artifact paths and exact content digests before mutation;
- computes order-independent deterministic bundle identity with fixed-width length framing;
- stages every artifact and an ownership marker beside the destination;
- replaces only a recursively censused, marker- and digest-verified generator-owned directory;
- refuses unmarked, modified, extra-entry, empty-directory, non-file, and symlink boundaries;
- injects failures before every artifact, before the marker, before swap, and during swap, preserving the prior bundle and adjacent developer-owned bytes;
- reports cleanup failures instead of discarding them and removes a raced sibling symlink without following it.
The final cleanup behavior closes local finding FND-909: the initial implementation could report success while an old backup remained or hide staging residue behind an earlier failure.
Local exact-head verification includes 4/4 focused publication tests within the 42/42 all-target suite, warning-denied Clippy/rustdoc, Rust 1.75, formatting, 60/60 Quire document validation, and 9/9 generation-conformance rows. Strict Quire coverage still exits 1 with nine Inspection/Analysis rows and is not claimed green.
This does not complete #6. Remaining gates are:
- executable serialized-package binding/API: [Contract IR#50] Bind executable typed expressions to serialized contract clauses quire-contract-ir#50;
- permitted Sireum/INSPECTA fixture identity, license, and provenance: [Codegen#24] Establish permitted Sireum/INSPECTA differential fixture provenance #24;
- complete golden and executable/proptest/Kani/coverage parity after the separately owned backend slices land;
- independent exact-head review.
The publisher is rollback-atomic for reported failures, not process-crash atomic between directory renames, and callers must serialize destination/sibling writers. The candidate is local only and has not been pushed.
Ownership correction and isolated exact-head checkpoint: Agent A atomic-publication work is now split from the mixed local stack onto
contract-agent-a/codegen-publicationat786552705cbf0aaefdd80de5907e351ed806607b, based directly on currentorigin/main0f4df413b21dba39ef62aca89ededc707aab7056. It contains no Agent B harness or vacuity commit. Full localmake cipasses at this SHA: 31 Rust tests plus doc tests, stable and exact Rust 1.75, Clippy, formatting, rustdoc, upstream identity, 9/9 generation conformance rows, supply chain, shared pins, 14 assurance scenarios, 6 controls, and 8 probes. Quire validates 56/56 docs. Strict coverage remains truthfully red on planned/unrelated rows. The serialized-package CLI remains blocked on agent-ix/quire-contract-ir#50, and third-party differential fixtures remain blocked on #24. No hosted CI was dispatched. The branch remains local-only pending explicit push authorization and independent exact-head review.Adversarial follow-up on the isolated publication branch: exact local head is now
bfa70861eb748321dea57b1a1f7b1e86ecda0818. Review found that backup cleanup occurs after the new destination is committed, while the prior diagnostic overclaimed rollback for every reported error. FND-910 is fixed by an explicit destination-state enum (unchanged,published,unknown) and a post-commit cleanup-failure control that requirespublished, a complete new bundle, unchanged developer bytes, and visible backup residue. Rollback failure reportsunknown; pre-commit failures reportunchanged. The full localmake cipasses at this exact SHA with 32 Rust tests, including 5/5 publication controls, plus both toolchains, rustdoc, Quire validation, generation conformance, supply-chain checks, shared pins, 14 assurance scenarios, 6 controls, and 8 probes. Strict Quire coverage remains truthfully red on planned/unrelated rows. No hosted CI was dispatched; the branch remains local-only pending push authorization and independent exact-head review.Owner scope decision for the third-party differential dependency:
Sireum/INSPECTA comparison is deferred until codegen is further into implementation and does not block review/landing of the isolated Kani or guarded-publication slices. Dedicated tracker #24 remains open. When that lane starts, either tool is acceptable; use the latest suitable release, record the exact identity and reproducible parameters, and retain only license-compatible files with explicit provenance.
This narrows no completed-evidence claim: the current independent evaluator remains a local semantic control and is not described as third-party evidence. Complete #6 still requires resolving or explicitly version-scoping the deferred differential criterion before the final CLI/conformance release decision.
- changed the title
[-]Ship codegen CLI and cross-backend golden and differential conformance[/-][+][Codegen#6] Ship codegen CLI and cross-backend golden and differential conformance[/+]on Sep 19, 2026 - added and removedworkstream:contract-loweringContract IR, runtime, and code-generation workContract IR, runtime, and code-generation workassuranceEngineering-assurance artifact or evidence workEngineering-assurance artifact or evidence work
on Sep 19, 2026 - removed a parent issue
on Sep 23, 2026
Metadata
Metadata
Assignees
Type
Projects
- StatusShow more project fieldsBacklog
Required implementation language and containment
Owner directive (2026-09-07): first-party production and possible qualification paths must be Rust, including libraries, CLI/tools, generators, validators, canonicalization, result adapters, test assertions and fixture/CI audits. "Glue", prototypes, scripts and tests are not exemptions; a Rust wrapper around non-Rust semantic logic is not remediation.
Before closure: record executable-path inventory, approved dispositions, Rust implementation/test/CI parity and failure-path evidence for the reviewed scope. Existing Quoin retention is the only accommodation recorded here; this block grants no new TypeScript approval.
Required spec cycle — owner directive
Every change requires the spec cycle before implementation:
/specify→/spec-review→ resolve findings and repeat as needed → implement and verify against the reviewed specification. Architecture notes, ticket acceptance checklists, an ADR draft, passing code tests, orquire validatealone do not satisfy this gate./specifyfor the affected change in the owning repository. Use the repository's installed workflow/catalog templates; create or update the actual scoped requirement artifacts and traceability, including applicable behavior, interface, compatibility and adverse-case requirements. Do not substitute rows in an issue or index for required artifact files./spec-reviewon that specification. Record the owner-selected review set (base/all/subset and selected analyses); if it has not been chosen, obtain that choice through the workflow rather than silently skipping review or selecting a weaker set. Produce the required review artifacts and validation evidence./specifyand/spec-reviewbefore proceeding with that changed scope.Already started without this cycle? Preserve existing work, but pause further unreviewed implementation and merge/release. Specify and review the actual change now, correct discrepancies, and record the true sequence; do not imply a retrospective review occurred before the code was written. Read-only inspection, specification authoring and review remediation may continue.
Workflow unavailable or review blocked? Report the exact missing tool/skill, review choice or approval. Use an explicitly approved equivalent procedure only; an ad hoc summary or checkbox is not a substitute. Never claim
/specifyor/spec-reviewran when it did not.This applies to child work under epics, existing-code changes, new crates/adapters, test/CI behavior and executable research spikes. For a spec-only or research/decision task, author and review its scoped specification/experiment contract; do not manufacture unrelated application artifacts or claim the experiment implemented. Follow the owning repository's current workflow and disclosure rules. Board status is not evidence that the gate passed.
Outcome
Ship codegen CLI and cross-backend golden and differential conformance.
Deliverables
Acceptance criteria
Dependencies
Workflow gate
This ticket is spec-first. Update or author the owning requirements and test matrix, complete review, and produce the plan delta before implementation. Completion requires code review, requirement-tagged tests, gap analysis, and retained evidence.