Skip to content

Integration: bounded C2 ingress/conformance for CAL Pipeline smoke - #75

Draft
camerontjs-dot wants to merge 1 commit into
mainfrom
integration/cal-pipeline-c2-ingress-20260915
Draft

camerontjs-dot wants to merge 1 commit into
mainfrom
integration/cal-pipeline-c2-ingress-20260915

Conversation

@camerontjs-dot

Copy link
Copy Markdown
Owner

Classification

Draft Integration / bounded C2 ingress-conformance. Do not merge as promotion. Do not tag, release, or call V1.1/2.0.

Base

Descended from exact frozen V1 7be709b2141c767c5da89b8b94cf90233c4238fe. No existing V1 source modified; C1 behavior unchanged and re-verified locally.

Why C2 slice is required

CAL V1 RC0 prototype (aa26cc76) explicitly records contract_c_handoff.state = not_emitted (canonical_contract_c_2_authority_not_frozen_in_this_prototype); its producer path targets Candidate A RC2 / proposed Contract C 2.0. Released Decision V1 strictly rejects C2 (contract_c_validation_failed, verified locally). First pipeline smoke therefore requires minimal C2 ingress. Verified live:

  • Apparatus PR #98 head b42c827acb0a9fe65353354d709add0e27bab307 (Draft, pre-merge)
  • version 2.0.0, profile contract-c-successor-candidate-a-rc2-research

Change (7 new files, 0 modified)

  • src/contractC2Ingress.js — exact C2 authority (HEAD + validator/schema blobs + promotion version), whole-object SHA, canonical C2 validation, exact Contract B binding. Rejects C1; no downgrade.
  • src/contractC2Decision.js — supported-claim over C2, same policy ID/version/effect, C2 terminal read (supported/categorical_support CLEAR; UNSUPPORTED/no_deciding and others HOLD; missing FAILED).
  • src/contractC2BasisCitationDecision.js — causal-basis over C2, same policy ID/version/effect, participant role/relation + minimal basis-group read (causal-basis CLEAR; residual/non-deciding HOLD; missing FAILED).
  • src/contractC2DecisionRuntime.js — explicit two-case C2 dispatch (mirrors V1 runtime, does not change it).
  • scripts/decision-engine-evaluate-c2.mjs — thin C2 CLI emitting canonical Contract D 1.0 only.
  • tests/contractC2Ingress.integration.mjs — focused C2 ingress/conformance + all required negative controls.
  • docs/CONTRACT_C2_INGRESS_SLICE.md — provisional invocation/authority record.

Emits existing exact Contract D 1.0.0. No Authorization, execution, mutation, tag, or release. Does not alter Apparatus authority and does not claim production qualification from local smoke alone.

Local evidence

  • V1 release/conformance re PASS locally (materializer, V1 qualification, C-to-D, basis, CLI, D consumer).
  • C2 integration PASS locally with exact authorities (_contract_c2@b42c827, _contract_d@298a1a0f).
  • C1 ingress rejects C2; C2 ingress rejects C1; non-deciding HOLDs; replay mismatch fails; D validates canonically; consumer candidate_for_authorization/hold/evaluation_failed as appropriate.
  • Env deviations preserved: Node v26.7.0 (vs CI 22), Python 3.14.4 (vs 3.12); local git archive deterministic but cross-platform byte-different from published asset (file lists identical; commit/tree/tag PASS via authority).

Research PRs remain evidence, not promotion authority.

… smoke

Descended from exact frozen V1 7be709b.
No existing V1 source modified; C1 behavior unchanged.

C2 authority: apparatus-contracts exact head
b42c827acb0a9fe65353354d709add0e27bab307, version 2.0.0,
profile contract-c-successor-candidate-a-rc2-research.
Validates exact C2 via frozen candidate, preserves proposition,
Contract B, participant/role/relation, basis, residual/non-deciding,
terminal, and result identity distinctions, resolves target with
existing Decision semantics, dispatches only via existing trusted
policies, emits exact Contract D 1.0, fails closed. No downgrade.
No Authorization, execution, tag, release, or promotion.
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.

1 participant