@duypham93/openkit 0.2.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.
- package/.opencode/README.md +47 -0
- package/.opencode/install-manifest.json +41 -0
- package/.opencode/lib/artifact-scaffolder.js +111 -0
- package/.opencode/lib/contract-consistency.js +218 -0
- package/.opencode/lib/parallel-execution-rules.js +261 -0
- package/.opencode/lib/runtime-paths.js +95 -0
- package/.opencode/lib/runtime-summary.js +82 -0
- package/.opencode/lib/state-guard.js +99 -0
- package/.opencode/lib/task-board-rules.js +375 -0
- package/.opencode/lib/work-item-store.js +280 -0
- package/.opencode/lib/workflow-state-controller.js +1739 -0
- package/.opencode/lib/workflow-state-rules.js +331 -0
- package/.opencode/opencode.json +93 -0
- package/.opencode/package.json +3 -0
- package/.opencode/tests/artifact-scaffolder.test.js +733 -0
- package/.opencode/tests/multi-work-item-runtime.test.js +369 -0
- package/.opencode/tests/parallel-execution-runtime.test.js +259 -0
- package/.opencode/tests/session-start-hook.test.js +357 -0
- package/.opencode/tests/state-guard.test.js +124 -0
- package/.opencode/tests/task-board-rules.test.js +204 -0
- package/.opencode/tests/work-item-store.test.js +380 -0
- package/.opencode/tests/workflow-behavior.test.js +149 -0
- package/.opencode/tests/workflow-contract-consistency.test.js +387 -0
- package/.opencode/tests/workflow-state-cli.test.js +1275 -0
- package/.opencode/tests/workflow-state-controller.test.js +1038 -0
- package/.opencode/work-items/feature-001/state.json +70 -0
- package/.opencode/work-items/index.json +13 -0
- package/.opencode/workflow-state.js +489 -0
- package/.opencode/workflow-state.json +70 -0
- package/AGENTS.md +265 -0
- package/README.md +401 -0
- package/agents/architect-agent.md +63 -0
- package/agents/ba-agent.md +56 -0
- package/agents/code-reviewer.md +77 -0
- package/agents/fullstack-agent.md +115 -0
- package/agents/master-orchestrator.md +60 -0
- package/agents/pm-agent.md +56 -0
- package/agents/qa-agent.md +124 -0
- package/agents/tech-lead-agent.md +60 -0
- package/assets/install-bundle/README.md +7 -0
- package/assets/install-bundle/opencode/README.md +11 -0
- package/assets/install-bundle/opencode/agents/ArchitectAgent.md +63 -0
- package/assets/install-bundle/opencode/agents/BAAgent.md +56 -0
- package/assets/install-bundle/opencode/agents/CodeReviewer.md +77 -0
- package/assets/install-bundle/opencode/agents/FullstackAgent.md +115 -0
- package/assets/install-bundle/opencode/agents/MasterOrchestrator.md +60 -0
- package/assets/install-bundle/opencode/agents/PMAgent.md +56 -0
- package/assets/install-bundle/opencode/agents/QAAgent.md +124 -0
- package/assets/install-bundle/opencode/agents/TechLeadAgent.md +60 -0
- package/assets/install-bundle/opencode/commands/brainstorm.md +44 -0
- package/assets/install-bundle/opencode/commands/delivery.md +45 -0
- package/assets/install-bundle/opencode/commands/execute-plan.md +44 -0
- package/assets/install-bundle/opencode/commands/migrate.md +61 -0
- package/assets/install-bundle/opencode/commands/quick-task.md +45 -0
- package/assets/install-bundle/opencode/commands/task.md +46 -0
- package/assets/install-bundle/opencode/commands/write-plan.md +50 -0
- package/assets/install-bundle/opencode/context/core/lane-selection.md +54 -0
- package/assets/install-bundle/opencode/skills/brainstorming/SKILL.md +51 -0
- package/assets/install-bundle/opencode/skills/code-review/SKILL.md +48 -0
- package/assets/install-bundle/opencode/skills/subagent-driven-development/SKILL.md +79 -0
- package/assets/install-bundle/opencode/skills/systematic-debugging/SKILL.md +61 -0
- package/assets/install-bundle/opencode/skills/test-driven-development/SKILL.md +48 -0
- package/assets/install-bundle/opencode/skills/using-skills/SKILL.md +39 -0
- package/assets/install-bundle/opencode/skills/verification-before-completion/SKILL.md +137 -0
- package/assets/install-bundle/opencode/skills/writing-plans/SKILL.md +68 -0
- package/assets/install-bundle/opencode/skills/writing-specs/SKILL.md +47 -0
- package/assets/opencode.json.template +11 -0
- package/assets/openkit-install.json.template +19 -0
- package/bin/openkit.js +9 -0
- package/commands/brainstorm.md +44 -0
- package/commands/delivery.md +45 -0
- package/commands/execute-plan.md +44 -0
- package/commands/migrate.md +61 -0
- package/commands/quick-task.md +45 -0
- package/commands/task.md +46 -0
- package/commands/write-plan.md +50 -0
- package/context/core/approval-gates.md +146 -0
- package/context/core/code-quality.md +42 -0
- package/context/core/issue-routing.md +85 -0
- package/context/core/lane-selection.md +54 -0
- package/context/core/project-config.md +143 -0
- package/context/core/session-resume.md +85 -0
- package/context/core/workflow-state-schema.md +224 -0
- package/context/core/workflow.md +442 -0
- package/context/navigation.md +94 -0
- package/docs/adr/README.md +6 -0
- package/docs/architecture/2026-03-20-task-intake-dashboard.md +54 -0
- package/docs/architecture/README.md +7 -0
- package/docs/briefs/2026-03-20-task-intake-dashboard.md +48 -0
- package/docs/briefs/README.md +7 -0
- package/docs/governance/README.md +25 -0
- package/docs/governance/adr-policy.md +27 -0
- package/docs/governance/definition-of-done.md +17 -0
- package/docs/governance/naming-conventions.md +21 -0
- package/docs/governance/severity-levels.md +12 -0
- package/docs/maintainer/README.md +51 -0
- package/docs/operations/README.md +79 -0
- package/docs/operations/internal-records/2026-03-24-release-checklist.md +79 -0
- package/docs/operations/internal-records/2026-03-24-simplified-install-ux.md +36 -0
- package/docs/operations/internal-records/README.md +18 -0
- package/docs/operations/runbooks/README.md +23 -0
- package/docs/operations/runbooks/openkit-daily-usage.md +288 -0
- package/docs/operations/runbooks/workflow-state-smoke-tests.md +302 -0
- package/docs/operator/README.md +50 -0
- package/docs/plans/2026-03-20-task-intake-dashboard.md +49 -0
- package/docs/plans/2026-03-21-openkit-full-delivery-multi-task-runtime.md +521 -0
- package/docs/plans/2026-03-23-openkit-global-install-runtime.md +157 -0
- package/docs/plans/README.md +7 -0
- package/docs/qa/2026-03-20-task-intake-dashboard.md +41 -0
- package/docs/qa/README.md +7 -0
- package/docs/specs/2026-03-20-task-intake-dashboard.md +50 -0
- package/docs/specs/2026-03-21-openkit-full-delivery-multi-task-runtime.md +462 -0
- package/docs/specs/README.md +7 -0
- package/docs/templates/README.md +36 -0
- package/docs/templates/adr-template.md +18 -0
- package/docs/templates/architecture-template.md +31 -0
- package/docs/templates/implementation-plan-template.md +32 -0
- package/docs/templates/migration-baseline-checklist.md +48 -0
- package/docs/templates/migration-plan-template.md +52 -0
- package/docs/templates/migration-report-template.md +74 -0
- package/docs/templates/migration-verify-checklist.md +39 -0
- package/docs/templates/product-brief-template.md +32 -0
- package/docs/templates/qa-report-template.md +37 -0
- package/docs/templates/quick-task-template.md +36 -0
- package/docs/templates/spec-template.md +31 -0
- package/hooks/hooks.json +16 -0
- package/hooks/session-start +162 -0
- package/package.json +24 -0
- package/registry.json +328 -0
- package/skills/brainstorming/SKILL.md +51 -0
- package/skills/code-review/SKILL.md +48 -0
- package/skills/subagent-driven-development/SKILL.md +79 -0
- package/skills/systematic-debugging/SKILL.md +61 -0
- package/skills/test-driven-development/SKILL.md +48 -0
- package/skills/using-skills/SKILL.md +39 -0
- package/skills/verification-before-completion/SKILL.md +137 -0
- package/skills/writing-plans/SKILL.md +68 -0
- package/skills/writing-specs/SKILL.md +47 -0
- package/src/audit/vietnamese-detection.js +259 -0
- package/src/cli/commands/detect-vietnamese.js +24 -0
- package/src/cli/commands/doctor.js +33 -0
- package/src/cli/commands/help.js +33 -0
- package/src/cli/commands/init.js +25 -0
- package/src/cli/commands/install-global.js +26 -0
- package/src/cli/commands/install.js +25 -0
- package/src/cli/commands/run.js +63 -0
- package/src/cli/commands/uninstall.js +32 -0
- package/src/cli/commands/upgrade.js +25 -0
- package/src/cli/conflict-output.js +19 -0
- package/src/cli/index.js +56 -0
- package/src/global/doctor.js +101 -0
- package/src/global/ensure-install.js +32 -0
- package/src/global/install-state.js +73 -0
- package/src/global/launcher.js +51 -0
- package/src/global/materialize.js +123 -0
- package/src/global/paths.js +85 -0
- package/src/global/uninstall.js +25 -0
- package/src/global/workspace-state.js +63 -0
- package/src/install/asset-manifest.js +284 -0
- package/src/install/conflicts.js +43 -0
- package/src/install/discovery.js +138 -0
- package/src/install/install-state.js +136 -0
- package/src/install/materialize.js +158 -0
- package/src/install/merge-policy.js +145 -0
- package/src/runtime/doctor.js +281 -0
- package/src/runtime/launcher.js +49 -0
- package/src/runtime/opencode-layering.js +135 -0
- package/src/runtime/openkit-managed-summary.js +27 -0
- package/tests/cli/openkit-cli.test.js +417 -0
- package/tests/global/doctor.test.js +130 -0
- package/tests/global/ensure-install.test.js +105 -0
- package/tests/install/discovery.test.js +124 -0
- package/tests/install/install-state.test.js +346 -0
- package/tests/install/materialize.test.js +244 -0
- package/tests/install/merge-policy.test.js +177 -0
- package/tests/runtime/doctor.test.js +430 -0
- package/tests/runtime/launcher.test.js +230 -0
- package/tests/runtime/module-boundary.test.js +16 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
# OpenKit Daily Usage
|
|
2
|
+
|
|
3
|
+
Use this runbook when you want the practical step-by-step path for working with the globally installed OpenKit kit and its workspace-specific runtime state.
|
|
4
|
+
|
|
5
|
+
## Current Reality In This Repository
|
|
6
|
+
|
|
7
|
+
- The preferred operator path is now the global OpenKit install under the OpenCode home directory.
|
|
8
|
+
- OpenKit workspace state is created per project in global storage instead of requiring the kit to be copied into each repository.
|
|
9
|
+
- The checked-in `.opencode/` runtime in this repository remains the authoring and compatibility surface.
|
|
10
|
+
- The workflow supports three live modes: `quick`, `migration`, and `full`.
|
|
11
|
+
- `Quick Task+` is the current semantics of the `quick` lane, not a third mode.
|
|
12
|
+
- There is no repo-native application build, lint, or test command yet, so verification must use the real runtime checks plus honest manual or artifact-based validation.
|
|
13
|
+
|
|
14
|
+
## Fast Path
|
|
15
|
+
|
|
16
|
+
For normal day-to-day use on a machine with OpenKit installed globally:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g openkit
|
|
20
|
+
openkit run
|
|
21
|
+
openkit doctor
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Lifecycle commands:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
openkit upgrade
|
|
28
|
+
openkit uninstall
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Then start work from the chat surface with one of these:
|
|
32
|
+
|
|
33
|
+
- `/task` when you want the Master Orchestrator to choose the lane
|
|
34
|
+
- `/quick-task` when the work is already clearly small, bounded, and low risk
|
|
35
|
+
- `/migrate` when the work is primarily an upgrade or migration effort
|
|
36
|
+
- `/delivery` when the work clearly needs the full multi-stage delivery flow
|
|
37
|
+
|
|
38
|
+
If you need to inspect the current state more closely inside this repository's compatibility runtime:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
node .opencode/workflow-state.js show
|
|
42
|
+
node .opencode/workflow-state.js validate
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Choose The Right Entry Point
|
|
46
|
+
|
|
47
|
+
Use `/task` by default. It is the safest starting point when you are not fully sure whether the request belongs in `Quick Task`, `Migration`, or `Full Delivery`.
|
|
48
|
+
|
|
49
|
+
Use `/quick-task` only when all of these are already true:
|
|
50
|
+
|
|
51
|
+
- the scope is bounded
|
|
52
|
+
- acceptance is already clear
|
|
53
|
+
- no architecture or contract change is needed
|
|
54
|
+
- no security, auth, billing, permission, schema, or API model change is involved
|
|
55
|
+
- verification stays short and direct
|
|
56
|
+
|
|
57
|
+
Use `/delivery` when any of these are true:
|
|
58
|
+
|
|
59
|
+
- the work is a new feature or workflow
|
|
60
|
+
- requirements may still move
|
|
61
|
+
- multiple subsystems are involved
|
|
62
|
+
- architecture or contracts may change
|
|
63
|
+
- you need briefs, specs, architecture, plans, or QA artifacts
|
|
64
|
+
|
|
65
|
+
Use `/migrate` when most of these are true:
|
|
66
|
+
|
|
67
|
+
- the main goal is upgrading or replacing existing technology
|
|
68
|
+
- the expected outcome is preserving layout, behavior, and contracts under a newer stack
|
|
69
|
+
- current-state baseline capture is required before editing
|
|
70
|
+
- compatibility risk is more central than feature definition
|
|
71
|
+
- framework-coupled blockers need seams or adapters before the upgrade is safe
|
|
72
|
+
- rollback checkpoints or staged remediation are needed
|
|
73
|
+
- validation depends on builds, tests, smoke checks, type checks, or manual regression evidence more than on greenfield TDD slices
|
|
74
|
+
|
|
75
|
+
Canonical lane rules live in `context/core/workflow.md`.
|
|
76
|
+
|
|
77
|
+
If the boundary still feels fuzzy, use the `Lane Decision Matrix` in `context/core/workflow.md` before forcing a lane.
|
|
78
|
+
|
|
79
|
+
## Daily Operator Flow
|
|
80
|
+
|
|
81
|
+
### 1. Check global install and workspace health
|
|
82
|
+
|
|
83
|
+
Start with read-only checks:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
openkit doctor
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
What to look for:
|
|
90
|
+
|
|
91
|
+
- `doctor` confirms the global kit is installed, the workspace root is available, and the current project can launch with OpenKit cleanly
|
|
92
|
+
|
|
93
|
+
If `doctor` reports `install-missing`, run `openkit run` for first-time setup. If `doctor` reports other errors, fix those before trusting resume or task-board behavior.
|
|
94
|
+
|
|
95
|
+
### 2. Launch OpenKit for the current project
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
openkit run
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
This launches OpenCode with the `openkit` profile and injects the workspace-specific OpenKit environment for the current project.
|
|
102
|
+
|
|
103
|
+
On the first run on a machine or a fresh OpenCode home, `openkit run` also materializes the managed global kit automatically.
|
|
104
|
+
|
|
105
|
+
### 3. Start or resume work
|
|
106
|
+
|
|
107
|
+
If no work is active, start from chat with `/task`, `/quick-task`, or `/delivery`.
|
|
108
|
+
|
|
109
|
+
If work already exists, inspect it first:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
node .opencode/workflow-state.js show
|
|
113
|
+
node .opencode/workflow-state.js list-work-items
|
|
114
|
+
node .opencode/workflow-state.js show-work-item <work_item_id>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Use `show` when you want the raw active state, linked artifacts, approvals, and open issues.
|
|
118
|
+
|
|
119
|
+
Use `list-work-items` and `show-work-item` when you need to understand which managed item is active or switch your attention to a different full-delivery item.
|
|
120
|
+
|
|
121
|
+
### 4. Follow the lane that was chosen
|
|
122
|
+
|
|
123
|
+
Quick lane flow:
|
|
124
|
+
|
|
125
|
+
- `quick_intake -> quick_plan -> quick_build -> quick_verify -> quick_done`
|
|
126
|
+
- use it for bounded daily work
|
|
127
|
+
- `quick_plan` is required, even though a separate task card in `docs/tasks/` remains optional
|
|
128
|
+
- QA still happens through the quick verification step; quick does not bypass quality
|
|
129
|
+
|
|
130
|
+
Full-delivery flow:
|
|
131
|
+
|
|
132
|
+
- `full_intake -> full_brief -> full_spec -> full_architecture -> full_plan -> full_implementation -> full_qa -> full_done`
|
|
133
|
+
- use it for feature work and higher-risk changes
|
|
134
|
+
- expect explicit artifacts under `docs/briefs/`, `docs/specs/`, `docs/architecture/`, `docs/plans/`, and `docs/qa/`
|
|
135
|
+
- use `/brainstorm`, `/write-plan`, and `/execute-plan` only in this lane
|
|
136
|
+
|
|
137
|
+
Migration flow:
|
|
138
|
+
|
|
139
|
+
- `migration_intake -> migration_baseline -> migration_strategy -> migration_upgrade -> migration_verify -> migration_done`
|
|
140
|
+
- use it for framework upgrades, dependency modernization, and compatibility remediation
|
|
141
|
+
- expect explicit baseline, architecture, and plan context before major edits
|
|
142
|
+
- preserve behavior first, decouple only the blockers that make the migration unsafe, then upgrade in slices
|
|
143
|
+
- use `/brainstorm`, `/write-plan`, and `/execute-plan` in this lane when strategy or staged execution is needed
|
|
144
|
+
- use `docs/templates/migration-baseline-checklist.md` and `docs/templates/migration-verify-checklist.md` as repeatable checklists for baseline and verification
|
|
145
|
+
- use `docs/templates/migration-report-template.md` when you want one running artifact for baseline, strategy, execution, and verification
|
|
146
|
+
|
|
147
|
+
### 4. Inspect work-item and task-board state when needed
|
|
148
|
+
|
|
149
|
+
The task board belongs only to `Full Delivery` work items.
|
|
150
|
+
|
|
151
|
+
Useful commands:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
node .opencode/workflow-state.js list-work-items
|
|
155
|
+
node .opencode/workflow-state.js show-work-item <work_item_id>
|
|
156
|
+
node .opencode/workflow-state.js list-tasks <work_item_id>
|
|
157
|
+
node .opencode/workflow-state.js validate-work-item-board <work_item_id>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Guidance:
|
|
161
|
+
|
|
162
|
+
- use `list-tasks` only for full-delivery items that actually use a task board
|
|
163
|
+
- do not expect quick or migration mode to have task-level ownership or task-board commands
|
|
164
|
+
- treat task-board support as bounded coordination, not as proof that arbitrary parallel execution is safe
|
|
165
|
+
|
|
166
|
+
### 5. Validate honestly
|
|
167
|
+
|
|
168
|
+
In this repository, the workflow-state utility helps you validate runtime state, not application behavior.
|
|
169
|
+
|
|
170
|
+
Use:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
node .opencode/workflow-state.js validate
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
for workflow-state consistency.
|
|
177
|
+
|
|
178
|
+
Do not present `status`, `doctor`, `show`, or `validate` as substitutes for application build, lint, or test commands. If app-native tooling does not exist for the work, record the real manual or artifact-based verification path instead.
|
|
179
|
+
|
|
180
|
+
## Command Reference For Operators
|
|
181
|
+
|
|
182
|
+
Read-only commands you will use most often:
|
|
183
|
+
|
|
184
|
+
| Command | Use it when | Notes |
|
|
185
|
+
| --- | --- | --- |
|
|
186
|
+
| `node .opencode/workflow-state.js status` | you want the current runtime summary | safest first check |
|
|
187
|
+
| `node .opencode/workflow-state.js doctor` | you want diagnostics for the checked-in runtime | confirms runtime health and contract alignment |
|
|
188
|
+
| `node .opencode/workflow-state.js show` | you need the active state object and linked artifacts | good for resume and debugging |
|
|
189
|
+
| `node .opencode/workflow-state.js validate` | you suspect the state may be stale or manually edited | workflow-state check only |
|
|
190
|
+
| `node .opencode/workflow-state.js list-work-items` | you want to see tracked work items | marks the active item |
|
|
191
|
+
| `node .opencode/workflow-state.js show-work-item <work_item_id>` | you want one item's mode, stage, and status | full-delivery coordination helper |
|
|
192
|
+
| `node .opencode/workflow-state.js list-tasks <work_item_id>` | you need task-board visibility for a full item | quick and migration modes stay task-board free |
|
|
193
|
+
|
|
194
|
+
Lower-level mutation commands exist, but they are operator and maintainer tools. Use them intentionally and prefer the documented lane commands and approved workflow over direct manual state manipulation.
|
|
195
|
+
|
|
196
|
+
The authoritative full command inventory lives in `context/core/project-config.md`.
|
|
197
|
+
|
|
198
|
+
## Practical Examples
|
|
199
|
+
|
|
200
|
+
### Example: start a small bounded fix
|
|
201
|
+
|
|
202
|
+
1. Run:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
node .opencode/workflow-state.js status
|
|
206
|
+
node .opencode/workflow-state.js doctor
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
2. In chat, use:
|
|
210
|
+
|
|
211
|
+
```text
|
|
212
|
+
/quick-task Fix the wording in docs/operator/README.md so it matches the current lane terminology.
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
3. Let the quick lane move through `quick_plan`, implementation, and QA Lite.
|
|
216
|
+
|
|
217
|
+
### Example: start feature work
|
|
218
|
+
|
|
219
|
+
1. Run:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
node .opencode/workflow-state.js status
|
|
223
|
+
node .opencode/workflow-state.js doctor
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
2. In chat, use:
|
|
227
|
+
|
|
228
|
+
```text
|
|
229
|
+
/delivery Add a clearer operator onboarding flow for OpenKit, including updated docs and runtime guidance.
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
3. Expect the work to move through PM, BA, Architect, Tech Lead, Fullstack, and QA stages, with artifacts created as the full lane progresses.
|
|
233
|
+
|
|
234
|
+
### Example: start migration work
|
|
235
|
+
|
|
236
|
+
1. Run:
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
node .opencode/workflow-state.js status
|
|
240
|
+
node .opencode/workflow-state.js doctor
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
2. In chat, use:
|
|
244
|
+
|
|
245
|
+
```text
|
|
246
|
+
/migrate Upgrade a legacy React 16 app to React 19 and modernize the async data layer safely.
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
3. Expect the work to move through baseline capture, migration strategy, staged upgrade execution, and regression-focused verification.
|
|
250
|
+
|
|
251
|
+
### Example: resume an existing full-delivery item
|
|
252
|
+
|
|
253
|
+
Run:
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
node .opencode/workflow-state.js status
|
|
257
|
+
node .opencode/workflow-state.js show
|
|
258
|
+
node .opencode/workflow-state.js list-work-items
|
|
259
|
+
node .opencode/workflow-state.js show-work-item feature-001
|
|
260
|
+
node .opencode/workflow-state.js list-tasks feature-001
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Use the output to confirm the active stage, linked artifacts, and any task-board state before continuing.
|
|
264
|
+
|
|
265
|
+
## Global Kit Note
|
|
266
|
+
|
|
267
|
+
The preferred top-level path is now:
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
npm install -g openkit
|
|
271
|
+
openkit run <args>
|
|
272
|
+
openkit doctor
|
|
273
|
+
openkit upgrade
|
|
274
|
+
openkit uninstall
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
`openkit install-global` still exists as a manual or compatibility setup command, but it is no longer the preferred onboarding step.
|
|
278
|
+
|
|
279
|
+
Use the lower-level `.opencode/` runtime commands in this repository when you are validating or maintaining the checked-in compatibility runtime itself.
|
|
280
|
+
|
|
281
|
+
## Where To Read Next
|
|
282
|
+
|
|
283
|
+
- `README.md` for the top-level runtime and product-boundary summary
|
|
284
|
+
- `docs/operator/README.md` for operator routing
|
|
285
|
+
- `context/core/workflow.md` for canonical lane rules and stage order
|
|
286
|
+
- `context/core/project-config.md` for the maintained command inventory
|
|
287
|
+
- `context/core/session-resume.md` for resume behavior
|
|
288
|
+
- `docs/operations/runbooks/workflow-state-smoke-tests.md` for deeper verification and manual smoke-test procedures
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
# Workflow-State Smoke Tests
|
|
2
|
+
|
|
3
|
+
Use this document to run lightweight verification for the global OpenKit install path and for the lower-level workflow-state utility and session-start resume hint that still sit underneath it.
|
|
4
|
+
|
|
5
|
+
## Safety First
|
|
6
|
+
|
|
7
|
+
Many commands in this document mutate project state. Do not run the manual examples against the checked-in repository state unless you intentionally want to change it.
|
|
8
|
+
|
|
9
|
+
Use one of these safer approaches before running any mutating command shown later in this document:
|
|
10
|
+
|
|
11
|
+
- work in a temporary throwaway repository when validating first-run `openkit run`, manual `openkit install-global`, or workspace bootstrap handling
|
|
12
|
+
- use a temporary state file or temporary project copy when validating `node .opencode/workflow-state.js` mutation commands
|
|
13
|
+
- if you must point at this repository, restore any changed files immediately after the check
|
|
14
|
+
|
|
15
|
+
High-risk mutating commands called out in this document include:
|
|
16
|
+
|
|
17
|
+
- `openkit run`
|
|
18
|
+
- `openkit install-global`
|
|
19
|
+
- `node .opencode/workflow-state.js sync-install-manifest <name>`
|
|
20
|
+
- `node .opencode/workflow-state.js start-task ...`
|
|
21
|
+
- `node .opencode/workflow-state.js advance-stage ...`
|
|
22
|
+
- `node .opencode/workflow-state.js route-rework ...`
|
|
23
|
+
- `node .opencode/workflow-state.js create-task ...`
|
|
24
|
+
|
|
25
|
+
Read this safety section before copying any command block below.
|
|
26
|
+
|
|
27
|
+
## Purpose
|
|
28
|
+
|
|
29
|
+
These checks validate OpenKit's supported wrapper operator path plus the workflow operating system behavior underneath it, without assuming any application build, lint, or test stack.
|
|
30
|
+
|
|
31
|
+
## Supported Path Order
|
|
32
|
+
|
|
33
|
+
When you are validating operator-facing behavior, treat this order as primary:
|
|
34
|
+
|
|
35
|
+
1. `npm install -g openkit`
|
|
36
|
+
2. `openkit run`
|
|
37
|
+
3. `openkit doctor`
|
|
38
|
+
4. `node .opencode/workflow-state.js ...` only when you need raw repository/runtime inspection
|
|
39
|
+
|
|
40
|
+
## Automated Checks
|
|
41
|
+
|
|
42
|
+
### Controller unit tests
|
|
43
|
+
|
|
44
|
+
Run:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
node --test ".opencode/tests/workflow-state-controller.test.js"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
This covers:
|
|
51
|
+
|
|
52
|
+
- quick-task initialization
|
|
53
|
+
- full-delivery initialization
|
|
54
|
+
- mode-aware approvals
|
|
55
|
+
- valid and invalid stage transitions
|
|
56
|
+
- quick-to-full escalation routing
|
|
57
|
+
- compatibility behavior for `start-feature`
|
|
58
|
+
|
|
59
|
+
### Session-start hook test
|
|
60
|
+
|
|
61
|
+
Run:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
node --test ".opencode/tests/session-start-hook.test.js"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This verifies that the session-start hook emits a mode-aware `workflow_resume_hint` when state exists, plus the canonical startup command hints used for status inspection.
|
|
68
|
+
|
|
69
|
+
If the JSON helper used by `session-start` is unavailable, expect a degraded runtime-status block instead of a hard failure. In that case, resume hints may be suppressed until the helper works again.
|
|
70
|
+
|
|
71
|
+
### Contract-consistency tests
|
|
72
|
+
|
|
73
|
+
Run:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
node --test ".opencode/tests/workflow-contract-consistency.test.js"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
This covers:
|
|
80
|
+
|
|
81
|
+
- declared command and agent surfaces exist where the manifest says they do
|
|
82
|
+
- workflow contract and workflow-state schema files are present
|
|
83
|
+
- schema/runtime parity checks for mode enums, stage names, artifact slots, and approval keys
|
|
84
|
+
- `doctor` surfacing contract-consistency failures when those invariants drift
|
|
85
|
+
|
|
86
|
+
### Runtime CLI tests
|
|
87
|
+
|
|
88
|
+
Run:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
node --test ".opencode/tests/workflow-state-cli.test.js"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
This covers:
|
|
95
|
+
|
|
96
|
+
- `status` output for runtime summary fields
|
|
97
|
+
- `doctor` output for runtime diagnostics
|
|
98
|
+
- `profiles` output for checked-in profile listing
|
|
99
|
+
- `show-profile` output for profile detail inspection
|
|
100
|
+
- `sync-install-manifest` behavior for local manifest updates
|
|
101
|
+
- non-zero `doctor` exit behavior when required runtime files are missing
|
|
102
|
+
- quick-lane stage behavior such as `quick_plan` when live contract changes land in runtime tests
|
|
103
|
+
- work-item and task-board summaries in `status` and `doctor` output when full-delivery parallel state is active
|
|
104
|
+
|
|
105
|
+
### Wrapper CLI smoke tests
|
|
106
|
+
|
|
107
|
+
Run:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
node --test tests/cli/openkit-cli.test.js
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
This covers:
|
|
114
|
+
|
|
115
|
+
- first-run `openkit run` on a fresh machine or temp OpenCode home
|
|
116
|
+
- `openkit doctor` after global install in a repository with an existing `.opencode/opencode.json`
|
|
117
|
+
- `openkit run` launching a mocked `opencode` through the managed layering path
|
|
118
|
+
- workspace bootstrap and global profile wiring
|
|
119
|
+
|
|
120
|
+
## Manual CLI Smoke Tests
|
|
121
|
+
|
|
122
|
+
Run the manual checks below only in a throwaway repo or temporary project copy unless the step explicitly says it is read-only.
|
|
123
|
+
|
|
124
|
+
### Global install and launch path
|
|
125
|
+
|
|
126
|
+
On a fresh machine or temporary OpenCode home:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npm install -g openkit
|
|
130
|
+
openkit run
|
|
131
|
+
openkit doctor
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Expected outcome:
|
|
135
|
+
|
|
136
|
+
- the first `openkit run` materializes the kit under the OpenCode home directory automatically
|
|
137
|
+
- `openkit doctor` reports global kit and workspace readiness
|
|
138
|
+
- `openkit install-global` remains available when you want to force the manual setup path explicitly
|
|
139
|
+
|
|
140
|
+
In a repository that already has `.opencode/opencode.json`:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
openkit doctor
|
|
144
|
+
openkit run --help
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Expected outcome:
|
|
148
|
+
|
|
149
|
+
- `openkit doctor` reports workspace readiness without requiring the kit to be copied into the repository
|
|
150
|
+
- `openkit run` remains the supported launcher path over the raw runtime internals
|
|
151
|
+
|
|
152
|
+
### Workspace bootstrap reporting
|
|
153
|
+
|
|
154
|
+
Expected outcome after `openkit doctor` in a new repository:
|
|
155
|
+
|
|
156
|
+
- the command reports the workspace root under the OpenCode home directory
|
|
157
|
+
- the command reports the resolved project root
|
|
158
|
+
- the command reports the workspace id used for this repository
|
|
159
|
+
|
|
160
|
+
### Runtime summary and diagnostics
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
node .opencode/workflow-state.js status
|
|
164
|
+
node .opencode/workflow-state.js doctor
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Expected outcome:
|
|
168
|
+
|
|
169
|
+
- `status` prints the active runtime summary using the current state file, including the active profile plus registry and install-manifest paths
|
|
170
|
+
- `doctor` reports repository runtime checks instead of application-tooling health
|
|
171
|
+
- `doctor` includes contract-consistency checks for declared runtime surfaces and schema alignment
|
|
172
|
+
- `doctor` also checks active work-item pointer resolution, compatibility-mirror alignment, and task-board validity when the active full-delivery stage depends on task-board state
|
|
173
|
+
- `doctor` exits successfully only when required OpenKit runtime files are present
|
|
174
|
+
|
|
175
|
+
### Managed work-item inspection
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
node .opencode/workflow-state.js list-work-items
|
|
179
|
+
node .opencode/workflow-state.js show-work-item feature-001
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Expected outcome:
|
|
183
|
+
|
|
184
|
+
- `list-work-items` prints `Active work item:` and marks the active item with `*`
|
|
185
|
+
- `show-work-item feature-001` prints `Work item: feature-001`
|
|
186
|
+
- `show-work-item feature-001` prints the work item's mode, stage, and status
|
|
187
|
+
|
|
188
|
+
### Profile inspection
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
node .opencode/workflow-state.js profiles
|
|
192
|
+
node .opencode/workflow-state.js show-profile openkit-core
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Expected outcome:
|
|
196
|
+
|
|
197
|
+
- `profiles` starts with `OpenKit profiles:`
|
|
198
|
+
- the repository default profile is marked with `*`
|
|
199
|
+
- `show-profile openkit-core` prints `Profile: openkit-core`
|
|
200
|
+
- `show-profile openkit-core` prints `default: yes`
|
|
201
|
+
- `show-profile openkit-core` prints a comma-separated `components:` line using registry category names such as `agents`, `skills`, `commands`, `artifacts`, `runtime`, `hooks`, and `docs`
|
|
202
|
+
|
|
203
|
+
### Install-manifest sync
|
|
204
|
+
|
|
205
|
+
Work on a throwaway branch, temporary project copy, or restore the checked-in manifest immediately after this check. `sync-install-manifest` rewrites the install manifest for the project root implied by the current `--state` path. If `--state` still points at this repository, the checked-in `.opencode/install-manifest.json` is what will change.
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
node .opencode/workflow-state.js sync-install-manifest runtime-docs-surface
|
|
209
|
+
node .opencode/workflow-state.js status
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Expected outcome:
|
|
213
|
+
|
|
214
|
+
- `sync-install-manifest runtime-docs-surface` prints `Updated install manifest profile to 'runtime-docs-surface'`
|
|
215
|
+
- the next `status` output shows `active profile: runtime-docs-surface`
|
|
216
|
+
- `.opencode/install-manifest.json` records `installation.activeProfile = runtime-docs-surface`
|
|
217
|
+
- no agent, skill, command, or doc files are created or removed by this command; only local metadata changes
|
|
218
|
+
|
|
219
|
+
To restore the repository-default manifest after the check:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
node .opencode/workflow-state.js sync-install-manifest openkit-core
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Expected outcome:
|
|
226
|
+
|
|
227
|
+
- the command prints `Updated install manifest profile to 'openkit-core'`
|
|
228
|
+
- `.opencode/install-manifest.json` returns to `installation.activeProfile = openkit-core`
|
|
229
|
+
|
|
230
|
+
### Quick Task happy path
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
node .opencode/workflow-state.js start-task quick TASK-900 copy-fix "Scoped text change"
|
|
234
|
+
node .opencode/workflow-state.js advance-stage quick_plan
|
|
235
|
+
node .opencode/workflow-state.js advance-stage quick_build
|
|
236
|
+
node .opencode/workflow-state.js advance-stage quick_verify
|
|
237
|
+
node .opencode/workflow-state.js set-approval quick_verified approved system 2026-03-21 "QA Lite passed"
|
|
238
|
+
node .opencode/workflow-state.js advance-stage quick_done
|
|
239
|
+
node .opencode/workflow-state.js show
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Expected outcome:
|
|
243
|
+
|
|
244
|
+
- `mode = quick`
|
|
245
|
+
- `current_stage = quick_done`
|
|
246
|
+
- `status = done`
|
|
247
|
+
|
|
248
|
+
### Quick Task escalation path
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
node .opencode/workflow-state.js start-task quick TASK-901 needs-spec "Initially looked small"
|
|
252
|
+
node .opencode/workflow-state.js route-rework design_flaw
|
|
253
|
+
node .opencode/workflow-state.js show
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Expected outcome:
|
|
257
|
+
|
|
258
|
+
- `mode = full`
|
|
259
|
+
- `current_stage = full_intake`
|
|
260
|
+
- `escalated_from = quick`
|
|
261
|
+
- non-null `escalation_reason`
|
|
262
|
+
|
|
263
|
+
### Full Delivery bug rework path
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
node .opencode/workflow-state.js start-task full FEATURE-900 dashboard-v2 "Feature workflow"
|
|
267
|
+
node .opencode/workflow-state.js route-rework bug true
|
|
268
|
+
node .opencode/workflow-state.js show
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Expected outcome:
|
|
272
|
+
|
|
273
|
+
- `mode = full`
|
|
274
|
+
- `current_stage = full_implementation`
|
|
275
|
+
- `retry_count = 1`
|
|
276
|
+
|
|
277
|
+
### Full-delivery task-board inspection
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
node .opencode/workflow-state.js start-task full FEATURE-910 board-check "Board setup"
|
|
281
|
+
node .opencode/workflow-state.js create-task feature-910 TASK-910-A "Implement diagnostics" implementation
|
|
282
|
+
node .opencode/workflow-state.js list-tasks feature-910
|
|
283
|
+
node .opencode/workflow-state.js validate-work-item-board feature-910
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Expected outcome:
|
|
287
|
+
|
|
288
|
+
- `create-task` initializes the task board for the new full-delivery work item
|
|
289
|
+
- `list-tasks feature-910` prints `Tasks for feature-910:` followed by task rows
|
|
290
|
+
- `validate-work-item-board feature-910` prints `Task board is valid for work item 'feature-910'`
|
|
291
|
+
|
|
292
|
+
## Notes
|
|
293
|
+
|
|
294
|
+
- Keep wrapper smoke coverage and the wrapper walkthrough example aligned with the actual `openkit` CLI behavior.
|
|
295
|
+
- Keep `openkit doctor` guidance separate from `node .opencode/workflow-state.js doctor`; they validate different layers.
|
|
296
|
+
- Prefer using a temporary state file when running manual smoke tests so the checked-in `.opencode/workflow-state.json` remains stable.
|
|
297
|
+
- For task-aware smoke tests, prefer a temporary project copy rooted around `.opencode/workflow-state.json` so the compatibility mirror, work-item store, and install manifest can be exercised together.
|
|
298
|
+
- Be deliberate when running `sync-install-manifest` because it updates the install manifest associated with the resolved project root, not the `--state` file itself. If that root is this repository, the checked-in `.opencode/install-manifest.json` will change.
|
|
299
|
+
- If workflow rules change, update this file alongside the tests and the workflow-state CLI docs.
|
|
300
|
+
- If session-start output changes, update this file, `README.md`, and any example docs that describe bootstrap behavior in the same change.
|
|
301
|
+
- If registry categories, profile names, or manifest semantics change, update this file together with `README.md`, `docs/operations/README.md`, and the relevant governance notes.
|
|
302
|
+
- Prefer behavior-oriented checks over purely structural checks whenever a workflow contract can be observed from CLI output, resume hints, or lane transitions.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Operator Guide
|
|
2
|
+
|
|
3
|
+
This directory is the operator-facing index layer for phase 1 information architecture.
|
|
4
|
+
|
|
5
|
+
Use it to find the right live docs quickly. Do not treat it as a canonical replacement for the docs it points to.
|
|
6
|
+
|
|
7
|
+
## Phase-1 Authority Rule
|
|
8
|
+
|
|
9
|
+
- this directory is an index, not a moved source-of-truth surface
|
|
10
|
+
- `README.md` remains the concise top-level repository entrypoint
|
|
11
|
+
- `context/core/workflow.md` remains the canonical live workflow-semantics document
|
|
12
|
+
- companion operational details remain canonical in `context/core/`
|
|
13
|
+
- governance and operations policies remain canonical in `docs/governance/` and `docs/operations/`
|
|
14
|
+
|
|
15
|
+
## Start Here
|
|
16
|
+
|
|
17
|
+
- Read `README.md` for the top-level product and runtime boundary summary
|
|
18
|
+
- Read `docs/operations/runbooks/openkit-daily-usage.md` for the detailed day-to-day usage path in this repository
|
|
19
|
+
- Install the CLI with `npm install -g openkit`, then run `openkit run` for first-time setup and `openkit doctor` to verify readiness
|
|
20
|
+
- Use `/task` unless you already know the work must start in `Quick Task`, `Migration`, or `Full Delivery`
|
|
21
|
+
- Use `context/navigation.md` when you need to locate deeper workflow or standards references
|
|
22
|
+
|
|
23
|
+
## Operator Routes
|
|
24
|
+
|
|
25
|
+
- Workflow contract: `context/core/workflow.md`
|
|
26
|
+
- Lane examples and tie-breakers: `context/core/workflow.md`
|
|
27
|
+
- Session resume: `context/core/session-resume.md`
|
|
28
|
+
- Command and runtime reality: `context/core/project-config.md`
|
|
29
|
+
- Detailed usage walkthrough: `docs/operations/runbooks/openkit-daily-usage.md`
|
|
30
|
+
- Runtime smoke tests: `docs/operations/runbooks/workflow-state-smoke-tests.md`
|
|
31
|
+
- Governance policy: `docs/governance/README.md`
|
|
32
|
+
- Operations support: `docs/operations/README.md`
|
|
33
|
+
|
|
34
|
+
## Live Operator Surfaces In This Repository
|
|
35
|
+
|
|
36
|
+
- Slash commands: `/task`, `/quick-task`, `/migrate`, `/delivery`, `/brainstorm`, `/write-plan`, `/execute-plan`
|
|
37
|
+
- Global diagnostics: `openkit doctor`
|
|
38
|
+
- Global launcher: `openkit run`
|
|
39
|
+
- Global lifecycle: `npm install -g openkit`, `openkit upgrade`, `openkit uninstall`
|
|
40
|
+
- Runtime inspection: `node .opencode/workflow-state.js status`
|
|
41
|
+
- Compatibility diagnostics: `node .opencode/workflow-state.js doctor`
|
|
42
|
+
- Current state view: `node .opencode/workflow-state.js show`
|
|
43
|
+
- Validation: `node .opencode/workflow-state.js validate`
|
|
44
|
+
|
|
45
|
+
## Boundary Notes
|
|
46
|
+
|
|
47
|
+
- The preferred user path is the global OpenKit install in the OpenCode home directory
|
|
48
|
+
- `openkit install-global` remains available as a manual or compatibility setup command, but it is no longer the preferred onboarding step
|
|
49
|
+
- `.opencode/opencode.json` remains the checked-in authoring and compatibility runtime manifest in this repository
|
|
50
|
+
- `Quick Task+` remains the current semantics of the `quick` lane, not a third live mode
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact_type: implementation_plan
|
|
3
|
+
version: 1
|
|
4
|
+
status: approved
|
|
5
|
+
feature_id: FEATURE-001
|
|
6
|
+
feature_slug: task-intake-dashboard
|
|
7
|
+
source_architecture: docs/architecture/2026-03-20-task-intake-dashboard.md
|
|
8
|
+
owner: TechLeadAgent
|
|
9
|
+
approval_gate: tech_lead_to_fullstack
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Implementation Plan: Task Intake Dashboard
|
|
13
|
+
|
|
14
|
+
## Goal
|
|
15
|
+
|
|
16
|
+
Implement the smallest possible intake dashboard flow that satisfies the approved spec.
|
|
17
|
+
|
|
18
|
+
## Dependencies
|
|
19
|
+
|
|
20
|
+
- No repo-native application stack or test runner is defined yet.
|
|
21
|
+
- Validation path: artifact review and workflow consistency only.
|
|
22
|
+
|
|
23
|
+
## Tasks
|
|
24
|
+
|
|
25
|
+
### [x] Task 1: Define list behavior
|
|
26
|
+
- Files: `docs/specs/2026-03-20-task-intake-dashboard.md`
|
|
27
|
+
- Goal: capture list and empty-state behavior clearly
|
|
28
|
+
- Validation: spec review against acceptance criteria
|
|
29
|
+
- Notes: no repo-native test command exists yet
|
|
30
|
+
|
|
31
|
+
### [x] Task 2: Define architecture boundaries
|
|
32
|
+
- Files: `docs/architecture/2026-03-20-task-intake-dashboard.md`
|
|
33
|
+
- Goal: isolate query, normalization, and rendering responsibilities
|
|
34
|
+
- Validation: architecture review against spec
|
|
35
|
+
- Notes: no repo-native test command exists yet
|
|
36
|
+
|
|
37
|
+
### [x] Task 3: Prepare implementation guidance
|
|
38
|
+
- Files: `docs/plans/2026-03-20-task-intake-dashboard.md`
|
|
39
|
+
- Goal: hand off a minimal executable plan for future application code
|
|
40
|
+
- Validation: plan review against templates and workflow contracts
|
|
41
|
+
- Notes: validation path is documentation-based until a toolchain exists
|
|
42
|
+
|
|
43
|
+
## Risks
|
|
44
|
+
|
|
45
|
+
- Future application stack may require rewriting validation commands.
|
|
46
|
+
|
|
47
|
+
## Rollback Notes
|
|
48
|
+
|
|
49
|
+
- Revert to the previous artifact set if this golden path no longer reflects the workflow model.
|