Skip to content

Archival sweep produces a diff commit-gate unstages as scope creep (ADR-0008 conflict) #573

Description

@SUaDtL

Found by the workstream-B adversary pass (MEDIUM-2) on sprint/portable-release-and-protected-state, independently reproduced.

The conflict

/ca:standup step 6 (the per-item archival sweep, T-61..T-67) removes a done entry from open-tasks.md. classify_board_diff has no archive class and returns False on any line removal:

archive (removal)  -> False
done-flip control  -> True

commit-gate/SKILL.md:97 (ADR-0008) then applies:

Any other open-tasks.md change — a reworded or deleted entry, or an arbitrary content edit — does not classify as a transition and still flags as scope creep.

So every archive the sanctioned sweep performs produces a diff the sanctioned commit path unstages. The feature is reachable but not committable without /ca:override.

Why this is filed rather than fixed

Making the sweep work means adding a fourth clean-transition class (archive-removal) to classify_board_diff. ADR-0008 explicitly rules that a deleted entry is scope creep, so that is an amendment to an accepted decision, not a bug fix — and ADRs are user-attributed, authored only via /ca:adr. It needs a ruling before code.

The shape a fix would take

An archive-removal class would need to be narrow enough not to re-admit the deletion ADR-0008 is protecting against: the removed block must be [x], must carry a (done YYYY-MM-DD) stamp, must appear verbatim in done-tasks.md in the same commit, and nothing else may change. That last clause is what distinguishes it from an agent quietly dropping an inconvenient task.

Note test_done_flip_retained exists to prove the done-flip stays RETAINED; nothing equivalent exists for archive.

Refs #564, ADR-0008.

Metadata

Metadata

Assignees

No one assigned

    Labels

    decisionNeeds a user decision / ADR (not a straight fix)sev:medTribunal/triage: medium severity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions