@nklisch/pi-agile-workflow 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +10 -0
- package/.codex-plugin/plugin.json +28 -0
- package/CHANGELOG.md +591 -0
- package/README.md +107 -0
- package/docs/ARCHITECTURE.md +716 -0
- package/docs/MIGRATION.md +419 -0
- package/docs/PRINCIPLES.md +464 -0
- package/docs/ROADMAP.md +95 -0
- package/docs/SPEC.md +855 -0
- package/docs/VISION.md +106 -0
- package/extensions/agile-workflow.test.ts +419 -0
- package/extensions/agile-workflow.ts +467 -0
- package/hooks/hooks.json +52 -0
- package/hooks/scripts/prompt-context.py +628 -0
- package/hooks/scripts/substrate-maintainer.py +359 -0
- package/hooks/scripts/test_prompt_context.py +757 -0
- package/package.json +30 -0
- package/scripts/install-work-view.sh +165 -0
- package/scripts/tests/agent-metadata.test.sh +75 -0
- package/scripts/tests/bump-version.test.sh +552 -0
- package/scripts/tests/channel-parity.test.sh +117 -0
- package/scripts/tests/convert-content-integrity.test.sh +246 -0
- package/scripts/tests/convert-install-routing.test.sh +159 -0
- package/scripts/tests/install-work-view.test.sh +411 -0
- package/scripts/tests/pi-package-metadata.test.sh +119 -0
- package/scripts/tests/work-board-shim.test.sh +239 -0
- package/scripts/tests/work-view-dist-version.test.sh +105 -0
- package/scripts/work-board.sh +64 -0
- package/scripts/work-view.sh +423 -0
- package/skills/autopilot/SKILL.md +330 -0
- package/skills/autopilot/agents/openai.yaml +6 -0
- package/skills/board/SKILL.md +62 -0
- package/skills/board/agents/openai.yaml +6 -0
- package/skills/bold-refactor/SKILL.md +244 -0
- package/skills/bold-refactor/agents/openai.yaml +6 -0
- package/skills/bug-scan/SKILL.md +378 -0
- package/skills/bug-scan/agents/openai.yaml +6 -0
- package/skills/bug-scan/references/async-promises.md +119 -0
- package/skills/bug-scan/references/concurrency-races.md +148 -0
- package/skills/bug-scan/references/data-layer.md +167 -0
- package/skills/bug-scan/references/error-handling.md +197 -0
- package/skills/bug-scan/references/gate-item-template.md +94 -0
- package/skills/bug-scan/references/language-footguns.md +219 -0
- package/skills/bug-scan/references/parked-item-template.md +103 -0
- package/skills/bug-scan/references/report-template.md +115 -0
- package/skills/bug-scan/references/resource-leaks.md +199 -0
- package/skills/bug-scan/references/state-closures.md +148 -0
- package/skills/bug-scan/references/time-numbers.md +158 -0
- package/skills/convert/SKILL.md +1463 -0
- package/skills/convert/agents/openai.yaml +6 -0
- package/skills/convert/references/legacy-overlap-migration.md +179 -0
- package/skills/deep-code-scan/SKILL.md +378 -0
- package/skills/deep-code-scan/agents/openai.yaml +6 -0
- package/skills/deep-code-scan/references/artifact-ledger.md +148 -0
- package/skills/deep-code-scan/references/consolidation.md +91 -0
- package/skills/deep-code-scan/references/decomposition.md +127 -0
- package/skills/deep-code-scan/references/item-templates.md +263 -0
- package/skills/deep-code-scan/references/lane-catalog.md +129 -0
- package/skills/deep-code-scan/references/review-gauntlet.md +108 -0
- package/skills/deep-code-scan/references/scanner-brief.md +152 -0
- package/skills/e2e-test-design/SKILL.md +517 -0
- package/skills/e2e-test-design/references/anti-tautology.md +261 -0
- package/skills/e2e-test-design/references/service-mocks.md +234 -0
- package/skills/e2e-test-design/references/test-taxonomy.md +211 -0
- package/skills/epic-design/SKILL.md +476 -0
- package/skills/epicize/SKILL.md +210 -0
- package/skills/epicize/agents/openai.yaml +6 -0
- package/skills/feature-design/SKILL.md +472 -0
- package/skills/fix/SKILL.md +173 -0
- package/skills/gate-cruft/SKILL.md +258 -0
- package/skills/gate-docs/SKILL.md +278 -0
- package/skills/gate-patterns/SKILL.md +389 -0
- package/skills/gate-refactor/SKILL.md +408 -0
- package/skills/gate-security/SKILL.md +275 -0
- package/skills/gate-tests/SKILL.md +367 -0
- package/skills/groom/SKILL.md +162 -0
- package/skills/groom/agents/openai.yaml +6 -0
- package/skills/ideate/SKILL.md +185 -0
- package/skills/ideate/agents/openai.yaml +6 -0
- package/skills/implement/SKILL.md +288 -0
- package/skills/implement-orchestrator/SKILL.md +604 -0
- package/skills/park/SKILL.md +111 -0
- package/skills/perf-design/SKILL.md +427 -0
- package/skills/perf-scout/SKILL.md +404 -0
- package/skills/perf-scout/agents/openai.yaml +6 -0
- package/skills/perf-scout/references/algorithmic-and-data-structures.md +126 -0
- package/skills/perf-scout/references/approximation-and-precomputation.md +136 -0
- package/skills/perf-scout/references/caching-and-memoization.md +123 -0
- package/skills/perf-scout/references/compiler-runtime-and-language.md +136 -0
- package/skills/perf-scout/references/database-and-storage-internals.md +144 -0
- package/skills/perf-scout/references/distributed-systems.md +150 -0
- package/skills/perf-scout/references/game-engine-and-realtime.md +136 -0
- package/skills/perf-scout/references/gpu-and-accelerators.md +130 -0
- package/skills/perf-scout/references/idea-ranking.md +75 -0
- package/skills/perf-scout/references/io-and-batching.md +135 -0
- package/skills/perf-scout/references/memory-and-data-locality.md +137 -0
- package/skills/perf-scout/references/parallelism-and-vectorization.md +126 -0
- package/skills/perf-scout/references/parked-item-template.md +117 -0
- package/skills/perf-scout/references/peer-review-pass.md +150 -0
- package/skills/perf-scout/references/report-template.md +148 -0
- package/skills/principles/SKILL.md +678 -0
- package/skills/principles/references/models.md +191 -0
- package/skills/principles/references/subagents.md +158 -0
- package/skills/prose-author/SKILL.md +185 -0
- package/skills/refactor-conventions-creator/SKILL.md +359 -0
- package/skills/refactor-conventions-creator/agents/openai.yaml +6 -0
- package/skills/refactor-conventions-creator/references/common-structures.md +91 -0
- package/skills/refactor-conventions-creator/references/common-styles.md +90 -0
- package/skills/refactor-design/SKILL.md +384 -0
- package/skills/release-deploy/SKILL.md +667 -0
- package/skills/release-deploy/agents/openai.yaml +6 -0
- package/skills/research/SKILL.md +166 -0
- package/skills/research/agents/openai.yaml +6 -0
- package/skills/review/SKILL.md +267 -0
- package/skills/review/references/deep-review.md +98 -0
- package/skills/review/references/review-lenses.md +68 -0
- package/skills/review/references/substrate-side-effects.md +161 -0
- package/skills/review/references/target-resolution.md +52 -0
- package/skills/scope/SKILL.md +486 -0
- package/work-view/Cargo.lock +486 -0
- package/work-view/Cargo.toml +9 -0
- package/work-view/crates/cli/.work-view-version +1 -0
- package/work-view/crates/cli/Cargo.toml +18 -0
- package/work-view/crates/cli/src/actionable.rs +500 -0
- package/work-view/crates/cli/src/args.rs +792 -0
- package/work-view/crates/cli/src/board/assets/board.css +855 -0
- package/work-view/crates/cli/src/board/assets/board.js +259 -0
- package/work-view/crates/cli/src/board/assets/card.js +139 -0
- package/work-view/crates/cli/src/board/assets/components.css +290 -0
- package/work-view/crates/cli/src/board/assets/dependency.js +1193 -0
- package/work-view/crates/cli/src/board/assets/detail.js +256 -0
- package/work-view/crates/cli/src/board/assets/filters.js +389 -0
- package/work-view/crates/cli/src/board/assets/index.html +77 -0
- package/work-view/crates/cli/src/board/assets/kanban.js +231 -0
- package/work-view/crates/cli/src/board/assets/markdown.js +260 -0
- package/work-view/crates/cli/src/board/assets/motion.css +131 -0
- package/work-view/crates/cli/src/board/assets/state.js +245 -0
- package/work-view/crates/cli/src/board/assets/table.js +304 -0
- package/work-view/crates/cli/src/board/assets/tokens.css +602 -0
- package/work-view/crates/cli/src/board/assets/views.js +41 -0
- package/work-view/crates/cli/src/board/assets.rs +162 -0
- package/work-view/crates/cli/src/board/feed.rs +204 -0
- package/work-view/crates/cli/src/board/mod.rs +246 -0
- package/work-view/crates/cli/src/board/open.rs +144 -0
- package/work-view/crates/cli/src/board/server.rs +407 -0
- package/work-view/crates/cli/src/main.rs +195 -0
- package/work-view/crates/cli/src/render.rs +354 -0
- package/work-view/crates/cli/src/scope.rs +157 -0
- package/work-view/crates/cli/src/stale.rs +581 -0
- package/work-view/crates/cli/tests/board-js/dependency-table.test.mjs +64 -0
- package/work-view/crates/cli/tests/board-js/expanded-browsing.test.mjs +79 -0
- package/work-view/crates/cli/tests/board-js/harness-smoke.test.mjs +11 -0
- package/work-view/crates/cli/tests/board-js/harness.mjs +437 -0
- package/work-view/crates/cli/tests/board-js/kanban-detail.test.mjs +75 -0
- package/work-view/crates/cli/tests/board-js/markdown-filter.test.mjs +60 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/CONVENTIONS.md +3 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/active/epics/epic-alpha.md +16 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/active/features/feat-a.md +16 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/active/features/feat-b.md +16 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/active/stories/story-alpha-1.md +16 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/active/stories/story-research-1.md +19 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/archive/feat-done.md +16 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/archive/feat-shipped.md +18 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/backlog/idea-backlog.md +7 -0
- package/work-view/crates/cli/tests/fixtures/golden/.work/releases/v1.0/v1.0.md +16 -0
- package/work-view/crates/cli/tests/fixtures/ready-drafting/.work/CONVENTIONS.md +6 -0
- package/work-view/crates/cli/tests/fixtures/ready-drafting/.work/active/features/feat-dep-done.md +17 -0
- package/work-view/crates/cli/tests/fixtures/ready-drafting/.work/active/features/feat-design-ready.md +17 -0
- package/work-view/crates/cli/tests/fixtures/ready-drafting/.work/active/features/feat-impl-ready.md +17 -0
- package/work-view/crates/cli/tests/fixtures/ready-drafting/.work/active/stories/story-review-ready.md +17 -0
- package/work-view/crates/cli/tests/fixtures/with-malformed/.work/CONVENTIONS.md +4 -0
- package/work-view/crates/cli/tests/fixtures/with-malformed/.work/active/epics/malformed-no-closing-fence.md +8 -0
- package/work-view/crates/cli/tests/fixtures/with-malformed/.work/active/features/good-item.md +16 -0
- package/work-view/crates/cli/tests/integration.rs +2833 -0
- package/work-view/crates/core/Cargo.toml +13 -0
- package/work-view/crates/core/src/error.rs +61 -0
- package/work-view/crates/core/src/filter.rs +804 -0
- package/work-view/crates/core/src/graph.rs +324 -0
- package/work-view/crates/core/src/index.rs +590 -0
- package/work-view/crates/core/src/lib.rs +54 -0
- package/work-view/crates/core/src/model.rs +202 -0
- package/work-view/crates/core/src/parse.rs +494 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/CONVENTIONS.md +15 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/active/epics/epic-core.md +16 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/active/features/feat-parser.md +16 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/active/features/feat-query.md +16 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/active/stories/malformed-no-id.md +15 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/active/stories/story-parse-unit.md +16 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/active/stories/story-security-gate.md +16 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/archive/feat-old.md +16 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/archive/feat-parser.md +17 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/backlog/idea-future-board.md +7 -0
- package/work-view/crates/core/tests/fixtures/golden/.work/releases/v1.0/v1.0.md +16 -0
- package/work-view/crates/core/tests/fixtures/precedence/.work/CONVENTIONS.md +10 -0
- package/work-view/crates/core/tests/fixtures/precedence/.work/archive/dup-item.md +18 -0
- package/work-view/crates/core/tests/fixtures/precedence/.work/releases/v2.0/dup-item.md +18 -0
- package/work-view/crates/core/tests/integration.rs +541 -0
- package/work-view/dist/.gitattributes +1 -0
- package/work-view/dist/README.md +42 -0
- package/work-view/dist/aarch64-apple-darwin/work-view +0 -0
- package/work-view/dist/aarch64-unknown-linux-musl/work-view +0 -0
- package/work-view/dist/x86_64-apple-darwin/work-view +0 -0
- package/work-view/dist/x86_64-unknown-linux-musl/work-view +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agile-workflow",
|
|
3
|
+
"description": "Markdown-based work-tracking substrate for AI-driven projects. Items as files in .work/, late-binding releases, gates that produce items, goal-backed autopilot queue runner. See docs/VISION.md.",
|
|
4
|
+
"version": "0.15.3",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "nklisch"
|
|
7
|
+
},
|
|
8
|
+
"repository": "https://github.com/nklisch/skills",
|
|
9
|
+
"license": "MIT"
|
|
10
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agile-workflow",
|
|
3
|
+
"version": "0.15.3",
|
|
4
|
+
"description": "Markdown-based work-tracking substrate for AI-driven projects. Items as files in .work/, late-binding releases, gates that produce items, goal-backed autopilot queue runner.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "nklisch"
|
|
7
|
+
},
|
|
8
|
+
"repository": "https://github.com/nklisch/skills",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"skills": "./skills/",
|
|
11
|
+
"hooks": "./hooks/hooks.json",
|
|
12
|
+
"interface": {
|
|
13
|
+
"displayName": "Agile Workflow",
|
|
14
|
+
"shortDescription": "Substrate tracking with goal-backed autopilot",
|
|
15
|
+
"longDescription": "Skills for substrate-driven work tracking. Items as files in .work/, late-binding releases, gates that produce items (security, tests, cruft, docs, patterns), and a goal-backed autopilot queue runner.",
|
|
16
|
+
"developerName": "nklisch",
|
|
17
|
+
"category": "Productivity",
|
|
18
|
+
"capabilities": [
|
|
19
|
+
"Read",
|
|
20
|
+
"Write",
|
|
21
|
+
"Bash"
|
|
22
|
+
],
|
|
23
|
+
"defaultPrompt": [
|
|
24
|
+
"Use agile-workflow to inspect the substrate queue and recommend the next ready item."
|
|
25
|
+
],
|
|
26
|
+
"websiteURL": "https://github.com/nklisch/skills"
|
|
27
|
+
}
|
|
28
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,591 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
### Dynamic subagent prompting
|
|
6
|
+
|
|
7
|
+
- **No shipped custom agents** — removed agile-workflow's Claude/Pi agent
|
|
8
|
+
manifest entries, Pi `subagents` package metadata, Codex `aw-*` templates, and
|
|
9
|
+
the Pi extension's global agent sync. The plugin now ships skills and runtime
|
|
10
|
+
commands only.
|
|
11
|
+
- **Structured generic delegation** — skills now route design, implementation,
|
|
12
|
+
review, scanner, and explorer work through the host's existing
|
|
13
|
+
generic/general-purpose subagent mechanism using the dynamic prompt postures in
|
|
14
|
+
`skills/principles/references/subagents.md`.
|
|
15
|
+
|
|
16
|
+
## v0.14.0
|
|
17
|
+
|
|
18
|
+
### Backlog grooming + staleness signal
|
|
19
|
+
|
|
20
|
+
- **`groom` skill** — new user-invocable backlog-hygiene sweep
|
|
21
|
+
(`/agile-workflow:groom`). Classifies `.work/backlog/` items
|
|
22
|
+
DONE/SUPERSEDED/DUPLICATE/STALE/MERGEABLE/VALID via mechanical signals plus a
|
|
23
|
+
grounded semantic pass, and writes a triage report. Propose-not-prune:
|
|
24
|
+
dispositions are operator-confirmed and route through the terminal-tier
|
|
25
|
+
retention convention; it never auto-prunes and is not a release gate. Opt-in.
|
|
26
|
+
- **`work-view --stale`** — lists backlog items whose last-touched date
|
|
27
|
+
(`updated` if present, else `created`) exceeds the new `backlog_staleness_days`
|
|
28
|
+
`.work/CONVENTIONS.md` key. Absent key ⇒ inert notice + exit 0, so a project
|
|
29
|
+
that doesn't opt in is unaffected. Backlog-tier only; std-only, local-time.
|
|
30
|
+
- **`updated` on the backlog contract** — documented as an optional backlog
|
|
31
|
+
frontmatter field (`== created` at birth, written by `park`; bumped by the
|
|
32
|
+
PostToolUse hook on edit; treated as `created` when absent). `BACKLOG_REQUIRED`
|
|
33
|
+
unchanged — the field stays optional.
|
|
34
|
+
|
|
35
|
+
## v0.12.1
|
|
36
|
+
|
|
37
|
+
### Gate configurability
|
|
38
|
+
|
|
39
|
+
- **Gate finding routing** — documented `gate_finding_routing` in
|
|
40
|
+
`.work/CONVENTIONS.md` so release gates normalize severity/priority/confidence
|
|
41
|
+
to one project-level item-placement policy.
|
|
42
|
+
- **gate-refactor scan roots** — documented `gate_refactor_scan_library_roots`
|
|
43
|
+
so monorepos can share scan-rule libraries while preserving the default
|
|
44
|
+
`.agents/skills` then `.claude/skills` discovery order.
|
|
45
|
+
|
|
46
|
+
## v0.11.3
|
|
47
|
+
|
|
48
|
+
### Research-substrate linkage fields + agentic-research adoption
|
|
49
|
+
|
|
50
|
+
- **work-view research linkage** — the Item model gains `research_refs` (Arrow 1: a work item
|
|
51
|
+
tracks/consumes research) and `research_origin` (Arrow 2: research that spawned the item), parsed
|
|
52
|
+
from frontmatter and queryable via `--research-refs` / `--research-origin`. Mirrors the
|
|
53
|
+
`gate_origin` precedent; both fields parse harmlessly when unset, so a plain `.work/` substrate is
|
|
54
|
+
unaffected.
|
|
55
|
+
- **convert** — research-substrate fields are conditional on the `agentic-research` plugin. The
|
|
56
|
+
canonical AGENTS block ships the base field list and only advertises `research_refs` /
|
|
57
|
+
`research_origin` (plus the `.work/` ↔ `.research/` handoff pointer) when that plugin is installed;
|
|
58
|
+
convert never scaffolds `.research/` on its own.
|
|
59
|
+
|
|
60
|
+
## v0.11.2
|
|
61
|
+
|
|
62
|
+
### Clarify `--stage review` semantics in seeded docs
|
|
63
|
+
|
|
64
|
+
- **convert / docs** — reworded the canonical AGENTS section template and architecture docs so
|
|
65
|
+
`work-view --stage review` reads as "items awaiting an agent review pass (`/agile-workflow:review`)"
|
|
66
|
+
rather than "items waiting on user." The review stage is the agent's review queue (advance or
|
|
67
|
+
bounce), not a hold for human sign-off.
|
|
68
|
+
|
|
69
|
+
## v0.11.1
|
|
70
|
+
|
|
71
|
+
### Terminal-tier archival: merged `archived_atop` late-binding into delete-refs
|
|
72
|
+
|
|
73
|
+
- **`archived_atop` late-binding** — archived items are bodyless stubs stamping an immutable
|
|
74
|
+
`archived_atop` baseline + `git_ref`; `release-deploy` late-binds all unbound archived stubs into
|
|
75
|
+
one release summary.
|
|
76
|
+
- **Archive-stub gate hydration** — gate skills include `.work/archive/` stubs in the release
|
|
77
|
+
bundle and hydrate historical bodies from `git_ref` when a body is needed.
|
|
78
|
+
- **convert** — one merged terminal-retention convention; sync detects/offers it and offers to prune
|
|
79
|
+
existing retained terminal bodies to stubs (stamping `archived_atop` + `git_ref`).
|
|
80
|
+
|
|
81
|
+
## v0.11.0
|
|
82
|
+
|
|
83
|
+
### Delete-after-release terminal tiers
|
|
84
|
+
|
|
85
|
+
- Archived items become bodyless ref stubs; a release collapses bound items into one
|
|
86
|
+
`releases/<version>/release-<version>.md` summary; full bodies live in git history. `convert` seeds
|
|
87
|
+
the `terminal-tier retention` convention (default `delete-refs`).
|
|
88
|
+
|
|
89
|
+
_(0.10.x release notes: see git history.)_
|
|
90
|
+
|
|
91
|
+
## v0.9.5
|
|
92
|
+
|
|
93
|
+
### Three-channel distribution
|
|
94
|
+
|
|
95
|
+
- **Pi package channel** - Added Pi package metadata for supported plugins, kept
|
|
96
|
+
package versions in lockstep with Claude/Codex metadata, and documented the
|
|
97
|
+
three-channel distribution model across root and plugin guides.
|
|
98
|
+
- **Pi extension surface** - Added the agile-workflow Pi extension shell with
|
|
99
|
+
`/aw` queue snapshots, parent/blocking lookups, and handoffs to shared board,
|
|
100
|
+
autopilot, and scope skills.
|
|
101
|
+
- **Delegation policy** - Updated agile-workflow skills so worker/scout/reviewer
|
|
102
|
+
routing names Pi-native subagents where available while preserving the shared
|
|
103
|
+
skill contracts.
|
|
104
|
+
|
|
105
|
+
### Board and dependency view
|
|
106
|
+
|
|
107
|
+
- **Expanded browsing** - Added expandable epic and tag groups to the board
|
|
108
|
+
sidebar without changing filter semantics.
|
|
109
|
+
- **Dependency canvas polish** - Added zoom, hand-pan, layout controls, compact
|
|
110
|
+
web layout nodes, ephemeral dragging, clearer impact counts, and fixes for
|
|
111
|
+
resize edge drift, node click jitter, Hand-mode detail opening, clipping, and
|
|
112
|
+
the null-sentinel module import failure.
|
|
113
|
+
|
|
114
|
+
### Tests and release gates
|
|
115
|
+
|
|
116
|
+
- **Board JS behavior harness** - Added a no-build ES-module test harness plus
|
|
117
|
+
coverage for markdown safety, filter composition, dependency/table behavior,
|
|
118
|
+
kanban/detail behavior, and expanded browsing.
|
|
119
|
+
- **Hook concurrency and PostCompact audit** - Added deterministic coverage for
|
|
120
|
+
hook state-file interleaving and verified Codex PostCompact output behavior.
|
|
121
|
+
- **Release-gate follow-ups** - Added Pi package metadata tests, Pi extension
|
|
122
|
+
command tests, filtered dependency stub coverage, keyboard reachability
|
|
123
|
+
coverage for tag expansion, and removed dead board-test harness cleanup code.
|
|
124
|
+
|
|
125
|
+
## v0.9.0
|
|
126
|
+
|
|
127
|
+
### Cross-vendor `.agents/rules/` auto-load
|
|
128
|
+
|
|
129
|
+
- **Generic rules loader** - A hook now injects `.agents/rules/*.md` into agent
|
|
130
|
+
context in both Claude Code and Codex, so dense project rules and the pattern
|
|
131
|
+
digest load automatically without per-tool wiring. Hook state-file writes are
|
|
132
|
+
concurrency-hardened (unique temp names, fail-open on error, `fcntl` locking
|
|
133
|
+
when available).
|
|
134
|
+
- **`convert` extracts rules** - `convert` lifts the dense agent-instruction
|
|
135
|
+
block into `.agents/rules/agile-workflow.md`, guarded by a content-integrity
|
|
136
|
+
gate that verifies content exists at its canonical replacement before any
|
|
137
|
+
destructive op.
|
|
138
|
+
- **`gate-patterns` writes the digest** - The patterns gate emits a generated,
|
|
139
|
+
hook-loaded `.agents/rules/patterns.md` digest (slug + one-liner index with a
|
|
140
|
+
drift-detecting `src-sha256`) alongside the canonical pattern skills.
|
|
141
|
+
- **Skills ground on `.agents/rules/`** - The design/implement/review-family
|
|
142
|
+
skills read `.agents/rules/*.md` during grounding.
|
|
143
|
+
|
|
144
|
+
### work-view freshness & anti-drift lifecycle
|
|
145
|
+
|
|
146
|
+
- **`work-view --version`** - Both the Rust binary and the bash fallback report
|
|
147
|
+
the plugin version (`work-view <semver>`), kept in lockstep with `plugin.json`
|
|
148
|
+
by `bump-version.sh`, so a single string compare answers "is this installed
|
|
149
|
+
copy current?".
|
|
150
|
+
- **Self-heal install lifecycle** - The SessionStart hook and `convert` detect a
|
|
151
|
+
missing or stale `.work/bin/work-view` and reinstall the version-stamped
|
|
152
|
+
entrypoint; the probe fails open (never blocks the session) on timeout or
|
|
153
|
+
error.
|
|
154
|
+
|
|
155
|
+
### Documentation
|
|
156
|
+
|
|
157
|
+
- Rolled the SPEC forward: the kanban surface is documented as parent swimlanes
|
|
158
|
+
with verbatim per-stage columns (not a fixed 5-column collapse), and the plugin
|
|
159
|
+
source layout now includes the `work-view/` Rust workspace.
|
|
160
|
+
- Refreshed pattern-skill example `file:line` references after board modules
|
|
161
|
+
shifted positions.
|
|
162
|
+
|
|
163
|
+
### Internal
|
|
164
|
+
|
|
165
|
+
- New test coverage: `bump-version.sh` lockstep projection, `work-board.sh` shim
|
|
166
|
+
routing, `convert` content-integrity structural guard, self-heal version-probe
|
|
167
|
+
timeout fail-open, and a `$TMPDIR`-invariant substrate-root test.
|
|
168
|
+
- Codified 4 new code patterns (board view-module contract, local DOM
|
|
169
|
+
text-element builder, fail-open subprocess probe, hand-written error `Display`).
|
|
170
|
+
- Removed dead board-view scaffolding (`placeholderView`, `registeredViews`, and
|
|
171
|
+
orphaned CSS).
|
|
172
|
+
|
|
173
|
+
## v0.8.9
|
|
174
|
+
|
|
175
|
+
### Board UI polish
|
|
176
|
+
|
|
177
|
+
- **Mock-aligned board filters and metadata** - Removed the interactive board's
|
|
178
|
+
Release filter section and release-binding metadata from cards, details, and
|
|
179
|
+
the table surface. Missing values now render with the mock's dash treatment
|
|
180
|
+
instead of a visible `(none)` sentinel, and null parent/release values are not
|
|
181
|
+
exposed as filter chips.
|
|
182
|
+
|
|
183
|
+
## v0.8.8
|
|
184
|
+
|
|
185
|
+
### Interactive Substrate Board
|
|
186
|
+
|
|
187
|
+
- **Live `work-view board` surface** - Added the compiled localhost board host
|
|
188
|
+
with `/healthz`, `/api/substrate`, embedded assets, loopback Host header
|
|
189
|
+
hardening, busy-port scanning, and browser-open handling. `work-view serve`
|
|
190
|
+
aliases the same read-only board server.
|
|
191
|
+
- **Board shell and views** - Added the no-build browser shell with shared
|
|
192
|
+
filters, auto-hide, safe markdown rendering, shared item cards, diagnostics,
|
|
193
|
+
theme/accent controls, and detail surface. Delivered kanban stage/swimlane,
|
|
194
|
+
dependency graph, and sortable/filterable table views over the same substrate
|
|
195
|
+
feed.
|
|
196
|
+
- **Board skill** - Added the user-invocable `agile-workflow:board` skill for
|
|
197
|
+
launching `.work/bin/work-view board`, with clear failure handling when a
|
|
198
|
+
project still has a non-board-capable bash fallback.
|
|
199
|
+
- **Legacy `/board` command removed** - Deleted the Claude-only `/board`
|
|
200
|
+
command surface. `scripts/work-board.sh` remains only as a compatibility shim
|
|
201
|
+
that delegates to `.work/bin/work-view board` when the installed binary
|
|
202
|
+
supports it.
|
|
203
|
+
|
|
204
|
+
### Documentation
|
|
205
|
+
|
|
206
|
+
- Rolled forward the agile-workflow SPEC and ARCHITECTURE docs, plus the root
|
|
207
|
+
substrate-access architecture note, from static generated board language to
|
|
208
|
+
the live `work-view board` model.
|
|
209
|
+
|
|
210
|
+
## v0.8.6
|
|
211
|
+
|
|
212
|
+
### Substrate CLI
|
|
213
|
+
|
|
214
|
+
- **Compiled `work-view` CLI** - The `.work/` query tool is now a compiled Rust
|
|
215
|
+
binary (`work-view-core` library + `work-view` CLI) with full flag/output
|
|
216
|
+
parity over the bash script, on a shared query core (frontmatter parsing, the
|
|
217
|
+
item model, dependency-graph evaluation, composable filters) that the
|
|
218
|
+
forthcoming web board reuses. Ships per-platform with a pure-bash fallback.
|
|
219
|
+
- **Stage-aware `--ready` / `--blocked`** - `--ready` no longer hides
|
|
220
|
+
design-ready (`drafting`) and review-ready items whose dependencies are
|
|
221
|
+
satisfied; it surfaces any active-tier item at `drafting`, `implementing`, or
|
|
222
|
+
`review` with all `depends_on` terminal (and `--blocked` the inverse). The
|
|
223
|
+
prompt-context hook no longer double-lists a `review` item under both Ready
|
|
224
|
+
and Review.
|
|
225
|
+
- **Platform install path** - `install-work-view.sh` selects the matching
|
|
226
|
+
prebuilt binary (uname → target triple, smoke-test, atomic install), wired
|
|
227
|
+
into `/agile-workflow:convert`, with the bash fallback when no binary matches.
|
|
228
|
+
Added a CI cross-compile workflow and the `dist/` layout. Binaries are
|
|
229
|
+
CI-produced; until the manual refresh job populates `dist/`, installs use the
|
|
230
|
+
bash fallback (no regression).
|
|
231
|
+
|
|
232
|
+
### Also in this release (previously unreleased)
|
|
233
|
+
|
|
234
|
+
- **Review skill progressive disclosure** - Split the review skill into a
|
|
235
|
+
substrate-first core plus references for target resolution, review lenses,
|
|
236
|
+
deep-review mechanics, and substrate side effects. Supports standalone
|
|
237
|
+
branch/PR/commit reviews without `.work` mutations and keeps deep-review mode
|
|
238
|
+
adaptable across contracts, data, concurrency, release, and product/UX
|
|
239
|
+
dimensions.
|
|
240
|
+
- **work-view single-pass parsing** - Rewrote `work-view.sh` frontmatter
|
|
241
|
+
parsing to a single `awk` pass over the whole tree instead of spawning an
|
|
242
|
+
`awk` (plus `tr`) per field per file. Measured on a 617-item repo: default
|
|
243
|
+
table view drops from ~7.9s to ~0.12s (66x); output is now deterministically
|
|
244
|
+
sorted by path, otherwise byte-for-byte identical to before.
|
|
245
|
+
- **Dual Codex/Claude hook set** - Replaced the eager SessionStart queue dump
|
|
246
|
+
with prompt-gated context injection. Actionable workflow prompts get a compact
|
|
247
|
+
queue snapshot plus once-per-session principles capsules; idle chat and
|
|
248
|
+
explainer prompts stay silent. Capsule state lives in the host plugin data
|
|
249
|
+
directory when available, with non-worktree fallbacks.
|
|
250
|
+
- **Substrate maintainer hook** - Expanded the PostToolUse hook from `updated:`
|
|
251
|
+
bumping to deterministic touched-item validation: required frontmatter, valid
|
|
252
|
+
kind/stage, filename/id match, parent/dependency existence, and dependency
|
|
253
|
+
cycles reachable from the touched item.
|
|
254
|
+
|
|
255
|
+
### Documentation
|
|
256
|
+
|
|
257
|
+
- Foundation docs (VISION, SPEC, ARCHITECTURE) rolled forward: work-view bash
|
|
258
|
+
script → compiled binary + fallback, and the stage-aware ready/blocked
|
|
259
|
+
semantic.
|
|
260
|
+
|
|
261
|
+
### Internal
|
|
262
|
+
|
|
263
|
+
- First project pattern catalog under `.agents/skills/patterns/` (5 patterns
|
|
264
|
+
extracted from the CLI work).
|
|
265
|
+
- Expanded test coverage: binary-level proof of the `--ready` drafting fix,
|
|
266
|
+
exit-3 fatal-IO, the `--blocked` review case, the hook review-dedup, a
|
|
267
|
+
`convert` install-routing guard, and bash-parity empty-result tests.
|
|
268
|
+
- Added an `actionlint` CI workflow for GitHub Actions files; removed dead code
|
|
269
|
+
(unused `From<io::Error>` impl, an unused parameter, a vestigial no-op); added
|
|
270
|
+
a root `.gitignore`.
|
|
271
|
+
|
|
272
|
+
## v0.7.7 - Skill metadata hotfix
|
|
273
|
+
|
|
274
|
+
- **Codex skill loading** - Shortened long agile-workflow skill frontmatter
|
|
275
|
+
descriptions so every `SKILL.md` stays under Codex's 1024-character
|
|
276
|
+
description limit. This fixes `perf-design` being skipped by Codex after the
|
|
277
|
+
v0.7.6 release.
|
|
278
|
+
- **Goal-backed autopilot** - Reshaped `autopilot` as a model- and
|
|
279
|
+
user-invocable queue policy that can be selected from a harness goal
|
|
280
|
+
statement such as "Use agile-workflow autopilot to drain --all." Removed
|
|
281
|
+
current docs' dependence on `/loop`, watchdog ticks, and `--resume`; the
|
|
282
|
+
harness goal/continuation feature now owns long-running persistence.
|
|
283
|
+
- **Caller-awareness alignment** - Updated delegated skills and docs so
|
|
284
|
+
"autopilot mode" means an active autopilot run or goal, not only a literal
|
|
285
|
+
slash invocation in the transcript.
|
|
286
|
+
|
|
287
|
+
## v0.7.6 - Perf and refactor design alignment
|
|
288
|
+
|
|
289
|
+
Tightens performance-design guidance for low-level systems and makes refactor
|
|
290
|
+
conventions a cohesive extension of agile-workflow rather than a standalone
|
|
291
|
+
planning path.
|
|
292
|
+
|
|
293
|
+
- **Perf-design profiling depth** - The optimization hierarchy now calls out
|
|
294
|
+
data locality and microarchitecture work explicitly, including cache locality,
|
|
295
|
+
pointer chasing, allocation pressure, branch predictability, false sharing,
|
|
296
|
+
NUMA effects, and benchmark/counter evidence for CPU-bound systems.
|
|
297
|
+
- **Profiling taxonomy** - Discovery mode now classifies workload baseline,
|
|
298
|
+
on-CPU, memory/GC, I/O/serialization, off-CPU/synchronization, and
|
|
299
|
+
cache-line/NUMA bottlenecks before emitting perf items.
|
|
300
|
+
- **Refactor conventions integration** - `refactor-conventions-creator` now
|
|
301
|
+
writes short style summaries into AGENTS plus a canonical
|
|
302
|
+
`.agents/skills/refactor-conventions/` catalog. `refactor-design` keeps its
|
|
303
|
+
built-in defaults and treats the catalog only as an extension lens.
|
|
304
|
+
- **Convert one-pass alignment** - `convert --update` now covers AGENTS/CLAUDE
|
|
305
|
+
compatibility, work-view, pattern-skill mirrors, and refactor-conventions
|
|
306
|
+
catalog placement in one pass. Cleanup is opt-in: convert asks whether
|
|
307
|
+
destructive cleanup is in scope and defaults to preserve-only.
|
|
308
|
+
- **Tool metadata fixes** - Skills that ask strategic questions now declare
|
|
309
|
+
`AskUserQuestion` in their allowed tools.
|
|
310
|
+
|
|
311
|
+
## v0.7.5 - Tighten [refactor] tag routing
|
|
312
|
+
|
|
313
|
+
Stops mistagged "major rework" items from leaking into `refactor-design` when
|
|
314
|
+
they actually change observable behavior.
|
|
315
|
+
|
|
316
|
+
- **Sharper tag semantics** - The AGENTS.md section now ships a `### Tag
|
|
317
|
+
semantics` subsection with the black-box test ("would any observable
|
|
318
|
+
behavior change for a caller of the public surface?") plus contrasting
|
|
319
|
+
examples on each side. Definition is re-read by agents mid-work, not just
|
|
320
|
+
buried in CONVENTIONS.md. SPEC.md's CONVENTIONS template entries for
|
|
321
|
+
`[refactor]` and `[perf]` are tightened to match.
|
|
322
|
+
- **Misroute self-heal in refactor-design** - Per-feature mode Phase 1 now
|
|
323
|
+
applies the black-box test to the brief. If the item describes new
|
|
324
|
+
capability, an API change, swapped semantics, or "rework rather than
|
|
325
|
+
restructuring," it strips `[refactor]`, logs the misroute, commits, and
|
|
326
|
+
returns without advancing - autopilot reroutes to `feature-design` on the
|
|
327
|
+
next pass. Mirrors `feature-design`'s existing misroute guard.
|
|
328
|
+
- **Tag application gate in scope** - Phase 5 (single-idea) and Phase B4
|
|
329
|
+
(batch clustering) now require the black-box test before applying
|
|
330
|
+
`[refactor]` or `[perf]`. Stops the bad tag at the source.
|
|
331
|
+
- **Convert sync handles existing projects** - `convert` and
|
|
332
|
+
`convert --update` now detect verbatim-stale tag entries in
|
|
333
|
+
`.work/CONVENTIONS.md` (only the known prior plugin defaults — user-edited
|
|
334
|
+
lines are treated as intentional) and offer to refresh them via
|
|
335
|
+
AskUserQuestion. Non-destructive: only flagged lines are touched, never the
|
|
336
|
+
rest of CONVENTIONS.
|
|
337
|
+
|
|
338
|
+
## v0.7.4 - AGENTS-backed legacy pattern rules migration
|
|
339
|
+
|
|
340
|
+
- **Gate-patterns rules source** - `gate-patterns` now reads project rules from
|
|
341
|
+
AGENTS targets instead of treating `.claude/rules/patterns.md` as an input.
|
|
342
|
+
`.agents/skills/patterns/` remains the canonical structural-pattern catalog,
|
|
343
|
+
with `.claude/skills/patterns/` only as a legacy mirror.
|
|
344
|
+
- **Convert sync for older repos** - `convert` and `convert --update` now detect
|
|
345
|
+
legacy `.claude/rules/patterns.md`, import non-duplicate content into the
|
|
346
|
+
selected AGENTS target, and replace the legacy file with a shim so AGENTS is
|
|
347
|
+
the single project-rules source.
|
|
348
|
+
- **Docs alignment** - SPEC, ARCHITECTURE, and MIGRATION now document AGENTS as
|
|
349
|
+
the canonical rules home and `.agents/skills/patterns/` as the structural
|
|
350
|
+
pattern-skill home.
|
|
351
|
+
|
|
352
|
+
## v0.7.2 - Codex sub-agent and AGENTS.md compatibility
|
|
353
|
+
|
|
354
|
+
Improves the plugin's Codex path while preserving Claude compatibility.
|
|
355
|
+
|
|
356
|
+
- **AGENTS.md canonicalization** - `convert` now writes the agile-workflow
|
|
357
|
+
section to AGENTS.md and keeps CLAUDE.md as a symlink or compatibility shim.
|
|
358
|
+
Root, `.agents/`, and `.claude/` instruction-file locations are detected.
|
|
359
|
+
- **Sub-agent routing** - implementation and gate skills now carry explicit
|
|
360
|
+
inline guidance for Claude model choices and Codex reasoning effort. The
|
|
361
|
+
implement orchestrator owns bundle/wave planning and may run large
|
|
362
|
+
non-overlapping write paths in parallel.
|
|
363
|
+
- **Codex plugin metadata** - the Codex manifest now declares capabilities and
|
|
364
|
+
a default prompt, and explicit-only skills ship Codex `agents/openai.yaml`
|
|
365
|
+
policy files.
|
|
366
|
+
- **Hooks** - plugin hooks resolve both Codex and Claude plugin roots, and the
|
|
367
|
+
PostToolUse hook recognizes Codex `apply_patch` payloads.
|
|
368
|
+
- **Pattern skills** - reusable pattern references are written under
|
|
369
|
+
`.agents/skills/patterns` with optional Claude mirrors.
|
|
370
|
+
|
|
371
|
+
## v0.6.1 — UI/UX alignment promoted to scope/epic tier
|
|
372
|
+
|
|
373
|
+
Shifts where `ux-ui-design` mockups get produced. Epic-design Phase 4.6 is
|
|
374
|
+
now the PRIMARY mockup tier and errs on the side of mocking; feature-design
|
|
375
|
+
is the FALLBACK, used only for minor surfaces not covered upstream. The
|
|
376
|
+
`--only-questions` modes always run the mockup pass — they're the visual
|
|
377
|
+
alignment gate, not just the textual one.
|
|
378
|
+
|
|
379
|
+
- **`epic-design`** Phase 4.6 — primary mockup tier: palette + screens
|
|
380
|
+
(for every net-new surface) + flows (for every journey). Under
|
|
381
|
+
autopilot, defers with a `## UI alignment deferred` note. Child feature
|
|
382
|
+
template now carries `## Mockups` for inheritance.
|
|
383
|
+
- **`epic-design --only-questions`** — mockup pass added to the workflow.
|
|
384
|
+
- **`feature-design`** Phase 4.6 — fallback tier. Inherits parent-epic
|
|
385
|
+
mocks by reference; only invokes ux-ui-design for surfaces upstream
|
|
386
|
+
missed.
|
|
387
|
+
- **`feature-design --only-questions`** — Phase 4.6 added with the same
|
|
388
|
+
fallback rules.
|
|
389
|
+
- **`scope`** Phase 1.8 — large-scope + UI actively invokes `:palette`
|
|
390
|
+
during the Phase 4 roll-forward and `:flows` for cross-feature
|
|
391
|
+
journeys clear at scope time.
|
|
392
|
+
- **`ux-ui-design:ux-ui-principles`** — new "Where in the workflow to mock"
|
|
393
|
+
section encoding the tier ordering; description rewritten in ALWAYS
|
|
394
|
+
style to match agile-workflow conventions.
|
|
395
|
+
|
|
396
|
+
## v0.4.3 — orchestrator becomes default, scope-driven, cross-feature
|
|
397
|
+
|
|
398
|
+
Shifts the routing for `stage: implementing` work so the orchestrator is the
|
|
399
|
+
default path and is no longer scoped to a single parent feature.
|
|
400
|
+
|
|
401
|
+
- **`implement-orchestrator`** — now the default for everything at
|
|
402
|
+
`stage: implementing` (features with or without children, lone stories,
|
|
403
|
+
parentless items). Accepts a scope arg in any of four forms: a feature id
|
|
404
|
+
(current behavior), an epic id, `--all`, or an explicit list of item ids.
|
|
405
|
+
Phase 1 grounding reads every parent feature in the work set, not just
|
|
406
|
+
one. Phase 2 builds a unified `depends_on` graph across the whole scope —
|
|
407
|
+
cross-feature dependencies are first-class, not partitioned by parent.
|
|
408
|
+
Phase 3 introduces a file-overlap conflict check before each wave; either
|
|
409
|
+
serialize conflicting items into a later sub-wave or spawn the wave with
|
|
410
|
+
`isolation: "worktree"`. Phase 9 advances **every** parent feature whose
|
|
411
|
+
children are all at `review` (multi-parent), and leaves parents with
|
|
412
|
+
out-of-scope implementing children at `implementing` until a later run
|
|
413
|
+
finishes them.
|
|
414
|
+
- **`implement`** — repositioned as the inline alternative. Same single-stride
|
|
415
|
+
workflow as before; the trigger now points at the orchestrator as the
|
|
416
|
+
default and lists the cases where inline is the right call (small / focused
|
|
417
|
+
work, user explicitly asks to land inline, mid-flow continuation). No
|
|
418
|
+
numeric thresholds — the choice stays a judgment call.
|
|
419
|
+
- **`autopilot`** Phase 5 — when the picked anchor is at `stage: implementing`,
|
|
420
|
+
hands the **full autopilot scope** (epic id, `--all`, or the reduced list
|
|
421
|
+
from a free-text directive) to the orchestrator in one call. The
|
|
422
|
+
orchestrator drains the entire in-scope implementing band, advancing
|
|
423
|
+
parents along the way. Phase 4 documents that the picked item is an
|
|
424
|
+
"anchor" only on the implementing branch — drafting and review continue
|
|
425
|
+
to be processed one item at a time.
|
|
426
|
+
- **`docs/ARCHITECTURE.md`** — pipeline diagram, queue-selection algorithm,
|
|
427
|
+
and skill table updated to reflect orchestrator-as-default and the
|
|
428
|
+
scope-driven shape. Queue filter expanded to include `review` (autopilot
|
|
429
|
+
has handled review autonomously since v0.3.x; the doc was stale).
|
|
430
|
+
|
|
431
|
+
The throughput motivation: with stories defaulting to the orchestrator, a
|
|
432
|
+
ready story from feature A and a ready story from feature B can pack into the
|
|
433
|
+
same 3-agent wave instead of running sequentially. Single-feature scopes
|
|
434
|
+
behave exactly like before — only multi-feature or `--all` scopes see the new
|
|
435
|
+
fan-out.
|
|
436
|
+
|
|
437
|
+
## v0.4.2 — human-facing work-board view
|
|
438
|
+
|
|
439
|
+
Adds a slash command and renderer that produce a self-contained HTML
|
|
440
|
+
kanban board from the project's `.work/` substrate.
|
|
441
|
+
|
|
442
|
+
- **`/agile-workflow:board`** — new slash command. Walks `.work/`, parses
|
|
443
|
+
every item's frontmatter, and writes a single HTML file (no external
|
|
444
|
+
assets) with five columns mapped from stage: Backlog → Drafting → In
|
|
445
|
+
Progress → Review → Done. Auto-opens via `xdg-open` / `open` /
|
|
446
|
+
`wslview` / `start` when a launcher is available.
|
|
447
|
+
- **`scripts/work-board.sh`** — pure-bash renderer. Reuses the
|
|
448
|
+
`work-view` frontmatter parsing patterns. Item title and excerpt are
|
|
449
|
+
base64-encoded into the embedded JSON so quotes, backticks, and
|
|
450
|
+
`</script>` sequences round-trip safely. Computes ready/blocked
|
|
451
|
+
signals and surfaces unmet dependencies on each card.
|
|
452
|
+
- **`scripts/work-board.template.html`** — embedded CSS/JS, light + dark
|
|
453
|
+
modes via `prefers-color-scheme`, kind-colored card borders, kind/tag
|
|
454
|
+
filter pills, fuzzy id/title search ('/' to focus), and a collapsed
|
|
455
|
+
Releases section grouping items by `release_binding` /
|
|
456
|
+
`.work/releases/<version>/` directory.
|
|
457
|
+
|
|
458
|
+
Flags: `--print` (skip auto-open), `--out <path>` (custom output path),
|
|
459
|
+
`--serve [port]` (tiny `python3 -m http.server` for remote access).
|
|
460
|
+
|
|
461
|
+
The renderer is read-only. Re-run the command to refresh — there's no
|
|
462
|
+
watcher, no daemon, no background process. Stays consistent with the
|
|
463
|
+
substrate philosophy: items are the source of truth.
|
|
464
|
+
|
|
465
|
+
## v0.4.1 — drop model: frontmatter, skills inherit session model
|
|
466
|
+
|
|
467
|
+
Removed the `model:` frontmatter field from every skill in the plugin
|
|
468
|
+
(previously a mix of `opus` and `sonnet`). Skills now run at whatever model
|
|
469
|
+
the session is on, rather than overriding for the current turn.
|
|
470
|
+
|
|
471
|
+
Rationale: the `model:` override changed the model only for the turn the
|
|
472
|
+
skill loaded into and reverted on the next prompt — useful only when a
|
|
473
|
+
specific tier was genuinely required. For a workflow plugin where the user
|
|
474
|
+
chooses the session model deliberately, forcing a different model per skill
|
|
475
|
+
fragmented behavior and silently consumed extra tier capacity. Inheriting
|
|
476
|
+
the session model is the right default. Sub-agent dispatches inside the
|
|
477
|
+
skill bodies still set model explicitly via the Agent tool's `model:`
|
|
478
|
+
parameter (e.g. the gates spawn opus sub-agents) — that's unchanged.
|
|
479
|
+
|
|
480
|
+
Also brings the frontmatter into alignment with the skilltap official
|
|
481
|
+
schema, which doesn't include `model:` at all.
|
|
482
|
+
|
|
483
|
+
## v0.4.0 — gates run in opus sub-agents, autopilot drives continuously
|
|
484
|
+
|
|
485
|
+
Two related shifts in how heavy thinking gets dispatched and how the queue
|
|
486
|
+
runner paces itself.
|
|
487
|
+
|
|
488
|
+
- **Gates are sub-agent driven.** All five quality gates (`gate-security`,
|
|
489
|
+
`gate-cruft`, `gate-docs`, `gate-tests`, `gate-patterns`) now delegate
|
|
490
|
+
their full analysis to a single opus sub-agent. The orchestrator skill
|
|
491
|
+
becomes a thin shell: prepare bundle context, dispatch the sub-agent
|
|
492
|
+
with a methodology brief, convert the structured findings it returns
|
|
493
|
+
into items (or pattern files, for `gate-patterns`), commit. The heavy
|
|
494
|
+
reasoning runs in an isolated context — domain audits, drift detection,
|
|
495
|
+
contract extraction, pattern discovery — leaving the orchestrator's
|
|
496
|
+
context lean and the analysis quality consistent. Orchestrator model
|
|
497
|
+
dropped from `opus` to `sonnet` for the four item-producing gates;
|
|
498
|
+
`gate-patterns` was already sonnet.
|
|
499
|
+
- **Autopilot drives continuously; watchdog ticks are a hidden
|
|
500
|
+
safeguard.** Earlier wording around "session survives compaction" and a
|
|
501
|
+
"context approaching ~600k tokens" stop condition made the agent
|
|
502
|
+
self-throttle — pacing work against the watchdog ticks instead of
|
|
503
|
+
draining the queue. The skill now states explicitly: drive the queue
|
|
504
|
+
without pausing, the ticks are a harness-level safeguard you do not
|
|
505
|
+
reason about once scheduled, and there are exactly three stop
|
|
506
|
+
conditions (queue empty / truly stuck / user stop signal). Compaction
|
|
507
|
+
prediction is removed entirely — the harness handles it.
|
|
508
|
+
|
|
509
|
+
## v0.3.2 — autopilot delegates to loop skill instead of prescribing args
|
|
510
|
+
|
|
511
|
+
v0.3.1 prescribed `Skill(skill="loop", args="30m /agile-workflow:autopilot
|
|
512
|
+
--resume")` directly in autopilot's Phase 1, which still over-specified the
|
|
513
|
+
invocation — agents either guessed at the args format or skipped the loop
|
|
514
|
+
skill entirely and went straight to CronCreate. Phase 1 and Phase 8 now just
|
|
515
|
+
say "load the loop skill via the Skill tool and follow its instructions" and
|
|
516
|
+
describe the desired schedule (30m + 3h, --resume), letting the loop skill
|
|
517
|
+
handle the actual scheduling mechanics.
|
|
518
|
+
|
|
519
|
+
## v0.3.1 — autopilot /loop invocation fix
|
|
520
|
+
|
|
521
|
+
The `autopilot` skill instructed the agent to run `/loop ...` in bare code
|
|
522
|
+
blocks, which agents interpreted as bash commands and ran via the Bash tool —
|
|
523
|
+
silently dropping the watchdog scaffolding. Phase 1 (schedule) and Phase 8
|
|
524
|
+
(cancel) now spell out the `Skill` tool invocation explicitly:
|
|
525
|
+
`Skill(skill="loop", args="...")`.
|
|
526
|
+
|
|
527
|
+
## v0.3.0 — autonomous review, caller awareness, orchestrator default
|
|
528
|
+
|
|
529
|
+
Autopilot now drains `stage: review` items end-to-end. Skills called by
|
|
530
|
+
autopilot use judgment instead of halting on ambiguity.
|
|
531
|
+
|
|
532
|
+
- **Autonomous review.** Autopilot routes `stage: review` items to the
|
|
533
|
+
existing `review` skill. No new `auto-review` skill — same skill, both
|
|
534
|
+
callers. When the last child reaches `done`, the review skill auto-advances
|
|
535
|
+
the parent (feature or epic) to `review`, so epic-rooted graphs drain.
|
|
536
|
+
- **Circuit-breaker.** After an item bounces `implementing → review →
|
|
537
|
+
implementing` twice, autopilot halts on it (leaves stage at review,
|
|
538
|
+
escalates in summary, skips).
|
|
539
|
+
- **Caller awareness (principles Part III).** Rule: if
|
|
540
|
+
`/agile-workflow:autopilot` was invoked this session, no AskUserQuestion,
|
|
541
|
+
no halts on ambiguity — judgment + log. Otherwise, asking is fine. Hard
|
|
542
|
+
halts only for substrate-missing, foundation-missing, depends_on cycle,
|
|
543
|
+
contradictory state. Applied to `feature-design`, `perf-design`,
|
|
544
|
+
`implement`, `implement-orchestrator`, `review`.
|
|
545
|
+
- **Orchestrator is the default for features.** Single-story features run
|
|
546
|
+
as a one-agent wave; multi-story as multiple waves capped at 3 parallel
|
|
547
|
+
per wave (no upper limit on waves). Per-story prompts mirror `implement`'s
|
|
548
|
+
workflow (land mode, dep check, design-flaw rollback). `implement`
|
|
549
|
+
standalone is now for stories and feature-without-children.
|
|
550
|
+
- **Free-text autopilot scope.** `autopilot finish the dangling work` etc.
|
|
551
|
+
is interpreted as a scope directive, logged in the run summary.
|
|
552
|
+
- **Convert: per-design classification.** Each `docs/designs/` entry classified
|
|
553
|
+
into one of five buckets (drafting / implementing / review / done-shipped /
|
|
554
|
+
done-archived) with sensible defaults and user confirmation.
|
|
555
|
+
- **Convert: capture in-flight work.** Phase 8.5 clusters uncommitted
|
|
556
|
+
working-tree files via Explore and scopes each cluster as a
|
|
557
|
+
`stage: implementing` feature. `implement`'s land mode lands them.
|
|
558
|
+
- **Story heuristics.** `feature-design` Phase 7 now uses an explicit
|
|
559
|
+
four-condition test (parallelizable / non-trivial deps / multi-session /
|
|
560
|
+
heterogeneous acceptance) instead of vague "skip if small."
|
|
561
|
+
- **Hook timezone.** `updated:` bump uses local time, not UTC.
|
|
562
|
+
|
|
563
|
+
## v0.2.0 — design family covers epics
|
|
564
|
+
|
|
565
|
+
Autopilot can now drain epic-rooted graphs end-to-end. Previously, an epic at
|
|
566
|
+
`stage: drafting` was a dead end for autopilot (the `design` skill only
|
|
567
|
+
handled features, so autopilot's queue would empty out as soon as the only
|
|
568
|
+
in-scope item was an undecomposed epic).
|
|
569
|
+
|
|
570
|
+
- **New skill: `epic-design`** — decomposes an epic at `stage: drafting` into
|
|
571
|
+
child features at `stage: drafting` with declared `depends_on` chains,
|
|
572
|
+
written into the epic body. Mirrors `epicize` one level down.
|
|
573
|
+
- **Renamed: `design` → `feature-design`** — for symmetry with the new
|
|
574
|
+
`epic-design`. Breaking change for any external invokers using
|
|
575
|
+
`/agile-workflow:design`; update to `/agile-workflow:feature-design`.
|
|
576
|
+
- **Autopilot routing updated** — `kind: epic` at `drafting` now routes to
|
|
577
|
+
`epic-design` instead of being skipped. Only `.work/backlog/` is out of
|
|
578
|
+
scope for autopilot.
|
|
579
|
+
- Cross-references in `scope`, `epicize`, `refactor-design`, `perf-design`,
|
|
580
|
+
`implement-orchestrator`, ARCHITECTURE.md, MIGRATION.md, README, and the
|
|
581
|
+
agile-workflow guide updated to the new names.
|
|
582
|
+
|
|
583
|
+
## v0.1.0 — initial release
|
|
584
|
+
|
|
585
|
+
Substrate-based work-tracking plugin. Sibling to `workflow`.
|
|
586
|
+
|
|
587
|
+
- 25 skills covering ideation, conversion, scoping, design (greenfield + refactor + perf), implementation, review, gates, release, and autopilot
|
|
588
|
+
- `work-view` bash script for fast queries by stage, tag, kind, parent, release binding, and dependency state
|
|
589
|
+
- Two hooks (SessionStart queue snapshot, PostToolUse `updated:` auto-bump), both flag-gated by `.work/CONVENTIONS.md` presence
|
|
590
|
+
- Foundation docs: VISION, SPEC, ARCHITECTURE, PRINCIPLES, MIGRATION
|
|
591
|
+
- Pre-1.0 signals that frontmatter and stage shapes may shift during the first real-project shakedown
|