Severity: low | Category: data-integrity | Phase: P3.7
Problem
tasks set --all commits per-task and aborts mid-loop on an invalid transition (partial state); init --generate-config overwrites an existing CODEFRAME.md with no --force; batch stop/status/follow silently act on the newest of an ambiguous prefix; batch follow double-counts due to reversed event ordering.
Evidence
codeframe/cli/app.py:2138 (tasks set --all), :217 (init --generate-config), :4068 (ambiguous batch id), :4377 (batch-follow double-count)
Acceptance criteria
Bulk update pre-validates or reports partial progress; config write guarded by --force/confirm; ambiguous batch id errors with candidates (like work start); batch follow resumes from the newest event / guards non-idempotent counters.
Dependencies
None
Filed from the SaaS launch-readiness audit. Atomic: one developer, one session. Work order: strictly P0.1 → P3.12 (no forward dependencies).
Severity: low | Category: data-integrity | Phase: P3.7
Problem
tasks set --allcommits per-task and aborts mid-loop on an invalid transition (partial state);init --generate-configoverwrites an existingCODEFRAME.mdwith no--force; batch stop/status/follow silently act on the newest of an ambiguous prefix;batch followdouble-counts due to reversed event ordering.Evidence
codeframe/cli/app.py:2138(tasks set --all),:217(init --generate-config),:4068(ambiguous batch id),:4377(batch-follow double-count)Acceptance criteria
Bulk update pre-validates or reports partial progress; config write guarded by
--force/confirm; ambiguous batch id errors with candidates (likework start);batch followresumes from the newest event / guards non-idempotent counters.Dependencies
None
Filed from the SaaS launch-readiness audit. Atomic: one developer, one session. Work order: strictly P0.1 → P3.12 (no forward dependencies).