@exaudeus/workrail 3.27.0 → 3.29.0

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 (160) hide show
  1. package/dist/console/assets/{index-FtTaDku8.js → index-BZ6HkxGf.js} +1 -1
  2. package/dist/console/index.html +1 -1
  3. package/dist/manifest.json +3 -3
  4. package/docs/README.md +57 -0
  5. package/docs/adrs/001-hybrid-storage-backend.md +38 -0
  6. package/docs/adrs/002-four-layer-context-classification.md +38 -0
  7. package/docs/adrs/003-checkpoint-trigger-strategy.md +35 -0
  8. package/docs/adrs/004-opt-in-encryption-strategy.md +36 -0
  9. package/docs/adrs/005-agent-first-workflow-execution-tokens.md +105 -0
  10. package/docs/adrs/006-append-only-session-run-event-log.md +76 -0
  11. package/docs/adrs/007-resume-and-checkpoint-only-sessions.md +51 -0
  12. package/docs/adrs/008-blocked-nodes-architectural-upgrade.md +178 -0
  13. package/docs/adrs/009-bridge-mode-single-instance-mcp.md +195 -0
  14. package/docs/adrs/010-release-pipeline.md +89 -0
  15. package/docs/architecture/README.md +7 -0
  16. package/docs/architecture/refactor-audit.md +364 -0
  17. package/docs/authoring-v2.md +527 -0
  18. package/docs/authoring.md +873 -0
  19. package/docs/changelog-recent.md +201 -0
  20. package/docs/configuration.md +505 -0
  21. package/docs/ctc-mcp-proposal.md +518 -0
  22. package/docs/design/README.md +22 -0
  23. package/docs/design/agent-cascade-protocol.md +96 -0
  24. package/docs/design/autonomous-console-design-candidates.md +253 -0
  25. package/docs/design/autonomous-console-design-review.md +111 -0
  26. package/docs/design/autonomous-platform-mvp-discovery.md +525 -0
  27. package/docs/design/claude-code-source-deep-dive.md +713 -0
  28. package/docs/design/console-cyberpunk-ui-discovery.md +504 -0
  29. package/docs/design/console-execution-trace-candidates-final.md +160 -0
  30. package/docs/design/console-execution-trace-candidates.md +211 -0
  31. package/docs/design/console-execution-trace-design-candidates-v2.md +113 -0
  32. package/docs/design/console-execution-trace-design-review.md +74 -0
  33. package/docs/design/console-execution-trace-discovery.md +394 -0
  34. package/docs/design/console-execution-trace-final-review.md +77 -0
  35. package/docs/design/console-execution-trace-review.md +92 -0
  36. package/docs/design/console-performance-discovery.md +415 -0
  37. package/docs/design/console-ui-backlog.md +280 -0
  38. package/docs/design/daemon-architecture-discovery.md +853 -0
  39. package/docs/design/daemon-design-candidates.md +318 -0
  40. package/docs/design/daemon-design-review-findings.md +119 -0
  41. package/docs/design/daemon-engine-design-candidates.md +210 -0
  42. package/docs/design/daemon-engine-design-review.md +131 -0
  43. package/docs/design/daemon-execution-engine-discovery.md +280 -0
  44. package/docs/design/daemon-gap-analysis.md +554 -0
  45. package/docs/design/daemon-owns-console-plan.md +168 -0
  46. package/docs/design/daemon-owns-console-review.md +91 -0
  47. package/docs/design/daemon-owns-console.md +195 -0
  48. package/docs/design/data-model-erd.md +11 -0
  49. package/docs/design/design-candidates-consolidate-dev-staleness.md +98 -0
  50. package/docs/design/design-candidates-walk-cache-depth-limit.md +80 -0
  51. package/docs/design/design-review-consolidate-dev-staleness.md +54 -0
  52. package/docs/design/design-review-walk-cache-depth-limit.md +48 -0
  53. package/docs/design/implementation-plan-consolidate-dev-staleness.md +142 -0
  54. package/docs/design/implementation-plan-walk-cache-depth-limit.md +141 -0
  55. package/docs/design/layer3b-ghost-nodes-design-candidates.md +229 -0
  56. package/docs/design/layer3b-ghost-nodes-design-review.md +93 -0
  57. package/docs/design/layer3b-ghost-nodes-implementation-plan.md +219 -0
  58. package/docs/design/list-workflows-latency-fix-plan.md +128 -0
  59. package/docs/design/list-workflows-latency-fix-review.md +55 -0
  60. package/docs/design/list-workflows-latency-fix.md +109 -0
  61. package/docs/design/native-context-management-api.md +11 -0
  62. package/docs/design/performance-sweep-2026-04.md +96 -0
  63. package/docs/design/routines-guide.md +219 -0
  64. package/docs/design/sequence-diagrams.md +11 -0
  65. package/docs/design/subagent-design-principles.md +220 -0
  66. package/docs/design/temporal-patterns-design-candidates.md +312 -0
  67. package/docs/design/temporal-patterns-design-review-findings.md +163 -0
  68. package/docs/design/test-isolation-from-config-file.md +335 -0
  69. package/docs/design/v2-core-design-locks.md +2746 -0
  70. package/docs/design/v2-lock-registry.json +734 -0
  71. package/docs/design/workflow-authoring-v2.md +1044 -0
  72. package/docs/design/workflow-docs-spec.md +218 -0
  73. package/docs/design/workflow-extension-points.md +687 -0
  74. package/docs/design/workrail-auto-trigger-system.md +359 -0
  75. package/docs/design/workrail-config-file-discovery.md +513 -0
  76. package/docs/docker.md +110 -0
  77. package/docs/generated/v2-lock-closure-plan.md +26 -0
  78. package/docs/generated/v2-lock-coverage.json +797 -0
  79. package/docs/generated/v2-lock-coverage.md +177 -0
  80. package/docs/ideas/backlog.md +3927 -0
  81. package/docs/ideas/design-candidates-mcp-resilience.md +208 -0
  82. package/docs/ideas/design-review-findings-mcp-resilience.md +119 -0
  83. package/docs/ideas/implementation_plan.md +249 -0
  84. package/docs/ideas/third-party-workflow-setup-design-thinking.md +1948 -0
  85. package/docs/implementation/02-architecture.md +316 -0
  86. package/docs/implementation/04-testing-strategy.md +124 -0
  87. package/docs/implementation/09-simple-workflow-guide.md +835 -0
  88. package/docs/implementation/13-advanced-validation-guide.md +874 -0
  89. package/docs/implementation/README.md +21 -0
  90. package/docs/integrations/claude-code.md +300 -0
  91. package/docs/integrations/firebender.md +315 -0
  92. package/docs/migration/v0.1.0.md +147 -0
  93. package/docs/naming-conventions.md +45 -0
  94. package/docs/planning/README.md +104 -0
  95. package/docs/planning/github-ticketing-playbook.md +195 -0
  96. package/docs/plans/README.md +24 -0
  97. package/docs/plans/agent-managed-ticketing-design.md +605 -0
  98. package/docs/plans/agentic-orchestration-roadmap.md +112 -0
  99. package/docs/plans/assessment-gates-engine-handoff.md +536 -0
  100. package/docs/plans/content-coherence-and-references.md +151 -0
  101. package/docs/plans/library-extraction-plan.md +340 -0
  102. package/docs/plans/mr-review-workflow-redesign.md +1451 -0
  103. package/docs/plans/native-context-management-epic.md +11 -0
  104. package/docs/plans/perf-fixes-design-candidates.md +225 -0
  105. package/docs/plans/perf-fixes-design-review-findings.md +61 -0
  106. package/docs/plans/perf-fixes-new-issues-candidates.md +264 -0
  107. package/docs/plans/perf-fixes-new-issues-review.md +110 -0
  108. package/docs/plans/prompt-fragments.md +53 -0
  109. package/docs/plans/ui-ux-workflow-design-candidates.md +120 -0
  110. package/docs/plans/ui-ux-workflow-discovery.md +100 -0
  111. package/docs/plans/ui-ux-workflow-review.md +48 -0
  112. package/docs/plans/v2-followup-enhancements.md +587 -0
  113. package/docs/plans/workflow-categories-candidates.md +105 -0
  114. package/docs/plans/workflow-categories-discovery.md +110 -0
  115. package/docs/plans/workflow-categories-review.md +51 -0
  116. package/docs/plans/workflow-discovery-model-candidates.md +94 -0
  117. package/docs/plans/workflow-discovery-model-discovery.md +74 -0
  118. package/docs/plans/workflow-discovery-model-review.md +48 -0
  119. package/docs/plans/workflow-source-setup-phase-1.md +245 -0
  120. package/docs/plans/workflow-source-setup-phase-2.md +361 -0
  121. package/docs/plans/workflow-staleness-detection-candidates.md +104 -0
  122. package/docs/plans/workflow-staleness-detection-review.md +58 -0
  123. package/docs/plans/workflow-staleness-detection.md +80 -0
  124. package/docs/plans/workflow-v2-design.md +69 -0
  125. package/docs/plans/workflow-v2-roadmap.md +74 -0
  126. package/docs/plans/workflow-validation-design.md +98 -0
  127. package/docs/plans/workflow-validation-roadmap.md +108 -0
  128. package/docs/plans/workrail-platform-vision.md +420 -0
  129. package/docs/reference/agent-context-cleaner-snippet.md +94 -0
  130. package/docs/reference/agent-context-guidance.md +140 -0
  131. package/docs/reference/context-optimization.md +284 -0
  132. package/docs/reference/example-workflow-repository-template/.github/workflows/validate.yml +125 -0
  133. package/docs/reference/example-workflow-repository-template/README.md +268 -0
  134. package/docs/reference/example-workflow-repository-template/workflows/example-workflow.json +80 -0
  135. package/docs/reference/external-workflow-repositories.md +916 -0
  136. package/docs/reference/feature-flags-architecture.md +472 -0
  137. package/docs/reference/feature-flags.md +349 -0
  138. package/docs/reference/god-tier-workflow-validation.md +272 -0
  139. package/docs/reference/loop-optimization.md +209 -0
  140. package/docs/reference/loop-validation.md +176 -0
  141. package/docs/reference/loops.md +465 -0
  142. package/docs/reference/mcp-platform-constraints.md +59 -0
  143. package/docs/reference/recovery.md +88 -0
  144. package/docs/reference/releases.md +177 -0
  145. package/docs/reference/troubleshooting.md +105 -0
  146. package/docs/reference/workflow-execution-contract.md +998 -0
  147. package/docs/roadmap/README.md +22 -0
  148. package/docs/roadmap/legacy-planning-status.md +103 -0
  149. package/docs/roadmap/now-next-later.md +70 -0
  150. package/docs/roadmap/open-work-inventory.md +389 -0
  151. package/docs/tickets/README.md +39 -0
  152. package/docs/tickets/next-up.md +76 -0
  153. package/docs/workflow-management.md +317 -0
  154. package/docs/workflow-templates.md +423 -0
  155. package/docs/workflow-validation.md +184 -0
  156. package/docs/workflows.md +254 -0
  157. package/package.json +3 -1
  158. package/spec/authoring-spec.json +61 -16
  159. package/workflows/workflow-for-workflows.json +252 -93
  160. package/workflows/workflow-for-workflows.v2.json +188 -77
@@ -0,0 +1,147 @@
1
+ # Migration Guide: v0.0.1 to v0.1.0
2
+
3
+ This guide helps you migrate your workflows from Workrail v0.0.1 to v0.1.0, which introduces loop support and schema versioning.
4
+
5
+ ## What's New in v0.1.0
6
+
7
+ ### Major Features
8
+ - **Loop Support**: Four types of loops (while, until, for, forEach)
9
+ - **Schema Versioning**: Explicit version field for workflows
10
+ - **Migration Tool**: Automated migration command
11
+
12
+ ### Breaking Changes
13
+ None - v0.1.0 is fully backward compatible with v0.0.1 workflows.
14
+
15
+ ## Automatic Migration
16
+
17
+ The easiest way to migrate is using the CLI tool:
18
+
19
+ ```bash
20
+ # Migrate a single workflow
21
+ workrail migrate my-workflow.json
22
+
23
+ # Preview changes without modifying files
24
+ workrail migrate my-workflow.json --dry-run
25
+
26
+ # Create a backup of the original
27
+ workrail migrate my-workflow.json --backup
28
+
29
+ # Save to a different file
30
+ workrail migrate my-workflow.json --output my-workflow-v0.1.0.json
31
+ ```
32
+
33
+ ## Manual Migration
34
+
35
+ If you prefer to migrate manually:
36
+
37
+ ### 1. Add Version Field
38
+
39
+ Add the `version` field to your workflow:
40
+
41
+ ```json
42
+ {
43
+ "id": "my-workflow",
44
+ "name": "My Workflow",
45
+ "description": "Does something useful",
46
+ "version": "0.1.0", // Add this line
47
+ "steps": [...]
48
+ }
49
+ ```
50
+
51
+ ### 2. Identify Loop Patterns
52
+
53
+ Look for repetitive steps that could be replaced with loops:
54
+
55
+ #### Before (v0.0.1):
56
+ ```json
57
+ {
58
+ "steps": [
59
+ {
60
+ "id": "check-status-1",
61
+ "title": "Check Status (Attempt 1)",
62
+ "prompt": "Check if the operation is complete"
63
+ },
64
+ {
65
+ "id": "check-status-2",
66
+ "title": "Check Status (Attempt 2)",
67
+ "prompt": "Check if the operation is complete"
68
+ },
69
+ {
70
+ "id": "check-status-3",
71
+ "title": "Check Status (Attempt 3)",
72
+ "prompt": "Check if the operation is complete"
73
+ }
74
+ ]
75
+ }
76
+ ```
77
+
78
+ #### After (v0.1.0):
79
+ ```json
80
+ {
81
+ "steps": [
82
+ {
83
+ "id": "check-status-loop",
84
+ "type": "loop",
85
+ "title": "Check Status Until Complete",
86
+ "loop": {
87
+ "type": "for",
88
+ "count": 3,
89
+ "maxIterations": 3,
90
+ "iterationVar": "attempt"
91
+ },
92
+ "body": "check-status"
93
+ },
94
+ {
95
+ "id": "check-status",
96
+ "title": "Check Status",
97
+ "prompt": "Check if the operation is complete (Attempt {{attempt}})"
98
+ }
99
+ ]
100
+ }
101
+ ```
102
+
103
+ ## Common Patterns to Migrate
104
+
105
+ ### Polling Pattern
106
+ Look for: Multiple steps checking status repeatedly
107
+ Replace with: `while` loop with condition
108
+
109
+ ### Retry Pattern
110
+ Look for: Duplicate steps with "retry" or "attempt" in the name
111
+ Replace with: `for` loop with fixed count
112
+
113
+ ### Batch Processing
114
+ Look for: Steps like "Process item 1", "Process item 2", etc.
115
+ Replace with: `forEach` loop over items
116
+
117
+ ### Search Pattern
118
+ Look for: Sequential checks across multiple sources
119
+ Replace with: `until` loop with found condition
120
+
121
+ ## Validation
122
+
123
+ After migration, validate your workflows:
124
+
125
+ ```bash
126
+ workrail validate my-workflow.json
127
+ ```
128
+
129
+ ## Getting Help
130
+
131
+ - See [Loop Documentation](../features/loops.md) for detailed loop syntax
132
+ - Check [examples](../../workflows/examples/loops/) for working loop patterns
133
+ - Run `workrail migrate --help` for CLI options
134
+
135
+ ## FAQ
136
+
137
+ **Q: Do I have to migrate to v0.1.0?**
138
+ A: No, v0.0.1 workflows continue to work. Migration is optional but recommended for new features.
139
+
140
+ **Q: Can I mix v0.0.1 and v0.1.0 workflows?**
141
+ A: Yes, Workrail handles both versions transparently.
142
+
143
+ **Q: What if migration fails?**
144
+ A: The tool validates workflows before saving. Use `--dry-run` to preview changes safely.
145
+
146
+ **Q: How do I know which version my workflow uses?**
147
+ A: Check for the `version` field. If missing, it's v0.0.1. The migrate tool also reports versions.
@@ -0,0 +1,45 @@
1
+ # Naming Conventions – Workflow Orchestration System
2
+
3
+ > **Status:** Adopted – Phase 3 completion
4
+
5
+ This document records the agreed-upon naming conventions and the result of the initial audit performed in Phase 3 of the refactor roadmap.
6
+
7
+ ---
8
+
9
+ ## 1 Coding-Symbol Conventions
10
+
11
+ | Element | Convention | Example |
12
+ |--------------------------------|-----------------------|----------------------------------|
13
+ | Classes / Types / Interfaces | `PascalCase` | `FileWorkflowStorage` |
14
+ | Functions & Variables | `camelCase` | `getWorkflowById()` |
15
+ | Constants (module scoped) | `UPPER_SNAKE_CASE` | `WORKFLOW_SCHEMA_PATH` |
16
+ | Enum members | `UPPER_SNAKE_CASE` | `WORKFLOW_NOT_FOUND` |
17
+ | Error Classes | Suffix `Error` | `WorkflowNotFoundError` |
18
+
19
+ ## 2 File & Directory Names
20
+
21
+ * **Files:** `snake_case` with `.ts` extension (e.g., `workflow_get.ts`).
22
+ * **Directories:** `kebab-case` or lower-case single word (e.g., `workflow/`).
23
+
24
+ Rationale: File names remain friendlier on case-insensitive file systems; underscores map 1-to-1 with existing tool names.
25
+
26
+ ## 3 Public API / JSON-RPC Methods
27
+
28
+ * Tool method names follow `snake_case` as defined in the MCP spec (e.g., `workflow_list`).
29
+
30
+ ## 4 Audit Result (2025-07-10)
31
+
32
+ The entire `src/` tree was inspected. Findings:
33
+
34
+ | Category | Issues Found | Resolution |
35
+ |--------------------|--------------|------------|
36
+ | File names | **0** | – |
37
+ | Export identifiers | **0** | – |
38
+ | Enum / Const names | **0** | – |
39
+
40
+ Conclusion: Codebase already adheres to the conventions above. No renames were required.
41
+
42
+ ## 5 Future Enforcement
43
+
44
+ * ESLint rule set to be extended with `@typescript-eslint/naming-convention` to automatically enforce the table above.
45
+ * Pull-request template updated to reference this document (TBD).
@@ -0,0 +1,104 @@
1
+ # Planning System
2
+
3
+ This is the **general planning home** for WorkRail.
4
+
5
+ Use it to capture ideas quickly, curate roadmap direction, and promote concrete work into execution-ready tickets without forcing every thought into a full implementation plan too early.
6
+
7
+ ## Planning layers
8
+
9
+ ### `docs/ideas/`
10
+
11
+ Use for:
12
+
13
+ - raw ideas
14
+ - feature thoughts
15
+ - open questions
16
+ - design seeds
17
+ - things worth remembering before they are prioritized
18
+
19
+ This is the **official dumpground** for product and system ideas.
20
+
21
+ ### `docs/roadmap/`
22
+
23
+ Use for:
24
+
25
+ - curated direction
26
+ - now / next / later views
27
+ - major bets
28
+ - cross-cutting product themes
29
+
30
+ Roadmap docs should stay **selective**. Not every idea belongs here.
31
+
32
+ ### `docs/tickets/`
33
+
34
+ Use for:
35
+
36
+ - execution-ready work
37
+ - scoped problems
38
+ - acceptance criteria
39
+ - clear non-goals
40
+ - risks or follow-ups
41
+
42
+ If an item is ready to build, it should probably become a ticket.
43
+
44
+ ## Graduation path
45
+
46
+ Default flow:
47
+
48
+ 1. `ideas` — capture it fast
49
+ 2. `roadmap` — decide if it matters strategically
50
+ 3. `tickets` — define the work clearly enough to execute
51
+
52
+ Not every idea must become a roadmap item.
53
+ Not every roadmap item must become a ticket immediately.
54
+
55
+ ## Status ownership
56
+
57
+ **Status lives in exactly two places**: `docs/roadmap/open-work-inventory.md` and `docs/roadmap/now-next-later.md`.
58
+
59
+ Plan docs in `docs/plans/` describe **design and intent** -- not current status. When work ships, update the roadmap docs, not the plan doc. Plan docs that carry their own status blocks create a second source of truth that drifts.
60
+
61
+ ## Rules of thumb
62
+
63
+ - **Idea**: "This might be valuable."
64
+ - **Roadmap item**: "We likely want this."
65
+ - **Ticket**: "We understand this well enough to build."
66
+
67
+ ## Docs vs GitHub
68
+
69
+ Use **docs** for:
70
+
71
+ - ideas
72
+ - design
73
+ - roadmap thinking
74
+ - synthesis
75
+ - long-form reasoning
76
+
77
+ Use **GitHub issues** for:
78
+
79
+ - concrete execution-ready work
80
+ - bugs with enough detail to investigate
81
+ - chores or features that are scoped clearly enough to do
82
+
83
+ Use **pull requests** for:
84
+
85
+ - the implementation record
86
+ - review
87
+ - closure of execution work
88
+
89
+ Do not move all design/idea material into GitHub.
90
+ GitHub should primarily track **work**, while docs remain the home for **thinking**.
91
+
92
+ ## Existing planning docs
93
+
94
+ Existing feature-specific plans in `docs/plans/` still matter. Treat them as **focused initiative plans**, not as the general inbox for new thoughts.
95
+
96
+ ## Starting points
97
+
98
+ - `docs/ideas/backlog.md`
99
+ - `docs/roadmap/now-next-later.md`
100
+ - `docs/roadmap/open-work-inventory.md`
101
+ - `docs/roadmap/legacy-planning-status.md`
102
+ - `docs/planning/docs-taxonomy-and-migration-plan.md`
103
+ - `docs/tickets/README.md`
104
+ - `docs/tickets/next-up.md`
@@ -0,0 +1,195 @@
1
+ # GitHub Ticketing Playbook
2
+
3
+ This is the **Phase 1 operating playbook** for the single-dev, agent-assisted GitHub workflow.
4
+
5
+ It is intentionally lightweight and follows the current design in `docs/plans/agent-managed-ticketing-design.md`.
6
+
7
+ ## Current model
8
+
9
+ - ideas live first in `docs/ideas/backlog.md`
10
+ - GitHub issues track concrete work
11
+ - labels stay minimal
12
+ - the developer chooses what becomes active
13
+ - agents help when explicitly pointed at a ticket
14
+
15
+ ## Phase 1 labels
16
+
17
+ ### Type
18
+
19
+ - `feature`
20
+ - `bug`
21
+ - `chore`
22
+
23
+ ### State
24
+
25
+ - `next`
26
+ - `active`
27
+ - `blocked`
28
+
29
+ ### Label application note
30
+
31
+ The single GitHub issue form captures **work type**, but GitHub does not automatically map that dropdown to labels.
32
+
33
+ In Phase 1, apply labels manually after issue creation or with the CLI.
34
+
35
+ ## One-time setup checklist
36
+
37
+ When enabling this workflow in a repo, make sure these are in place:
38
+
39
+ - create the Phase 1 labels
40
+ - verify `.github/ISSUE_TEMPLATE/work-item.yml` exists
41
+ - verify `.github/pull_request_template.md` exists
42
+ - verify the team knows `docs/ideas/backlog.md` is still the home for fuzzy ideas
43
+
44
+ ## Phase 1 issue shape
45
+
46
+ Every issue intended for execution should contain:
47
+
48
+ - **Problem**
49
+ - **Goal**
50
+ - **Acceptance criteria**
51
+ - **Verification**
52
+ - **Non-goals**
53
+ - **Context**
54
+
55
+ Optional when an agent may execute it later:
56
+
57
+ - **Agent execution note**
58
+
59
+ ## When to create an issue
60
+
61
+ Create a GitHub issue when:
62
+
63
+ - it is a real candidate for near- or medium-term work
64
+ - it is a confirmed bug with enough detail to investigate
65
+ - it is important follow-up discovered during active implementation
66
+ - you explicitly want it tracked in GitHub
67
+
68
+ Keep it in `docs/ideas/backlog.md` instead when it is still fuzzy or speculative.
69
+
70
+ ## When something is `next`
71
+
72
+ An issue is ready for `next` when:
73
+
74
+ - the problem is understandable
75
+ - the goal is understandable
76
+ - acceptance criteria exist
77
+ - verification exists
78
+ - non-goals exist
79
+ - no unresolved decision blocks normal execution
80
+
81
+ ## When something is `blocked`
82
+
83
+ If you add `blocked`, add a short comment that says:
84
+
85
+ - what is blocked
86
+ - the kind of block: `decision`, `dependency`, `context`, or `external/tooling`
87
+ - the next thing needed to unblock it
88
+
89
+ ## Closure rule
90
+
91
+ Close an issue only when:
92
+
93
+ - a PR landed and the acceptance criteria were actually satisfied
94
+ - it was intentionally closed with a clear no-code resolution
95
+ - it was superseded by another explicitly linked issue
96
+
97
+ Before closure:
98
+
99
+ - verify acceptance criteria
100
+ - verify the verification step actually happened
101
+ - confirm scope did not silently expand past the non-goals
102
+
103
+ Default rule:
104
+
105
+ - the developer closes issues by default
106
+ - an agent may close only when closure is clearly mechanical and verification is explicit
107
+
108
+ ## Minimal CLI flow
109
+
110
+ ### Create an issue
111
+
112
+ ```bash
113
+ gh issue create
114
+ ```
115
+
116
+ ### Add labels to an issue
117
+
118
+ ```bash
119
+ gh issue edit <number> --add-label feature,next
120
+ ```
121
+
122
+ ### List open issues
123
+
124
+ ```bash
125
+ gh issue list
126
+ ```
127
+
128
+ ### View one issue
129
+
130
+ ```bash
131
+ gh issue view <number>
132
+ ```
133
+
134
+ ### Comment on progress or blockers
135
+
136
+ ```bash
137
+ gh issue comment <number> --body "Blocked on dependency. Kind: dependency. Next needed: merge #123."
138
+ ```
139
+
140
+ ### Open a PR
141
+
142
+ ```bash
143
+ gh pr create
144
+ ```
145
+
146
+ ## How to hand an issue to an agent
147
+
148
+ In Phase 1, the developer chooses the issue and explicitly hands it to the agent.
149
+
150
+ ### Suggested prompt
151
+
152
+ Use something like:
153
+
154
+ > Work GitHub issue `#129`. Read the issue first, follow its acceptance criteria and non-goals, make the code changes, run the relevant verification, and open a PR that references the issue.
155
+
156
+ ### Expected flow
157
+
158
+ 1. Pick the issue you want worked
159
+ 2. Have the agent read the issue
160
+ 3. Mark it `active` when work actually begins
161
+ 4. Agent implements the change
162
+ 5. Agent reports blockers in the issue if needed
163
+ 6. Agent opens a PR that references the issue
164
+ 7. Close the issue after the PR lands and verification is explicit
165
+
166
+ ### If the issue becomes blocked
167
+
168
+ Add a short comment that says:
169
+
170
+ - what is blocked
171
+ - the kind of block: `decision`, `dependency`, `context`, or `external/tooling`
172
+ - the next thing needed to unblock it
173
+
174
+ ### Phase 1 reminder
175
+
176
+ Agents do **not** pick backlog work on their own in this mode.
177
+ They help when you explicitly point them at a ticket.
178
+
179
+ ### Create the Phase 1 labels (one-time setup)
180
+
181
+ ```bash
182
+ gh label create feature --color 0e8a16 --description "New capability or user-visible improvement"
183
+ gh label create bug --color d73a4a --description "Something is wrong"
184
+ gh label create chore --color 6f42c1 --description "Maintenance or repo upkeep"
185
+ gh label create next --color 1d76db --description "Good candidate for upcoming work"
186
+ gh label create active --color fbca04 --description "Currently being worked"
187
+ gh label create blocked --color b60205 --description "Cannot proceed until something changes"
188
+ ```
189
+
190
+ ## Practical defaults
191
+
192
+ - keep `next` small
193
+ - usually keep only one `active` issue
194
+ - use labels for status, not long status prose
195
+ - use issue bodies for the real contract
@@ -0,0 +1,24 @@
1
+ # Initiative Plans
2
+
3
+ Use this directory for **active initiative-specific plan and design docs**.
4
+
5
+ Good fits:
6
+
7
+ - canonical roadmap/status doc for one initiative
8
+ - canonical design doc for one initiative
9
+ - focused live initiative plans that are still relevant
10
+
11
+ Do **not** use this directory for:
12
+
13
+ - general planning system docs
14
+ - cross-cutting roadmap prioritization
15
+ - raw ideas
16
+ - old duplicated entrypoints that should no longer be treated as current truth
17
+
18
+ ## Rule of thumb
19
+
20
+ - `docs/plans/` = initiative-specific canon
21
+ - `docs/roadmap/` = cross-cutting priority and status views
22
+ - `docs/planning/` = meta-docs about how planning works
23
+
24
+ If a doc cluster grows, prefer consolidating it into **one roadmap doc + one design doc** rather than letting many overlapping entrypoints accumulate.