@tiic-tech/openworkflow 0.1.1 → 0.1.2

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 (213) hide show
  1. package/dist/adapters/codex/src/cleanCodexAdapter.js +4 -1
  2. package/dist/adapters/codex/src/cleanCodexAdapter.js.map +1 -1
  3. package/dist/adapters/codex/src/constants.d.ts +1 -0
  4. package/dist/adapters/codex/src/constants.js +2 -0
  5. package/dist/adapters/codex/src/constants.js.map +1 -0
  6. package/dist/adapters/codex/src/generateCommands.js +14 -9
  7. package/dist/adapters/codex/src/generateCommands.js.map +1 -1
  8. package/dist/adapters/codex/src/generateSkills.js +13 -0
  9. package/dist/adapters/codex/src/generateSkills.js.map +1 -1
  10. package/dist/adapters/codex/src/generatedFiles.js +1 -1
  11. package/dist/adapters/codex/src/manifest.js +11 -2
  12. package/dist/adapters/codex/src/manifest.js.map +1 -1
  13. package/dist/adapters/codex/src/templates.d.ts +0 -1
  14. package/dist/adapters/codex/src/templates.js +0 -1
  15. package/dist/adapters/codex/src/templates.js.map +1 -1
  16. package/dist/adapters/src/registry.d.ts +20 -0
  17. package/dist/adapters/src/registry.js +81 -0
  18. package/dist/adapters/src/registry.js.map +1 -0
  19. package/dist/cli/src/commands/brief.d.ts +46 -0
  20. package/dist/cli/src/commands/brief.js +294 -0
  21. package/dist/cli/src/commands/brief.js.map +1 -0
  22. package/dist/cli/src/commands/check.d.ts +42 -0
  23. package/dist/cli/src/commands/check.js +326 -0
  24. package/dist/cli/src/commands/check.js.map +1 -0
  25. package/dist/cli/src/commands/clean.js +46 -1
  26. package/dist/cli/src/commands/clean.js.map +1 -1
  27. package/dist/cli/src/commands/context.d.ts +1 -0
  28. package/dist/cli/src/commands/context.js +471 -0
  29. package/dist/cli/src/commands/context.js.map +1 -0
  30. package/dist/cli/src/commands/doctor.js +122 -12
  31. package/dist/cli/src/commands/doctor.js.map +1 -1
  32. package/dist/cli/src/commands/draft.d.ts +1 -0
  33. package/dist/cli/src/commands/draft.js +175 -0
  34. package/dist/cli/src/commands/draft.js.map +1 -0
  35. package/dist/cli/src/commands/gitAutomation.d.ts +1 -0
  36. package/dist/cli/src/commands/gitAutomation.js +378 -0
  37. package/dist/cli/src/commands/gitAutomation.js.map +1 -0
  38. package/dist/cli/src/commands/handoff.d.ts +22 -0
  39. package/dist/cli/src/commands/handoff.js +122 -0
  40. package/dist/cli/src/commands/handoff.js.map +1 -0
  41. package/dist/cli/src/commands/init.js +52 -1
  42. package/dist/cli/src/commands/init.js.map +1 -1
  43. package/dist/cli/src/commands/inspect.d.ts +23 -0
  44. package/dist/cli/src/commands/inspect.js +157 -0
  45. package/dist/cli/src/commands/inspect.js.map +1 -0
  46. package/dist/cli/src/commands/register.d.ts +1 -0
  47. package/dist/cli/src/commands/register.js +251 -0
  48. package/dist/cli/src/commands/register.js.map +1 -0
  49. package/dist/cli/src/commands/resume.d.ts +59 -0
  50. package/dist/cli/src/commands/resume.js +280 -0
  51. package/dist/cli/src/commands/resume.js.map +1 -0
  52. package/dist/cli/src/commands/shared.js +6 -2
  53. package/dist/cli/src/commands/shared.js.map +1 -1
  54. package/dist/cli/src/commands/summaries.d.ts +1 -0
  55. package/dist/cli/src/commands/summaries.js +77 -0
  56. package/dist/cli/src/commands/summaries.js.map +1 -0
  57. package/dist/cli/src/commands/summarize.d.ts +1 -0
  58. package/dist/cli/src/commands/summarize.js +316 -0
  59. package/dist/cli/src/commands/summarize.js.map +1 -0
  60. package/dist/cli/src/commands/sync.js +135 -12
  61. package/dist/cli/src/commands/sync.js.map +1 -1
  62. package/dist/cli/src/commands/validate.js +25 -1
  63. package/dist/cli/src/commands/validate.js.map +1 -1
  64. package/dist/cli/src/dev/verifyAgentE2E.d.ts +2 -0
  65. package/dist/cli/src/dev/verifyAgentE2E.js +391 -0
  66. package/dist/cli/src/dev/verifyAgentE2E.js.map +1 -0
  67. package/dist/cli/src/dev/verifyCleanCommand.js +213 -2
  68. package/dist/cli/src/dev/verifyCleanCommand.js.map +1 -1
  69. package/dist/cli/src/dev/verifyRuntimeSurface.js +4940 -54
  70. package/dist/cli/src/dev/verifyRuntimeSurface.js.map +1 -1
  71. package/dist/cli/src/dev/verifyWorkflowE2E.js +477 -45
  72. package/dist/cli/src/dev/verifyWorkflowE2E.js.map +1 -1
  73. package/dist/cli/src/index.js +184 -6
  74. package/dist/cli/src/index.js.map +1 -1
  75. package/dist/cli/src/report.d.ts +26 -0
  76. package/dist/cli/src/report.js +17 -0
  77. package/dist/cli/src/report.js.map +1 -0
  78. package/dist/core/src/artifacts/readiness.d.ts +7 -0
  79. package/dist/core/src/artifacts/readiness.js +240 -0
  80. package/dist/core/src/artifacts/readiness.js.map +1 -0
  81. package/dist/core/src/artifacts/registry.d.ts +9 -2
  82. package/dist/core/src/artifacts/registry.js +687 -60
  83. package/dist/core/src/artifacts/registry.js.map +1 -1
  84. package/dist/core/src/commands/registry.js +1425 -146
  85. package/dist/core/src/commands/registry.js.map +1 -1
  86. package/dist/core/src/contracts/index.d.ts +1 -1
  87. package/dist/core/src/fs/index.d.ts +24 -0
  88. package/dist/core/src/fs/index.js +48 -1
  89. package/dist/core/src/fs/index.js.map +1 -1
  90. package/dist/core/src/git/autonomousSimulator.d.ts +46 -0
  91. package/dist/core/src/git/autonomousSimulator.js +163 -0
  92. package/dist/core/src/git/autonomousSimulator.js.map +1 -0
  93. package/dist/core/src/git/branchIdentity.d.ts +19 -0
  94. package/dist/core/src/git/branchIdentity.js +75 -0
  95. package/dist/core/src/git/branchIdentity.js.map +1 -0
  96. package/dist/core/src/git/draftPrPilot.d.ts +47 -0
  97. package/dist/core/src/git/draftPrPilot.js +196 -0
  98. package/dist/core/src/git/draftPrPilot.js.map +1 -0
  99. package/dist/core/src/git/localEvidenceReader.d.ts +21 -0
  100. package/dist/core/src/git/localEvidenceReader.js +142 -0
  101. package/dist/core/src/git/localEvidenceReader.js.map +1 -0
  102. package/dist/core/src/git/localGitAutomation.d.ts +68 -0
  103. package/dist/core/src/git/localGitAutomation.js +470 -0
  104. package/dist/core/src/git/localGitAutomation.js.map +1 -0
  105. package/dist/core/src/git/mergeReadinessCheckpoint.d.ts +31 -0
  106. package/dist/core/src/git/mergeReadinessCheckpoint.js +110 -0
  107. package/dist/core/src/git/mergeReadinessCheckpoint.js.map +1 -0
  108. package/dist/core/src/git/prReadySummary.d.ts +16 -0
  109. package/dist/core/src/git/prReadySummary.js +144 -0
  110. package/dist/core/src/git/prReadySummary.js.map +1 -0
  111. package/dist/core/src/git/remoteReadonlyPlanner.d.ts +60 -0
  112. package/dist/core/src/git/remoteReadonlyPlanner.js +223 -0
  113. package/dist/core/src/git/remoteReadonlyPlanner.js.map +1 -0
  114. package/dist/core/src/onboarding/agentsGuide.d.ts +32 -0
  115. package/dist/core/src/onboarding/agentsGuide.js +164 -0
  116. package/dist/core/src/onboarding/agentsGuide.js.map +1 -0
  117. package/dist/core/src/validators/validateOpenWorkflow.js +1331 -15
  118. package/dist/core/src/validators/validateOpenWorkflow.js.map +1 -1
  119. package/dist/core/src/validators/validateRepositoryContracts.js +2321 -306
  120. package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -1
  121. package/dist/core/src/workflow/cleanOpenWorkflow.d.ts +2 -0
  122. package/dist/core/src/workflow/cleanOpenWorkflow.js +97 -8
  123. package/dist/core/src/workflow/cleanOpenWorkflow.js.map +1 -1
  124. package/dist/core/src/workflow/doctorOpenWorkflow.d.ts +7 -0
  125. package/dist/core/src/workflow/doctorOpenWorkflow.js +26 -0
  126. package/dist/core/src/workflow/doctorOpenWorkflow.js.map +1 -0
  127. package/dist/core/src/workflow/initOpenWorkflow.d.ts +7 -0
  128. package/dist/core/src/workflow/initOpenWorkflow.js +96 -8
  129. package/dist/core/src/workflow/initOpenWorkflow.js.map +1 -1
  130. package/dist/core/src/workflow/planningQueueResume.d.ts +105 -0
  131. package/dist/core/src/workflow/planningQueueResume.js +596 -0
  132. package/dist/core/src/workflow/planningQueueResume.js.map +1 -0
  133. package/dist/core/src/workflow/readWorkflowConfig.d.ts +6 -0
  134. package/dist/core/src/workflow/readWorkflowConfig.js +28 -0
  135. package/dist/core/src/workflow/readWorkflowConfig.js.map +1 -0
  136. package/dist/core/src/workflow/summaryHealth.d.ts +60 -0
  137. package/dist/core/src/workflow/summaryHealth.js +713 -0
  138. package/dist/core/src/workflow/summaryHealth.js.map +1 -0
  139. package/dist/core/src/workflow/syncOpenWorkflow.d.ts +22 -0
  140. package/dist/core/src/workflow/syncOpenWorkflow.js +235 -0
  141. package/dist/core/src/workflow/syncOpenWorkflow.js.map +1 -0
  142. package/package.json +2 -1
  143. package/references/artifact-authoring-templates.md +14 -12
  144. package/references/artifact-instruction-envelope.md +133 -0
  145. package/references/coder-continuous-growth-loop.md +68 -0
  146. package/references/gh-operation-governance.md +114 -0
  147. package/references/git-automation-governance.md +324 -0
  148. package/references/git-version-control-governance.md +227 -0
  149. package/references/internal-coder-protocol.md +202 -0
  150. package/references/issue-governance.md +115 -0
  151. package/references/planning-artifact-contracts.md +595 -0
  152. package/references/planning-skill-runtime-exposure.md +159 -0
  153. package/references/proto-redesign-artifact-contracts.md +217 -0
  154. package/references/proto2html-artifact-contracts.md +113 -0
  155. package/references/skill-system-lifecycle.md +198 -0
  156. package/references/validation-trust-domains.md +286 -0
  157. package/references/workflow-blueprint-runtime-alignment.md +287 -0
  158. package/schemas/atom-tasks.schema.json +101 -0
  159. package/schemas/candidate-changes.schema.json +323 -0
  160. package/schemas/current-state.schema.json +113 -0
  161. package/schemas/html-prototype.schema.json +288 -0
  162. package/schemas/openworkflow-contract.schema.json +9 -1
  163. package/schemas/proto-prompt-pack.schema.json +1333 -0
  164. package/schemas/prototype-evidence.schema.json +684 -142
  165. package/schemas/selected-change.schema.json +104 -0
  166. package/schemas/validation-target.schema.json +187 -1
  167. package/schemas/validation.schema.json +187 -1
  168. package/schemas/vision-session.schema.json +151 -0
  169. package/skills/analyze-changes/SKILL.md +92 -0
  170. package/skills/analyze-changes/agents/openai.yaml +4 -0
  171. package/skills/analyze-changes/references/analysis-protocol.md +116 -0
  172. package/skills/build-proto-prompt/SKILL.md +125 -0
  173. package/skills/build-proto-prompt/references/output-boundary.md +54 -0
  174. package/skills/build-proto-prompt/references/prompt-pack-compiler-protocol.md +80 -0
  175. package/skills/build-prototype/SKILL.md +162 -38
  176. package/skills/build-prototype/agents/openai.yaml +2 -2
  177. package/skills/build-prototype/references/philosophy-engine.md +61 -0
  178. package/skills/build-prototype/references/strategic-prompt-pack-protocol.md +365 -0
  179. package/skills/build-prototype/references/vision2prompt/01_input_contract.md +84 -0
  180. package/skills/build-prototype/references/vision2prompt/02_vision_decomposition.md +108 -0
  181. package/skills/build-prototype/references/vision2prompt/03_strategy_hypothesis_generation.md +89 -0
  182. package/skills/build-prototype/references/vision2prompt/04_product_system_extraction.md +78 -0
  183. package/skills/build-prototype/references/vision2prompt/05_prototype_prompt_schema.md +189 -0
  184. package/skills/build-prototype/references/vision2prompt/06_output_templates.md +125 -0
  185. package/skills/build-prototype/references/vision2prompt/07_quality_rubric.md +171 -0
  186. package/skills/build-validation/SKILL.md +136 -54
  187. package/skills/build-validation/references/prototype-validation-target-rubric.md +35 -0
  188. package/skills/build-validation/references/return-to-vision-gate.md +32 -0
  189. package/skills/build-vision/SKILL.md +192 -0
  190. package/skills/build-vision/references/proto-readiness-rubric.md +48 -0
  191. package/skills/build-vision/references/vision-interview-protocol.md +48 -0
  192. package/skills/coder/SKILL.md +204 -0
  193. package/skills/decompose-to-changes/SKILL.md +176 -0
  194. package/skills/decompose-to-changes/agents/openai.yaml +4 -0
  195. package/skills/decompose-to-changes/references/decomposition-protocol.md +278 -0
  196. package/skills/prompt2proto/SKILL.md +157 -0
  197. package/skills/prompt2proto/agents/openai.yaml +4 -0
  198. package/skills/prompt2proto/references/00_role_philosophy_engine.md +96 -0
  199. package/skills/prompt2proto/references/01_input_contract.md +53 -0
  200. package/skills/prompt2proto/references/02_prompt_pack_readiness.md +50 -0
  201. package/skills/prompt2proto/references/03_visual_translation_workflow.md +64 -0
  202. package/skills/prompt2proto/references/04_output_contract.md +67 -0
  203. package/skills/prompt2proto/references/05_quality_rubric.md +46 -0
  204. package/skills/proto2html/SKILL.md +136 -0
  205. package/skills/proto2html/agents/openai.yaml +4 -0
  206. package/skills/proto2html/references/proto2html-protocol.md +115 -0
  207. package/skills/run-team/SKILL.md +4 -0
  208. package/skills/select-change/SKILL.md +200 -0
  209. package/skills/select-change/agents/openai.yaml +4 -0
  210. package/skills/select-change/references/selection-protocol.md +281 -0
  211. package/skills/tune-prototype/SKILL.md +121 -0
  212. package/skills/tune-prototype/agents/openai.yaml +4 -0
  213. package/skills/tune-prototype/references/refined-prompt-pack-protocol.md +161 -0
@@ -0,0 +1,286 @@
1
+ # Validation Trust Domains
2
+
3
+ OpenWorkflow exposes several green or red signals to Agents. Those signals must
4
+ not imply the same scope unless they actually validate the same domain.
5
+
6
+ This reference defines the initial trust-domain taxonomy for engineering
7
+ quality governance. It is taxonomy only: it does not change CLI JSON shape,
8
+ validator pass or fail behavior, generated surfaces, or historical artifacts.
9
+
10
+ ## Core Rule
11
+
12
+ A command may be green for its domain while a broader domain is red. When that
13
+ happens, the command should be interpreted as scoped trust, not global
14
+ repository readiness.
15
+
16
+ The product failure to avoid is false readiness: a fresh Agent sees a green
17
+ entry command and assumes release-grade validation is clean.
18
+
19
+ ## Domains
20
+
21
+ ### Entry Trust
22
+
23
+ Purpose: decide whether a fresh Agent can safely enter the repository and load
24
+ bounded context.
25
+
26
+ Primary commands:
27
+
28
+ - `handoff --json`
29
+ - `inspect --strict --json`
30
+ - `context --handoff --json`
31
+
32
+ Proves:
33
+
34
+ - managed workflow surfaces are present and current enough for entry
35
+ - generated adapter surfaces are present and current enough for entry
36
+ - summary freshness and strict quality are acceptable for instantiated workflow
37
+ artifacts
38
+ - current next command readiness can be checked
39
+ - read order and blockers are available
40
+
41
+ Does not prove:
42
+
43
+ - broad repository validation is clean
44
+ - historical planning artifacts are contract-current
45
+ - all fixtures are release-ready
46
+ - release packaging is ready
47
+ - all quality-debt baselines are resolved
48
+
49
+ ### Summary Health
50
+
51
+ Purpose: decide whether instantiated workflow artifacts have trusted summaries
52
+ or current slices before raw evidence is loaded.
53
+
54
+ Primary commands:
55
+
56
+ - `summaries --json`
57
+ - `summaries --strict --json`
58
+
59
+ Proves:
60
+
61
+ - summary or current-slice presence for instantiated artifact contracts
62
+ - freshness status
63
+ - strict source quality when `--strict` is enabled
64
+
65
+ Does not prove:
66
+
67
+ - candidate queues outside registered workflow artifacts are globally clean
68
+ - historical archives have modern selected-change evidence
69
+ - example fixtures match the current release gate
70
+
71
+ ### Managed Surface Health
72
+
73
+ Purpose: decide whether OpenWorkflow-owned files and generated adapters are
74
+ missing, stale, or repairable through source-driven sync.
75
+
76
+ Primary commands:
77
+
78
+ - `doctor --json`
79
+ - `sync --root . --tools codex --json` as a preview or mutation command
80
+
81
+ Proves:
82
+
83
+ - managed files and adapters match the current generators
84
+ - `AGENTS.md` managed block is current when present
85
+ - repair guidance is available for generated-surface drift
86
+
87
+ Does not prove:
88
+
89
+ - artifact handoff quality
90
+ - repository contract validation
91
+ - release readiness
92
+
93
+ ### Source Contract Validation
94
+
95
+ Purpose: validate source-of-truth artifacts, schemas, and repository contracts.
96
+
97
+ Primary commands:
98
+
99
+ - `validate --root . --json`
100
+ - `npm run validate`
101
+
102
+ Proves:
103
+
104
+ - repository contract files and source artifacts meet the current validation
105
+ rules for the validator's release-oriented scope
106
+ - malformed YAML, missing contract keys, missing evidence fields, high-risk
107
+ report section drift, and fixture shape problems are visible
108
+
109
+ Does not prove:
110
+
111
+ - generated adapter parity unless that validator explicitly includes it
112
+ - runtime workflow behavior
113
+ - Agent entry trust when failures are known historical or release-domain debt
114
+
115
+ ### Active Queue Health
116
+
117
+ Purpose: decide whether the current queue or selected change can safely
118
+ continue.
119
+
120
+ Primary commands and surfaces:
121
+
122
+ - `resume --json`
123
+ - `changes/<plan_id>/SUMMARY.yaml`
124
+ - `changes/<plan_id>/CANDIDATE_CHANGES.yaml`
125
+ - selected-change artifacts
126
+ - `git-automation commit` evidence
127
+
128
+ Proves:
129
+
130
+ - active queue boundary, selected candidate, next candidate, owned paths,
131
+ forbidden paths, validation expectations, and commit-evidence expectations
132
+ when the evidence is present
133
+
134
+ Does not prove:
135
+
136
+ - unrelated historical queues are clean
137
+ - release readiness
138
+ - all future candidate dependencies are satisfied
139
+
140
+ ### Historical Archive Health
141
+
142
+ Purpose: classify older planning and evidence artifacts that may predate the
143
+ current contract.
144
+
145
+ Primary consumers:
146
+
147
+ - broad repository validation
148
+ - release readiness checks
149
+ - migration tools
150
+
151
+ Proves:
152
+
153
+ - archive compatibility with current validation rules when it passes
154
+
155
+ Does not prove:
156
+
157
+ - active continuation blockers by itself
158
+
159
+ Interpretation rule:
160
+
161
+ Historical archive failures must remain visible, but entry commands should not
162
+ silently collapse them into the same category as active selected-change
163
+ blockers. They should be reported as archive or release-readiness debt until a
164
+ specific migration candidate owns them.
165
+
166
+ ### Fixture Corpus Health
167
+
168
+ Purpose: ensure examples, stress fixtures, and dev fixtures match the current
169
+ runtime and validator contracts.
170
+
171
+ Primary commands:
172
+
173
+ - `npm run verify:runtime-surface`
174
+ - targeted dev verifiers
175
+ - broad `npm run validate` when examples are part of repository validation
176
+
177
+ Proves:
178
+
179
+ - selected fixtures still exercise current behavior
180
+ - known negative and positive cases remain meaningful
181
+
182
+ Does not prove:
183
+
184
+ - every production path is covered
185
+ - historical artifacts are migrated
186
+
187
+ ### Release Readiness
188
+
189
+ Purpose: decide whether the repository is clean enough to package, publish, or
190
+ promote as a coherent tool release.
191
+
192
+ Primary commands:
193
+
194
+ - `npm run validate`
195
+ - `npm run verify:runtime-surface`
196
+ - `npm run verify:e2e-workflow`
197
+ - `npm run verify:agent-e2e`
198
+ - `npm run verify:clean`
199
+ - `npm pack` or publish gates when applicable
200
+
201
+ Proves:
202
+
203
+ - the broadest available local release gate is clean for the configured checks
204
+
205
+ Does not prove:
206
+
207
+ - that no deferred product feature remains
208
+ - that external providers or remote integrations are healthy unless those gates
209
+ explicitly run them
210
+
211
+ ## Current Baseline Red Domains
212
+
213
+ As of 2026-05-23, `handoff --json`, `inspect --strict --json`, and
214
+ `summaries --strict --json` can pass while `npm run validate` fails.
215
+
216
+ Current `npm run validate` failure classes:
217
+
218
+ - selected-change atom task shape drift in historical planning folders
219
+ - malformed YAML in a planning queue
220
+ - missing completion evidence in older done candidates
221
+ - missing or incomplete local commit evidence fields
222
+ - high-risk decision report section drift
223
+ - stale example prompt-pack shape
224
+
225
+ These are baseline quality debt. They are not acceptable release health, but
226
+ they also should not be confused with the active entry-trust domain unless a
227
+ current queue or selected change depends on them.
228
+
229
+ ## Report Categories
230
+
231
+ Future trust reports should classify findings into these categories when the
232
+ domain distinction matters:
233
+
234
+ - `blocking_active`: blocks the current selected change, current command, or
235
+ entry trust.
236
+ - `blocking_release`: blocks release readiness but not necessarily local Agent
237
+ continuation.
238
+ - `historical_debt`: older artifact or archive incompatibility that must remain
239
+ visible but needs a migration owner.
240
+ - `fixture_debt`: example or stress fixture mismatch.
241
+ - `generated_surface_drift`: managed or generated surface mismatch repairable
242
+ through source-driven sync or generator changes.
243
+ - `new_regression`: failure introduced by the current candidate or dirty paths.
244
+ - `advisory`: non-blocking guidance with a concrete follow-up.
245
+
246
+ ## Command Mapping
247
+
248
+ | Command | Intended domain | Important non-domain |
249
+ | --- | --- | --- |
250
+ | `handoff --json` | Entry trust | Release readiness |
251
+ | `inspect --strict --json` | Entry trust and strict summary quality | Historical archive migration |
252
+ | `context --handoff --json` | Command-specific startup packet plus entry trust | Broad repository validation |
253
+ | `summaries --strict --json` | Summary health | Queue archive health |
254
+ | `doctor --json` | Managed surface health | Artifact handoff quality |
255
+ | `validate --root . --json` | Source contract validation | Agent entry trust by itself |
256
+ | `npm run validate` | Build plus broad source contract validation | Runtime E2E behavior |
257
+ | `verify:runtime-surface` | Runtime and generated-surface regression coverage | Release readiness by itself |
258
+ | `resume --json` | Active queue and recovery packet | Mutation authorization |
259
+
260
+ ## Agent Interpretation Rules
261
+
262
+ 1. If entry trust is red, stop before implementation.
263
+ 2. If entry trust is green and broad validation is red, continue only inside
264
+ the active queue or selected-change boundary and record the red broad domain
265
+ as residual debt.
266
+ 3. If broad validation red classes touch the files or artifact family being
267
+ edited, treat them as in-scope until proven historical.
268
+ 4. If a command is green for a narrow domain, do not report global readiness.
269
+ 5. If a candidate changes validation behavior, it must state which domain's
270
+ pass/fail semantics changed and how Agents should interpret the result.
271
+ 6. Historical debt must not be hidden to make a quality gate look healthy.
272
+
273
+ ## Migration Direction
274
+
275
+ The next implementation candidates should move from this taxonomy toward
276
+ structured output:
277
+
278
+ - domain-classified validation sections
279
+ - shared path safety helpers
280
+ - extracted validator modules by domain
281
+ - structural verifier assertions
282
+ - typed protocol source models
283
+ - scan-budget reporting for entry commands
284
+
285
+ Each step should preserve the distinction between scoped Agent trust and broad
286
+ release readiness.
@@ -0,0 +1,287 @@
1
+ # Workflow Blueprint Runtime Alignment
2
+
3
+ This reference aligns OpenWorkflow's command vocabulary with the intended
4
+ product-to-implementation workflow. It is a design reference, not runtime
5
+ registration. Adding a command to this document does not expose a CLI command,
6
+ generate adapter files, or authorize implementation.
7
+
8
+ ## Scope
9
+
10
+ M73 owns the taxonomy and stage-graph alignment layer. It does not own detailed
11
+ runtime contracts for `proto2html`, `html2spec`, `build`, `change`, `review`,
12
+ `archive`, `build-agent`, or `build-skill`. Those surfaces remain deferred
13
+ features that require later DTC queues and, where marked high risk, explicit
14
+ approval before implementation.
15
+
16
+ ## Command Families
17
+
18
+ OpenWorkflow commands fall into four families. The family controls how an Agent
19
+ should reason about the command before implementation details exist.
20
+
21
+ ### Primary Workflow Commands
22
+
23
+ Primary workflow commands represent user-visible stages in the product-to-
24
+ implementation path. They move the project from intent to validated direction,
25
+ prototype evidence, implementation planning, execution, and closure.
26
+
27
+ Current or intended primary workflow commands:
28
+
29
+ - `/ow:vision`: establish or revise the product vision and durable intent.
30
+ - `/ow:validation`: identify the core assumption or feature that must be proven
31
+ before deeper design or build work.
32
+ - `/ow:proto`: create image-first prototype evidence for product direction.
33
+ - `/ow:tune`: refine accepted prototype evidence without changing the product
34
+ thesis unexpectedly.
35
+ - `/ow:proto2html`: convert the accepted benchmark prototype image into a
36
+ high-fidelity HTML prototype.
37
+ - `/ow:html2spec`: extract implementation-ready specs from locked HTML
38
+ prototype evidence.
39
+ - `/ow:build`: create project-specific agent team, skill, milestone, and
40
+ workstream planning from approved specs.
41
+ - `/ow:change`: execute implementation through selected, bounded changes.
42
+ - `/ow:archive`: verify, close, and archive completed implementation work.
43
+
44
+ Only commands that own a stage transition belong in this family. Planning
45
+ helpers, analysis commands, and async checks should not be promoted into primary
46
+ workflow stages simply because they are important.
47
+
48
+ ### Internal Planning And Decision Commands
49
+
50
+ Internal planning and decision commands produce decision intelligence for a
51
+ primary workflow stage. They may be invoked directly during dogfood development,
52
+ but their architectural role is subordinate to the stage they support.
53
+
54
+ Current planning intelligence commands:
55
+
56
+ - `/ow:decompose-to-changes`: create or maintain one bounded candidate-change
57
+ queue for a feature, command surface, artifact family, module, or workflow
58
+ slice.
59
+ - `/ow:analyze-changes`: recommend the next candidate from one or more queues
60
+ without selecting or implementing it.
61
+ - `/ow:select-change`: select one implementable candidate and create
62
+ implementation-ready planning artifacts.
63
+
64
+ These three commands are DTC, AC, and SC. They are the planning intelligence
65
+ inside `/ow:change`; they are not a replacement for the full OpenWorkflow
66
+ workflow and should not be treated as primary stages.
67
+
68
+ Decision behavior also belongs in this family. `/ow:decision` records review
69
+ outcomes and handoff decisions, but it should remain internal unless a later
70
+ queue proves that user-facing decision control is needed.
71
+
72
+ ### Advanced Creation Commands
73
+
74
+ Advanced creation commands create reusable execution capability for a project.
75
+ They affect future implementation quality and therefore require stronger
76
+ boundaries than ordinary planning notes.
77
+
78
+ Intended advanced creation commands:
79
+
80
+ - `/ow:build-agent`: create a bounded repo-local agent role that can participate
81
+ in `/ow:build`, `/ow:change`, or later workflow loops.
82
+ - `/ow:build-skill`: create a reusable procedural capability that can be
83
+ registered for project-specific workflow use.
84
+
85
+ These commands are not primary workflow stages. They are capability factories
86
+ that should be governed by registry semantics, generated-surface ownership, and
87
+ high-risk approval when they affect adapter delivery or execution behavior.
88
+
89
+ ### Asynchronous Support Commands
90
+
91
+ Asynchronous support commands monitor, review, or enrich workflow execution
92
+ without replacing the main stage sequence.
93
+
94
+ Intended asynchronous support command:
95
+
96
+ - `/ow:review`: monitor implementation output, check consistency against specs
97
+ and accepted artifacts, and emit findings that inform the next planning loop.
98
+
99
+ `/ow:review` findings should become input evidence for `/ow:analyze-changes`
100
+ or `/ow:select-change`. They are not a parallel implementation plan and do not
101
+ authorize repairs without a selected change.
102
+
103
+ ## Boundary Rules
104
+
105
+ - A command family is a design classification, not runtime exposure.
106
+ - Primary workflow commands own stage transitions.
107
+ - Internal planning commands advise or prepare a primary stage.
108
+ - Advanced creation commands create reusable agents or skills and need registry
109
+ boundaries before runtime exposure.
110
+ - Async support commands produce evidence for later planning; they do not
111
+ silently mutate implementation.
112
+ - DTC, AC, and SC must remain inside the `/ow:change` planning loop unless a
113
+ later approved change deliberately revises the taxonomy.
114
+
115
+ ## Stage Graph
116
+
117
+ The intended primary workflow chain is:
118
+
119
+ ```text
120
+ /ow:vision
121
+ -> /ow:validation
122
+ -> /ow:proto
123
+ -> /ow:tune # optional, repeatable
124
+ -> /ow:proto2html
125
+ -> /ow:html2spec
126
+ -> /ow:build
127
+ -> /ow:change
128
+ -> /ow:archive
129
+ ```
130
+
131
+ The graph is a blueprint for stage responsibility. It does not mean every
132
+ listed command is already implemented, registered, or safe to expose at runtime.
133
+
134
+ ### Stage Responsibilities
135
+
136
+ - `/ow:vision` creates or revises durable product intent.
137
+ - `/ow:validation` chooses the core assumption or feature that must be proven.
138
+ - `/ow:proto` explores the accepted direction through image-first prototype
139
+ evidence.
140
+ - `/ow:tune` refines accepted prototype evidence. It is optional and repeatable;
141
+ it should improve fidelity without silently changing the product thesis.
142
+ - `/ow:proto2html` reconstructs the accepted benchmark prototype image as a
143
+ high-fidelity HTML prototype.
144
+ - `/ow:html2spec` turns locked HTML prototype evidence into implementation-ready
145
+ specification artifacts.
146
+ - `/ow:build` turns approved specs into project-specific team, skill, milestone,
147
+ and workstream planning.
148
+ - `/ow:change` executes selected, bounded implementation changes through the
149
+ planning intelligence loop and implementation work.
150
+ - `/ow:archive` verifies and closes completed implementation work.
151
+
152
+ ### Loop And Support Attachments
153
+
154
+ `/ow:tune` is the only loop inside the discovery/prototype segment. It can run
155
+ multiple times while the accepted prototype still needs refinement. Once the
156
+ benchmark prototype is accepted for reconstruction, downstream work should
157
+ avoid reopening product direction unless new validation evidence requires it.
158
+
159
+ `/ow:review` attaches to `/ow:change` as asynchronous support. It should produce
160
+ findings that influence the next analysis or selection pass, not bypass the
161
+ selected-change boundary.
162
+
163
+ `/ow:build-agent` and `/ow:build-skill` attach to `/ow:build` and later
164
+ workflow loops as advanced creation commands. They create capability that may be
165
+ used by implementation work, but they are not normal stage transitions.
166
+
167
+ ### Deferred Stage Surfaces
168
+
169
+ The stage graph intentionally names future surfaces before they are implemented.
170
+ Detailed contracts for `proto2html`, `html2spec`, `build`, `change`, `review`,
171
+ `archive`, `build-agent`, and `build-skill` require separate DTC queues. The
172
+ next deferred queue after M73 should reassess `/ow:vision`, `/ow:validation`,
173
+ `/ow:proto`, and `/ow:tune` quality before `proto2html` proceeds.
174
+
175
+ ## /ow:change Planning Intelligence Boundary
176
+
177
+ `/ow:change` is the implementation orchestration stage. It owns the loop that
178
+ turns approved build or milestone context into bounded implementation work,
179
+ evidence, review input, and completion handoff.
180
+
181
+ DTC, AC, and SC sit inside that loop as planning intelligence:
182
+
183
+ - DTC, `/ow:decompose-to-changes`, creates or maintains one bounded
184
+ `CANDIDATE_CHANGES.yaml` queue for the current feature boundary.
185
+ - AC, `/ow:analyze-changes`, performs cross-queue priority analysis when more
186
+ than one active queue competes for the next change.
187
+ - SC, `/ow:select-change`, ranks candidates inside one owning queue, selects one
188
+ implementable candidate, and creates implementation-ready planning artifacts.
189
+
190
+ Single-queue work should normally go directly from DTC to SC. AC is not a
191
+ mandatory pre-step when there is only one active queue; using it for every
192
+ selection adds cost and weakens SC into a marker instead of a decision command.
193
+
194
+ ### Planning Loop Inputs
195
+
196
+ At the boundary level, `/ow:change` can consume:
197
+
198
+ - approved specs or milestone plans from `/ow:build`
199
+ - an existing candidate queue from DTC
200
+ - review findings from `/ow:review`
201
+ - high-risk decision reports
202
+ - branch, dirty-tree, validation, and commit evidence
203
+ - user sequencing or approval constraints
204
+
205
+ ### Planning Loop Outputs
206
+
207
+ The planning intelligence loop can produce:
208
+
209
+ - a bounded `CANDIDATE_CHANGES.yaml` queue
210
+ - optional cross-queue `CHANGE_ANALYSIS.yaml` when more than one queue competes
211
+ - `SELECTED_CHANGE.yaml`
212
+ - `ATOM_TASKS.yaml`
213
+ - `IMPLEMENTATION_BRIEF.md`
214
+ - high-risk stop packets when approval is required
215
+
216
+ These outputs prepare implementation. They do not by themselves implement the
217
+ selected change, update runtime registries, push to remote services, or approve
218
+ high-risk work.
219
+
220
+ ### High-Risk Stops
221
+
222
+ A high-risk report is a stop packet. It names risks, options, guardrails, go
223
+ criteria, and stop criteria, but it is not approval. Selection or
224
+ implementation of high-risk work requires explicit user approval of a concrete
225
+ option from the report.
226
+
227
+ ### Deferred /ow:change Runtime
228
+
229
+ This reference defines the planning-intelligence boundary only. Full
230
+ `/ow:change` orchestration, including how implementation agents run, how review
231
+ is triggered, and how archive completion is enforced, remains a deferred
232
+ feature and needs its own DTC queue.
233
+
234
+ ## Future DTC Handoff Map
235
+
236
+ M73 intentionally stops at taxonomy and stage-graph alignment. The following
237
+ items are future feature boundaries, not active M73 candidates. Each item needs
238
+ a later DTC pass before selection or implementation.
239
+
240
+ Each command deserves its own candidate-change boundary. When a future queue
241
+ reviews multiple existing commands together, such as the front-chain quality
242
+ review, each command should still become its own candidate change inside that
243
+ queue. Do not merge multiple command quality efforts into one broad candidate.
244
+
245
+ For existing commands, the work is repair and enhancement. The queue should
246
+ define strict acceptance criteria and stress tests before implementation starts:
247
+
248
+ - behavioral acceptance for normal command use
249
+ - malformed or missing artifact inputs
250
+ - stale, thin, or conflicting summary/current-state inputs
251
+ - dirty-tree and branch-boundary friction where relevant
252
+ - JSON report quality and `ok:false` error clarity
253
+ - generated adapter and source-of-truth drift where relevant
254
+ - regression coverage that proves the command remains usable by a low-context
255
+ Agent
256
+
257
+ | Order | Suggested Queue | Boundary | Risk Note |
258
+ |---|---|---|---|
259
+ | 1 | `M74-front-chain-command-quality-review` | Reassess `/ow:vision`, `/ow:validation`, `/ow:proto`, and `/ow:tune` under the expanded workflow. | Medium; quality of these commands affects every downstream artifact. |
260
+ | 2 | `M75-proto2html-runtime-contract` | Define benchmark-image to high-fidelity HTML reconstruction. | High if runtime exposure or generated surfaces are changed. |
261
+ | 3 | `M76-html2spec-artifact-contract` | Define locked HTML to implementation-ready SPEC artifacts. | Medium; must avoid inventing requirements not grounded in locked HTML. |
262
+ | 4 | `M77-build-command-contract` | Define `/ow:build` team, skill, milestone, and workstream planning. | High if it creates executable agents or adapter-visible commands. |
263
+ | 5 | `M78-change-planning-loop` | Define full `/ow:change` orchestration around DTC, AC, SC, implementation, and evidence. | Medium to high depending on runtime scope. |
264
+ | 6 | `M79-review-async-pipeline` | Define `/ow:review` findings, monitoring triggers, and feedback into planning. | High if background automation or monitoring runtime is introduced. |
265
+ | 7 | `M80-archive-completion-transaction` | Define verified completion and archive semantics for implemented changes. | High if it mutates state, git, or workflow pointers automatically. |
266
+ | 8 | `M81-build-agent-skill-registry` | Define `/ow:build-agent` and `/ow:build-skill` registry semantics. | High if generated adapter surfaces or execution capabilities are materialized. |
267
+ | 9 | `M82-workflow-lifecycle-transactions` | Define explicit dry-run/write transactions for workflow state movement. | Medium to high depending on mutation authority. |
268
+ | 10 | `M83-expanded-workflow-read-model` | Extend summary-first read models across the expanded workflow. | Medium; protects low-context Agent consumption. |
269
+
270
+ ### Handoff Rules
271
+
272
+ - Future queues must cite this M73 reference and the relevant source plan.
273
+ - Future queues must run DTC scope control and avoid bundling multiple feature
274
+ boundaries into one `CANDIDATE_CHANGES.yaml`.
275
+ - Future command-review queues should split one candidate per command, with
276
+ explicit repair/enhancement scope, acceptance criteria, and stress tests.
277
+ - High-risk queues require a `HIGH_RISK_DECISION_REPORT.md` and explicit user
278
+ approval before selection or implementation of the high-risk option.
279
+ - Front-chain command quality review must happen before proto2html work. Even
280
+ though `/ow:vision`, `/ow:validation`, `/ow:proto`, and `/ow:tune` already
281
+ exist, their output quality determines downstream reconstruction, spec, build,
282
+ and implementation quality.
283
+
284
+ ## Deferred Work
285
+
286
+ M73 closes after C014. The next queue should be
287
+ `M74-front-chain-command-quality-review`.
@@ -0,0 +1,101 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://openworkflow.local/schemas/atom-tasks.schema.json",
4
+ "title": "OpenWorkflow Atom Tasks",
5
+ "type": "object",
6
+ "required": [
7
+ "schema_version",
8
+ "contract_id",
9
+ "contract_type",
10
+ "planning_artifact_type",
11
+ "selected_change_id",
12
+ "title",
13
+ "status",
14
+ "tasks"
15
+ ],
16
+ "properties": {
17
+ "schema_version": {
18
+ "type": "string"
19
+ },
20
+ "contract_id": {
21
+ "type": "string"
22
+ },
23
+ "contract_type": {
24
+ "const": "planning"
25
+ },
26
+ "planning_artifact_type": {
27
+ "const": "atom_tasks"
28
+ },
29
+ "selected_change_id": {
30
+ "type": "string"
31
+ },
32
+ "title": {
33
+ "type": "string"
34
+ },
35
+ "status": {
36
+ "type": "string",
37
+ "enum": [
38
+ "draft",
39
+ "active",
40
+ "completed",
41
+ "blocked",
42
+ "archived"
43
+ ]
44
+ },
45
+ "tasks": {
46
+ "type": "array",
47
+ "items": {
48
+ "type": "object",
49
+ "required": [
50
+ "task_id",
51
+ "title",
52
+ "status",
53
+ "type",
54
+ "owned_paths",
55
+ "done_when"
56
+ ],
57
+ "properties": {
58
+ "task_id": {
59
+ "type": "string"
60
+ },
61
+ "title": {
62
+ "type": "string"
63
+ },
64
+ "status": {
65
+ "type": "string",
66
+ "enum": [
67
+ "planned",
68
+ "in_progress",
69
+ "completed",
70
+ "blocked",
71
+ "deferred"
72
+ ]
73
+ },
74
+ "type": {
75
+ "type": "string",
76
+ "enum": [
77
+ "read",
78
+ "edit",
79
+ "verify",
80
+ "document"
81
+ ]
82
+ },
83
+ "owned_paths": {
84
+ "type": "array",
85
+ "items": {
86
+ "type": "string"
87
+ }
88
+ },
89
+ "done_when": {
90
+ "type": "array",
91
+ "items": {
92
+ "type": "string"
93
+ }
94
+ }
95
+ },
96
+ "additionalProperties": true
97
+ }
98
+ }
99
+ },
100
+ "additionalProperties": true
101
+ }