docs(review): adopt canonical review lifecycle contract#145
Conversation
…to codex/ws-rev-001-01
|
Warning Review limit reached
Next review available in: 38 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThe PR establishes the normative review/revision lifecycle contract, aligns architecture, operations, templates, roadmaps, and planning records, adds deterministic rendering and fail-closed contract scanning, and records Chunk 01 review and merge controls. No runtime review behavior is activated. ChangesWS-REV-001-01 Contract adoption
Estimated code review effort: 4 (Complex) | ~60 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 9
🧹 Nitpick comments (1)
.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md (1)
31-32: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueFix markdownlint
MD018warning.The phrase
#143at the start of the line is being incorrectly parsed by markdown linters as a malformed ATX heading. Rearranging the line break will resolve the static analysis warning.🛠️ Proposed fix
-Earlier exact-SHA reviews are historical after the CON PR `#142` and AUTH-09B PR -#143 main merges and the subsequent repair cycles. +Earlier exact-SHA reviews are historical after the CON PR `#142` and AUTH-09B +PR `#143` main merges and the subsequent repair cycles.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md around lines 31 - 32, Reflow the sentence beginning “Earlier exact-SHA reviews” so the line does not begin with “#143”; keep the references to PR `#142` and `#143` and the sentence’s meaning unchanged while eliminating the markdownlint MD018 warning.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
@.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-01-canonical-contract-adoption.md:
- Around line 271-272: Update the PlantUML verification commands to establish an
explicit PLANTUML_JAR path within this chunk, following the related
authorization baseline, or add a required precondition that validates it is set
before the sha256sum and java commands run.
In `@docs/architecture_brief/render_pdf.sh`:
- Around line 43-48: Update the --all case in render_pdf.sh to invoke
render_plantuml for all four architecture diagrams before their corresponding
convert_diagram calls. Preserve the existing conversion targets and ordering so
each SVG is generated before it is converted to PNG.
In `@docs/architecture_lifecycle_state_machine.md`:
- Around line 185-195: Update the ACCEPTED transition criteria to require only
the accepting Review and required evidence, removing any prerequisite that
FinalAcceptance already exists. Keep immutable FinalAcceptance creation in the
atomic side effects, preserving the documented REV ordering before accepted task
effects.
- Around line 255-260: Update the REVIEW_PENDING admission rule in the lifecycle
state-machine documentation to require a durable CheckerRun whose final outcome
is exactly allow_review, is current for the exact Submission version, and is
bound to the relevant artifact. Preserve the existing Review, FinalAcceptance,
and contribution-source requirements while adding these exact checker-admission
conditions.
In `@docs/architecture_lockdown.md`:
- Around line 122-129: The TaskAssignment description incorrectly says it stores
only the task relationship. Revise that sentence to state that it stores the
task relationship for guide/context resolution while retaining the required
contributor and policy attribution fields, using terminology consistent with the
referenced documentation.
In `@docs/architecture_system_architecture.md`:
- Around line 250-253: The v0.1 stack section still references the prohibited
raw ArtifactStore contract. Update that stack entry to use the established ART
v2 typed, provider-neutral capabilities terminology, matching README.md,
docs/glossary.md, and docs/architecture_lockdown.md while preserving the
existing local filesystem, S3, and MinIO provider details.
In `@docs/operations_queue_policy.md`:
- Around line 259-260: Update the evaluation transition guards in the operations
queue policy table to require a current, final CheckerRun bound to the exact
Submission and carrying the expected routing recommendation: add allow_review
for EVALUATION_PENDING -> REVIEW_PENDING and needs_revision for
EVALUATION_PENDING -> NEEDS_REVISION, while preserving the existing verification
and contributor-visible failure requirements.
In `@docs/template_prior_feedback_checklist.md`:
- Around line 14-16: Escape or otherwise rewrite every pipe-delimited enum value
so Markdown preserves table column structure: update
docs/template_prior_feedback_checklist.md lines 14-16 and 23-25,
docs/template_review_packet.md lines 59-61 and 68-70, and
docs/template_revision_replay.md lines 15-23, 38-40, and 46-48. Preserve each
enum’s existing values while preventing literal pipes from being parsed as
delimiters.
In `@docs/template_project_guide.md`:
- Around line 175-176: Update the template’s RevisionPolicyInput configuration
and related documentation to disable auto-rejection after limit exhaustion, or
explicitly require and enforce the override when the supplied backend default is
true. Ensure the documented lifecycle consistently preserves the no-reject
behavior and identifies the configuration/enforcement path.
---
Nitpick comments:
In
@.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md:
- Around line 31-32: Reflow the sentence beginning “Earlier exact-SHA reviews”
so the line does not begin with “#143”; keep the references to PR `#142` and `#143`
and the sentence’s meaning unchanged while eliminating the markdownlint MD018
warning.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 0d875714-d010-423d-8191-5f789a64d796
⛔ Files ignored due to path filters (6)
docs/architecture_brief/images/backend_v01_components.pngis excluded by!**/*.pngdocs/architecture_brief/images/task_lifecycle_sequence.pngis excluded by!**/*.pngdocs/architecture_brief/images/workstream_v01_container.pngis excluded by!**/*.pngdocs/architecture_brief/workstream_architecture_brief.pdfis excluded by!**/*.pdfdocs/diagrams/rendered/backend_v01_components.svgis excluded by!**/*.svgdocs/diagrams/rendered/workstream_v01_container.svgis excluded by!**/*.svg
📒 Files selected for processing (63)
.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/CHUNK_MAP.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/DISCOVERY.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/PLAN.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/REVIEW_LOG.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/RISKS.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/SOURCE_MANIFEST.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/STATUS.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-01-canonical-contract-adoption.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-02-review-policy-task-alignment.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-13-live-drill-docs-release.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-external-review-response.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-pr-trust-bundle.md.agent-loop/merge-intents/WS-REV-001-01.jsonREADME.mddocs/architecture_brief/render_pdf.shdocs/architecture_brief/task_lifecycle_sequence.pumldocs/architecture_brief/workstream_architecture_brief.mddocs/architecture_data_model.mddocs/architecture_lifecycle_state_machine.mddocs/architecture_lockdown.mddocs/architecture_system_architecture.mddocs/decision_0001_core_scope.mddocs/decision_0002_db_first_not_blockchain_first.mddocs/decision_0003_project_guides_are_first_class.mddocs/decision_0009_review_decisions_are_canonical.mddocs/decision_0010_revision_context_rebase.mddocs/decision_0012_workstream_authorization_service.mddocs/decision_0013_immutable_artifact_storage_boundary.mddocs/decision_0015_project_contributor_roles_are_independent.mddocs/diagrams/backend_v01_components.mddocs/diagrams/backend_v01_components.pumldocs/diagrams/task_lifecycle_sequence.mddocs/diagrams/workstream_v01_container.mddocs/diagrams/workstream_v01_container.pumldocs/glossary.mddocs/operations_operator_workflow.mddocs/operations_payment_reputation.mddocs/operations_project_operating_manual.mddocs/operations_queue_policy.mddocs/operations_reviewer_workflow.mddocs/operations_revision_replay.mddocs/operations_roles_permissions.mddocs/principles.mddocs/product_first_user_flows.mddocs/product_principles.mddocs/reference_specs/README.mddocs/reference_specs/SHA256SUMSdocs/risk_register.mddocs/roadmap_30_day_master_plan.mddocs/roadmap_day_by_day_execution_plan.mddocs/roadmap_implementation_backlog.mddocs/roadmap_pilot_plan.mddocs/roles_permissions.mddocs/spec_chunk_3_project_guide_foundation.mddocs/spec_review_lifecycle.mddocs/template_prior_feedback_checklist.mddocs/template_project_guide.mddocs/template_review_packet.mddocs/template_revision_replay.mddocs/template_task_status.mdscripts/check_stale_review_contracts.pyscripts/test_agent_gates.py
| --all) | ||
| convert_diagram ../diagrams/rendered/workstream_context.svg images/workstream_context.png | ||
| convert_diagram ../diagrams/rendered/workstream_v01_container.svg images/workstream_v01_container.png | ||
| convert_diagram ../diagrams/rendered/backend_v01_components.svg images/backend_v01_components.png | ||
| convert_diagram ../diagrams/rendered/future_identity_payment_reputation.svg images/future_identity_payment_reputation.png | ||
| ;; |
There was a problem hiding this comment.
🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win
Generate PlantUML SVGs before conversion under --all.
The --all case correctly attempts to convert four architecture SVGs into PNGs, but it fails to call render_plantuml to generate those SVGs first. Unlike --review-context which properly generates its targets, running --all will cause convert to fail on missing source files and corrupt the output.
🐛 Proposed fix to add generation step
--all)
+ pushd ../diagrams >/dev/null
+ render_plantuml -tsvg -o rendered \
+ workstream_context.puml \
+ workstream_v01_container.puml \
+ backend_v01_components.puml \
+ future_identity_payment_reputation.puml
+ popd >/dev/null
convert_diagram ../diagrams/rendered/workstream_context.svg images/workstream_context.png
convert_diagram ../diagrams/rendered/workstream_v01_container.svg images/workstream_v01_container.png
convert_diagram ../diagrams/rendered/backend_v01_components.svg images/backend_v01_components.png
convert_diagram ../diagrams/rendered/future_identity_payment_reputation.svg images/future_identity_payment_reputation.png
;;📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --all) | |
| convert_diagram ../diagrams/rendered/workstream_context.svg images/workstream_context.png | |
| convert_diagram ../diagrams/rendered/workstream_v01_container.svg images/workstream_v01_container.png | |
| convert_diagram ../diagrams/rendered/backend_v01_components.svg images/backend_v01_components.png | |
| convert_diagram ../diagrams/rendered/future_identity_payment_reputation.svg images/future_identity_payment_reputation.png | |
| ;; | |
| --all) | |
| pushd ../diagrams >/dev/null | |
| render_plantuml -tsvg -o rendered \ | |
| workstream_context.puml \ | |
| workstream_v01_container.puml \ | |
| backend_v01_components.puml \ | |
| future_identity_payment_reputation.puml | |
| popd >/dev/null | |
| convert_diagram ../diagrams/rendered/workstream_context.svg images/workstream_context.png | |
| convert_diagram ../diagrams/rendered/workstream_v01_container.svg images/workstream_v01_container.png | |
| convert_diagram ../diagrams/rendered/backend_v01_components.svg images/backend_v01_components.png | |
| convert_diagram ../diagrams/rendered/future_identity_payment_reputation.svg images/future_identity_payment_reputation.png | |
| ;; |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/architecture_brief/render_pdf.sh` around lines 43 - 48, Update the --all
case in render_pdf.sh to invoke render_plantuml for all four architecture
diagrams before their corresponding convert_diagram calls. Preserve the existing
conversion targets and ordering so each SVG is generated before it is converted
to PNG.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
@.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-01-canonical-contract-adoption.md:
- Line 284: Update the final diff validation around `git diff --name-only` to
use the trusted base `0302bcf854a565d429e232ad6b076a1931ea74e4` and compare
changed paths against an explicit reviewed allowlist, failing when unexpected
files appear. If retaining the alternate base is intentional, document that
decision.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: e333c485-e9ab-4c45-97a7-60bcaca75643
📒 Files selected for processing (24)
.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/CHUNK_MAP.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/DISCOVERY.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/PLAN.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/SOURCE_MANIFEST.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/STATUS.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-01-canonical-contract-adoption.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-07-review-context-finding-evidence.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-external-review-response.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-pr-trust-bundle.mddocs/architecture_brief/render_pdf.shdocs/architecture_lifecycle_state_machine.mddocs/architecture_lockdown.mddocs/architecture_system_architecture.mddocs/decision_0013_immutable_artifact_storage_boundary.mddocs/glossary.mddocs/operations_queue_policy.mddocs/spec_review_lifecycle.mddocs/template_prior_feedback_checklist.mddocs/template_project_guide.mddocs/template_review_packet.mddocs/template_revision_replay.mdscripts/check_stale_review_contracts.pyscripts/test_agent_gates.py
🚧 Files skipped from review as they are similar to previous changes (17)
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md
- docs/template_prior_feedback_checklist.md
- docs/template_project_guide.md
- docs/decision_0013_immutable_artifact_storage_boundary.md
- docs/template_review_packet.md
- scripts/test_agent_gates.py
- docs/template_revision_replay.md
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/SOURCE_MANIFEST.md
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/CHUNK_MAP.md
- docs/architecture_lifecycle_state_machine.md
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/STATUS.md
- docs/operations_queue_policy.md
- docs/architecture_system_architecture.md
- scripts/check_stale_review_contracts.py
- docs/architecture_lockdown.md
- docs/architecture_brief/render_pdf.sh
- docs/glossary.md
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md (1)
96-98: 🗄️ Data Integrity & Integration | 🔵 Trivial | 💤 Low valueName the SHAs in the comparison. This section already records the reviewed code SHA and trusted main SHA, but the manifest check still reads like a bare
git diff --name-status --no-renames. Spell out the operands here so the comparison is directly tied to those SHAs.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md around lines 96 - 98, Update the reviewed-scope manifest statement to include the reviewed code SHA and trusted main SHA as explicit operands of the git diff comparison, while preserving the existing no-renames and validation details.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
@.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-01-canonical-contract-adoption.md:
- Line 298: Update the reviewed-scope gate around the `git diff --name-status
... | diff -u ...` manifest comparison to first verify that the entire worktree
is clean, including staged, unstaged, and untracked files. Make the gate fail
before comparing the reviewed manifest when any worktree changes exist, while
preserving the existing committed-range comparison for a clean worktree.
In
@.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md:
- Line 69: Fix the Markdown formatting in the sentence beginning with “#146” by
keeping the issue reference inline with the preceding sentence or escaping its
leading hash, while preserving the existing wording and meaning.
---
Nitpick comments:
In
@.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md:
- Around line 96-98: Update the reviewed-scope manifest statement to include the
reviewed code SHA and trusted main SHA as explicit operands of the git diff
comparison, while preserving the existing no-renames and validation details.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 0df36906-3025-463e-b7ca-2a21dbc57e86
📒 Files selected for processing (14)
.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/DISCOVERY.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/PLAN.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/REVIEW_LOG.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/RISKS.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/SOURCE_MANIFEST.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/STATUS.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-01-canonical-contract-adoption.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/chunks/WS-REV-001-13-live-drill-docs-release.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-external-review-response.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-internal-review-evidence.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-pr-trust-bundle.md.agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-reviewed-scope.txtdocs/spec_review_lifecycle.mdscripts/test_agent_gates.py
🚧 Files skipped from review as they are similar to previous changes (8)
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/RISKS.md
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-external-review-response.md
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/PLAN.md
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/reviews/WS-REV-001-01-pr-trust-bundle.md
- docs/spec_review_lifecycle.md
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/DISCOVERY.md
- .agent-loop/initiatives/WS-REV-001-review-revision-lifecycle/STATUS.md
- scripts/test_agent_gates.py
WS-REV-001-01 PR Trust Bundle
Chunk
WS-REV-001-01: Canonical Contract Adoption And Dependency Conformance.Goal
Preserve the supplied WS-REV and WS-IMP archival pairs byte-for-byte, adopt one
reconciled active review/revision contract, and align every active contract and
gate before runtime implementation.
Human-Approved Intent
Every valid reviewer decision, submitted finding, and later resolution is
immutable. Accept additionally creates FinalAcceptance, which alone sources the
submitter contribution. Needs-revision prepares the next attempt against the
current Project Guide when required. Adjudication and reputation mutation are
not v0.1 behavior.
What Changed
docs/spec_review_lifecycle.mdas the active normative contract.CheckerRun admission, and checker-versus-human revision lineage.
context diagrams.
65 / 10 active / 55 plannedcatalogue without activating any REV identityor action.
Why It Changed
Merged AUTH, ART, CON, and WS-XINT boundaries superseded parts of the archival
specification and older active docs. Runtime work needs one exact contract with
no contradictory status, transaction, identity, storage, or contribution
semantics.
Design Chosen
REV owns immutable Review and FinalAcceptance facts plus lifecycle
orchestration. AUTH owns prepared authority and activation. ART v2 owns bytes
and typed artifact capabilities. CON joins the REV-owned caller transaction as
an ordered flush-only participant. The route or service command commits once.
Alternatives Rejected
Editing archival inputs, direct Review-to-submitter contribution, review-time
guide rebasing, raw ArtifactStore access, CON-owned commits, synthetic reject,
mandatory payment, v0.1 adjudication/reputation, and early action activation
were rejected because they violate approved ownership or lifecycle boundaries.
Scope Control
This is an L1 specification/architecture chunk. It changes no backend,
migration, frontend, AUTH, ART, or CON runtime implementation. All changed paths
are listed by the chunk contract; exactly one merge intent is present.
Product Behavior
No endpoint or action becomes available. The contract fixes the future behavior
for concealed current-work reads, claims, immutable decisions, accept,
needs-revision, reject, revision preparation, evidence access, contributions,
and payable-only awards.
Acceptance Criteria Proof
Literal archive hashes and trusted-base diffs pass. Active documents and
roadmaps are scanner-clean. AUTH PREP and lock ordering are exact. Diagrams and
the architecture PDF reproduce byte-for-byte with the pinned renderer. Local
roadmap exports remain absent.
Tests/Checks Run
87 agent gate tests passed; Ruff format/lint, four stale-contract families,Markdown links, archive checksums/base diffs, PDF attributes, pinned double
render, spreadsheet absence, merge-intent count, and
git diff --checkpassed.Test Delta
The agent-gate suite gains table-driven prohibited-category coverage,
adversarial lexical decoys, exact archival classification, and fail-closed
discovery coverage. No test or assertion was removed or weakened.
CI Integrity
No workflow, package script, coverage threshold, or existing gate was weakened.
This chunk adds a mandatory scanner invoked by the existing agent-gate suite.
Reviewer Results
All nine required tracks passed exact SHA
6da45b2765de68dc5a0628024bdfeacb98d1ea85against trusted main053242b90d927ace3fab92eeca72da27a61cecec: senior engineering, QA/test,security/auth, product/ops, architecture, docs, reuse/dedup, test delta, and CI
integrity. No blocking findings remain.
External Review
Pending PR checks, CodeRabbit, and human review. External checks supplement the
completed internal review and do not replace it.
Remaining Risks
Runtime database, concurrency, rollback, and dependency integration proof is
deferred to its owning implementation chunks. Scanner fixtures may need updates
when future terminology changes.
Follow-Up Work
WS-REV-001-02is the same-initiative successor but requires a separateexplicit human start after this PR merges and automated merge memory records it.
Human Review Focus
Confirm archival provenance, active-contract precedence, AUTH/ART/CON ownership,
FinalAcceptance lineage, rebase semantics, unavailable v0.1 boundaries, and the
absence of unintended runtime work.
Human Merge Ownership
Only the human may approve and merge this PR. Internal and external PASS results
do not authorize merge.
Summary by CodeRabbit
New Features
Documentation
Quality
Tests