Skip to content

refactor(workflow): make execution plans authoritative - #5

Merged
blendsdk merged 6 commits into
mainfrom
refactor/simplify-workflow-state
Aug 7, 2026
Merged

blendsdk merged 6 commits into
mainfrom
refactor/simplify-workflow-state

Conversation

@blendsdk

@blendsdk blendsdk commented Aug 7, 2026 •

Copy link
Copy Markdown
Owner

Closes #4.

Outcome

  • Makes each plan's 99-execution-plan.md the sole mutable task-progress authority.
  • Derives Ready, Executing, Done, and Blocked, resume position, progress, and RD delivery directly from plan Markdown.
  • Supports one or multiple RD identifiers on the plan's > **Implements**: declaration.
  • Removes graph readiness/transition calls from normal skills and preserves direct ambiguity, artifact, specification-first, verification, and finding checks.
  • Adds a one-shot codeops_plan_migrate.py <codeops-dir> [--apply] command for existing nested projects.

Deletion evidence

  • 77 files changed relative to current origin/main.
  • 9,771 lines deleted and 830 added (net -8,941).
  • Removed codeops_state.py, codeops_state_lib/, both traceability schemas, the traceability reference, state fixtures, and graph-specific conformance tests.
  • Removed transition requests, semantic revisions, compare-and-swap updates, writer locks, recovery journals, and graph migration code with the deleted engine.

Remaining authorities

  • RDs: agreed behavior and acceptance criteria.
  • 00-index.md: RD-to-plan mapping.
  • 99-execution-plan.md: [ ], [~], [x], and [!] task progress.
  • Git: history and recovery.
  • Roadmaps/status output: derived views only.

The retained scripts/codeops_plan.py is a read-only Markdown parser used for derived status. It has no writable state, transition API, revision, lock, journal, or migration behavior.

The migration command is a bounded one-shot converter, not a state platform. It previews by default, requires a clean Git tree for apply, infers mappings only from existing declarations, roadmap links, or a single-plan/single-RD feature, and blocks all writes when any mapping is ambiguous. It updates Markdown before deleting active or archived feature graphs.

Focused lifecycle and migration coverage

  • one-plan-to-many-RD mapping and derived RD completion;
  • first [~], otherwise first [ ], resume selection;
  • four plan lifecycle states and visible blocked reasons;
  • status operation without traceability.json;
  • guard that normal workflow skills do not invoke the removed interface;
  • migration preview, multi-RD roadmap inference, clean-tree apply, ambiguous all-or-nothing refusal, alphanumeric RD IDs, and archived features.

Verification

  • Windows-native portable verification: 58 non-shell conformance tests, all 16 skill manifests, plugin validation, Markdown links, six embedded contract checks, compiler/financial/web parity scenarios, and Python compilation passed.
  • The three baseline hook tests directly execute .sh files and are not runnable by native Windows CreateProcess; no WSL or Git Bash was used.
  • Ubuntu CI runs the retained five-gate suite for every pushed revision.

- derive plan lifecycle, resume position, RD delivery, and blockers from Markdown
- remove transactional traceability, schemas, migrations, recovery, and graph conformance
- preserve ambiguity, specification-first, update-before-verify, and review gates
- verify Windows-native portable checks before Ubuntu CI
- infer nested plan-to-RD mappings from declarations, roadmaps, or unambiguous layouts
- preview all Markdown updates and graph deletions before a clean-tree apply
- block the entire migration when any plan mapping or checklist is invalid
- cover active and archived features with Windows-native conformance tests
Support roadmap tracker targets and plan-local requirements while converting graph-backed projects. Create minimal indexes for lightweight plans and leave unrelated archived history outside the bounded migration.
- detect traceability graphs before the configured-project no-op
- make --yes preview, apply, and verify the bounded migration
- preserve clean-tree, ambiguity, and idempotency safeguards
@blendsdk blendsdk self-assigned this Aug 7, 2026
@blendsdk
blendsdk merged commit d8ba97c into main Aug 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simplify workflow state: make execution plans authoritative and remove transactional traceability

1 participant