Skip to content

feat(review)!: make approval terminal and burn lineage - #3536

Merged
Alan-TheGentleman merged 3 commits into
mainfrom
feat/3417-atomic-review
Aug 21, 2026
Merged

Alan-TheGentleman merged 3 commits into
mainfrom
feat/3417-atomic-review

Conversation

@Alan-TheGentleman

@Alan-TheGentleman Alan-TheGentleman commented Aug 21, 2026 •

Copy link
Copy Markdown
Contributor

🔗 Linked Issue

Closes #3417


🏷️ PR Type

  • type:bug — Bug fix (non-breaking change that fixes an issue)
  • type:feature — New feature (non-breaking change that adds functionality)
  • type:docs — Documentation only
  • type:refactor — Code refactoring (no functional changes)
  • type:chore — Build, CI, or tooling changes
  • type:breaking-change — Breaking change

📝 Summary

Makes ordinary review atomic: consent → freeze → lenses → one bounded correction and validator → approval → complete burn. Approval leaves Git as the only durable history; compact-v2 is the sole ordinary lifecycle engine.

Review and Judgment Day evidence is informational. Commit, push, PR, release, and SDD archive follow ordinary repository policy and never depend on a receipt or allow result.

Draft: implementation and local/runtime verification are complete. GitHub CI and coordinated readiness with companion Gentle Pi PR #386 remain pending. No merge or release is authorized yet.


📂 Changes

File / Area What Changed
Compact review transaction Atomic START create/replay, one correction budget, terminal burn, and restart-safe prepared/deleting recovery
FINALIZE reconciliation Clean FINALIZE terminates directly; ambiguous post-mutation results require one exact target-bound STATUS before replay
Runtime integration Shared Claude Code, Codex, OpenCode, and Pi contract; Kilo remains dormant
Delivery and SDD policy Review state remains visible but cannot authorize, block, or route ordinary delivery/archive
SDD verification apply → independent verify → optional review offer → archive; legacy missing-review input cannot suppress verification
OpenCode background tasks Nonterminal background: true acknowledgements no longer emit a false malformed-result failure or latch the session
Contracts, docs, and assets Canonical schemas/guidance updated; historical delivery-gate assumptions superseded
Bench and regression coverage CI-equivalent driven journeys, task-result grammar matrix, and cross-runtime ownership tests

Current commits:

  • b43e0928 — feat(review)!: make approval terminal and burn lineage
  • 3c3b8a02 — fix(review): complete atomic lifecycle integration

🤖 AI Assistance

  • None — No material AI assistance was used.
  • Material assistance used — Complete all applicable declaration fields below.

Tool/model (if known): Pi coding agent with OpenAI Codex models

Material scope: implementation, tests, documentation, migration analysis, runtime reproduction, and independent verification orchestration

Verification performed: uncached Go root/vet/deadcode/refusal/contracts, CI-equivalent driven bench, focused schemas/renderers/transports, source identity checks, and live OpenCode background-task reproduction after install/sync.


🧪 Test Plan

go test ./... -count=1
go vet ./...
cd bench && go test ./... -count=1
./scripts/deadcode-ratchet.sh
go test ./internal/cli -run '^TestEveryProductionRefusalNamesResolutionOrDeclaresByDesign$' -count=1
./scripts/test-review-contract-package.sh
go run ./internal/gofmtcheck
git diff --check

Driven evidence using externally built candidate binaries:

  • Core corpus: 75/75, zero failures
  • Provider journey: 1/1, zero failures
  • Transition corpus: 86/86, zero failures
  • Ordinary model picker: 1 expected unsupported, zero failures
  • Fixture model picker: 1/1, zero failures
  • OpenCode SDD task-result axis: 78/78 total — 75 core + 3 target journeys; 14 terminal grammar cases
  • Live OpenCode validation: background sdd-explore completed without false sdd_task_result_malformed; artifacts persisted and routing continued

go test ./bench validates declarations only; the driven binary invocation above is the execution proof.

  • Unit/static candidate battery passed
  • CI-equivalent driven benchmark passed
  • Cross-runtime ownership boundaries passed
  • OpenCode background flow manually tested after install/sync/restart
  • GitHub CI for final head passed

🚧 Current Draft Blockers

Native review lineage state is informational and is not a delivery or merge gate.

📏 Size Exception Rationale

This PR contains 39,450 changed lines across 380 files (12,471 additions / 26,979 deletions). The majority is deletion of historical multi-engine review surfaces plus their obsolete tests and generated assets. Compact transaction ownership, schemas, CLI, recovery, runtime contracts, docs, and driven journeys form one atomic compatibility migration; splitting them would create intermediate states with incompatible contracts or multiple ordinary lifecycle engines.

Maintainer size:exception is already applied.


🤖 Automated Checks

Check Status Description
Check PR Cognitive Load ✅ size:exception applied
Check Issue Reference ⏳ Closes #3417
Check Issue Has status:approved ✅ Issue carries status:approved
Check PR Has type:* Label ⏳ Exactly type:breaking-change applied
Unit Tests ⏳ CI running for final head
Go Format ⏳ CI running for final head
E2E / runtime checks ⏳ CI running for final head

✅ Contributor Checklist

  • PR is linked to an issue with status:approved
  • Maintainer size:exception is applied with rationale
  • Exactly one type:* label is applied
  • Candidate verification and driven benchmark completed
  • Documentation and canonical contracts updated
  • Commits follow Conventional Commits
  • Material AI assistance declared
  • No Co-Authored-By trailers
  • GitHub CI is green on final head
  • Companion PR readiness confirmed
  • Ready to merge

💬 Notes for Reviewers

Review the ownership boundary first: adapters transport opaque reviewer bytes; native Go owns lifecycle, policy, target identity, correction accounting, validation, approval, and burn. STATUS is read-only; FINALIZE owns mutation and restart-safe recovery. Approval burns all authority/evidence. Ordinary delivery remains governed by repository policy, never by review artifacts.

For the OpenCode regression, inspect the temporal boundary: tool.execute.after is nonterminal for explicit background tasks. Only background: true skips terminal validation; foreground empty/malformed results remain fail-closed and session-latched.

@Alan-TheGentleman Alan-TheGentleman added size:exception Maintainer-approved exception for PRs above the 400 changed-line review budget type:breaking-change Breaking change (requires major version bump) labels Aug 21, 2026
@coderabbitai

coderabbitai Bot commented Aug 21, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 352 files, which is 52 over the limit of 300.

To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e650b35f-3874-4523-93af-638bde0471eb

📥 Commits

Reviewing files that changed from the base of the PR and between 35deba3 and a99d33f.

⛔ Files ignored due to path filters (29)
  • openspec/changes/pi-optional-codegraph-integration/verify-report.md is excluded by !openspec/**
  • openspec/changes/sdd-compact-authority-recovery/verify-report.md is excluded by !openspec/**
  • openspec/specs/rdd-candidate-identity/spec.md is excluded by !openspec/**
  • openspec/specs/rdd-candidate-relation-algebra/spec.md is excluded by !openspec/**
  • openspec/specs/rdd-delivery-exception-removal/spec.md is excluded by !openspec/**
  • openspec/specs/rdd-new-lineage-activation/spec.md is excluded by !openspec/**
  • openspec/specs/rdd-post-verify-review-offer/spec.md is excluded by !openspec/**
  • openspec/specs/rdd-receipt-only-gates/spec.md is excluded by !openspec/**
  • openspec/specs/rdd-review-core-transitions/spec.md is excluded by !openspec/**
  • openspec/specs/rdd-sdd-receipt-consumption/spec.md is excluded by !openspec/**
  • openspec/specs/rdd-shadow-evaluation/spec.md is excluded by !openspec/**
  • openspec/specs/rdd-simplification-design/spec.md is excluded by !openspec/**
  • openspec/specs/review-findings-ledger/spec.md is excluded by !openspec/**
  • testdata/golden/combined-claude-claudemd.golden is excluded by !testdata/**
  • testdata/golden/combined-windsurf-global-rules.golden is excluded by !testdata/**
  • testdata/golden/sdd-antigravity-rulesmd.golden is excluded by !testdata/**
  • testdata/golden/sdd-claude-claudemd.golden is excluded by !testdata/**
  • testdata/golden/sdd-claude-cmd-sdd-apply.golden is excluded by !testdata/**
  • testdata/golden/sdd-claude-cmd-sdd-archive.golden is excluded by !testdata/**
  • testdata/golden/sdd-codex-agentsmd-lowcost.golden is excluded by !testdata/**
  • testdata/golden/sdd-codex-agentsmd-powerful.golden is excluded by !testdata/**
  • testdata/golden/sdd-codex-agentsmd.golden is excluded by !testdata/**
  • testdata/golden/sdd-cursor-rules.golden is excluded by !testdata/**
  • testdata/golden/sdd-gemini-geminimd.golden is excluded by !testdata/**
  • testdata/golden/sdd-kiro-instructions.golden is excluded by !testdata/**
  • testdata/golden/sdd-opencode-cmd-sdd-apply.golden is excluded by !testdata/**
  • testdata/golden/sdd-opencode-multi-settings.golden is excluded by !testdata/**
  • testdata/golden/sdd-vscode-instructions.golden is excluded by !testdata/**
  • testdata/golden/sdd-windsurf-global-rules.golden is excluded by !testdata/**
📒 Files selected for processing (352)
  • .deadcode-baseline.txt
  • .github/workflows/ci.yml
  • .refusal-ratchet-baseline.txt
  • CONTRIBUTING.md
  • README.md
  • bench/README.md
  • bench/axis.go
  • bench/axis_compatibility.go
  • bench/axis_damaged_store.go
  • bench/axis_damaged_store_closure.go
  • bench/axis_model_picker.go
  • bench/axis_real_world.go
  • bench/axis_sdd_task_result.go
  • bench/axis_source_coupled.go
  • bench/axis_source_coupled_test.go
  • bench/journeys.go
  • bench/journeys_atomic_review.go
  • bench/journeys_atomic_review_test.go
  • bench/journeys_capture_evidence_v5.go
  • bench/journeys_capture_result_dry_run.go
  • bench/journeys_captured_provider_validator.go
  • bench/journeys_finding_id_prefix.go
  • bench/journeys_id_collision_test.go
  • bench/journeys_intended_untracked.go
  • bench/journeys_issue1800.go
  • bench/journeys_repository_context.go
  • bench/journeys_sdd.go
  • bench/journeys_sdd_post_review_verify_report.go
  • bench/journeys_sdd_shared_scaffolding.go
  • bench/journeys_sdd_test.go
  • bench/journeys_staged_delivery.go
  • bench/journeys_transition.go
  • bench/journeys_transition_test.go
  • bench/journeys_wave1.go
  • bench/journeys_wave3.go
  • bench/review_declarations.go
  • bench/runner.go
  • bench/runner_test.go
  • bench/testdata/journeys.manifest
  • contracts/review-integration/v1/schemas/failure.schema.json
  • contracts/review-integration/v1/schemas/operation.schema.json
  • contracts/review-integration/v1/schemas/targeted-validation-request.schema.json
  • contracts/review-integration/v2/schemas/failure.schema.json
  • contracts/review-integration/v2/schemas/gate-result.schema.json
  • contracts/review-integration/v2/schemas/operation.schema.json
  • contracts/review-integration/v2/schemas/start.schema.json
  • docs/architecture/guard-population.md
  • docs/architecture/organic-rdd.md
  • docs/architecture/rdd-freeze-expansion-policy.md
  • docs/architecture/rdd-ownership-inventory.md
  • docs/architecture/rdd-root-simplification-design.md
  • docs/architecture/rdd-shadow-evaluation.md
  • docs/community-roadmap.md
  • docs/intended-usage.md
  • docs/review-authority-threat-model.md
  • docs/review-integration.md
  • docs/testing-agents-deterministically.md
  • docs/testing/organic-rdd-testing-guide.md
  • docs/trigger-rules.md
  • e2e/organicruntime/organic_escalated_continuation_test.go
  • e2e/organicruntime/organic_lifecycle_hardening_test.go
  • e2e/organicruntime/organic_recovery_guard_rails_test.go
  • e2e/organicruntime/organic_runtime_test.go
  • internal/agents/capabilitymanifest/manifest.go
  • internal/agents/capabilitymanifest/manifest_test.go
  • internal/app/app.go
  • internal/app/app_test.go
  • internal/app/review_validate_nondeciding_test.go
  • internal/assets/antigravity/sdd-orchestrator.md
  • internal/assets/assets_test.go
  • internal/assets/claude/commands/sdd-apply.md
  • internal/assets/claude/commands/sdd-archive.md
  • internal/assets/claude/sdd-orchestrator.md
  • internal/assets/codex/sdd-orchestrator.md
  • internal/assets/cursor/sdd-orchestrator.md
  • internal/assets/gemini/sdd-orchestrator.md
  • internal/assets/generic/sdd-orchestrator.md
  • internal/assets/hermes/sdd-orchestrator.md
  • internal/assets/kimi/sdd-orchestrator.md
  • internal/assets/kiro/sdd-orchestrator.md
  • internal/assets/opencode/commands/sdd-apply.md
  • internal/assets/opencode/commands/sdd-archive.md
  • internal/assets/opencode/plugins/sdd-task-result-artifacts.ts
  • internal/assets/opencode/sdd-orchestrator.md
  • internal/assets/qwen/sdd-orchestrator.md
  • internal/assets/skills/_shared/review-ledger-contract.md
  • internal/assets/skills/_shared/sdd-phase-common.md
  • internal/assets/skills/_shared/sdd-status-contract.md
  • internal/assets/skills/judgment-day/SKILL.md
  • internal/assets/skills/rdd-defect-workflow/SKILL.md
  • internal/assets/skills/sdd-apply/SKILL.md
  • internal/assets/skills/sdd-archive/SKILL.md
  • internal/assets/skills/sdd-verify/SKILL.md
  • internal/assets/skills/sdd-verify/references/report-format.md
  • internal/assets/windsurf/sdd-orchestrator.md
  • internal/cli/review.go
  • internal/cli/review_abandon_disabled_test.go
  • internal/cli/review_abandon_test.go
  • internal/cli/review_advisory_disposition_test.go
  • internal/cli/review_ambiguous_receipt_continuation_test.go
  • internal/cli/review_approved_lineage_burn_test.go
  • internal/cli/review_artifact.go
  • internal/cli/review_asset_provenance_test.go
  • internal/cli/review_atomic_start_integration_test.go
  • internal/cli/review_authority_damage.go
  • internal/cli/review_binary_acceptance_test.go
  • internal/cli/review_byte_equivalence_commit_a_test.go
  • internal/cli/review_candidate_decline_delivery_test.go
  • internal/cli/review_candidate_decline_test.go
  • internal/cli/review_committed_correction_test.go
  • internal/cli/review_consent_relay_test.go
  • internal/cli/review_context_entrypoints_test.go
  • internal/cli/review_correction_context_convergence_test.go
  • internal/cli/review_correction_only_prepr_test.go
  • internal/cli/review_cross_repository_lifecycle_root_test.go
  • internal/cli/review_damaged_store_denial_test.go
  • internal/cli/review_damaged_store_kill_switch_test.go
  • internal/cli/review_disabled_delivery_test.go
  • internal/cli/review_disabled_mutation_test.go
  • internal/cli/review_disabled_reach_test.go
  • internal/cli/review_discovery_recovery_test.go
  • internal/cli/review_facade.go
  • internal/cli/review_facade_finalize_new_lineage.go
  • internal/cli/review_facade_finalize_new_lineage_test.go
  • internal/cli/review_facade_invalidated_test.go
  • internal/cli/review_facade_new_lineage.go
  • internal/cli/review_facade_prepush_baseline_test.go
  • internal/cli/review_facade_prepush_filter.go
  • internal/cli/review_facade_prepush_filter_test.go
  • internal/cli/review_facade_test.go
  • internal/cli/review_failure_contract_test.go
  • internal/cli/review_final_verification_retry_test.go
  • internal/cli/review_finalize_preflight_test.go
  • internal/cli/review_finalize_provider_runtime_test.go
  • internal/cli/review_finalize_unadmitted_result_test.go
  • internal/cli/review_frozen_status_test.go
  • internal/cli/review_gate_retry_safe_denial_test.go
  • internal/cli/review_governing_authority.go
  • internal/cli/review_governing_authority_test.go
  • internal/cli/review_historical_compat_test.go
  • internal/cli/review_inconclusive_validation_test.go
  • internal/cli/review_inspect_candidate_test.go
  • internal/cli/review_integration_contract_guard_test.go
  • internal/cli/review_invalidate_test.go
  • internal/cli/review_invalidation_verb_deletion_test.go
  • internal/cli/review_kill_switch_single_call_test.go
  • internal/cli/review_ledger_context_test.go
  • internal/cli/review_legacy_start_test_helper_test.go
  • internal/cli/review_lens_context.go
  • internal/cli/review_lens_context_test.go
  • internal/cli/review_local_gate_base_advance_test.go
  • internal/cli/review_lock_contention_test.go
  • internal/cli/review_low_risk_lifecycle_test.go
  • internal/cli/review_mode.go
  • internal/cli/review_mode_test.go
  • internal/cli/review_narration.go
  • internal/cli/review_negotiated_stderr_silence_test.go
  • internal/cli/review_new_lineage_capture_test.go
  • internal/cli/review_new_lineage_frozen_tier_test.go
  • internal/cli/review_new_lineage_gate_selector_test.go
  • internal/cli/review_new_lineage_kill_switch_test.go
  • internal/cli/review_new_lineage_rollback_safety_test.go
  • internal/cli/review_new_lineage_switch_off_golden_test.go
  • internal/cli/review_new_lineage_switch_test.go
  • internal/cli/review_next_transition.go
  • internal/cli/review_next_transition_docs_test.go
  • internal/cli/review_next_transition_scope_recovery_test.go
  • internal/cli/review_next_transition_start_lineage_test.go
  • internal/cli/review_next_transition_test.go
  • internal/cli/review_operation_contract.go
  • internal/cli/review_operation_contract_test.go
  • internal/cli/review_partial_capture_deadend_test.go
  • internal/cli/review_prior_schema_status_test.go
  • internal/cli/review_process_boundary_test.go
  • internal/cli/review_provider_artifact_contract_test.go
  • internal/cli/review_provider_role_materialize_test.go
  • internal/cli/review_provider_roles.go
  • internal/cli/review_provider_test.go
  • internal/cli/review_publication_default_resolution_test.go
  • internal/cli/review_published_schema_conformance_test.go
  • internal/cli/review_reason_taxonomy_test.go
  • internal/cli/review_receipt_convergence_test.go
  • internal/cli/review_receipt_discovery_test.go
  • internal/cli/review_reclaim_test.go
  • internal/cli/review_recover_convergence_test.go
  • internal/cli/review_recover_intended_untracked_test.go
  • internal/cli/review_recover_selector_replay_test.go
  • internal/cli/review_recover_self_derivation_test.go
  • internal/cli/review_recovery_gate_binding_test.go
  • internal/cli/review_recovery_target_kind_test.go
  • internal/cli/review_refusal_wording_test.go
  • internal/cli/review_reopen_admitted_test.go
  • internal/cli/review_repair_test.go
  • internal/cli/review_repair_transition_test.go
  • internal/cli/review_repository_context_test.go
  • internal/cli/review_restricted_process_temp_test.go
  • internal/cli/review_revision_conflict_test.go
  • internal/cli/review_scope_change_recovery_test.go
  • internal/cli/review_selector_transition_test.go
  • internal/cli/review_start_context_test.go
  • internal/cli/review_start_contract.go
  • internal/cli/review_start_contract_test.go
  • internal/cli/review_start_evidence_test.go
  • internal/cli/review_start_lineage.go
  • internal/cli/review_start_oversized_candidate_test.go
  • internal/cli/review_start_transition_test.go
  • internal/cli/review_status_contract.go
  • internal/cli/review_status_contract_test.go
  • internal/cli/review_stop_invariant_test.go
  • internal/cli/review_submission_descriptor_test.go
  • internal/cli/review_test.go
  • internal/cli/review_transition_command_test.go
  • internal/cli/review_transport_capability.go
  • internal/cli/review_transport_capability_test.go
  • internal/cli/review_unborn_test.go
  • internal/cli/review_validate_nondeciding_test.go
  • internal/cli/review_validator_inspection_recipe_test.go
  • internal/cli/review_verification_evidence_test.go
  • internal/cli/review_wave5_characterization_test.go
  • internal/cli/review_zero_delta_gate_governance_test.go
  • internal/cli/sdd_attempt_rar_mode_read_refusal_unix_test.go
  • internal/cli/sdd_status_reenable_fresh_review_test.go
  • internal/cli/sdd_status_review_disabled_test.go
  • internal/cli/sdd_verify_validate.go
  • internal/cli/sdd_verify_validate_test.go
  • internal/cli/sync_test.go
  • internal/cli/testdata/byte_equivalence_commit_a/finalize.golden.json
  • internal/cli/testdata/byte_equivalence_commit_a/gate-post-apply.golden.json
  • internal/cli/testdata/byte_equivalence_commit_a/gate-pre-commit.golden.json
  • internal/cli/testdata/byte_equivalence_commit_a/gate-pre-pr.golden.json
  • internal/cli/testdata/byte_equivalence_commit_a/gate-pre-push.golden.json
  • internal/cli/testdata/byte_equivalence_commit_a/gate-release.golden.json
  • internal/cli/testdata/byte_equivalence_commit_a/start.golden.json
  • internal/cli/testdata/byte_equivalence_commit_a/status.golden.json
  • internal/cli/testdata/review_new_lineage_switch_off/post-apply.golden.json
  • internal/cli/testdata/review_new_lineage_switch_off/pre-commit.golden.json
  • internal/cli/testdata/review_new_lineage_switch_off/pre-pr.golden.json
  • internal/cli/testdata/review_new_lineage_switch_off/pre-push.golden.json
  • internal/cli/testdata/review_new_lineage_switch_off/release.golden.json
  • internal/components/sdd/bounded_review_contract_test.go
  • internal/components/sdd/boundedreview.go
  • internal/components/sdd/inject.go
  • internal/components/sdd/inject_test.go
  • internal/components/sdd/orchestrator.go
  • internal/components/sdd/renderer_invariants_test.go
  • internal/components/sdd/review_foundations_test.go
  • internal/components/sdd/review_ledger_contract_test.go
  • internal/components/sdd/review_runtime_identity_test.go
  • internal/components/sdd/reviewer_envelope_guard_test.go
  • internal/components/sdd/sdd_task_result_transport_test.go
  • internal/reviewerprovider/adapter_minimality_guard_test.go
  • internal/reviewtransaction/authority_disposition_execute_test.go
  • internal/reviewtransaction/authority_disposition_plan.go
  • internal/reviewtransaction/authority_store.go
  • internal/reviewtransaction/authority_store_test.go
  • internal/reviewtransaction/candidate_causal_admission.go
  • internal/reviewtransaction/candidate_causal_admission_test.go
  • internal/reviewtransaction/candidate_identity.go
  • internal/reviewtransaction/candidate_relation.go
  • internal/reviewtransaction/compact.go
  • internal/reviewtransaction/compact_abandon_test.go
  • internal/reviewtransaction/compact_atomic_start_test.go
  • internal/reviewtransaction/compact_burn.go
  • internal/reviewtransaction/compact_burn_test.go
  • internal/reviewtransaction/compact_causality_test.go
  • internal/reviewtransaction/compact_correction_added_path_test.go
  • internal/reviewtransaction/compact_damaged_store_exit_test.go
  • internal/reviewtransaction/compact_effects_test.go
  • internal/reviewtransaction/compact_gate.go
  • internal/reviewtransaction/compact_gate_discovery_baseline.go
  • internal/reviewtransaction/compact_inspect.go
  • internal/reviewtransaction/compact_recovered_evidence_test.go
  • internal/reviewtransaction/compact_repository_context.go
  • internal/reviewtransaction/compact_role_result_slot.go
  • internal/reviewtransaction/compact_role_result_slot_test.go
  • internal/reviewtransaction/compact_scope_recovery_test.go
  • internal/reviewtransaction/compact_scoped_walks_test.go
  • internal/reviewtransaction/compact_shared_lock.go
  • internal/reviewtransaction/compact_shared_lock_test.go
  • internal/reviewtransaction/compact_store.go
  • internal/reviewtransaction/compact_store_test.go
  • internal/reviewtransaction/derived_observation_write_guard_test.go
  • internal/reviewtransaction/final_verification_retry.go
  • internal/reviewtransaction/final_verification_retry_test.go
  • internal/reviewtransaction/gate.go
  • internal/reviewtransaction/gate_boundary_matrix_test.go
  • internal/reviewtransaction/gate_test.go
  • internal/reviewtransaction/gate_write_guard_test.go
  • internal/reviewtransaction/legacy_projection.go
  • internal/reviewtransaction/legacy_projection_test.go
  • internal/reviewtransaction/legacy_readonly_guard_test.go
  • internal/reviewtransaction/lineage_occupancy.go
  • internal/reviewtransaction/lineage_occupancy_test.go
  • internal/reviewtransaction/maintenance_lock_test.go
  • internal/reviewtransaction/new_lineage_capture.go
  • internal/reviewtransaction/new_lineage_capture_test.go
  • internal/reviewtransaction/new_lineage_discovery.go
  • internal/reviewtransaction/new_lineage_discovery_test.go
  • internal/reviewtransaction/new_lineage_five_states_lifecycle_test.go
  • internal/reviewtransaction/new_lineage_gate.go
  • internal/reviewtransaction/new_lineage_gate_test.go
  • internal/reviewtransaction/new_lineage_switch_identity_test.go
  • internal/reviewtransaction/path_quote_render_test.go
  • internal/reviewtransaction/process_liveness_unix.go
  • internal/reviewtransaction/projection_compatibility_test.go
  • internal/reviewtransaction/rar_authority_repository.go
  • internal/reviewtransaction/rar_authority_repository_test.go
  • internal/reviewtransaction/rdd_mode.go
  • internal/reviewtransaction/rdd_mode_test.go
  • internal/reviewtransaction/review_core.go
  • internal/reviewtransaction/review_core_finalize_lens_results_test.go
  • internal/reviewtransaction/review_core_test.go
  • internal/reviewtransaction/review_core_transition.go
  • internal/reviewtransaction/shadow_relation_test.go
  • internal/reviewtransaction/target_status_projection.go
  • internal/reviewtransaction/target_status_test.go
  • internal/reviewtransaction/targeted_validation_request.go
  • internal/reviewtransaction/targeted_validation_request_test.go
  • internal/reviewtransaction/testdata/gate-boundary-matrix.golden
  • internal/reviewtransaction/transaction.go
  • internal/reviewtransaction/verification_evidence_test.go
  • internal/sddstatus/bench_fixture.go
  • internal/sddstatus/bounded_review_test.go
  • internal/sddstatus/path_quote_render_test.go
  • internal/sddstatus/post_review_verify_report.go
  • internal/sddstatus/review_binding_test.go
  • internal/sddstatus/review_gate.go
  • internal/sddstatus/review_gate_disabled_test.go
  • internal/sddstatus/review_gate_receipt_test.go
  • internal/sddstatus/review_offer_routing_test.go
  • internal/sddstatus/review_reverify.go
  • internal/sddstatus/review_reverify_test.go
  • internal/sddstatus/runtime_ledger_review_disabled_test.go
  • internal/sddstatus/runtime_status_test.go
  • internal/sddstatus/status.go
  • internal/sddstatus/status_test.go
  • internal/sddstatus/verification.go
  • internal/sddstatus/verification_test.go
  • internal/sddstatus/verify_report_anchor_test.go
  • scripts/crosslane/advisory.go
  • scripts/crosslane/battery.go
  • scripts/crosslane/claude.go
  • scripts/crosslane/codex.go
  • scripts/crosslane/host.go
  • scripts/crosslane/main.go
  • scripts/crosslane/opencode.go
  • scripts/crosslane/opencodeecho.go
  • scripts/test-review-capabilities.sh
  • scripts/test-review-contract-package.sh
  • skills/rdd-advisory-transport/SKILL.md
  • skills/rdd-advisory-transport/references/shared-advisory-transport-proposal.md
  • skills/rdd-defect-workflow/SKILL.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Alan-TheGentleman
Alan-TheGentleman marked this pull request as ready for review August 21, 2026 22:29
Copilot AI lite review requested due to automatic review settings August 21, 2026 22:29
@Alan-TheGentleman
Alan-TheGentleman merged commit ec3b1db into main Aug 21, 2026
16 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR implements the #3417 shift to an atomic review lifecycle where approval is terminal and burns lineage/authority, and where delivery/archival decisions are no longer governed by review receipts/gates (review becomes informational context only). It updates runtime integration contracts, schemas, docs, and bench journeys to reflect “consent → freeze → lenses → bounded correction/validator → approval → burn” and to make gate outputs non-authoritative under ordinary repository policy.

Changes:

  • Make approval terminal by burning compact review authority/artifacts after successful FINALIZE, and treat gate outputs as informational (repository policy owns delivery).
  • Update negotiated contracts/schemas and runtime orchestration assets to enforce exact START binding reuse (lineage/revision/target) across STATUS/capture/FINALIZE.
  • Refresh regression coverage (unit tests + bench journeys/axes) to pin atomic/burn semantics and runtime integration invariants (including OpenCode background task handling).

Reviewed changes

Copilot reviewed 137 out of 381 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
testdata/golden/sdd-opencode-cmd-sdd-apply.golden Updates OpenCode SDD apply command guidance to atomic START + burn semantics.
testdata/golden/sdd-claude-cmd-sdd-archive.golden Updates archive gate text to treat review as non-gating informational context.
testdata/golden/sdd-claude-cmd-sdd-apply.golden Updates Claude SDD apply command guidance to atomic START + burn semantics.
skills/rdd-defect-workflow/SKILL.md Aligns RDD defect workflow guidance with non-governing delivery policy.
skills/rdd-advisory-transport/SKILL.md Updates advisory transport invariants: review-context only, not delivery authority.
scripts/test-review-contract-package.sh Extends contract package expectations for new schemas.
scripts/test-review-capabilities.sh Bumps capabilities protocol assertions and adds new feature/schema expectations.
scripts/crosslane/opencodeecho.go Adds burn assertions / START binding retention in OpenCode crosslane battery.
scripts/crosslane/opencode.go Stores START bindings and asserts burned lifecycle behavior.
scripts/crosslane/main.go Initializes lineage tracking and enables Codex lane in crosslane runner.
openspec/specs/rdd-simplification-design/spec.md Updates spec language from “gates” to “review context” and removes delivery governance.
openspec/specs/rdd-sdd-receipt-consumption/spec.md Reframes SDD consumption as informational review context, not archive/delivery gating.
openspec/specs/rdd-review-core-transitions/spec.md Clarifies validate as review-context evaluation only; not delivery authority.
openspec/specs/rdd-post-verify-review-offer/spec.md Clarifies offer/receipt visibility does not block archive/delivery under ordinary policy.
openspec/specs/rdd-candidate-identity/spec.md Clarifies persisted identity is review evidence only; never delivery/archive authority.
openspec/changes/sdd-compact-authority-recovery/verify-report.md Marks superseded historical routing claims and documents new #3417 ordering.
openspec/changes/pi-optional-codegraph-integration/verify-report.md Marks superseded historical routing claims and documents new #3417 ordering.
internal/sddstatus/status_test.go Adjusts status routing expectations away from resolve-review toward verify/archive.
internal/sddstatus/runtime_status_test.go Updates malformed evidence behavior to require independent verification retry.
internal/sddstatus/runtime_ledger_review_disabled_test.go Updates behavior to keep archive ready under ordinary policy even when review context exists.
internal/sddstatus/review_offer_routing_test.go Renames/rewrites decline test to assert invariants (not byte-equivalence claims).
internal/sddstatus/review_binding_test.go Changes receipt-drift behavior to rerun verify while keeping review context visible.
internal/sddstatus/path_quote_render_test.go Removes resolve-review path rendering assertions from Windows-path tests.
internal/sddstatus/bench_fixture.go Removes bench-fixture seam for mutating receipts (source-coupled behavior retired).
internal/reviewtransaction/verification_evidence_test.go Adds escalation case for conclusive failed validator under atomic verification evidence.
internal/reviewtransaction/transaction.go Adds frozen policy content to START record for targeted validator prompt fidelity.
internal/reviewtransaction/target_status_projection.go Makes ordinary STATUS compact-only; checks staged burn stores and duplicate authority roots.
internal/reviewtransaction/rdd_mode.go Removes delivery disposition helper that implied gate-governed delivery.
internal/reviewtransaction/rdd_mode_test.go Updates receipt ref hashing approach and removes obsolete delivery-disposition test.
internal/reviewtransaction/rar_authority_repository.go Inlines receipt ref digesting and removes helper; tightens ref equality check.
internal/reviewtransaction/rar_authority_repository_test.go Updates tests to compute receipt refs consistently with new digesting logic.
internal/reviewtransaction/projection_compatibility_test.go Removes test asserting post-commit reuse of receipt governance (superseded by burn).
internal/reviewtransaction/process_liveness_unix.go Removes unix process liveness helper (stale-lock removal semantics shifted).
internal/reviewtransaction/path_quote_render_test.go Removes repair command path-quoting test after repair text helper removal.
internal/reviewtransaction/maintenance_lock_test.go Switches to atomic compact START helper in maintenance lock tests.
internal/reviewtransaction/lineage_occupancy.go Adds exact-lineage occupancy check across persisted authority schema roots.
internal/reviewtransaction/lineage_occupancy_test.go Tests exact lineage occupancy behavior across v1/v2/v3 directories.
internal/reviewtransaction/gate_write_guard_test.go Renames call-expression name derivation helper for gate write guard scanning.
internal/reviewtransaction/final_verification_retry.go Clears InitialAtomicStart on retry successors to prevent improper atomic START claims.
internal/reviewtransaction/final_verification_retry_test.go Updates retry tests to use atomic START creation and asserts successor invariants.
internal/reviewtransaction/compact_scoped_walks_test.go Removes outdated-identity inspection test (classification policy shifted).
internal/reviewtransaction/compact_role_result_slot.go Keys targeted-validator result slots by (revision,target,request_hash) for stronger binding.
internal/reviewtransaction/compact_role_result_slot_test.go Updates slot-key tests for new request-hash binding requirement.
internal/reviewtransaction/compact_repository_context.go Removes unused intent builder helper (repository context reconciliation revised).
internal/reviewtransaction/compact_recovered_evidence_test.go Fixes correction budget admission and preserves over-budget historical evidence.
internal/reviewtransaction/compact_gate.go Removes delivery-shape scope-change diagnostics helper (delivery gating retired).
internal/reviewtransaction/compact_causality_test.go Removes unrelated historical causality start test (selection semantics changed).
internal/reviewtransaction/compact_abandon_test.go Switches abandon test to atomic compact START helper.
internal/reviewtransaction/candidate_identity.go Removes changed-paths+mode digest helper (identity model revised).
internal/reviewtransaction/authority_disposition_plan.go Removes compact repair command text helper and pathquote dependency.
internal/reviewtransaction/authority_disposition_execute_test.go Updates comments and swaps to atomic START helper in unrelated lineage setup.
internal/reviewerprovider/adapter_minimality_guard_test.go Adds guard against adapters resolving lifecycle root material (cwd/path materialization).
internal/components/sdd/reviewer_envelope_guard_test.go Updates envelope guard expectations for provider-bound immutable inspection wording.
internal/components/sdd/review_foundations_test.go Adds tests asserting apply→verify ordering and “verify without review artifacts” invariants.
internal/components/sdd/renderer_invariants_test.go Updates OpenCode orchestrator contract assertions; keeps Kilocode baseline without review lifecycle injection.
internal/components/sdd/orchestrator.go Adjusts bounded-review asset binding call to pass agent identity into renderer.
internal/components/sdd/inject.go Updates delegated authority rule text to atomic START binding retention + non-gating delivery.
internal/cli/testdata/review_new_lineage_switch_off/post-apply.golden.json Removes obsolete gate-result golden (receipt-missing denial no longer emitted).
internal/cli/testdata/review_new_lineage_switch_off/pre-commit.golden.json Removes obsolete gate-result golden (receipt-missing denial no longer emitted).
internal/cli/testdata/review_new_lineage_switch_off/pre-push.golden.json Removes obsolete gate-result golden (receipt-missing denial no longer emitted).
internal/cli/testdata/review_new_lineage_switch_off/pre-pr.golden.json Removes obsolete gate-result golden (receipt-missing denial no longer emitted).
internal/cli/testdata/review_new_lineage_switch_off/release.golden.json Removes obsolete gate-result golden (receipt-missing denial no longer emitted).
internal/cli/testdata/byte_equivalence_commit_a/status.golden.json Removes legacy byte-equivalence status golden tied to receipt-governed delivery.
internal/cli/testdata/byte_equivalence_commit_a/start.golden.json Removes legacy start golden tied to prior v1 envelope shape.
internal/cli/testdata/byte_equivalence_commit_a/gate-post-apply.golden.json Removes legacy allow gate golden tied to receipt-governed delivery.
internal/cli/testdata/byte_equivalence_commit_a/gate-pre-commit.golden.json Removes legacy allow gate golden tied to receipt-governed delivery.
internal/cli/testdata/byte_equivalence_commit_a/gate-pre-push.golden.json Removes legacy allow gate golden tied to receipt-governed delivery.
internal/cli/testdata/byte_equivalence_commit_a/gate-pre-pr.golden.json Removes legacy allow gate golden tied to receipt-governed delivery.
internal/cli/testdata/byte_equivalence_commit_a/gate-release.golden.json Removes legacy allow gate golden tied to receipt-governed delivery.
internal/cli/testdata/byte_equivalence_commit_a/finalize.golden.json Removes legacy finalize golden that surfaced durable receipt path.
internal/cli/sync_test.go Ensures OpenCode orchestrator uses its own identity and post-apply doesn’t renegotiate STATUS.
internal/cli/sdd_verify_validate.go Updates help text to remove “authority-only missing review” skip protocol.
internal/cli/sdd_verify_validate_test.go Updates tests to ensure missing-review skip protocol is not documented.
internal/cli/sdd_attempt_rar_mode_read_refusal_unix_test.go Removes legacy validate entrypoint from unsafe-mode refusal test matrix.
internal/cli/review_verification_evidence_test.go Updates correction finalize assertions to burned-terminal finalize shape.
internal/cli/review_validator_inspection_recipe_test.go Adds targeted validator prompt coverage for frozen policy and causal evidence.
internal/cli/review_transport_capability.go Removes Kilocode from eligible immutable review transport set.
internal/cli/review_transition_command_test.go Uses legacy facade start seam helper for deterministic test bytes.
internal/cli/review_submission_descriptor_test.go Updates descriptor tests for burned authority and disallows re-execution post-burn.
internal/cli/review_status_contract.go Updates repository-context validation logic for correction states (see stored comment).
internal/cli/review_start_oversized_candidate_test.go Requires lineage for negotiated status continuation in oversized candidate test.
internal/cli/review_start_contract.go Updates START action vocabulary handling for v2 (“replayed”) and validates per-contract enums.
internal/cli/review_revision_conflict_test.go Updates conflict test to assert competing writer produces burned terminal shape (no replay after burn).
internal/cli/review_restricted_process_temp_test.go Switches fixtures to legacy facade seam and enforces lineage on negotiated status args.
internal/cli/review_repository_context_test.go Updates repository-context expectations (no synthesized event/outcome for atomic START).
internal/cli/review_repair_transition_test.go Removes obsolete test that asserted abandon exit narration for invalid graph refusal.
internal/cli/review_refusal_wording_test.go Updates validate behavior to be non-deciding and asserts unmanaged gate payload while lineage active.
internal/cli/review_recover_self_derivation_test.go Uses legacy facade seam for predecessor fixture setup (keeps recovery subject real).
internal/cli/review_recover_selector_replay_test.go Requires explicit lineage for selector replay status calls.
internal/cli/review_recover_intended_untracked_test.go Uses legacy facade seam for intended-untracked recovery fixture.
internal/cli/review_provider_roles.go Includes frozen policy in targeted validator prompt and binds validator slot path by request_hash.
internal/cli/review_provider_role_materialize_test.go Updates finalize assertions to burned terminal shape.
internal/cli/review_provider_artifact_contract_test.go Updates pinned schema digests for updated gate-result schema.
internal/cli/review_process_boundary_test.go Updates test to current v2 START action vocabulary (“created”/“replayed”).
internal/cli/review_partial_capture_deadend_test.go Removes assertion that validate is allowed/blocked after abandonment (delivery now unmanaged).
internal/cli/review_new_lineage_kill_switch_test.go Simplifies kill-switch off test (removes new-lineage env var dependency).
internal/cli/review_narration.go Removes staged-delivery-specific stop narration that referenced prior gate-authority behavior.
internal/cli/review_mode.go Removes delivery disposition helper that implied receipt-governed delivery via mode.
internal/cli/review_lens_context.go Replaces START budget refusal to use in-memory atomic START binding (no persisted dead lineage).
internal/cli/review_inspect_candidate_test.go Tightens corrected inspection fixture assertions and verifies burn removes authority/state files.
internal/cli/review_historical_compat_test.go Updates historical resume action to “replayed” and simplifies historical finalize fixtures.
internal/cli/review_final_verification_retry_test.go Uses legacy facade seam for fixtures and preserves burn semantics expectations.
internal/cli/review_facade_invalidated_test.go Updates invalidated authority validate behavior to unmanaged gate payload (no refusal).
internal/cli/review_damaged_store_kill_switch_test.go Updates damaged-store behavior to keep delivery unmanaged and not blocked by unrelated damage.
internal/cli/review_context_entrypoints_test.go Routes review-validate through non-deciding entrypoint.
internal/cli/review_consent_relay_test.go Updates consent relay tests to current action strings (“created”/“replayed”).
internal/cli/review_candidate_decline_test.go Updates declined candidate delivery to unmanaged payload (no fabricated denial/allow).
internal/cli/review_candidate_decline_delivery_test.go Updates declined candidate pre-push/pre-pr/pre-commit delivery expectations to unmanaged payload.
internal/cli/review_authority_damage.go Deletes gate corruption detail helper (gate no longer blocks delivery on review authority damage).
internal/cli/review_ambiguous_receipt_continuation_test.go Deletes obsolete test for ambiguous receipt selection messaging (receipt discovery no longer governs delivery).
internal/cli/review_abandon_test.go Updates abandon tests to reflect new gating semantics and missing setup.
internal/assets/windsurf/sdd-orchestrator.md Updates orchestrator text: gates informational; ordinary repository policy owns delivery.
internal/assets/qwen/sdd-orchestrator.md Same delivery-policy update for Qwen asset.
internal/assets/kiro/sdd-orchestrator.md Same delivery-policy update for Kiro asset.
internal/assets/kimi/sdd-orchestrator.md Same delivery-policy update for Kimi asset.
internal/assets/hermes/sdd-orchestrator.md Same delivery-policy update for Hermes asset.
internal/assets/generic/sdd-orchestrator.md Updates generic orchestrator contract language and removes delivery authorization claims.
internal/assets/gemini/sdd-orchestrator.md Same delivery-policy update for Gemini asset.
internal/assets/cursor/sdd-orchestrator.md Same delivery-policy update for Cursor asset.
internal/assets/codex/sdd-orchestrator.md Same delivery-policy update for Codex asset (delivery remains human-owned).
internal/assets/claude/sdd-orchestrator.md Same delivery-policy update for Claude asset (delivery remains human-owned).
internal/assets/antigravity/sdd-orchestrator.md Same delivery-policy update for Antigravity asset.
internal/assets/skills/sdd-verify/references/report-format.md Removes “authority-only missing review” envelope and clarifies review is not a prerequisite.
internal/assets/skills/sdd-apply/SKILL.md Enforces apply→independent verify→optional review ordering.
internal/assets/skills/rdd-defect-workflow/SKILL.md Mirrors top-level rdd-defect-workflow guidance update.
internal/assets/skills/judgment-day/SKILL.md Clarifies judgments and negotiated review don’t authorize delivery.
internal/assets/skills/_shared/sdd-phase-common.md Treats OpenCode background task acknowledgements as nonterminal (no latch/failure).
internal/assets/opencode/plugins/sdd-task-result-artifacts.ts Accepts optional <summary> and skips validation on background launch acknowledgement events.
internal/assets/opencode/commands/sdd-apply.md Updates OpenCode command text to atomic START binding reuse + burn semantics.
internal/assets/claude/commands/sdd-archive.md Updates archive command text to remove reviewGate/receipt requirements.
internal/assets/claude/commands/sdd-apply.md Updates Claude apply command text to atomic START binding reuse + burn semantics.
internal/app/app.go Routes review-validate CLI command to non-deciding entrypoint.
internal/app/app_test.go Updates dispatch test expectations for review-validate requiring only --cwd.
internal/agents/capabilitymanifest/manifest.go Restricts advertised review transport to Claude/OpenCode/Codex/Pi; others dormant.
docs/trigger-rules.md Updates high-level routing/delivery language to reflect non-governing review context.
docs/testing/organic-rdd-testing-guide.md Marks historical receipt/gate examples as superseded by current policy.
docs/testing-agents-deterministically.md Updates proved/not-proved claims to remove “authorizes delivery” language.
docs/intended-usage.md Updates PR rule text: review provides evidence but never authorizes delivery.
docs/community-roadmap.md Updates roadmap language about RDD semantics (review evidence vs delivery policy).
docs/architecture/rdd-freeze-expansion-policy.md Reframes KEEP surfaces as review-context hooks (not delivery gates).
docs/architecture/guard-population.md Clarifies receipt governance guard is review evidence only, not delivery authority.
CONTRIBUTING.md Moves bench_fixture build guidance to bench/README for opt-in axes.
contracts/review-integration/v2/schemas/start.schema.json Updates START action enum to created/replayed and repository_context requirement condition.
contracts/review-integration/v2/schemas/operation.schema.json Switches v2 operation result to gate-result schema instead of legacy validate def.
contracts/review-integration/v2/schemas/gate-result.schema.json Adds “repository-policy/unmanaged” conditional shape and gate-only context form.
contracts/review-integration/v2/schemas/failure.schema.json Adds target_identity and extends v1 failure constraints via allOf chaining.
contracts/review-integration/v1/schemas/targeted-validation-request.schema.json Adds policy_content and causal finding/classification arrays to targeted validator request.
contracts/review-integration/v1/schemas/operation.schema.json Broadens delivery enum to include unmanaged (not only disabled/unmanaged).
contracts/review-integration/v1/schemas/failure.schema.json Adds target_identity and specific requirements for receipt_publication_pending failures.
bench/runner_test.go Removes sandbox env test for retired receipt mutation path.
bench/journeys_transition_test.go Updates transition corpus phrasing for unbound objective (post-burn semantics).
bench/journeys_sdd_test.go Replaces legacy fail-closed receipt journeys with atomic/burn/continuation journeys.
bench/journeys_sdd_shared_scaffolding.go Rewrites journey to assert unmanaged archive readiness post-burn.
bench/journeys_repository_context.go Updates repository context journey assertions for atomic START (no event/outcome synthesis).
bench/journeys_intended_untracked.go Rewrites journey to assert terminal burn and unmanaged staged validation behavior.
bench/journeys_id_collision_test.go Adds atomic journeys source and filters retired atomic journeys before collision check.
bench/journeys_finding_id_prefix.go Requires exact lineage and uses atomic status for prefix capture.
bench/journeys_captured_provider_validator.go Requires exact active lineage for captured provider validator finalize + burn assertion.
bench/axis.go Adds axis-level review mode declaration and enforces it in validation.
bench/axis_source_coupled.go Removes retired source-coupled axis tied to receipt mutation seam.
bench/axis_source_coupled_test.go Removes corresponding axis registration test.
bench/axis_real_world.go Declares review mode for real-world axis.
bench/axis_model_picker.go Declares untouched review mode for model-picker axis.
bench/axis_damaged_store.go Declares review mode for damaged-store axis.
bench/axis_damaged_store_closure.go Updates bench_fixture crash expectation to fail clearly when tag not present.
bench/axis_compatibility.go Declares review mode for compatibility axis.
.deadcode-baseline.txt Updates baseline after deletions/retirements of now-dead symbols.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 397 to 401
!validReviewCapabilitySHA256(result.RepositoryContext.TargetIdentity) ||
validateReviewRepositoryContextReference(*result.RepositoryContext) != nil ||
result.Authority == nil || result.RepositoryContext.Revision != result.Authority.Revision ||
result.RepositoryContext.TargetIdentity != reviewAuthorityTargetIdentity(result) {
!correctionTerminalContext && result.RepositoryContext.TargetIdentity != expectedRepositoryContextTarget {
return errors.New("negotiated STATUS repository context is invalid") // refusal:by-design world-action: the provider-built envelope is internally inconsistent and requires a code fix
Alan-TheGentleman added a commit that referenced this pull request Sep 24, 2026
…review

feat(review)!: make approval terminal and burn lineage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:exception Maintainer-approved exception for PRs above the 400 changed-line review budget type:breaking-change Breaking change (requires major version bump)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

review: make the review atomic — approved is terminal, the lineage burns, and the gate stops blocking

2 participants