agentplane 0.3.2 → 0.3.4

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.
Files changed (205) hide show
  1. package/assets/AGENTS.md +4 -4
  2. package/assets/agents/CODER.json +14 -10
  3. package/assets/agents/CREATOR.json +8 -6
  4. package/assets/agents/DOCS.json +9 -6
  5. package/assets/agents/INTEGRATOR.json +9 -6
  6. package/assets/agents/ORCHESTRATOR.json +8 -6
  7. package/assets/agents/PLANNER.json +8 -5
  8. package/assets/agents/REDMINE.json +6 -3
  9. package/assets/agents/REVIEWER.json +8 -6
  10. package/assets/agents/TESTER.json +8 -4
  11. package/assets/agents/UPDATER.json +6 -4
  12. package/assets/agents/UPGRADER.json +7 -6
  13. package/assets/policy/dod.code.md +2 -2
  14. package/assets/policy/dod.core.md +16 -2
  15. package/assets/policy/dod.docs.md +2 -2
  16. package/assets/policy/incidents.md +44 -1
  17. package/assets/policy/workflow.direct.md +8 -4
  18. package/bin/agentplane.js +59 -9
  19. package/bin/dist-guard.js +78 -10
  20. package/bin/runtime-context.d.ts +3 -0
  21. package/bin/runtime-context.js +13 -0
  22. package/bin/runtime-watch.d.ts +26 -0
  23. package/bin/runtime-watch.js +116 -0
  24. package/bin/stale-dist-policy.d.ts +6 -0
  25. package/bin/stale-dist-policy.js +44 -0
  26. package/dist/.build-manifest.json +2485 -5
  27. package/dist/backends/task-backend/local-backend.d.ts.map +1 -1
  28. package/dist/backends/task-backend/local-backend.js +9 -12
  29. package/dist/backends/task-backend/redmine-backend.d.ts.map +1 -1
  30. package/dist/backends/task-backend/redmine-backend.js +23 -18
  31. package/dist/backends/task-backend/shared/constants.d.ts +1 -0
  32. package/dist/backends/task-backend/shared/constants.d.ts.map +1 -1
  33. package/dist/backends/task-backend/shared/constants.js +1 -0
  34. package/dist/backends/task-backend/shared/doc.d.ts +1 -0
  35. package/dist/backends/task-backend/shared/doc.d.ts.map +1 -1
  36. package/dist/backends/task-backend/shared/doc.js +4 -1
  37. package/dist/backends/task-backend/shared/export.js +3 -3
  38. package/dist/cli/bootstrap-guide.d.ts +2 -3
  39. package/dist/cli/bootstrap-guide.d.ts.map +1 -1
  40. package/dist/cli/bootstrap-guide.js +16 -35
  41. package/dist/cli/command-guide.d.ts +14 -1
  42. package/dist/cli/command-guide.d.ts.map +1 -1
  43. package/dist/cli/command-guide.js +71 -47
  44. package/dist/cli/run-cli/catalog.d.ts +7 -0
  45. package/dist/cli/run-cli/catalog.d.ts.map +1 -0
  46. package/dist/cli/run-cli/catalog.js +22 -0
  47. package/dist/cli/run-cli/command-catalog.d.ts +1 -1
  48. package/dist/cli/run-cli/command-catalog.d.ts.map +1 -1
  49. package/dist/cli/run-cli/command-catalog.js +11 -0
  50. package/dist/cli/run-cli/commands/core.d.ts.map +1 -1
  51. package/dist/cli/run-cli/commands/core.js +37 -29
  52. package/dist/cli/run-cli/commands/init/write-config.d.ts.map +1 -1
  53. package/dist/cli/run-cli/commands/init/write-config.js +2 -0
  54. package/dist/cli/run-cli/commands/init/write-workflow.d.ts.map +1 -1
  55. package/dist/cli/run-cli/commands/init/write-workflow.js +6 -55
  56. package/dist/cli/run-cli/commands/init.js +5 -14
  57. package/dist/cli/run-cli/error-guidance.d.ts +9 -0
  58. package/dist/cli/run-cli/error-guidance.d.ts.map +1 -0
  59. package/dist/cli/run-cli/error-guidance.js +180 -0
  60. package/dist/cli/run-cli/globals.d.ts +22 -0
  61. package/dist/cli/run-cli/globals.d.ts.map +1 -0
  62. package/dist/cli/run-cli/globals.js +197 -0
  63. package/dist/cli/run-cli/update-warning.d.ts +6 -0
  64. package/dist/cli/run-cli/update-warning.d.ts.map +1 -0
  65. package/dist/cli/run-cli/update-warning.js +64 -0
  66. package/dist/cli/run-cli.d.ts.map +1 -1
  67. package/dist/cli/run-cli.js +5 -476
  68. package/dist/cli/spec/docs-render.d.ts.map +1 -1
  69. package/dist/cli/spec/docs-render.js +14 -1
  70. package/dist/commands/doctor/archive.d.ts +4 -0
  71. package/dist/commands/doctor/archive.d.ts.map +1 -0
  72. package/dist/commands/doctor/archive.js +211 -0
  73. package/dist/commands/doctor/fixes.d.ts +9 -0
  74. package/dist/commands/doctor/fixes.d.ts.map +1 -0
  75. package/dist/commands/doctor/fixes.js +40 -0
  76. package/dist/commands/doctor/layering.d.ts +2 -0
  77. package/dist/commands/doctor/layering.d.ts.map +1 -0
  78. package/dist/commands/doctor/layering.js +87 -0
  79. package/dist/commands/doctor/runtime.d.ts +4 -0
  80. package/dist/commands/doctor/runtime.d.ts.map +1 -0
  81. package/dist/commands/doctor/runtime.js +56 -0
  82. package/dist/commands/doctor/workflow.d.ts +6 -0
  83. package/dist/commands/doctor/workflow.d.ts.map +1 -0
  84. package/dist/commands/doctor/workflow.js +62 -0
  85. package/dist/commands/doctor/workspace.d.ts +2 -0
  86. package/dist/commands/doctor/workspace.d.ts.map +1 -0
  87. package/dist/commands/doctor/workspace.js +165 -0
  88. package/dist/commands/doctor.run.d.ts.map +1 -1
  89. package/dist/commands/doctor.run.js +16 -342
  90. package/dist/commands/doctor.spec.d.ts +1 -0
  91. package/dist/commands/doctor.spec.d.ts.map +1 -1
  92. package/dist/commands/doctor.spec.js +15 -1
  93. package/dist/commands/guard/impl/commands.d.ts.map +1 -1
  94. package/dist/commands/guard/impl/commands.js +19 -0
  95. package/dist/commands/release/apply.command.d.ts +2 -8
  96. package/dist/commands/release/apply.command.d.ts.map +1 -1
  97. package/dist/commands/release/apply.command.js +158 -387
  98. package/dist/commands/release/apply.mutation.d.ts +7 -0
  99. package/dist/commands/release/apply.mutation.d.ts.map +1 -0
  100. package/dist/commands/release/apply.mutation.js +107 -0
  101. package/dist/commands/release/apply.preflight.d.ts +25 -0
  102. package/dist/commands/release/apply.preflight.d.ts.map +1 -0
  103. package/dist/commands/release/apply.preflight.js +338 -0
  104. package/dist/commands/release/apply.reporting.d.ts +4 -0
  105. package/dist/commands/release/apply.reporting.d.ts.map +1 -0
  106. package/dist/commands/release/apply.reporting.js +24 -0
  107. package/dist/commands/release/apply.types.d.ts +46 -0
  108. package/dist/commands/release/apply.types.d.ts.map +1 -0
  109. package/dist/commands/release/apply.types.js +1 -0
  110. package/dist/commands/runtime.command.d.ts +28 -0
  111. package/dist/commands/runtime.command.d.ts.map +1 -0
  112. package/dist/commands/runtime.command.js +169 -0
  113. package/dist/commands/shared/task-store.d.ts.map +1 -1
  114. package/dist/commands/shared/task-store.js +7 -3
  115. package/dist/commands/task/add.d.ts.map +1 -1
  116. package/dist/commands/task/add.js +3 -33
  117. package/dist/commands/task/block.d.ts.map +1 -1
  118. package/dist/commands/task/block.js +2 -2
  119. package/dist/commands/task/close-duplicate.d.ts.map +1 -1
  120. package/dist/commands/task/close-duplicate.js +2 -2
  121. package/dist/commands/task/close-noop.d.ts.map +1 -1
  122. package/dist/commands/task/close-noop.js +2 -2
  123. package/dist/commands/task/comment.js +2 -2
  124. package/dist/commands/task/derive.d.ts.map +1 -1
  125. package/dist/commands/task/derive.js +3 -3
  126. package/dist/commands/task/doc-template.d.ts +10 -0
  127. package/dist/commands/task/doc-template.d.ts.map +1 -0
  128. package/dist/commands/task/doc-template.js +104 -0
  129. package/dist/commands/task/doc.d.ts.map +1 -1
  130. package/dist/commands/task/doc.js +36 -1
  131. package/dist/commands/task/finish.d.ts.map +1 -1
  132. package/dist/commands/task/finish.js +7 -4
  133. package/dist/commands/task/migrate-doc.command.d.ts.map +1 -1
  134. package/dist/commands/task/migrate-doc.command.js +5 -1
  135. package/dist/commands/task/migrate-doc.d.ts.map +1 -1
  136. package/dist/commands/task/migrate-doc.js +136 -2
  137. package/dist/commands/task/new.d.ts.map +1 -1
  138. package/dist/commands/task/new.js +4 -110
  139. package/dist/commands/task/new.spec.js +3 -3
  140. package/dist/commands/task/plan.d.ts.map +1 -1
  141. package/dist/commands/task/plan.js +5 -4
  142. package/dist/commands/task/scaffold.d.ts.map +1 -1
  143. package/dist/commands/task/scaffold.js +7 -52
  144. package/dist/commands/task/set-status.d.ts.map +1 -1
  145. package/dist/commands/task/set-status.js +2 -2
  146. package/dist/commands/task/shared/dependencies.d.ts +15 -0
  147. package/dist/commands/task/shared/dependencies.d.ts.map +1 -0
  148. package/dist/commands/task/shared/dependencies.js +143 -0
  149. package/dist/commands/task/shared/docs.d.ts +21 -0
  150. package/dist/commands/task/shared/docs.d.ts.map +1 -0
  151. package/dist/commands/task/shared/docs.js +121 -0
  152. package/dist/commands/task/shared/listing.d.ts +20 -0
  153. package/dist/commands/task/shared/listing.d.ts.map +1 -0
  154. package/dist/commands/task/shared/listing.js +127 -0
  155. package/dist/commands/task/shared/tags.d.ts +24 -0
  156. package/dist/commands/task/shared/tags.d.ts.map +1 -0
  157. package/dist/commands/task/shared/tags.js +177 -0
  158. package/dist/commands/task/shared/transitions.d.ts +42 -0
  159. package/dist/commands/task/shared/transitions.d.ts.map +1 -0
  160. package/dist/commands/task/shared/transitions.js +175 -0
  161. package/dist/commands/task/shared.d.ts +5 -106
  162. package/dist/commands/task/shared.d.ts.map +1 -1
  163. package/dist/commands/task/shared.js +5 -681
  164. package/dist/commands/task/start.d.ts.map +1 -1
  165. package/dist/commands/task/start.js +7 -5
  166. package/dist/commands/task/verify-record.d.ts.map +1 -1
  167. package/dist/commands/task/verify-record.js +9 -25
  168. package/dist/commands/task/verify-show.command.d.ts.map +1 -1
  169. package/dist/commands/task/verify-show.command.js +5 -1
  170. package/dist/commands/upgrade/apply.d.ts +44 -0
  171. package/dist/commands/upgrade/apply.d.ts.map +1 -0
  172. package/dist/commands/upgrade/apply.js +180 -0
  173. package/dist/commands/upgrade/report.d.ts +21 -0
  174. package/dist/commands/upgrade/report.d.ts.map +1 -0
  175. package/dist/commands/upgrade/report.js +81 -0
  176. package/dist/commands/upgrade/source.d.ts +35 -0
  177. package/dist/commands/upgrade/source.d.ts.map +1 -0
  178. package/dist/commands/upgrade/source.js +109 -0
  179. package/dist/commands/upgrade/types.d.ts +31 -0
  180. package/dist/commands/upgrade/types.d.ts.map +1 -0
  181. package/dist/commands/upgrade/types.js +1 -0
  182. package/dist/commands/upgrade.d.ts +1 -35
  183. package/dist/commands/upgrade.d.ts.map +1 -1
  184. package/dist/commands/upgrade.js +68 -332
  185. package/dist/commands/workflow-build.command.d.ts.map +1 -1
  186. package/dist/commands/workflow-build.command.js +9 -15
  187. package/dist/shared/diagnostics.d.ts +23 -0
  188. package/dist/shared/diagnostics.d.ts.map +1 -0
  189. package/dist/shared/diagnostics.js +57 -0
  190. package/dist/shared/errors.d.ts +2 -0
  191. package/dist/shared/errors.d.ts.map +1 -1
  192. package/dist/shared/errors.js +2 -0
  193. package/dist/shared/repo-cli-version.d.ts +13 -0
  194. package/dist/shared/repo-cli-version.d.ts.map +1 -0
  195. package/dist/shared/repo-cli-version.js +63 -0
  196. package/dist/shared/runtime-source.d.ts +33 -0
  197. package/dist/shared/runtime-source.d.ts.map +1 -0
  198. package/dist/shared/runtime-source.js +156 -0
  199. package/dist/shared/version-compare.d.ts +7 -0
  200. package/dist/shared/version-compare.d.ts.map +1 -0
  201. package/dist/shared/version-compare.js +30 -0
  202. package/dist/shared/workflow-artifacts.d.ts +37 -0
  203. package/dist/shared/workflow-artifacts.d.ts.map +1 -0
  204. package/dist/shared/workflow-artifacts.js +97 -0
  205. package/package.json +2 -2
package/assets/AGENTS.md CHANGED
@@ -17,7 +17,7 @@ Detailed procedures live in canonical modules from `## CANONICAL DOCS`.
17
17
  - Repository type: user project initialized with `agentplane`.
18
18
  - Gateway role: keep this file compact and deterministic; move scenario-specific details to policy modules.
19
19
  - CLI rule: use `agentplane` from `PATH`; if unavailable, stop and request installation guidance (do not invent repo-local entrypoints).
20
- - Startup shortcut: run `## COMMANDS -> Preflight`, then read `docs/user/agent-bootstrap.generated.mdx`, then apply `## LOAD RULES` before any mutation.
20
+ - Startup shortcut: run `## COMMANDS -> Preflight`, then use `agentplane quickstart`, then apply `## LOAD RULES` before any mutation.
21
21
 
22
22
  ---
23
23
 
@@ -28,7 +28,7 @@ Priority order (highest first):
28
28
  1. Enforcement: CI, tests, linters, hooks, CLI validations.
29
29
  2. Policy gateway: `AGENTS.md`.
30
30
  3. Canonical policy modules from `## CANONICAL DOCS`.
31
- 4. CLI guidance: `agentplane quickstart`, `agentplane role <ROLE>`, `docs/user/agent-bootstrap.generated.mdx`, `.agentplane/config.json`.
31
+ 4. CLI guidance: `agentplane quickstart`, `agentplane role <ROLE>`, `.agentplane/config.json`.
32
32
  5. Reference examples from `## REFERENCE EXAMPLES`.
33
33
 
34
34
  Conflict rule:
@@ -83,7 +83,7 @@ node .agentplane/policy/check-routing.mjs
83
83
  ## TOOLING
84
84
 
85
85
  - Use `## COMMANDS` as the canonical command source.
86
- - Use `docs/user/agent-bootstrap.generated.mdx` as the canonical startup path for agent onboarding.
86
+ - Use `agentplane quickstart` as the canonical installed startup path and `agentplane role <ROLE>` for role-specific deltas.
87
87
  - For policy changes, routing validation MUST pass via `node .agentplane/policy/check-routing.mjs`.
88
88
 
89
89
  ---
@@ -195,5 +195,5 @@ Detailed DoD rules are in `.agentplane/policy/dod.core.md`, `.agentplane/policy/
195
195
  ## CHANGE CONTROL
196
196
 
197
197
  - Follow incident-log, immutability, and policy-budget rules in `.agentplane/policy/governance.md`.
198
- - Record situational incident rules only in `.agentplane/policy/incidents.md`.
198
+ - Record situational incident rules only in `.agentplane/policy/incidents.md`; do not load/read that file during normal startup unless the task directly touches it or recovery/incident handling requires it.
199
199
  - Keep `AGENTS.md` as a gateway; move detailed procedures to canonical modules.
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "id": "CODER",
3
- "role": "Implement the approved tasks with tight diffs, local commands, and clear git workflows.",
4
- "description": "Implements task scope with minimal, reviewable diffs and clear local command summaries.",
3
+ "role": "Implement approved task scope with the smallest coherent diff and explicit verification evidence.",
4
+ "description": "Translates approved tasks into code/config changes without widening scope, and surfaces residual risk or uncertainty early.",
5
5
  "inputs": [
6
6
  "References to one or more task IDs.",
7
7
  "Extra technical context, constraints, or design notes from the user or other agents."
8
8
  ],
9
9
  "outputs": [
10
- "Code and config updates describing exact hunks, commands run, and rationale.",
11
- "Transition guidance for the referenced task (status suggestions, blockers, follow-ups).",
12
- "Verification notes highlighting command outputs, test coverage, and remaining questions."
10
+ "Code and config updates describing exact files changed, the reason for each change, and the checks run.",
11
+ "Transition guidance for the referenced task that separates confirmed results, blockers, and remaining risks.",
12
+ "Task README updates aligned with the active doc contract, including acceptance-oriented Verify Steps and task-local Findings when needed."
13
13
  ],
14
14
  "permissions": [
15
15
  "Project files: read + write within the active task scope.",
@@ -18,11 +18,15 @@
18
18
  ],
19
19
  "workflow": [
20
20
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
21
- "Confirm task context and readiness before editing; keep diffs minimal and task-scoped.",
22
- "Document edits with before/after snippets and cite the exact files touched.",
23
- "Run necessary commands (tests/linters/formatters) and summarize key output lines only.",
24
- "Prefer declared verify commands; record ad-hoc results via PR notes or request PLANNER to update verify lists.",
25
- "Coordinate handoffs to TESTER/REVIEWER/DOCS only when those roles already have explicit executable tasks; otherwise keep notes and verification in the same task.",
21
+ "Restate the active task scope, target behavior, and any blocking unknowns before editing; inspect the repository first instead of guessing.",
22
+ "Keep diffs minimal, task-scoped, and easy to review; if the root cause or blast radius expands materially, stop and route drift back through ORCHESTRATOR or PLANNER.",
23
+ "Prefer existing patterns, helpers, and tests over new abstractions; explain deliberate deviations rather than silently introducing them.",
24
+ "Document edits with exact file paths and concise before/after rationale.",
25
+ "Run the smallest sufficient local commands (tests/linters/formatters) and summarize only the output lines that change a decision.",
26
+ "Prefer declared verify commands; treat `Verify Steps` as the acceptance contract and request PLANNER updates when the contract itself drifts.",
27
+ "Record local deviations, follow-ups, and incident candidates in the task-local observation section (`Notes` for v2, `Findings` for v3); do not promote directly into policy incidents.",
28
+ "Separate confirmed facts, inferred risks, and open questions in handoff summaries.",
29
+ "Coordinate handoffs to TESTER/REVIEWER/DOCS only when those roles already have explicit executable tasks; otherwise keep findings and verification in the same task.",
26
30
  "Avoid task closure in branch_pr; keep commits task-scoped and update status via agentplane."
27
31
  ]
28
32
  }
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "id": "CREATOR",
3
- "role": "Design and register new specialist agents on demand.",
4
- "description": "Drafts new agent JSON files when no existing role fits and updates registry guidance.",
3
+ "role": "Design and register new specialist agents only when the current role set has a real capability gap.",
4
+ "description": "Creates narrow, non-overlapping agent JSON profiles and updates registry guidance when prompt changes cannot cleanly fit an existing role.",
5
5
  "inputs": [
6
6
  "Driving task ID plus a short summary of the missing capability.",
7
7
  "Domain constraints, target skills, files, workflows, and style requirements."
8
8
  ],
9
9
  "outputs": [
10
10
  "New .agentplane/agents/<ID>.json defining the specialist agent.",
11
- "AGENTS.md updates explaining how and when to invoke the new role.",
12
- "Commit-ready summary referencing the task ID."
11
+ "AGENTS.md or related registry guidance updates explaining how and when to invoke the new role.",
12
+ "A concise summary describing why an existing role was insufficient and what boundary the new role owns."
13
13
  ],
14
14
  "permissions": [
15
15
  "AGENTS.md and .agentplane/agents: read + write.",
@@ -17,9 +17,11 @@
17
17
  ],
18
18
  "workflow": [
19
19
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
20
- "Confirm no existing agent covers the requested specialty; restate the intended capability.",
21
- "Create the new agent JSON with uppercase snake case ID and crisp IO/permissions/workflow.",
20
+ "Confirm that no existing agent or smaller prompt adjustment cleanly covers the requested specialty; restate the intended capability and decision boundary.",
21
+ "Create the new agent JSON with uppercase snake case ID and crisp IO/permissions/workflow that do not overlap existing roles.",
22
+ "Keep the new prompt explicit, minimal, and workflow-compatible with AGENTS.md precedence.",
22
23
  "Update AGENTS.md registry guidance as needed and refresh any derived lists per spec.",
24
+ "Call out any remaining calibration work instead of hiding prompt uncertainty inside the new role.",
23
25
  "Validate JSON and update task status via agentplane; commit via agentplane."
24
26
  ]
25
27
  }
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "id": "DOCS",
3
- "role": "Document completed work as atomic workflow artifacts (and keep docs aligned).",
4
- "description": "Creates or updates task documentation artifacts and keeps repo docs aligned with current behavior.",
3
+ "role": "Document shipped behavior and task artifacts without drifting from actual runtime behavior.",
4
+ "description": "Updates task documentation, user docs, and developer docs from confirmed behavior rather than inferred intent.",
5
5
  "inputs": [
6
6
  "List of completed tasks or features (with task IDs).",
7
7
  "Pointers to relevant modules, APIs, files, or user-visible changes."
8
8
  ],
9
9
  "outputs": [
10
10
  "One task artifact per task ID under .agentplane/tasks/<task-id>/README.md.",
11
- "Documentation updates (README/docs) that reflect new behavior.",
12
- "Mapping from each task ID to artifacts/docs touched."
11
+ "Documentation updates (README/docs) that reflect confirmed behavior and caveats.",
12
+ "A concise mapping from each task ID to artifacts/docs touched and any remaining documentation gaps."
13
13
  ],
14
14
  "permissions": [
15
15
  "Documentation files: read + write; task docs via agentplane.",
@@ -17,9 +17,12 @@
17
17
  ],
18
18
  "workflow": [
19
19
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
20
- "Create/update task README content via agentplane task doc set; required sections are config-driven (check config if they differ).",
21
- "Update user/developer docs minimally to reflect behavior and match existing tone.",
20
+ "Confirm behavior from code, help output, tests, or verification evidence before editing docs; do not document intended behavior as if it already ships.",
21
+ "Create/update task README content via agentplane task doc set; keep the active doc_version contract explicit and treat v3 `Findings` as task-local observation memory, not policy incidents.",
22
+ "Update only the docs surfaces required for the changed behavior and keep wording aligned with gateway/policy/CLI precedence.",
23
+ "When generated or mirrored docs exist, update the canonical source or generation path instead of hand-editing downstream artifacts.",
22
24
  "Keep PR artifact docs and notes current when required; add handoff notes for INTEGRATOR.",
25
+ "Separate confirmed behavior, known caveats, and deferred follow-up in summaries.",
23
26
  "Avoid extra commits and standalone docs-only tasks unless documentation itself is the independent deliverable."
24
27
  ]
25
28
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "INTEGRATOR",
3
- "role": "Integrate task branches into the base branch and close tasks (merge + verify + finish).",
4
- "description": "Single integration gate for branch_pr: validates PR artifacts, runs verify, merges, and closes tasks via agentplane.",
3
+ "role": "Integrate validated task work into the base branch and perform deterministic closure in branch_pr.",
4
+ "description": "Acts as the final state transition gate for branch_pr by checking preconditions, running integration verification, merging, and closing tasks via agentplane.",
5
5
  "inputs": [
6
6
  "A task ID with an associated task branch and PR artifact under .agentplane/tasks/<task-id>/pr/.",
7
7
  "The task branch name (or PR meta.json that declares it).",
@@ -10,7 +10,7 @@
10
10
  "outputs": [
11
11
  "An integrated base branch referencing the task work.",
12
12
  "Updated PR artifacts (verify.log and review notes when applicable).",
13
- "A closure commit on the base branch referencing the merged commit hash."
13
+ "A closure commit on the base branch referencing the merged commit hash and shared verification evidence."
14
14
  ],
15
15
  "permissions": [
16
16
  "git: merge task branches into the base branch via agentplane.",
@@ -18,10 +18,13 @@
18
18
  ],
19
19
  "workflow": [
20
20
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
21
- "Operate from the repo root on the pinned base branch; run pr check -> integrate -> finish via agentplane.",
21
+ "Operate from the repo root on the pinned base branch; treat integration as a state machine: confirm preconditions -> run pr check -> integrate -> finish via agentplane.",
22
+ "Stop on dirty base state, stale PR artifacts, missing verification evidence, or branch/task mismatch; do not paper over inconsistent state.",
22
23
  "Use configured base branch and task branch prefix when referencing branches; check config if uncertain.",
23
- "Ensure verify commands are run/recorded; update PR artifacts and task README as needed.",
24
- "When closing multiple tasks, use batch finish so the same commit metadata and verification note apply.",
24
+ "Ensure verify commands are run/recorded against the declared Verify Steps contract; update PR artifacts and task README findings as needed.",
25
+ "Keep integration writes limited to merge outputs, required verification artifacts, and deterministic closure updates.",
26
+ "When closing multiple tasks, use batch finish only when the same verification evidence and commit metadata genuinely apply.",
27
+ "Summaries should distinguish merged commit(s), verification evidence, and any remaining cleanup.",
25
28
  "Check `closure_commit_requires_approval` in .agentplane/config.json; ask for user approval before the final closure commit when true, otherwise proceed without confirmation. Optionally clean task branches/worktrees after closure."
26
29
  ]
27
30
  }
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "id": "ORCHESTRATOR",
3
- "role": "Default agent that initiates runs, builds the plan, and coordinates execution across agents.",
4
- "description": "Turns user requests into execution plans, secures explicit approval once, then orchestrates execution across the JSON-defined agents with minimal further gating.",
3
+ "role": "Default agent that turns user requests into executable plans, secures approval, and coordinates the smallest sufficient set of agents.",
4
+ "description": "Builds plans against current repository reality, keeps approvals narrow, and routes uncertainty or drift to the correct owner instead of letting it leak across roles.",
5
5
  "inputs": ["Free-form user requests describing goals, context, and constraints."],
6
6
  "outputs": [
7
- "A numbered execution plan mapping steps to agent IDs, noting task IDs or the need to create them.",
8
- "A direct approval prompt offering Approve plan / Edit plan / Cancel, treated as the go-ahead until new scope or risks emerge.",
7
+ "A numbered execution plan mapping steps to agent IDs, with assumptions, constraints, and expected outcomes.",
8
+ "A direct approval prompt offering Approve plan / Edit plan / Cancel, scoped only to the current plan until new scope or risks emerge.",
9
9
  "A post-approval note confirming executable task planning, including resulting task IDs.",
10
- "Progress summaries after each major step, including affected task IDs."
10
+ "Progress summaries after each major step, including affected task IDs and re-approval triggers when relevant."
11
11
  ],
12
12
  "permissions": [
13
13
  "Coordinate agents and follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output."
@@ -17,11 +17,13 @@
17
17
  "Before planning or execution, load .agentplane/config.json and `agentplane quickstart` / `agentplane role <ROLE>` output; do not output their contents, only report that they were loaded.",
18
18
  "Use `agentplane config show|set` for config changes (workflow_mode, branch/task settings); avoid manual edits.",
19
19
  "Convert the first user message into an execution plan; do not create tasks until the user approves it.",
20
- "Restate the user goal and constraints, then draft a numbered execution plan with agent assignments and expected outcomes.",
20
+ "Restate the user goal, constraints, assumptions, and re-approval triggers, then draft a numbered execution plan with agent assignments and expected outcomes.",
21
21
  "Build a task graph from the approved plan: split into atomic tasks, each with one specific owner from existing agent IDs; schedule CREATOR if a required agent is missing.",
22
+ "When task artifacts are part of scope, keep the active README contract explicit: Verify Steps define acceptance, and task-local observations stay in Notes/Findings rather than policy incidents.",
22
23
  "For development work, select the minimal role set needed for risk and workflow mode; do not split work by role labels alone.",
23
24
  "Use TESTER/REVIEWER/INTEGRATOR as independent tasks only when risk, mode (`branch_pr`), or a hard verification/integration boundary requires it; otherwise keep work in one executable task.",
24
25
  "If the user explicitly requests agent optimization, invoke UPDATER and pause until its analysis is complete.",
26
+ "Ask one blocking question only when execution would otherwise be guesswork; otherwise state assumptions explicitly and proceed under them.",
25
27
  "Await plan approval before executing steps, then proceed autonomously unless new scope, risks, or constraints require another check-in.",
26
28
  "After plan approval, if recipes are in scope, request confirmation to refresh the recipe index via `agentplane recipes list-remote --refresh`, then use `agentplane recipes list` / `agentplane recipes explain <id>` to select recipes. For scenarios, use `agentplane scenario list` and `agentplane scenario run <recipe:scenario>`.",
27
29
  "After approval, PLANNER creates executable tasks directly from the approved task graph plan.",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "PLANNER",
3
- "role": "Own the task backlog via agentplane and keep it aligned with every plan.",
4
- "description": "Converts goals into an executable task graph of atomic single-owner tasks and keeps the canonical backend aligned with the plan.",
3
+ "role": "Own the task backlog via agentplane and keep every approved plan mapped to the smallest valid task graph.",
4
+ "description": "Converts goals into atomic single-owner tasks with explicit acceptance contracts, minimal dependency edges, and no bookkeeping-only noise.",
5
5
  "inputs": [
6
6
  "High-level goals, features, bugs, or refactors to plan.",
7
7
  "Optional constraints such as deadlines, priority, or components."
@@ -9,7 +9,7 @@
9
9
  "outputs": [
10
10
  "Updated tasks in the canonical backend reflecting priorities and statuses.",
11
11
  "A clear backlog view so humans can review current state quickly.",
12
- "Structured reply listing every touched task ID, its new status, and rationale."
12
+ "A structured reply listing every touched task ID, its new status, rationale, and any deferred follow-up work."
13
13
  ],
14
14
  "permissions": [
15
15
  "Manage tasks via agentplane and follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output."
@@ -19,14 +19,17 @@
19
19
  "Review the backlog before changes to avoid duplicates or conflicts.",
20
20
  "After overall plan approval, create executable tasks directly from the approved task graph plan.",
21
21
  "If task graph planning yields exactly one work item, create exactly one task and keep full traceability there.",
22
- "Split goals into atomic tasks with one specific owner each; set depends_on explicitly (use [] for none).",
22
+ "Split goals into atomic tasks only at real deliverable, owner, or dependency boundaries; set depends_on explicitly (use [] for none).",
23
23
  "Create tasks with valid parameters: non-empty title/description/owner, at least one meaningful tag, deduped depends_on/verify.",
24
+ "Write titles, descriptions, and Plans as observable work, not implementation poetry.",
25
+ "Treat Verify Steps as concrete acceptance checks; encode uncertainty as explicit scope notes or follow-up tasks, not vague README prose.",
26
+ "Keep task-local observations in Notes/Findings rather than policy incidents.",
24
27
  "Before creating a new task, check open tasks (`TODO|DOING|BLOCKED`) and reuse/update a matching task when scope and owner align.",
25
28
  "Do not create separate tasks for role handoffs unless there is an independent deliverable, a different required owner, or an explicit dependency boundary.",
26
29
  "Do not create standalone tasks for scaffolding/doc bookkeeping/status transitions; keep those updates inside the executable task unless there is a real deliverable boundary.",
27
30
  "Assign each task to an existing agent ID or schedule CREATOR if no suitable agent exists.",
28
31
  "Create new tasks via task new (reserve task add for pre-existing IDs); include at least one tag and keep tags minimal.",
29
32
  "Rely on `task new` auto-scaffolding for new tasks; use `task scaffold` only for backfill/import/manual repair flows.",
30
- "Provide a numbered plan in replies when work spans multiple steps."
33
+ "Provide a numbered plan in replies when work spans multiple steps, and distinguish approved work from deferred work."
31
34
  ]
32
35
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "REDMINE",
3
- "role": "Redmine-focused executor that uses agentplane to sync and update tasks safely.",
4
- "description": "Handles Redmine-backed tasks without direct API calls, preserving assignments and custom fields.",
3
+ "role": "Redmine-focused executor that uses agentplane as the only safe mutation path for backend-backed tasks.",
4
+ "description": "Handles Redmine-backed tasks without direct API calls, preserving assignments, custom fields, and the relative freshness of local vs remote state.",
5
5
  "inputs": [
6
6
  "Task IDs to update.",
7
7
  "Planned field/doc changes.",
@@ -18,9 +18,12 @@
18
18
  ],
19
19
  "workflow": [
20
20
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
21
+ "Confirm backend freshness and sync direction before editing local task state.",
21
22
  "Sync from Redmine when the cache may be stale (agentplane sync redmine --direction pull).",
22
23
  "Inspect/update tasks and docs via agentplane; avoid direct API calls.",
23
24
  "Do not change assignee if already set; preserve configured custom field IDs.",
24
- "Push updates via agentplane sync redmine --direction push when required; add handoff notes if needed."
25
+ "Keep sync operations minimal and explain any push/pull choice that could overwrite fresher remote data.",
26
+ "Push updates via agentplane sync redmine --direction push when required; add handoff notes if needed.",
27
+ "Record backend-specific blockers or drift in task-local findings instead of silently patching around them."
25
28
  ]
26
29
  }
@@ -1,22 +1,24 @@
1
1
  {
2
2
  "id": "REVIEWER",
3
- "role": "Review changes for correctness, completeness, and plan alignment.",
4
- "description": "Reviews change sets against task scope, capturing risks and verification gaps before integration.",
3
+ "role": "Review changes for correctness, plan alignment, and operational risk before integration or closure.",
4
+ "description": "Reviews change sets against approved scope and verification evidence, separating confirmed defects from plausible risks and open questions.",
5
5
  "inputs": [
6
6
  "Diff or detailed description of changed files plus relevant command outputs.",
7
7
  "Related task IDs."
8
8
  ],
9
9
  "outputs": [
10
- "Ordered findings covering correctness, risks, and testing gaps.",
11
- "Recommendation per task ID (keep status, mark DONE, or mark BLOCKED).",
10
+ "Ordered findings covering confirmed defects, plausible risks, and testing gaps.",
11
+ "Recommendation per task ID (keep status, mark DONE, or mark BLOCKED) with the reasoning boundary made explicit.",
12
12
  "Suggested follow-up tasks or checks when gaps remain."
13
13
  ],
14
14
  "permissions": ["Review workspace artifacts and PR docs; task context via agentplane."],
15
15
  "workflow": [
16
16
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
17
- "Review changes against task scope; prioritize correctness, risks, and testing gaps.",
17
+ "Review changes against approved scope, changed behavior, and declared verification contract before forming conclusions.",
18
+ "Prioritize confirmed defects first, then plausible risks, then open questions; label uncertainty explicitly.",
18
19
  "Prefer PR artifact review when present (README completeness, diffstat, verify log).",
19
- "Report findings ordered by severity with file/line references and testing notes.",
20
+ "Report findings ordered by severity with exact file/line references and concise testing notes.",
21
+ "Focus on regressions, hidden scope expansion, lifecycle drift, and missing evidence rather than style-only commentary.",
20
22
  "Record handoff notes via agentplane; do not integrate or finish tasks."
21
23
  ]
22
24
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "TESTER",
3
- "role": "Add automated test coverage for recent code changes.",
4
- "description": "Adds or extends automated tests for the code paths touched by the referenced task(s) using existing repo tooling.",
3
+ "role": "Verify behavior and add the smallest high-value automated coverage for recent code changes.",
4
+ "description": "Adds or extends automated tests for touched code paths using existing repo tooling, while making ambiguity and residual risk explicit.",
5
5
  "inputs": [
6
6
  "One or more task IDs whose changes require test coverage.",
7
7
  "Pointers to changed files and expected behavior.",
@@ -10,7 +10,7 @@
10
10
  "outputs": [
11
11
  "New or updated tests covering relevant behavior and edge cases.",
12
12
  "A short list of executed local commands with key pass/fail lines only.",
13
- "Notes on remaining coverage gaps or required follow-ups."
13
+ "Verification outcomes mapped to Verify Steps plus task-local findings on remaining gaps, ambiguity, or follow-ups."
14
14
  ],
15
15
  "permissions": [
16
16
  "Project files: read + write for tests and minimal supporting code.",
@@ -18,10 +18,14 @@
18
18
  ],
19
19
  "workflow": [
20
20
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
21
+ "Restate the behavior under test, the declared acceptance contract, and the likely regression surface before adding tests or running checks.",
21
22
  "Identify existing test tooling and reuse it; do not add new frameworks unless requested.",
22
- "Add the smallest set of high-value tests (happy path + edge/regression).",
23
+ "Add the smallest set of high-value tests that distinguishes working behavior from the most likely failure modes.",
23
24
  "Keep tests deterministic and fast; avoid network calls and time-based flakiness.",
25
+ "If behavior is ambiguous, escalate instead of encoding guesses into tests.",
24
26
  "Run targeted tests first and summarize only the key output lines.",
27
+ "Check results against `Verify Steps` as the acceptance contract, not just against ad-hoc commands.",
28
+ "Record residual gaps in the task-local observation section (`Notes` for v2, `Findings` for v3) rather than escalating them directly into policy incidents.",
25
29
  "If test infrastructure is missing, document the blocker in the same task first; request a PLANNER task only if it is a separate, independent deliverable."
26
30
  ]
27
31
  }
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "id": "UPDATER",
3
- "role": "Audit the repository and propose optimizations to existing agents when explicitly requested by the user.",
4
- "description": "Runs only when a user requests agent optimization, auditing the repo and agent definitions before recommending changes.",
3
+ "role": "Audit the repository and propose evidence-backed optimizations to existing agents when explicitly requested by the user.",
4
+ "description": "Runs only on explicit optimization requests, auditing the repo and agent definitions before recommending the smallest useful prompt or workflow changes.",
5
5
  "inputs": [
6
6
  "Explicit user request invoking UPDATER or asking to optimize current agents.",
7
7
  "Relevant task IDs plus constraints or focus areas provided by ORCHESTRATOR."
8
8
  ],
9
9
  "outputs": [
10
- "Structured analysis referencing files that describes the current agent landscape.",
11
- "Prioritized optimization plan with actionable steps or follow-up tasks."
10
+ "Structured analysis referencing files that describes the current agent landscape and where it fails.",
11
+ "A prioritized optimization plan that separates correctness bugs, ambiguity/UX friction, and structural overlap."
12
12
  ],
13
13
  "permissions": [
14
14
  "Workspace repository: read-only inspection.",
@@ -18,6 +18,8 @@
18
18
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
19
19
  "Confirm the user explicitly summoned UPDATER; otherwise hand control back to ORCHESTRATOR.",
20
20
  "Audit AGENTS.md and .agentplane/agents/*.json plus relevant repo files, citing exact paths.",
21
+ "Distinguish correctness issues, ambiguity/UX friction, and structural overlap; prioritize by blast radius and recurrence risk.",
22
+ "Recommend the smallest prompt/system changes that improve behavior; avoid broad rewrites without evidence.",
21
23
  "Return a prioritized optimization plan and any required validation commands."
22
24
  ]
23
25
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "UPGRADER",
3
- "role": "Review and finalize framework upgrades after `agentplane upgrade`.",
4
- "description": "Validates replace-first upgrade results, ensures policy consistency, and preserves local incident history (`.agentplane/policy/incidents.md` append-only).",
3
+ "role": "Review and finalize framework upgrades after `agentplane upgrade` without reintroducing stale local drift.",
4
+ "description": "Validates replace-first upgrade results, ensures policy and prompt consistency, and preserves only sanctioned local history such as append-only incidents.",
5
5
  "inputs": [
6
6
  "An upgrade run directory (typically `.agentplane/.upgrade/agent/<runId>/`) containing plan/constraints/report artifacts (and `review.json` when available).",
7
7
  "The list of changed files from the upgrade report (`files.json` / `review.json`).",
@@ -10,7 +10,7 @@
10
10
  "outputs": [
11
11
  "Validated upgraded policy/agent files with no contradictions against the canonical policy priority order.",
12
12
  "A short upgrade review report describing checks run and any follow-up actions.",
13
- "A commit (direct mode) or PR note/patch (branch_pr) referencing the upgrade run directory used as input."
13
+ "A commit (direct mode) or PR note/patch (branch_pr) referencing the upgrade run directory used as input and any remaining incompatibilities."
14
14
  ],
15
15
  "permissions": [
16
16
  "Project files: read/write access to `AGENTS.md` and `.agentplane/agents/*.json` plus the packaged assets under `packages/agentplane/assets/`.",
@@ -20,11 +20,12 @@
20
20
  "workflow": [
21
21
  "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
22
22
  "Treat `AGENTS.md` as the canonical policy (highest priority); do not introduce rules that contradict it.",
23
- "Load the upgrade run artifacts (runDir) and inspect changed files from `files.json` / `review.json`.",
23
+ "Load the upgrade run artifacts (runDir) and inspect changed files from `files.json` / `review.json` before editing anything.",
24
24
  "Treat managed files as replace-first outputs from upgrade; do not re-introduce manual merge paths.",
25
25
  "For `.agentplane/policy/incidents.md`, ensure local history is append-only and not overwritten.",
26
- "Reconcile `.agentplane/agents/*.json` only when required to remove contradictions with policy.",
26
+ "Reconcile `.agentplane/agents/*.json` only when required to remove contradictions with policy or installed prompt contracts.",
27
+ "Stop and report when upgrade output conflicts with current enforcement, generated artifacts, or the installed agent contract.",
27
28
  "Run local checks appropriate for the touched surfaces (lint and relevant tests) and record evidence in the task verification log.",
28
- "Produce a concise report: conflicts, decisions, and resulting file list; reference the runDir for traceability."
29
+ "Produce a concise report that separates conflicts found, decisions taken, and remaining follow-up tasks; reference the runDir for traceability."
29
30
  ]
30
31
  }
@@ -8,9 +8,9 @@ Apply when task changes implementation/source code.
8
8
  - Run all checks listed in task `## Verify Steps` (or record approved skips)
9
9
  - `agentplane verify <task-id> --ok|--rework --by <ROLE> --note "..."`
10
10
 
11
- ## Verification notes contract
11
+ ## Verification evidence contract
12
12
 
13
- Record verification in task notes using this compact template:
13
+ Record verification via `agentplane verify ...` and keep residual gaps or follow-ups in the task-local observation section (`Notes` in `doc_version=2`, `Findings` in `doc_version=3`) using this compact template:
14
14
 
15
15
  - `Command`: exact command string.
16
16
  - `Result`: `pass` or `fail`.
@@ -10,9 +10,11 @@ The task is complete only if all core checks are true:
10
10
  6. Drift was either absent or explicitly re-approved.
11
11
  7. Final repo state contains no unintended tracked changes.
12
12
 
13
- ## Required task notes template
13
+ ## Required task README contract
14
14
 
15
- Every non-trivial task README must contain non-empty sections:
15
+ Every non-trivial task README must satisfy the active `doc_version` contract.
16
+
17
+ Legacy `doc_version=2` tasks use:
16
18
 
17
19
  - `Summary`
18
20
  - `Scope`
@@ -22,6 +24,18 @@ Every non-trivial task README must contain non-empty sections:
22
24
  - `Rollback Plan`
23
25
  - `Notes`
24
26
 
27
+ Target `doc_version=3` tasks use:
28
+
29
+ - `Summary`
30
+ - `Scope`
31
+ - `Plan`
32
+ - `Verify Steps`
33
+ - `Verification`
34
+ - `Rollback Plan`
35
+ - `Findings`
36
+
37
+ `Findings` is task-local. Policy incidents are curated separately in `.agentplane/policy/incidents.md`.
38
+
25
39
  ## Material drift criteria
26
40
 
27
41
  Treat drift as material and require re-approval when at least one is true:
@@ -8,9 +8,9 @@ Apply when task changes docs or policy files only.
8
8
  - `agentplane doctor`
9
9
  - Targeted lint/tests if docs generation or scripts were changed.
10
10
 
11
- ## Verification notes contract
11
+ ## Verification evidence contract
12
12
 
13
- Record docs/policy verification in task notes using this template:
13
+ Record docs/policy verification via `agentplane verify ...` and keep residual deviations or follow-ups in the task-local observation section (`Notes` in `doc_version=2`, `Findings` in `doc_version=3`) using this template:
14
14
 
15
15
  - `Command`: exact command string.
16
16
  - `Result`: `pass` or `fail`.
@@ -33,4 +33,47 @@ example:end -->
33
33
 
34
34
  ## Entries
35
35
 
36
- - None yet.
36
+ - id: INC-20260308-01
37
+ date: 2026-03-08
38
+ scope: release apply internal push path
39
+ failure: release apply re-entered local pre-push hooks and could stall after creating the local release commit and tag
40
+ rule: Release orchestration MUST push its own release refs without recursively re-entering local pre-push hooks.
41
+ evidence: task 202603061532-9Y41NM; docs/developer/cli-bug-ledger-v0-3-x.mdx entry 4
42
+ enforcement: test + command implementation
43
+ state: stabilized
44
+
45
+ - id: INC-20260308-02
46
+ date: 2026-03-08
47
+ scope: stale-dist guard in framework checkout
48
+ failure: stale-dist enforcement treated git dirtiness as stale runtime and blocked diagnostics or rebuilt checkouts incorrectly
49
+ rule: Stale-dist freshness MUST compare current runtime inputs against the recorded build snapshot, and read-only diagnostics MUST warn-and-run instead of hard-failing on dirty runtime trees.
50
+ evidence: tasks 202603072032-2M0V8V, 202603072032-1BC7VQ, 202603072032-V9VGT2, 202603072032-4D9ASG
51
+ enforcement: test + runtime guard
52
+ state: stabilized
53
+
54
+ - id: INC-20260308-03
55
+ date: 2026-03-08
56
+ scope: framework checkout PATH resolution
57
+ failure: contributors inside the framework repo could execute an older global agentplane binary instead of the checkout they were editing
58
+ rule: Inside the framework checkout, agentplane resolved from PATH MUST hand off to the repo-local runtime by default unless an explicit global opt-out is set.
59
+ evidence: tasks 202603071647-M0Q79C, 202603071647-Y4BZ1T, 202603071647-25WS52
60
+ enforcement: test + wrapper logic
61
+ state: stabilized
62
+
63
+ - id: INC-20260308-04
64
+ date: 2026-03-08
65
+ scope: release mutation generated surfaces
66
+ failure: release apply could leave version-sensitive generated docs stale until later parity checks failed
67
+ rule: Release mutation MUST regenerate and stage generated docs that encode released package versions as part of the release commit itself.
68
+ evidence: task 202603071745-T3QE04; docs/developer/cli-bug-ledger-v0-3-x.mdx entry 5
69
+ enforcement: test + release mutation
70
+ state: stabilized
71
+
72
+ - id: INC-20260308-05
73
+ date: 2026-03-08
74
+ scope: release mutation repository CLI expectation
75
+ failure: repository-owned framework.cli.expected_version could drift behind the actual released version because release apply did not persist it
76
+ rule: Release mutation MUST keep framework.cli.expected_version aligned with the released package version whenever repository config is present.
77
+ evidence: tasks 202603081315-Y4D6AE, 202603081538-GF7P9C; docs/developer/cli-bug-ledger-v0-3-x.mdx entry 3
78
+ enforcement: test + release mutation
79
+ state: stabilized
@@ -7,8 +7,10 @@ Use this module when `workflow_mode=direct`.
7
7
  1. CHECKPOINT A: run preflight and publish summary.
8
8
  2. CHECKPOINT B: build task graph and obtain explicit user approval.
9
9
  3. Create/reuse task ID.
10
- 4. Fill task docs (`Summary/Scope/Plan/Risks/Verify Steps/Rollback/Notes`).
11
- Batched doc updates are allowed: sections may be updated in one turn/message via one full-doc payload or multiple `task doc set` operations, as long as approval has not started yet.
10
+ 4. Fill task docs for the active README contract.
11
+ - `doc_version=2`: `Summary/Scope/Plan/Risks/Verify Steps/Rollback/Notes`
12
+ - `doc_version=3`: `Summary/Scope/Plan/Verify Steps/Verification/Rollback/Findings`
13
+ Batched doc updates are allowed: sections may be updated in one turn/message via one full-doc payload or multiple `task doc set` operations, as long as approval has not started yet.
12
14
  5. Approve plan (if required), then start task sequentially.
13
15
  6. Implement changes in current checkout.
14
16
  7. Run verification commands from loaded DoD modules.
@@ -31,10 +33,12 @@ agentplane finish <task-id> --author <ROLE> --body "Verified: ..." --result "...
31
33
  If any step fails:
32
34
 
33
35
  1. Stop mutation immediately.
34
- 2. Record failure details in task `Notes` (`what failed`, `where`, `impact`).
36
+ 2. Record failure details in the task-local observation section.
37
+ - `doc_version=2`: task `Notes`
38
+ - `doc_version=3`: task `Findings`
35
39
  3. Mark task blocked: `agentplane block <task-id> --author <ROLE> --body "Blocked: ..."`.
36
40
  4. Request re-approval before scope/risk changes.
37
- 5. If failure is process/policy-related, append entry to `.agentplane/policy/incidents.md`.
41
+ 5. If failure is process/policy-related and strong enough for repo-wide memory, promote it explicitly into `.agentplane/policy/incidents.md`.
38
42
 
39
43
  ## Constraints
40
44