Skip to content

CAP-SUB-SUB-011Complete a stage once on an accountable basis

Markdown

CAP-SUB-SUB-011

Complete a stage once on an accountable basis

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindCapabilityProduct areaSubmissionsModuleSubmissions, Intake, Review and OutcomesRevision1

Read atservices-submissions 64236c19react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Completion rules establish a reproducible basisConcurrent final answers produce one transitionExceptional completion records accountable intervention
Surfaces
consoleapijob
Intent sources
services-submissions:docs/milestones/plans/SUBM-M1-plan.md#D7services-submissions:docs/milestones/plans/SUBM-M1-plan.md#S06services-submissions:docs/milestones/plans/SUBM-M1-plan.md#S11services-submissions:docs/milestones/plans/SUBM-M1-plan.md#D8

Controls

38 controls apply, from the corpus control catalogue.

TC-AVL-001 TC-AVL-002 TC-AVL-003 TC-AVL-004 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-005 TC-AZ-006 TC-CRY-001 TC-CRY-002 TC-CRY-003 TC-DAT-001 TC-DAT-002 TC-DAT-003 TC-IAM-001 TC-IAM-002 TC-IAM-003 TC-IAM-004 TC-IAM-005 TC-IAM-006 TC-LOG-001 TC-LOG-002 TC-LOG-003 TC-LOG-004 TC-LOG-005 TC-PI-001 TC-PI-002 TC-PI-003 TC-PI-004 TC-PI-005 TC-PRV-001 TC-PRV-002 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-TEN-004

Permissions

KeyChecked atScope
submissions.stages.overrideapitenant
submissions.stages.completeapiglobal

Business Rules

12 rules, 12 to be proved before approval. A rule's product intent is derived from its origin: 0 confirmed by a product decision, the rest inheriting this capability's proposed.

IdRuleKindEnforced atProvenance
01must prove
Proposed
Concurrent final reviews required by a counting rule are both retained with one stage completion and decision, while reviews after an earlier completion obey the late-response policy.
invariantservice, databasetest
02must prove
Proposed
Repeated completion changes nothing and is refused; database constraints also prevent concurrent open runs and multiple current decisions for an application.
invariantservice, databasetest
03must prove
Proposed
An all-assigned stage completes after all remaining live work answers, excludes declined, recused and revoked assignments and flags an empty panel as short.
calculationservicetest
services-submissions:modules/review/tests/unit/services/completion/completion-rule.spec.ts#is met when nobody is pending, with the counts as its basis
04must prove
Proposed
A count rule completes at its required response count, retains responses from subsequently removed reviewers and flags a panel unable to reach that count.
calculationservicetest
05must prove
Proposed
An any-one rule completes on its first submitted response and takes a rejecting recommendation as non-approval.
calculationservicetest
06must prove
Proposed
Unanimous approval fails at the first non-approving response, including an abstention.
calculationservicetest
services-submissions:modules/review/tests/unit/services/completion/completion-rule.spec.ts#is met, not approving, at the first rejection, others still pending
07must prove
Proposed
A majority rule completes when remaining work cannot change the result, requiring more than half and treating a final even split as non-approval.
calculationservicetest
services-submissions:modules/review/tests/unit/services/completion/completion-rule.spec.ts#is met, approving, when approvals are more than half of those expected, others pending
08must prove
Proposed
Completion expires outstanding assignments unless late responses are allowed and atomically advances review or records the decision.
lifecycleservicetest
services-submissions:modules/review/tests/integration/services/stage-runs/approval-not-approved.integration.spec.js#advances to the next stage on an approving result, whichever choice was made
09must prove
Proposed
Only administrators can end stages early, recording their reason, identity and current counts with any optional decision.
permissionapi, serviceobserved
10must prove
Proposed
Requirement stages wait for fulfillment or an authorized waiver; external completion uses a staff-only route, while the Commerce participant remains unavailable.
lifecycleapi, servicetest
services-submissions:modules/review/tests/integration/services/requirements/contributions.integration.spec.js#completes the wait with the counts as they stand, the key still short, who and why
11must prove
Proposed
Ended-stage mutations refuse draft saves, review submissions and assignment or staff actions according to their service guards.
validationserviceobserved
12must prove
Proposed
Re-entering the same stage assigns the next run number for that application and stage.
calculationservicetest

Scenarios

IdGivenWhenThenProvenance
01The award requires both assigned reviews.Priya supplies the final response.Completion occurs immediately and the configured aggregate selects the result.test

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.