Skip to content

v1.15.0-rc.1 — plugins publish their own lifecycles

Pre-release
Pre-release

Choose a tag to compare

@swingerman swingerman released this 07 Sep 13:30
· 9 commits to master since this release
8b5a8e2

Pre-release. Cut in preparation for Decarchy going public; the surfaces it replaces come out here rather than shipping twice.

DAE publishes its own pipeline

scripts/dae_lifecycle.py prints DAE's checkpoints as machine-readable lifecycle definitions on stdout, and plugin.json declares where to find it. A board, a dashboard or another agent can now ask what the pipeline is instead of keeping a hand-written copy that goes stale the day a checkpoint is renamed.

Stage order comes from dae_progress.CHECKPOINTS — already this repo's source of truth — so the published answer cannot drift from the one the skills use.

Three are emitted:

  • feature — spec-first: decide the criteria up front, then build to them
  • prototype — prototype-first: build first, then derive the criteria from what converged
  • fix — reproduce, fix, and close the gap that let it through

Per references/two-paths.md, prototype-first is not a second process — it is the same checkpoints entered as derive-from-artifact, with iteration 0 in front and CP5 reading prototype_disposition.

Exit criteria are deliberately absent from the definitions: DAE's real criteria live in each project's charter and arrive on the handover at runtime.

Every agentic stage's brief now opens by setting a goal with /goal and an explicit definition of done — a stage whose agent has not said what done looks like has no way to know when to stop.

The dashboard and the control surface are gone

Both were local views of a feature-pipeline board plus an architecture map. Decarchy is that board now and /archify draws the map, so the plugin no longer carries its own.

Removed: dae_dashboard.py, dae_control.py, the control skill, and their tests. If you used /engineer.control, that is the change to know about — the control surface shipped on master after v1.14.0 and is withdrawn before it ever reached a release.

Kept deliberately: dae_arch.py and arch-check (a fitness gate, not a viewer — /archify draws diagrams, it does not gate a merge), dae_metrics.py (DORA), and dae_progress.py.

This also settles a drift that had already happened: dae_dashboard.CP_STAGES and dae_progress.CHECKPOINTS were two tables for one pipeline and disagreed on ids and labels — 1 Discuss vs 0 Onboard, Build vs Implement, Ship vs Harden. The divergent copy lived in the viewer and went with it.

Also in this release

  • AI-native-SDLC adoptions: intent, the maintenance loop, and DORA/governance metrics (f661a4f)

Verification

python3 -m unittest discover -p 'test_dae_*.py' in engineer/scripts — 500 tests, OK.

Plugin version: 0.28.0. The plugin's version line and the repo's release tags have always been independent; this does not change that.