@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,64 @@
1
+ # 03 Visual Translation Workflow
2
+
3
+ Use this reference to translate ready prompt-pack content into UI/UX prototype
4
+ instructions.
5
+
6
+ ## Translation Steps
7
+
8
+ 1. Restate the product decision being tested: product thesis, user
9
+ transformation, validation risk, and success signal.
10
+ 2. Select the product shell and primary canvas from the prompt pack; do not
11
+ replace it with a generic dashboard or chatbot unless justified there.
12
+ 3. Build the screen system: stable layout, navigation, object anatomy,
13
+ repeated panels, action zones, and trust surfaces.
14
+ 4. Apply the build-prototype philosophy engine before screen-by-screen work:
15
+ Chief PM identifies the user decision, product risk, domain object, and
16
+ evidence value; Principal UI/UX identifies the hierarchy, density, scan
17
+ path, affordances, and UI/UX credibility bar.
18
+ 5. For each screen, define:
19
+ - user goal and journey stage;
20
+ - visible domain objects;
21
+ - hierarchy from primary decision to supporting detail;
22
+ - component anatomy;
23
+ - state and selected object;
24
+ - user actions;
25
+ - system response;
26
+ - trust, privacy, approval, or audit controls;
27
+ - concrete sample data and copy;
28
+ - negative visual constraints.
29
+ 6. Calibrate density:
30
+ - visible when it changes the user's next decision;
31
+ - grouped when related fields need comparison;
32
+ - collapsed when secondary but still inspectable;
33
+ - delayed when it belongs after user intent;
34
+ - drilled into when it would overload the main canvas.
35
+ 7. Write provider-agnostic prototype instructions that preserve prompt-pack
36
+ strategy and add UI/UX specificity.
37
+
38
+ ## Density Calibration Rules
39
+
40
+ - Operational tools may be dense when the user compares objects, owners,
41
+ statuses, risk, and next actions repeatedly.
42
+ - Consumer or emotionally sensitive tools should reduce density when clarity,
43
+ confidence, or trust is the main behavior change.
44
+ - High-risk actions need visible consequences and approval affordances.
45
+ - AI outputs need provenance, editability, and user override when they affect
46
+ real decisions.
47
+ - Mobile or constrained canvases require stronger prioritization; do not simply
48
+ shrink desktop density.
49
+
50
+ ## Output Pattern
51
+
52
+ For every screen instruction, include:
53
+
54
+ ```text
55
+ Screen: [name and id]
56
+ Product reason: [why this screen exists]
57
+ User decision: [what the user must understand or choose]
58
+ Layout and hierarchy: [primary canvas, panels, density]
59
+ Visible content: [objects, metrics, copy, labels]
60
+ States and interactions: [current state, action, system response]
61
+ Trust controls: [approval, audit, privacy, provenance, override]
62
+ Negative constraints: [what must not appear]
63
+ Acceptance: [what a reviewer must be able to inspect]
64
+ ```
@@ -0,0 +1,67 @@
1
+ # 04 Output Contract
2
+
3
+ Use this reference when writing prompt2proto evidence or translation artifacts.
4
+
5
+ ## Translation Plan
6
+
7
+ `PROMPT2PROTO_TRANSLATION_PLAN.md` should include:
8
+
9
+ - source prompt pack path and readiness status;
10
+ - role-engine summary;
11
+ - selected directions and screen ids;
12
+ - prototype system constants;
13
+ - per-screen UI/UX translation instructions;
14
+ - density decisions;
15
+ - trust and approval surfaces;
16
+ - negative constraints;
17
+ - known limits and next handoff.
18
+
19
+ ## Evidence YAML
20
+
21
+ `PROMPT2PROTO_EVIDENCE.yaml` should be provider-agnostic:
22
+
23
+ ```yaml
24
+ schema_version: 0.1.0
25
+ artifact_type: prompt2proto_evidence
26
+ status: ready_for_generation|blocked
27
+ source_prompt_pack: path
28
+ role_engine:
29
+ chief_pm: applied
30
+ principal_ui_ux: applied
31
+ readiness:
32
+ status: pass|blocked
33
+ blockers: []
34
+ translation_outputs:
35
+ plan: PROMPT2PROTO_TRANSLATION_PLAN.md
36
+ selected_directions: []
37
+ selected_screen_ids: []
38
+ prototype_system:
39
+ coherence_contract_status: present|missing|not_required
40
+ stable_elements: []
41
+ density_calibration:
42
+ visible: []
43
+ grouped: []
44
+ collapsed: []
45
+ delayed: []
46
+ handoff:
47
+ next_allowed_stage: provider_generation|prompt_pack_repair|review_blocked
48
+ forbidden_claims: []
49
+ ```
50
+
51
+ ## Future Image Metadata
52
+
53
+ When a later queue authorizes provider generation, every generated image must
54
+ record:
55
+
56
+ - `image_id`
57
+ - `direction_id`
58
+ - `prompt_id`
59
+ - `screen_name`
60
+ - `path`
61
+ - `source_prompt_ref`
62
+ - `generated_at`
63
+ - `generator`
64
+ - `generation_status`
65
+ - `review_status`
66
+
67
+ Images without metadata are not valid prototype evidence.
@@ -0,0 +1,46 @@
1
+ # 05 Quality Rubric
2
+
3
+ Use this reference before handoff.
4
+
5
+ ## Pass Criteria
6
+
7
+ Pass only when:
8
+
9
+ - prompt-pack readiness gates pass or blockers are explicitly recorded;
10
+ - translation preserves product thesis, target user transformation, primary
11
+ loop, trust boundaries, and non-goals;
12
+ - screen coherence is consumed from the prompt pack or blocked when missing;
13
+ - density decisions are justified by industry, role, risk, screen size, task
14
+ frequency, and user attention;
15
+ - every screen instruction names user decision, layout hierarchy, visible
16
+ content, state behavior, system response, trust controls, negative
17
+ constraints, and acceptance checks;
18
+ - output clearly states that provider generation, human visual review, visual
19
+ parity, proto2html, storyboard, motion, specs, changes, and runtime work are
20
+ out of scope unless separately authorized.
21
+
22
+ ## Failures
23
+
24
+ Fail when:
25
+
26
+ - the output invents product strategy;
27
+ - density is treated as more text rather than design prioritization;
28
+ - multi-screen consistency is repaired downstream instead of sourced from the
29
+ prompt pack;
30
+ - the prototype looks like a generic dashboard, card wall, report, chatbot, or
31
+ poster without strategic justification;
32
+ - trust controls are mentioned but not placed in UI;
33
+ - generated image quality or visual parity is claimed without evidence.
34
+
35
+ ## Final Check
36
+
37
+ Before completing, search the output for unsupported claims:
38
+
39
+ - "generated image quality passed"
40
+ - "visual parity passed"
41
+ - "human reviewed"
42
+ - "ready for proto2html"
43
+ - "storyboard complete"
44
+ - "motion model"
45
+
46
+ Remove or block those claims unless a later authorized artifact proves them.
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: proto2html
3
+ description: Reconstruct an accepted benchmark prototype image or screen group into a single-file HTML prototype with fidelity evidence. Use when the user wants the post-proto `/ow:proto2html` source behavior, benchmark-to-HTML reconstruction, screenshot comparison, or fidelity-report handoff before html2spec or production work.
4
+ ---
5
+
6
+ # Proto2html
7
+
8
+ ## Purpose
9
+
10
+ Reconstruct an accepted benchmark prototype image or accepted screen group into
11
+ one local single-file HTML prototype with fidelity evidence.
12
+
13
+ Proto2html is a reconstruction step. It should preserve the accepted benchmark
14
+ as faithfully as practical. It must not explore new product directions, generate
15
+ new prototype images, create specs, or start production implementation.
16
+
17
+ ## Inputs
18
+
19
+ Required:
20
+
21
+ - accepted benchmark prototype image, accepted generated image set, accepted
22
+ screen group, or accepted refined prompt output
23
+ - source prototype evidence or review notes that explain why the benchmark was
24
+ accepted
25
+
26
+ Optional:
27
+
28
+ - `references/proto2html-artifact-contracts.md`
29
+ - `schemas/html-prototype.schema.json`
30
+ - source `PROTO_PROMPT_PACK.yaml` or `REFINED_PROTO_PROMPT_PACK.yaml`
31
+ - decision record or review evidence with accepted/rejected elements
32
+ - target viewport constraints, browser constraints, language, or accessibility
33
+ requirements
34
+
35
+ Do not load unrelated specs, changes, runtime state, generated adapters, build
36
+ plans, or production implementation history unless the reconstruction question
37
+ explicitly depends on them.
38
+
39
+ ## Output
40
+
41
+ Write artifacts under the active HTML prototype or change path chosen by the
42
+ workflow. The source artifact should match `schemas/html-prototype.schema.json`.
43
+
44
+ Expected files:
45
+
46
+ ```text
47
+ HTML_PROTOTYPE.yaml
48
+ prototype.html
49
+ FIDELITY_REPORT.yaml
50
+ screenshots/
51
+ SUMMARY.yaml
52
+ ```
53
+
54
+ For source-level dogfood before runtime exposure, the same evidence may live
55
+ under the selected change folder.
56
+
57
+ ## Workflow
58
+
59
+ 1. Resolve benchmark input. Require accepted image or screen-group evidence.
60
+ If acceptance is missing, stop and return to `/ow:proto` or `/ow:tune`.
61
+ 2. Load prompt lineage and review notes only as needed to preserve intent.
62
+ 3. Define reconstruction scope: screens, states, viewport targets, include
63
+ rules, and explicit exclusions.
64
+ 4. Implement one single-file `prototype.html` focused on visual and interaction
65
+ fidelity to the accepted benchmark.
66
+ 5. Avoid production architecture: no app scaffolding, backend, persistence,
67
+ auth, deployment config, package installs, or broad component systems.
68
+ 6. Render the HTML locally when practical and capture screenshot evidence.
69
+ 7. Compare screenshots to benchmark refs and write fidelity gaps.
70
+ 8. Write `HTML_PROTOTYPE.yaml` and `FIDELITY_REPORT.yaml`.
71
+ 9. Run repository validation when available.
72
+
73
+ ## Reconstruction Rules
74
+
75
+ - Preserve benchmark information architecture, hierarchy, layout rhythm,
76
+ component vocabulary, copy tone, states, and trust controls.
77
+ - Use static or hardcoded sample data from the benchmark unless the user
78
+ explicitly asks for lightweight interaction.
79
+ - Implement only interactions visible or implied by the benchmark review.
80
+ - Prefer direct HTML/CSS/JS in one file for reviewability.
81
+ - Keep code readable enough for later spec extraction, but do not turn it into
82
+ production architecture.
83
+ - Record deviations as fidelity gaps instead of silently changing the product.
84
+
85
+ ## Evidence Rules
86
+
87
+ `HTML_PROTOTYPE.yaml` should capture:
88
+
89
+ - source prototype evidence and accepted decision refs
90
+ - benchmark image or screen refs
91
+ - reconstruction include/exclude scope
92
+ - `html_artifact.path`, `html_artifact.type: single_file_html`, and entrypoint
93
+ - render targets
94
+ - fidelity benchmark refs, screenshot refs, matched elements, gaps, and browser
95
+ checks
96
+ - known limits
97
+ - result and handoff
98
+
99
+ `FIDELITY_REPORT.yaml` should be optimized for review:
100
+
101
+ - what matches the benchmark
102
+ - what differs
103
+ - severity of each gap
104
+ - whether gaps block `/ow:html2spec`
105
+ - recommended next command
106
+
107
+ ## Quality Gate
108
+
109
+ Revise before finishing if:
110
+
111
+ - no accepted benchmark evidence is named
112
+ - the HTML introduces a new product direction
113
+ - key benchmark hierarchy, copy, states, trust controls, or layout are missing
114
+ - fidelity gaps are hidden or too vague to act on
115
+ - the artifact becomes a production app or spec instead of a reconstruction
116
+ - screenshots or review notes are absent when local rendering was practical
117
+
118
+ ## Forbidden Defaults
119
+
120
+ - Do not generate new prototype images.
121
+ - Do not tune visual direction; return to `tune-prototype` for that.
122
+ - Do not create `TECH_SPEC`, `FRONTEND_SPEC`, `BACKEND_SPEC`, `API_SPEC`, or
123
+ build plans.
124
+ - Do not add `/ow:proto2html` runtime command surfaces.
125
+ - Do not edit generated `.agents/` or `.openworkflow/` surfaces.
126
+ - Do not add auth, persistence, deployment, package scaffolding, or backend
127
+ behavior.
128
+
129
+ ## Handoff
130
+
131
+ Expected outcomes:
132
+
133
+ - `accepted`: hand off to `/ow:html2spec`
134
+ - `needs_reconstruction`: run another proto2html pass
135
+ - `return_to_tune`: benchmark needs visual refinement first
136
+ - `blocked`: accepted benchmark or rendering evidence is missing
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Proto2html"
3
+ short_description: "Reconstruct accepted prototype benchmarks into single-file HTML"
4
+ default_prompt: "Use /ow:proto2html source behavior to reconstruct an accepted benchmark prototype image or screen group into a single-file HTML prototype with fidelity evidence."
@@ -0,0 +1,115 @@
1
+ # Proto2html Protocol
2
+
3
+ Use this reference when converting accepted benchmark prototype evidence into a
4
+ single-file HTML reconstruction.
5
+
6
+ ## Input Resolution
7
+
8
+ Require one accepted benchmark source:
9
+
10
+ - accepted benchmark image path
11
+ - accepted generated image set with selected benchmark id
12
+ - accepted screen group
13
+ - accepted refined prompt pack with generated image refs
14
+
15
+ Also capture:
16
+
17
+ - source prototype evidence ref
18
+ - prompt pack ref when available
19
+ - decision or review evidence that accepted the benchmark
20
+ - include and exclude reconstruction scope
21
+ - viewport targets
22
+
23
+ If acceptance is unclear, stop. Do not infer acceptance from the mere existence
24
+ of images or prompts.
25
+
26
+ ## Reconstruction Scope
27
+
28
+ Before writing HTML, state:
29
+
30
+ - screens and states to reconstruct
31
+ - viewport targets
32
+ - interaction states that matter for fidelity
33
+ - benchmark elements that must be preserved
34
+ - elements explicitly excluded
35
+ - assumptions caused by missing evidence
36
+
37
+ Scope should be smaller than a product app. It should be enough to reconstruct
38
+ the accepted benchmark for review and later spec extraction.
39
+
40
+ ## Single-File HTML Rules
41
+
42
+ Prefer one `prototype.html` with inline CSS and small inline JavaScript only
43
+ when needed for benchmark-visible interaction states.
44
+
45
+ Allowed:
46
+
47
+ - static hardcoded content
48
+ - local image refs
49
+ - CSS responsive rules for named render targets
50
+ - minimal JS for visible states, toggles, tabs, or prototype-only transitions
51
+
52
+ Avoid:
53
+
54
+ - package managers
55
+ - framework scaffolds
56
+ - backend or API calls
57
+ - persistence
58
+ - auth
59
+ - deployment files
60
+ - production component architecture
61
+
62
+ ## Fidelity Report
63
+
64
+ Capture fidelity evidence in a compact YAML report:
65
+
66
+ ```yaml
67
+ schema_version: 0.1.0
68
+ artifact_type: fidelity_report
69
+ benchmark_refs: []
70
+ screenshot_refs: []
71
+ matched_elements: []
72
+ gaps:
73
+ - gap_id: FID001
74
+ severity: low|medium|high|blocking
75
+ description: ""
76
+ disposition: accept|repair|return_to_tune
77
+ browser_checks: []
78
+ known_limits: []
79
+ recommendation: accepted|needs_reconstruction|return_to_tune|blocked
80
+ ```
81
+
82
+ Gaps should be concrete enough for the next agent to repair or accept without
83
+ re-reading all raw evidence.
84
+
85
+ ## HTML Prototype Artifact
86
+
87
+ `HTML_PROTOTYPE.yaml` should follow
88
+ `schemas/html-prototype.schema.json` and include:
89
+
90
+ - `artifact_type: html_prototype`
91
+ - `source_prototype`
92
+ - `benchmark`
93
+ - `reconstruction_scope`
94
+ - `html_artifact`
95
+ - `render_targets`
96
+ - `fidelity`
97
+ - `known_limits`
98
+ - `result`
99
+ - `handoff.next_command`
100
+
101
+ Use `result: accepted` only when fidelity gaps do not block spec extraction.
102
+ The normal accepted handoff is `/ow:html2spec`.
103
+
104
+ ## Quality Gate
105
+
106
+ Revise before finishing if:
107
+
108
+ - benchmark evidence is not explicitly accepted
109
+ - HTML output is not single-file
110
+ - visual hierarchy diverges from the benchmark without a recorded reason
111
+ - important benchmark copy or trust controls are missing
112
+ - viewport targets are undefined
113
+ - screenshot or browser evidence is missing when rendering was practical
114
+ - fidelity gaps are absent, generic, or unactionable
115
+ - output drifts into engineering spec or production implementation
@@ -55,10 +55,14 @@ On `/ow:team CONTENT`, do not start coding immediately.
55
55
  - Immediately record the returned `agent_id` in `AGENT_ROSTER.yaml` and the task entry.
56
56
  - Keep persistent implementation agents mounted across related atom tasks and issue-fix loops.
57
57
  - Use event-driven review, security, QA, and git-release agents asynchronously where ownership is disjoint.
58
+ - For source-edit work, apply coder governance before completion: owner/file
59
+ map, RED evidence when applicable, GREEN evidence after edits,
60
+ post-write self-check, validation ladder, and evidence binding.
58
61
 
59
62
  8. Checkpoint.
60
63
  - Update runtime state after every real state transition.
61
64
  - Run required checks.
65
+ - Record coder evidence status for source-edit work.
62
66
  - Commit coherent runtime/implementation/QA slices, or record why a checkpoint is deferred.
63
67
 
64
68
  ## Runtime Rules
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: select-change
3
+ description: Select, inspect, or prepare one implementable OpenWorkflow candidate change from CANDIDATE_CHANGES.yaml and create SELECTED_CHANGE.yaml, ATOM_TASKS.yaml, and IMPLEMENTATION_BRIEF.md. Use when a candidate queue exists and the user wants the next focused change prepared for implementation, or when a specific candidate id needs readiness review before selection.
4
+ ---
5
+
6
+ # Select Change
7
+
8
+ ## Purpose
9
+
10
+ Choose one candidate change and turn it into implementation-ready planning
11
+ artifacts. This skill prepares the next change; it does not execute the
12
+ implementation.
13
+
14
+ By default, operate on one active queue and rank candidates inside that queue.
15
+ Use cross-queue arbitration only when the user provides multiple queues, points
16
+ to a cross-queue `CHANGE_ANALYSIS.yaml`, or asks which queue and candidate
17
+ should go next.
18
+
19
+ SC is not only a "mark selected" command. In a single queue it owns
20
+ prioritization, readiness review, risk gating, selection, and atomization.
21
+
22
+ ## Feat Boundary
23
+
24
+ The source `CANDIDATE_CHANGES.yaml` is the feat boundary. A selected candidate
25
+ is a commit-sized slice inside that feat, not a new top-level feat. By default,
26
+ write selection artifacts under the existing queue folder:
27
+
28
+ ```text
29
+ changes/<plan_id>/<candidate-id>-<slug>/
30
+ SELECTED_CHANGE.yaml
31
+ ATOM_TASKS.yaml
32
+ IMPLEMENTATION_BRIEF.md
33
+ ```
34
+
35
+ Create a new top-level `changes/<id>/` only when the user explicitly starts a
36
+ new decomposition queue or the existing queue is no longer the owning feat.
37
+
38
+ ## Git Boundary
39
+
40
+ Use `git status --short --branch` as a read-only guard before selection.
41
+
42
+ If the queue has `queue_policy.branch_boundary`, compare it with the current
43
+ branch. When they differ, stop before creating selection artifacts unless the
44
+ user explicitly says this is a planning-only exception or asks to proceed on the
45
+ current branch. Do not switch branches from this skill.
46
+ Also compare feat identity: a branch boundary that names another plan id is not
47
+ the owning feat branch just because it equals the current branch. Proceed only
48
+ when the queue records an explicit `branch_identity_exception` for temporary
49
+ continuation, or stop and surface the mismatch.
50
+
51
+ If the working tree is dirty, inspect whether the changes are only the current
52
+ selection operation. If the dirty tree appears to contain an uncommitted
53
+ previous selected change or unrelated implementation work, stop and recommend
54
+ committing, stashing, or resolving that work before selecting another
55
+ candidate. Do not commit, stash, reset, restore, or clean from this skill.
56
+
57
+ ## Read First
58
+
59
+ Read these only as needed:
60
+
61
+ - `references/planning-artifact-contracts.md`
62
+ - `skills/select-change/references/selection-protocol.md`
63
+ - The target `CANDIDATE_CHANGES.yaml`
64
+ - The matching `CANDIDATE_CHANGES.md` only as a readable aid
65
+ - `CHANGE_ANALYSIS.yaml` only when consuming a cross-queue recommendation
66
+
67
+ ## Workflow
68
+
69
+ 1. Run `git status --short --branch` and note current branch and dirty paths.
70
+ 2. Read `CANDIDATE_CHANGES.yaml` as the source of truth.
71
+ 3. Check `queue_policy.branch_boundary` when present. Stop on branch mismatch
72
+ unless the user has approved a planning-only exception.
73
+ If the branch boundary names another plan id, require an explicit temporary
74
+ continuation exception before treating the branch as acceptable.
75
+ 4. Check dirty-tree state. Stop if uncommitted work would contaminate a new
76
+ selected change or blur the one-change-one-commit boundary.
77
+ 5. If the user names a candidate id, perform targeted readiness review for
78
+ that id before considering the rest of the queue.
79
+ 6. If the user provides multiple queues or a cross-queue `CHANGE_ANALYSIS.yaml`,
80
+ run the cross-queue arbitration path before choosing a target queue.
81
+ 7. Filter candidates to `ready` first. If none are ready, inspect `candidate`
82
+ entries and report the blockers instead of forcing a selection.
83
+ 8. Rank the current queue directly:
84
+ - prefer `next_recommended_candidate_id` when it points to a ready candidate
85
+ and dependencies still hold
86
+ - otherwise prefer dependency-satisfied candidates that best match
87
+ `selection_policy`
88
+ - then prefer unlock value, focused owned paths, realistic validation,
89
+ lower risk, and user recency
90
+ 9. Choose exactly one candidate from the owning queue.
91
+ 10. If the candidate is `risk: high`, stop before selection unless the user has
92
+ explicitly approved a concrete decision option from a high-risk decision
93
+ report.
94
+ 11. Create a candidate-specific folder inside the current feat folder, usually
95
+ `changes/<plan_id>/<candidate-id>-<slug>/`.
96
+ 12. Write `SELECTED_CHANGE.yaml`, `ATOM_TASKS.yaml`, and
97
+ `IMPLEMENTATION_BRIEF.md`.
98
+ 13. Update the candidate queue:
99
+ - set the selected candidate to `selected`
100
+ - add `selection.selected_change_id`
101
+ - add concise `selection.reason`
102
+ - append an `operations` entry for the selection
103
+ - leave all other candidates in place
104
+ 14. Refresh `CANDIDATE_CHANGES.md` from the YAML facts.
105
+ 15. Stop before implementation unless the user explicitly asks to continue.
106
+
107
+ ## Cross-Queue Arbitration
108
+
109
+ Cross-queue arbitration is explicit and exceptional. Do not discover every
110
+ queue in the repo unless the user asks for a global comparison or provides an
111
+ existing cross-queue `CHANGE_ANALYSIS.yaml`.
112
+
113
+ Do not invoke `analyze-changes` for a normal single-queue selection. The
114
+ single-queue path above is the default and should be sufficient for
115
+ prioritizing candidates inside one `CANDIDATE_CHANGES.yaml`.
116
+
117
+ When arbitration is active:
118
+
119
+ - Prefer an existing `CHANGE_ANALYSIS.yaml` produced by `analyze-changes`.
120
+ - Confirm the recommended `target_plan_id` and `target_candidate_id` still
121
+ exist, are not done, and satisfy dependencies.
122
+ - Re-run branch-boundary, dirty-tree, and high-risk gates against the target
123
+ queue before writing selection artifacts.
124
+ - Keep selection artifacts inside the target queue folder, not inside the
125
+ analysis folder.
126
+ - Record rejected alternatives in `SELECTED_CHANGE.yaml` with `plan_id`,
127
+ `candidate_id`, and a concise reason.
128
+ - If no candidate is clearly safe to select, stop and recommend queue
129
+ maintenance, a high-risk report, or a fresh `analyze-changes` run.
130
+
131
+ Use a separate meta-selection artifact only when the user's requested output is
132
+ itself an analysis or governance decision. Normal implementation selection
133
+ should select one candidate inside the target queue.
134
+
135
+ ## Targeted Review
136
+
137
+ When reviewing a specific candidate id, report:
138
+
139
+ - current status and readiness
140
+ - dependencies and whether each is satisfied
141
+ - owned paths and likely conflict surfaces
142
+ - validation commands
143
+ - acceptance gaps
144
+ - high-risk decision report status when `risk: high`
145
+ - blockers or reasons it should not be selected
146
+ - exact queue maintenance operation needed, if any
147
+
148
+ Do not select a candidate during targeted review unless the user asks to select
149
+ or the current workflow explicitly requires selection.
150
+
151
+ ## High-Risk Stop Gate
152
+
153
+ For any `risk: high` candidate, do not create `SELECTED_CHANGE.yaml`,
154
+ `ATOM_TASKS.yaml`, or `IMPLEMENTATION_BRIEF.md` unless the user explicitly
155
+ approves a concrete decision option from a `HIGH_RISK_DECISION_REPORT.md`.
156
+
157
+ When a high-risk candidate is next:
158
+
159
+ - Report the candidate id, title, status, and why it is high risk.
160
+ - Reference the existing `HIGH_RISK_DECISION_REPORT.md` when present.
161
+ - If no report exists, instruct `decompose-to-changes` or queue maintenance to
162
+ create one under the owning queue folder.
163
+ - Name the decision options and recommended path from the report when known.
164
+ - State the exact resume condition: user approval of a concrete option.
165
+ - Leave the candidate status unchanged unless the user asks to block, defer, or
166
+ supersede it.
167
+
168
+ If the user explicitly approves a high-risk option, the selection reason must
169
+ name the approved option and the guardrails from the report. Keep atom tasks
170
+ narrow enough to match that approved option.
171
+
172
+ ## Atom Task Rules
173
+
174
+ - Create tasks that map to coherent owned paths.
175
+ - Keep each task small enough for one focused implementation pass.
176
+ - Use `read`, `edit`, `document`, and `verify` task types.
177
+ - Include `done_when` criteria that an implementation agent can verify.
178
+ - Add forbidden paths in `SELECTED_CHANGE.yaml` when generated or unrelated
179
+ surfaces should not be touched.
180
+ - For source-edit candidates, include coder preflight expectations: source
181
+ truth, generated surfaces, owned paths, forbidden paths, RED/GREEN evidence
182
+ when applicable, post-write self-check, validation ladder, and evidence
183
+ binding.
184
+
185
+ ## Selection Boundaries
186
+
187
+ - Do not delete or renumber candidate ids.
188
+ - Do not silently select a blocked candidate.
189
+ - Do not silently select a `risk: high` candidate.
190
+ - Do not select on the wrong branch without explicit planning-only approval.
191
+ - Do not select when unrelated dirty-tree work would contaminate the commit boundary.
192
+ - Do not implement the selected change.
193
+ - Do not create commits, switch branches, stash, reset, restore, or clean.
194
+ - Do not mark the candidate `done`; implementation completion owns that update.
195
+ - Do not widen scope beyond the selected candidate.
196
+ - Do not hand-edit generated `.agents/` or `.openworkflow/` surfaces unless the
197
+ selected candidate explicitly owns those paths and the user accepts that
198
+ scope.
199
+ - Do not treat coder governance as a replacement for selection. Selection owns
200
+ the implementation boundary; coder governance constrains later source edits.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Select Change"
3
+ short_description: "Choose and prepare one focused change."
4
+ default_prompt: "Read a CANDIDATE_CHANGES queue, select the best next change, and create SELECTED_CHANGE, ATOM_TASKS, and IMPLEMENTATION_BRIEF artifacts."