Bug Report BR-060 - RW incorrectly blocks IN PROGRESS tasks
Status: COMPLETE
Priority: CRITICAL
Severity: HIGH
Created: 2026-04-02
Last updated: 2026-04-07 — closeout: behavior verified in audit and aligned docs/task wiring for canonical home E2:S01:T09 (implementation forensic: RW E6:S06:T60 v0.6.6.60+1, SemVer v0.4.698+1).
Version: v0.6.6.60+1
Code: BR-060
Implementing Task: E2:S01:T09 (superseded stubs: E4:S19:T01, E6:S06:T60)
Problem Statement
Release Workflow (RW) currently blocks full releases when the requested task is IN PROGRESS, even when the release is intended as an incremental +BUILD update within the same task. This prevents valid iterative releases and conflicts with the intended meaning of RC.EPIC.STORY.TASK+BUILD.
Current Fault
validate_rw_task_complete.pyinfullmode rejects non-perpetualIN PROGRESStask status.- RW Step 1c therefore aborts before Step 2+ for active tasks that legitimately need additional builds.
- Users are forced toward workaround modes rather than normal RW execution for iterative releases.
Expected Behavior
- RW should allow releases against
IN PROGRESStasks when task identity is explicit and validated (Step 1b/1d), and version bump logic applies+BUILDprogression correctly. - Guardrails should still prevent accidental wrong-task releases (intent validation remains mandatory).
- Status semantics should support iterative delivery and evidence refresh before final completion.
Impact
- Blocks normal release cadence for active work items.
- Creates policy confusion and workflow friction.
- Encourages mode-based workarounds over the standard RW path.
Reproduction
- Set current branch to an epic branch matching requested task epic.
- Ensure requested task doc status is
IN PROGRESS. - Run
RW E6:S06:T57(or equivalent valid E:S:T task). - Observe Step 1c failure from
validate_rw_task_complete.pywith reason similar to "status still in progress".
Root Cause Hypothesis
- FR-060 Step 1c validator currently couples "releasable" to completion state in
fullmode. - This coupling conflicts with internal versioning intent where repeated releases on the same task are represented by
+BUILD.
Proposed Resolution
- Adjust Step 1c criteria to permit
IN PROGRESStasks in full RW mode when task intent validation passes. - Keep strong typo/intent protections (
validate_rw_task_intent.py) as the primary safety mechanism. - Update FR-060 and RW execution docs to explicitly define status-vs-build behavior.
- Add regression tests covering:
- full RW with
IN PROGRESSstatus (should pass), - full RW with TODO status (policy decision required),
- full RW with task-id mismatch (must fail).
- full RW with
Implementation Notes
validate_rw_task_complete.pyfull mode now treatsIN PROGRESSas releasable.test_validate_rw_task_complete.pynow verifies:IN PROGRESSpasses in full mode,COMPLETEpasses in full mode,TODOfails in full mode,- perpetual in-progress passes,
- missing task docs fail.
Related
validate_rw_task_complete.pyvalidate_rw_task_intent.pydocs/architecture/standards-and-adrs/dev-kit-versioning-policy.mdBR-056(task intent guardrail)