Automated PR: merge feature branch `271-counted-progress-rollout` into `platform-dev`. Includes new specs, tests, and job updates. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #328
5.6 KiB
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
OperationRuntruth 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.processedandsummary_counts.totalas the only determinate v1 progress source. - The package explicitly forbids new
summary_countskeys, 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.mdand 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 Feedbackis not the safer manual-promotion target becausespecs/268-operationrun-activity-feedback/already owns that shell terminal slice. - Repo verification confirmed the original
271candidate wording would widen into272if 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
OperationRuntruth 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, andtasks.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
OperationRunfactories, 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, anddocs/ui/tenantpilot-enterprise-ui-standards.mdon 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
splitordocument-in-feature.