TenantAtlas/specs/271-counted-progress-rollout/checklists/requirements.md
2026-05-05 02:26:31 +02:00

5.6 KiB

Specification Quality Checklist: Counted Progress Rollout v1

Purpose: Validate specification completeness, boundedness, and readiness before implementation
Created: 2026-05-05
Feature: spec.md

Content Quality

  • The package stays on one bounded counted-writer rollout over existing OperationRun truth instead of widening into phase/composite contract rewrite, dashboard redesign, or a second progress framework.
  • The spec remains product- and behavior-oriented rather than reading like a low-level implementation diff.
  • The package explicitly names the repo-real anchors it builds on: OperationRunProgressContract, SummaryCountsNormalizer, OperationSummaryKeys, OperationRunService, and the current writer seams in inventory sync, review-pack generation, evidence-snapshot generation, and backup/restore fan-out.
  • Mandatory repo sections for scope, shared-pattern reuse, Ops-UX, testing, proportionality, and candidate rationale are completed.

Requirement Completeness

  • No unresolved clarification markers remain.
  • Requirements are testable and bounded to selected stable-unit writer families plus one standards update.
  • The package explicitly keeps summary_counts.processed and summary_counts.total as the only determinate v1 progress source.
  • The package explicitly forbids new summary_counts keys, fake totals, outcome-counter substitution, and a second local progress helper.
  • The package explicitly records the baseline capture/compare deviation from the original candidate wording and defers that work to 272.
  • The package keeps provider, panel, global-search, asset, queue-family, notification-policy, and persistence changes out of scope.

Candidate Selection Gate

  • The selected candidate exists in docs/product/spec-candidates.md and is consistent with the broader roadmap direction.
  • The active queue is explicitly empty, so this package records itself as a deliberate manual promotion rather than an automatic next-best-prep target.
  • Repo verification confirmed specs/270-operationrun-progress-contract/ is the immediate prerequisite context for this package.
  • Repo verification confirmed 269 - OperationRun Terminal Outcome Feedback is not the safer manual-promotion target because specs/268-operationrun-activity-feedback/ already owns that shell terminal slice.
  • Repo verification confirmed the original 271 candidate wording would widen into 272 if baseline capture/compare were kept in scope under the current contract, so the narrowed scope is explicit and intentional.

Feature Readiness

  • The package reuses current OperationRun truth and current summary-count helpers instead of introducing a second lifecycle or persisted projection.
  • The package names both the selected in-scope stable-unit families and the excluded phased/composite families.
  • The package forbids new panel, provider, global-search, asset-registration, queue-family, notification-policy, and persistence changes.
  • The package preserves the current polling posture and shell surface contract.
  • The planned validation commands stay consistent across spec.md, plan.md, and tasks.md.
  • No application implementation was performed while preparing this package.

Test Governance

  • Planned proof stays bounded to existing Unit plus Feature families for Ops-UX, inventory, review packs, evidence snapshots, and backup sets.
  • No new heavy-governance or browser family is introduced by default.
  • Fixture growth remains bounded to current tenant context helpers, current OperationRun factories, and existing domain job tests.
  • The review outcome, workflow outcome, and test-governance outcome are carried into the active prep package.

Notes

  • Reviewed against .specify/memory/constitution.md, .specify/templates/checklist-template.md, docs/product/spec-candidates.md, docs/product/roadmap.md, specs/268-operationrun-activity-feedback/spec.md, specs/270-operationrun-progress-contract/spec.md, apps/platform/app/Support/OpsUx/OperationRunProgressContract.php, apps/platform/app/Support/OpsUx/SummaryCountsNormalizer.php, apps/platform/app/Support/OpsUx/OperationSummaryKeys.php, apps/platform/app/Services/OperationRunService.php, apps/platform/app/Jobs/RunInventorySyncJob.php, apps/platform/app/Jobs/GenerateReviewPackJob.php, apps/platform/app/Jobs/GenerateEvidenceSnapshotJob.php, apps/platform/app/Jobs/AddPoliciesToBackupSetJob.php, apps/platform/app/Jobs/BulkBackupSetRestoreJob.php, apps/platform/app/Jobs/Operations/BackupSetRestoreWorkerJob.php, apps/platform/app/Jobs/CaptureBaselineSnapshotJob.php, apps/platform/app/Jobs/CompareBaselineToTenantJob.php, and docs/ui/tenantpilot-enterprise-ui-standards.md on 2026-05-05.
  • This checklist is the prep-time outcome record. If implementation widens into baseline phase/composite rollout, dashboard-specific progress work, or a persisted progress model, the workflow outcome must change before merge.
  • No application implementation was performed while preparing this package.

Review Outcome

  • Outcome class: acceptable-special-case
  • Workflow outcome: keep
  • Test-governance outcome: keep
  • Reason: the package is a bounded manual-promotion follow-up to Spec 270, reuses current shared truth instead of adding a new framework, and explicitly documents the candidate-scope narrowing required by current repo reality.
  • Final note location: This checklist during prep, and the active feature PR close-out entry only if implementation later forces split or document-in-feature.