@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.
- package/dist/adapters/codex/src/cleanCodexAdapter.js +4 -1
- package/dist/adapters/codex/src/cleanCodexAdapter.js.map +1 -1
- package/dist/adapters/codex/src/constants.d.ts +1 -0
- package/dist/adapters/codex/src/constants.js +2 -0
- package/dist/adapters/codex/src/constants.js.map +1 -0
- package/dist/adapters/codex/src/generateCommands.js +14 -9
- package/dist/adapters/codex/src/generateCommands.js.map +1 -1
- package/dist/adapters/codex/src/generateSkills.js +13 -0
- package/dist/adapters/codex/src/generateSkills.js.map +1 -1
- package/dist/adapters/codex/src/generatedFiles.js +1 -1
- package/dist/adapters/codex/src/manifest.js +11 -2
- package/dist/adapters/codex/src/manifest.js.map +1 -1
- package/dist/adapters/codex/src/templates.d.ts +0 -1
- package/dist/adapters/codex/src/templates.js +0 -1
- package/dist/adapters/codex/src/templates.js.map +1 -1
- package/dist/adapters/src/registry.d.ts +20 -0
- package/dist/adapters/src/registry.js +81 -0
- package/dist/adapters/src/registry.js.map +1 -0
- package/dist/cli/src/commands/brief.d.ts +46 -0
- package/dist/cli/src/commands/brief.js +294 -0
- package/dist/cli/src/commands/brief.js.map +1 -0
- package/dist/cli/src/commands/check.d.ts +42 -0
- package/dist/cli/src/commands/check.js +326 -0
- package/dist/cli/src/commands/check.js.map +1 -0
- package/dist/cli/src/commands/clean.js +46 -1
- package/dist/cli/src/commands/clean.js.map +1 -1
- package/dist/cli/src/commands/context.d.ts +1 -0
- package/dist/cli/src/commands/context.js +471 -0
- package/dist/cli/src/commands/context.js.map +1 -0
- package/dist/cli/src/commands/doctor.js +122 -12
- package/dist/cli/src/commands/doctor.js.map +1 -1
- package/dist/cli/src/commands/draft.d.ts +1 -0
- package/dist/cli/src/commands/draft.js +175 -0
- package/dist/cli/src/commands/draft.js.map +1 -0
- package/dist/cli/src/commands/gitAutomation.d.ts +1 -0
- package/dist/cli/src/commands/gitAutomation.js +378 -0
- package/dist/cli/src/commands/gitAutomation.js.map +1 -0
- package/dist/cli/src/commands/handoff.d.ts +22 -0
- package/dist/cli/src/commands/handoff.js +122 -0
- package/dist/cli/src/commands/handoff.js.map +1 -0
- package/dist/cli/src/commands/init.js +52 -1
- package/dist/cli/src/commands/init.js.map +1 -1
- package/dist/cli/src/commands/inspect.d.ts +23 -0
- package/dist/cli/src/commands/inspect.js +157 -0
- package/dist/cli/src/commands/inspect.js.map +1 -0
- package/dist/cli/src/commands/register.d.ts +1 -0
- package/dist/cli/src/commands/register.js +251 -0
- package/dist/cli/src/commands/register.js.map +1 -0
- package/dist/cli/src/commands/resume.d.ts +59 -0
- package/dist/cli/src/commands/resume.js +280 -0
- package/dist/cli/src/commands/resume.js.map +1 -0
- package/dist/cli/src/commands/shared.js +6 -2
- package/dist/cli/src/commands/shared.js.map +1 -1
- package/dist/cli/src/commands/summaries.d.ts +1 -0
- package/dist/cli/src/commands/summaries.js +77 -0
- package/dist/cli/src/commands/summaries.js.map +1 -0
- package/dist/cli/src/commands/summarize.d.ts +1 -0
- package/dist/cli/src/commands/summarize.js +316 -0
- package/dist/cli/src/commands/summarize.js.map +1 -0
- package/dist/cli/src/commands/sync.js +135 -12
- package/dist/cli/src/commands/sync.js.map +1 -1
- package/dist/cli/src/commands/validate.js +25 -1
- package/dist/cli/src/commands/validate.js.map +1 -1
- package/dist/cli/src/dev/verifyAgentE2E.d.ts +2 -0
- package/dist/cli/src/dev/verifyAgentE2E.js +391 -0
- package/dist/cli/src/dev/verifyAgentE2E.js.map +1 -0
- package/dist/cli/src/dev/verifyCleanCommand.js +213 -2
- package/dist/cli/src/dev/verifyCleanCommand.js.map +1 -1
- package/dist/cli/src/dev/verifyRuntimeSurface.js +4940 -54
- package/dist/cli/src/dev/verifyRuntimeSurface.js.map +1 -1
- package/dist/cli/src/dev/verifyWorkflowE2E.js +477 -45
- package/dist/cli/src/dev/verifyWorkflowE2E.js.map +1 -1
- package/dist/cli/src/index.js +184 -6
- package/dist/cli/src/index.js.map +1 -1
- package/dist/cli/src/report.d.ts +26 -0
- package/dist/cli/src/report.js +17 -0
- package/dist/cli/src/report.js.map +1 -0
- package/dist/core/src/artifacts/readiness.d.ts +7 -0
- package/dist/core/src/artifacts/readiness.js +240 -0
- package/dist/core/src/artifacts/readiness.js.map +1 -0
- package/dist/core/src/artifacts/registry.d.ts +9 -2
- package/dist/core/src/artifacts/registry.js +687 -60
- package/dist/core/src/artifacts/registry.js.map +1 -1
- package/dist/core/src/commands/registry.js +1425 -146
- package/dist/core/src/commands/registry.js.map +1 -1
- package/dist/core/src/contracts/index.d.ts +1 -1
- package/dist/core/src/fs/index.d.ts +24 -0
- package/dist/core/src/fs/index.js +48 -1
- package/dist/core/src/fs/index.js.map +1 -1
- package/dist/core/src/git/autonomousSimulator.d.ts +46 -0
- package/dist/core/src/git/autonomousSimulator.js +163 -0
- package/dist/core/src/git/autonomousSimulator.js.map +1 -0
- package/dist/core/src/git/branchIdentity.d.ts +19 -0
- package/dist/core/src/git/branchIdentity.js +75 -0
- package/dist/core/src/git/branchIdentity.js.map +1 -0
- package/dist/core/src/git/draftPrPilot.d.ts +47 -0
- package/dist/core/src/git/draftPrPilot.js +196 -0
- package/dist/core/src/git/draftPrPilot.js.map +1 -0
- package/dist/core/src/git/localEvidenceReader.d.ts +21 -0
- package/dist/core/src/git/localEvidenceReader.js +142 -0
- package/dist/core/src/git/localEvidenceReader.js.map +1 -0
- package/dist/core/src/git/localGitAutomation.d.ts +68 -0
- package/dist/core/src/git/localGitAutomation.js +470 -0
- package/dist/core/src/git/localGitAutomation.js.map +1 -0
- package/dist/core/src/git/mergeReadinessCheckpoint.d.ts +31 -0
- package/dist/core/src/git/mergeReadinessCheckpoint.js +110 -0
- package/dist/core/src/git/mergeReadinessCheckpoint.js.map +1 -0
- package/dist/core/src/git/prReadySummary.d.ts +16 -0
- package/dist/core/src/git/prReadySummary.js +144 -0
- package/dist/core/src/git/prReadySummary.js.map +1 -0
- package/dist/core/src/git/remoteReadonlyPlanner.d.ts +60 -0
- package/dist/core/src/git/remoteReadonlyPlanner.js +223 -0
- package/dist/core/src/git/remoteReadonlyPlanner.js.map +1 -0
- package/dist/core/src/onboarding/agentsGuide.d.ts +32 -0
- package/dist/core/src/onboarding/agentsGuide.js +164 -0
- package/dist/core/src/onboarding/agentsGuide.js.map +1 -0
- package/dist/core/src/validators/validateOpenWorkflow.js +1331 -15
- package/dist/core/src/validators/validateOpenWorkflow.js.map +1 -1
- package/dist/core/src/validators/validateRepositoryContracts.js +2321 -306
- package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -1
- package/dist/core/src/workflow/cleanOpenWorkflow.d.ts +2 -0
- package/dist/core/src/workflow/cleanOpenWorkflow.js +97 -8
- package/dist/core/src/workflow/cleanOpenWorkflow.js.map +1 -1
- package/dist/core/src/workflow/doctorOpenWorkflow.d.ts +7 -0
- package/dist/core/src/workflow/doctorOpenWorkflow.js +26 -0
- package/dist/core/src/workflow/doctorOpenWorkflow.js.map +1 -0
- package/dist/core/src/workflow/initOpenWorkflow.d.ts +7 -0
- package/dist/core/src/workflow/initOpenWorkflow.js +96 -8
- package/dist/core/src/workflow/initOpenWorkflow.js.map +1 -1
- package/dist/core/src/workflow/planningQueueResume.d.ts +105 -0
- package/dist/core/src/workflow/planningQueueResume.js +596 -0
- package/dist/core/src/workflow/planningQueueResume.js.map +1 -0
- package/dist/core/src/workflow/readWorkflowConfig.d.ts +6 -0
- package/dist/core/src/workflow/readWorkflowConfig.js +28 -0
- package/dist/core/src/workflow/readWorkflowConfig.js.map +1 -0
- package/dist/core/src/workflow/summaryHealth.d.ts +60 -0
- package/dist/core/src/workflow/summaryHealth.js +713 -0
- package/dist/core/src/workflow/summaryHealth.js.map +1 -0
- package/dist/core/src/workflow/syncOpenWorkflow.d.ts +22 -0
- package/dist/core/src/workflow/syncOpenWorkflow.js +235 -0
- package/dist/core/src/workflow/syncOpenWorkflow.js.map +1 -0
- package/package.json +2 -1
- package/references/artifact-authoring-templates.md +14 -12
- package/references/artifact-instruction-envelope.md +133 -0
- package/references/coder-continuous-growth-loop.md +68 -0
- package/references/gh-operation-governance.md +114 -0
- package/references/git-automation-governance.md +324 -0
- package/references/git-version-control-governance.md +227 -0
- package/references/internal-coder-protocol.md +202 -0
- package/references/issue-governance.md +115 -0
- package/references/planning-artifact-contracts.md +595 -0
- package/references/planning-skill-runtime-exposure.md +159 -0
- package/references/proto-redesign-artifact-contracts.md +217 -0
- package/references/proto2html-artifact-contracts.md +113 -0
- package/references/skill-system-lifecycle.md +198 -0
- package/references/validation-trust-domains.md +286 -0
- package/references/workflow-blueprint-runtime-alignment.md +287 -0
- package/schemas/atom-tasks.schema.json +101 -0
- package/schemas/candidate-changes.schema.json +323 -0
- package/schemas/current-state.schema.json +113 -0
- package/schemas/html-prototype.schema.json +288 -0
- package/schemas/openworkflow-contract.schema.json +9 -1
- package/schemas/proto-prompt-pack.schema.json +1333 -0
- package/schemas/prototype-evidence.schema.json +684 -142
- package/schemas/selected-change.schema.json +104 -0
- package/schemas/validation-target.schema.json +187 -1
- package/schemas/validation.schema.json +187 -1
- package/schemas/vision-session.schema.json +151 -0
- package/skills/analyze-changes/SKILL.md +92 -0
- package/skills/analyze-changes/agents/openai.yaml +4 -0
- package/skills/analyze-changes/references/analysis-protocol.md +116 -0
- package/skills/build-proto-prompt/SKILL.md +125 -0
- package/skills/build-proto-prompt/references/output-boundary.md +54 -0
- package/skills/build-proto-prompt/references/prompt-pack-compiler-protocol.md +80 -0
- package/skills/build-prototype/SKILL.md +162 -38
- package/skills/build-prototype/agents/openai.yaml +2 -2
- package/skills/build-prototype/references/philosophy-engine.md +61 -0
- package/skills/build-prototype/references/strategic-prompt-pack-protocol.md +365 -0
- package/skills/build-prototype/references/vision2prompt/01_input_contract.md +84 -0
- package/skills/build-prototype/references/vision2prompt/02_vision_decomposition.md +108 -0
- package/skills/build-prototype/references/vision2prompt/03_strategy_hypothesis_generation.md +89 -0
- package/skills/build-prototype/references/vision2prompt/04_product_system_extraction.md +78 -0
- package/skills/build-prototype/references/vision2prompt/05_prototype_prompt_schema.md +189 -0
- package/skills/build-prototype/references/vision2prompt/06_output_templates.md +125 -0
- package/skills/build-prototype/references/vision2prompt/07_quality_rubric.md +171 -0
- package/skills/build-validation/SKILL.md +136 -54
- package/skills/build-validation/references/prototype-validation-target-rubric.md +35 -0
- package/skills/build-validation/references/return-to-vision-gate.md +32 -0
- package/skills/build-vision/SKILL.md +192 -0
- package/skills/build-vision/references/proto-readiness-rubric.md +48 -0
- package/skills/build-vision/references/vision-interview-protocol.md +48 -0
- package/skills/coder/SKILL.md +204 -0
- package/skills/decompose-to-changes/SKILL.md +176 -0
- package/skills/decompose-to-changes/agents/openai.yaml +4 -0
- package/skills/decompose-to-changes/references/decomposition-protocol.md +278 -0
- package/skills/prompt2proto/SKILL.md +157 -0
- package/skills/prompt2proto/agents/openai.yaml +4 -0
- package/skills/prompt2proto/references/00_role_philosophy_engine.md +96 -0
- package/skills/prompt2proto/references/01_input_contract.md +53 -0
- package/skills/prompt2proto/references/02_prompt_pack_readiness.md +50 -0
- package/skills/prompt2proto/references/03_visual_translation_workflow.md +64 -0
- package/skills/prompt2proto/references/04_output_contract.md +67 -0
- package/skills/prompt2proto/references/05_quality_rubric.md +46 -0
- package/skills/proto2html/SKILL.md +136 -0
- package/skills/proto2html/agents/openai.yaml +4 -0
- package/skills/proto2html/references/proto2html-protocol.md +115 -0
- package/skills/run-team/SKILL.md +4 -0
- package/skills/select-change/SKILL.md +200 -0
- package/skills/select-change/agents/openai.yaml +4 -0
- package/skills/select-change/references/selection-protocol.md +281 -0
- package/skills/tune-prototype/SKILL.md +121 -0
- package/skills/tune-prototype/agents/openai.yaml +4 -0
- package/skills/tune-prototype/references/refined-prompt-pack-protocol.md +161 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# 07 Quality Rubric
|
|
2
|
+
|
|
3
|
+
Use this reference before marking `prompt_text_manifest.status` as
|
|
4
|
+
`ready_for_image_generation`.
|
|
5
|
+
|
|
6
|
+
## Dailin Workflow Mapping
|
|
7
|
+
|
|
8
|
+
This file is the OW-owned equivalent of dailin
|
|
9
|
+
`vision_to_strategic_prototype_prompt/reference/06_quality_rubric.md`.
|
|
10
|
+
It maps dailin's final quality check into OW's readiness gate for prompt text.
|
|
11
|
+
|
|
12
|
+
The dailin `OUTPUT_PROMPT.md` examples are the minimum passing benchmark for
|
|
13
|
+
paragraph density and generation usefulness. Passing means the prompt text is a
|
|
14
|
+
complete high-fidelity prototype-generation brief, not merely a valid YAML
|
|
15
|
+
record with present fields.
|
|
16
|
+
|
|
17
|
+
The senior product-manager perspective is also part of readiness. Passing
|
|
18
|
+
prompt text must show judgment: a product thesis, reason-to-exist,
|
|
19
|
+
differentiated product form, target user transformation, and design philosophy.
|
|
20
|
+
References and schema fields are tools, not proof that the prompt has taste or
|
|
21
|
+
strategic force.
|
|
22
|
+
|
|
23
|
+
## Perspective And Product Judgment
|
|
24
|
+
|
|
25
|
+
Verify:
|
|
26
|
+
|
|
27
|
+
- Each direction has a product thesis, not just a screen list.
|
|
28
|
+
- Each direction names the target user transformation it is trying to make
|
|
29
|
+
visible.
|
|
30
|
+
- Each direction explains why its product form deserves to exist now.
|
|
31
|
+
- The prompt avoids reflexively choosing a dashboard, chatbot, card wall,
|
|
32
|
+
report screen, or SaaS shell unless that form is strategically justified.
|
|
33
|
+
- `pm_judgment` states what assumption the direction tests, what risk it
|
|
34
|
+
exposes, and why it should be generated first or later.
|
|
35
|
+
- The design philosophy is legible in the prompt: what the product should feel
|
|
36
|
+
like, what it refuses to become, and what user control it protects.
|
|
37
|
+
|
|
38
|
+
## Strategic Differentiation
|
|
39
|
+
|
|
40
|
+
Verify:
|
|
41
|
+
|
|
42
|
+
- Each direction has a distinct strategic hypothesis.
|
|
43
|
+
- Each direction has a distinct product thesis or product-form point of view.
|
|
44
|
+
- Each direction changes product form, trigger, interaction model, emotional
|
|
45
|
+
driver, retention mechanism, validation metric, trust model, privacy model,
|
|
46
|
+
or main risk.
|
|
47
|
+
- Directions are not visual style variants.
|
|
48
|
+
- Scenario labels are not mistaken for strategic directions.
|
|
49
|
+
- The selected directions cover the most important uncertainty space.
|
|
50
|
+
|
|
51
|
+
## Vision Alignment
|
|
52
|
+
|
|
53
|
+
Verify:
|
|
54
|
+
|
|
55
|
+
- Target user from the vision is preserved.
|
|
56
|
+
- Desired behavior change is explicit.
|
|
57
|
+
- Strongest success signal is explicit.
|
|
58
|
+
- Core differentiator appears in every direction.
|
|
59
|
+
- Future opportunities are not treated as first-version requirements.
|
|
60
|
+
- Non-goals become anti-goals in prompt text.
|
|
61
|
+
- Trust/privacy requirements appear as UI or interaction controls.
|
|
62
|
+
|
|
63
|
+
## Prompt Executability
|
|
64
|
+
|
|
65
|
+
Verify:
|
|
66
|
+
|
|
67
|
+
- Product name is included.
|
|
68
|
+
- Product positioning is clear.
|
|
69
|
+
- Target user is concrete.
|
|
70
|
+
- Core product idea is stated.
|
|
71
|
+
- Required screens are listed.
|
|
72
|
+
- Every screen has concrete UI requirements.
|
|
73
|
+
- Every screen has meaningful state or an explicit reason it does not need one.
|
|
74
|
+
- Required data fields and example copy are present.
|
|
75
|
+
- Primary actions and system responses are present.
|
|
76
|
+
- AI/system behavior is specified when relevant.
|
|
77
|
+
- Negative prompts and anti-goals are explicit.
|
|
78
|
+
- Desired user feeling is clear.
|
|
79
|
+
- Acceptance criteria are screen-bound and checkable.
|
|
80
|
+
- Direction-level `prototype_prompt` text includes product context, target
|
|
81
|
+
user, journey, screens, interactions, system response, trust controls,
|
|
82
|
+
visual direction, anti-goals, desired user feeling, product thesis,
|
|
83
|
+
reason-to-exist, and user transformation.
|
|
84
|
+
- Screen-level `screen_prompts[].prompt` text is standalone enough to generate
|
|
85
|
+
the screen and includes purpose, components, state, concrete data or copy,
|
|
86
|
+
actions, system response, trust controls, negative constraints, and
|
|
87
|
+
acceptance criteria.
|
|
88
|
+
|
|
89
|
+
## Product Specificity
|
|
90
|
+
|
|
91
|
+
Verify:
|
|
92
|
+
|
|
93
|
+
- `product_experience_model` names the product archetype and primary canvas.
|
|
94
|
+
- The artifact names domain objects, not just generic UI components.
|
|
95
|
+
- The screen_manifest includes selected objects, states, or workflow stages
|
|
96
|
+
when the product category requires them.
|
|
97
|
+
- The prompt contains realistic fields, values, labels, owners, timestamps,
|
|
98
|
+
copy, or metrics.
|
|
99
|
+
|
|
100
|
+
## Trust And Safety
|
|
101
|
+
|
|
102
|
+
Verify:
|
|
103
|
+
|
|
104
|
+
- No manipulative guilt language.
|
|
105
|
+
- No fake human identity unless explicitly safe and required.
|
|
106
|
+
- No intrusive intimacy or overattachment mechanics.
|
|
107
|
+
- No empty praise as the main feedback mechanism.
|
|
108
|
+
- No overpromising real-world outcomes.
|
|
109
|
+
- User controls are visible where memory, personalization, automation, or
|
|
110
|
+
sensitive data are involved.
|
|
111
|
+
- Sensitive data defaults are conservative.
|
|
112
|
+
- Autonomous action is blocked when human approval is required.
|
|
113
|
+
|
|
114
|
+
## Integrity And Readiness
|
|
115
|
+
|
|
116
|
+
Verify:
|
|
117
|
+
|
|
118
|
+
- `prompt_pack_integrity_gate.status` is `pass`.
|
|
119
|
+
- `prototype_reality_gate.status` is `pass`.
|
|
120
|
+
- `quality_rubric.prompt_paragraph_quality.status` is `pass` or equivalent
|
|
121
|
+
prompt paragraph quality evidence is present.
|
|
122
|
+
- `prompt_text_manifest.paragraph_quality_status` is `pass`.
|
|
123
|
+
- `prompt_text_manifest.paragraph_quality_dimensions` records the checked
|
|
124
|
+
dimensions for product context, target user, journey, screens/components,
|
|
125
|
+
interaction or system response, concrete content, trust or user control,
|
|
126
|
+
visual direction, anti-goals, desired user feeling, and perspective engine.
|
|
127
|
+
- `post_validate.status` is `pass` for multi-direction packs or `skipped` for
|
|
128
|
+
explicit single-direction packs.
|
|
129
|
+
- `prompt_text_manifest.direction_count` equals `directions.length`.
|
|
130
|
+
- `prompt_text_manifest.prompt_text_refs` resolve to source directions or
|
|
131
|
+
screen prompts.
|
|
132
|
+
- `image_generation.status` is `not_started` until all gates pass.
|
|
133
|
+
|
|
134
|
+
## Common Failure Modes
|
|
135
|
+
|
|
136
|
+
- Strategy collapsed into UI style.
|
|
137
|
+
- Structural completeness without product judgment.
|
|
138
|
+
- Persona language such as "senior PM" appears, but the prompt still lacks a
|
|
139
|
+
product thesis, user transformation, or reason-to-exist.
|
|
140
|
+
- Prompt is too abstract for a design tool.
|
|
141
|
+
- Prompt is a short screen-state instruction instead of a full
|
|
142
|
+
prototype-generation brief.
|
|
143
|
+
- Vision non-goals are ignored.
|
|
144
|
+
- AI behavior is unspecified.
|
|
145
|
+
- Trust controls are described in prose but absent from UI.
|
|
146
|
+
- Markdown prompt is richer than YAML source.
|
|
147
|
+
- EVIDENCE references prompts that do not exist in the prompt pack.
|
|
148
|
+
|
|
149
|
+
## Thin Prompt Failures
|
|
150
|
+
|
|
151
|
+
Fail prompt readiness even when YAML fields are present if any prompt paragraph
|
|
152
|
+
looks like these patterns:
|
|
153
|
+
|
|
154
|
+
```text
|
|
155
|
+
Show the dashboard with the approval drawer open.
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
```text
|
|
159
|
+
Create a modern AI assistant screen for incident response.
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
```text
|
|
163
|
+
Design a beautiful analytics page with charts and recommendations.
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
These prompts fail because they omit the strategic context, target user,
|
|
167
|
+
journey stage, concrete domain objects, user action, system response,
|
|
168
|
+
trust/control behavior, anti-goals, and desired user feeling needed for
|
|
169
|
+
dailin-grade image generation.
|
|
170
|
+
|
|
171
|
+
Revise before final if any required check fails.
|
|
@@ -1,81 +1,163 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: build-validation
|
|
3
|
-
description:
|
|
3
|
+
description: Compile a proto-ready vision into one prototype validation target. Use when the user invokes /ow:validation, asks what the prototype must prove first, or needs to turn product intent into an experiment brief before /ow:proto.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Build Validation
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
it into implementation scope. This skill ranks assumptions, not backlog tasks.
|
|
10
|
+
Turn proto-ready vision into a single prototype validation target.
|
|
12
11
|
|
|
13
|
-
It
|
|
12
|
+
This skill is the native source behavior for `/ow:validation`. It is not a
|
|
13
|
+
feature ranking helper, backlog planner, or prototype generator. It exists
|
|
14
|
+
between `/ow:vision` and `/ow:proto` to decide what the next prototype must
|
|
15
|
+
prove before prototype prompts are written.
|
|
14
16
|
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
17
|
+
`build-validation` acts as:
|
|
18
|
+
|
|
19
|
+
- assumption auditor
|
|
20
|
+
- experiment designer
|
|
21
|
+
- prototype target compiler
|
|
22
|
+
|
|
23
|
+
It should protect `/ow:proto` from generating attractive prototype directions
|
|
24
|
+
that do not reduce the most important product uncertainty.
|
|
20
25
|
|
|
21
26
|
## Inputs
|
|
22
27
|
|
|
23
|
-
|
|
28
|
+
Required:
|
|
29
|
+
|
|
30
|
+
- `.openworkflow/vision/VISION_CONTRACT.yaml`
|
|
31
|
+
- `.openworkflow/vision/VISION.md` or the active vision session summary
|
|
32
|
+
|
|
33
|
+
Optional:
|
|
34
|
+
|
|
35
|
+
- `.openworkflow/context/CONTEXT.md`
|
|
36
|
+
- `.openworkflow/context/CONTEXT_MAP.yaml`
|
|
37
|
+
- `.openworkflow/context/GLOSSARY.yaml`
|
|
38
|
+
- `.openworkflow/validation/VALIDATION_INDEX.yaml`
|
|
39
|
+
- `skills/build-validation/references/prototype-validation-target-rubric.md`
|
|
40
|
+
- `skills/build-validation/references/return-to-vision-gate.md`
|
|
41
|
+
|
|
42
|
+
Avoid loading prototype, spec, change, runtime, or implementation artifacts
|
|
43
|
+
unless the user explicitly asks to reconcile with historical evidence.
|
|
44
|
+
|
|
45
|
+
## Core Job
|
|
46
|
+
|
|
47
|
+
Given a vision, answer:
|
|
48
|
+
|
|
49
|
+
- What is the central uncertainty that the next prototype must reduce?
|
|
50
|
+
- What user behavior would make the product thesis more credible?
|
|
51
|
+
- What prototype scene, journey, or interaction must be shown to observe that
|
|
52
|
+
behavior?
|
|
53
|
+
- What evidence would count as pass, revise, pivot, stop, or needs_more_evidence?
|
|
54
|
+
- What vision gaps make a valid validation target impossible?
|
|
55
|
+
|
|
56
|
+
If those answers are not available, return to `/ow:vision` instead of forcing a
|
|
57
|
+
weak validation target.
|
|
58
|
+
|
|
59
|
+
## Vision Readiness Gate
|
|
24
60
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- `.codex/context/CONTEXT_MAP.yaml` when present and relevant
|
|
28
|
-
- `.codex/vision/VISION_CONTRACT.yaml` or the user's product vision
|
|
29
|
-
- `.codex/decisions/DECISION_INDEX.yaml` when decisions constrain the prototype
|
|
30
|
-
- `.codex/spec/SPEC_INDEX.yaml` only for directly relevant binding constraints
|
|
61
|
+
Before writing validation artifacts, check that vision provides enough evidence
|
|
62
|
+
for:
|
|
31
63
|
|
|
32
|
-
|
|
33
|
-
|
|
64
|
+
- target user
|
|
65
|
+
- usage context
|
|
66
|
+
- current alternative
|
|
67
|
+
- desired behavior change
|
|
68
|
+
- core mechanism
|
|
69
|
+
- differentiator
|
|
70
|
+
- trust, privacy, safety, and user-control boundaries
|
|
71
|
+
- strongest success signal
|
|
72
|
+
- failure signals
|
|
73
|
+
- prototype direction seeds
|
|
74
|
+
- prompt constraints
|
|
34
75
|
|
|
35
|
-
|
|
76
|
+
When the missing information would cause `/ow:proto` to invent product strategy,
|
|
77
|
+
record the gap and hand back to `/ow:vision`.
|
|
36
78
|
|
|
37
|
-
|
|
79
|
+
## Output Contract
|
|
38
80
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
81
|
+
Write validation artifacts only when the target is coherent:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
.openworkflow/validation/VALIDATION_INDEX.yaml
|
|
85
|
+
.openworkflow/validation/<id>/VALIDATION.yaml
|
|
86
|
+
.openworkflow/validation/<id>/NOTE.md
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The validation target should preserve:
|
|
90
|
+
|
|
91
|
+
```yaml
|
|
92
|
+
core_question:
|
|
93
|
+
central_uncertainty:
|
|
94
|
+
hypothesis:
|
|
95
|
+
target_behavior:
|
|
96
|
+
prototype_scope:
|
|
97
|
+
include:
|
|
98
|
+
exclude:
|
|
99
|
+
prototype_experiment:
|
|
100
|
+
scenario:
|
|
101
|
+
must_show:
|
|
102
|
+
must_not_show:
|
|
103
|
+
observable_signals:
|
|
104
|
+
pass:
|
|
105
|
+
fail:
|
|
106
|
+
ambiguous:
|
|
107
|
+
decision_rules:
|
|
108
|
+
continue:
|
|
109
|
+
revise:
|
|
110
|
+
pivot:
|
|
111
|
+
stop:
|
|
112
|
+
needs_more_evidence:
|
|
113
|
+
vision_gaps:
|
|
45
114
|
```
|
|
46
115
|
|
|
47
|
-
|
|
116
|
+
Until the artifact schema formally exposes every field, keep the same
|
|
117
|
+
information in the existing `core_question`, `critical_assumptions`,
|
|
118
|
+
`prototype_scope`, `acceptance`, and `NOTE.md` fields without losing the
|
|
119
|
+
experiment logic.
|
|
48
120
|
|
|
49
121
|
## Workflow
|
|
50
122
|
|
|
51
|
-
1.
|
|
52
|
-
2.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
7. Validate with `npm run validate` when the repository validator exists.
|
|
62
|
-
|
|
63
|
-
## Boundaries
|
|
64
|
-
|
|
65
|
-
- Do not create full implementation tasks.
|
|
66
|
-
- Do not write large product specs.
|
|
67
|
-
- Do not solve authentication, persistence, deployment, billing, or admin work
|
|
68
|
-
unless those are the existential assumption.
|
|
69
|
-
- Do not treat feature count as progress.
|
|
70
|
-
- Prefer a small prototype brief over a broad spec when uncertainty is high.
|
|
123
|
+
1. Load current vision and current validation index, if any.
|
|
124
|
+
2. Extract the candidate uncertainties from the vision.
|
|
125
|
+
3. Rank uncertainties by existential risk, observability in prototype,
|
|
126
|
+
decision leverage, and cost of learning.
|
|
127
|
+
4. Select exactly one central uncertainty for the next validation target.
|
|
128
|
+
5. Define one minimum prototype experiment.
|
|
129
|
+
6. Convert success and failure signals into observable evidence criteria.
|
|
130
|
+
7. Define decision rules for continue, revise, pivot, stop, and
|
|
131
|
+
needs_more_evidence.
|
|
132
|
+
8. Write validation artifacts only after the target is coherent.
|
|
71
133
|
|
|
72
|
-
## Handoff
|
|
134
|
+
## Prototype Handoff
|
|
135
|
+
|
|
136
|
+
`/ow:proto` should be able to consume the validation target as an experiment
|
|
137
|
+
brief. It should not need to infer:
|
|
73
138
|
|
|
74
|
-
|
|
75
|
-
|
|
139
|
+
- which uncertainty matters most
|
|
140
|
+
- which screen or journey moments are required
|
|
141
|
+
- which user behavior is being observed
|
|
142
|
+
- which anti-goals and trust boundaries constrain the prototype
|
|
143
|
+
- what evidence changes the next decision
|
|
144
|
+
|
|
145
|
+
When validation is present, `/ow:proto` should treat it as the target of the
|
|
146
|
+
prototype prompt pack.
|
|
147
|
+
|
|
148
|
+
## Forbidden Defaults
|
|
149
|
+
|
|
150
|
+
- Do not generate prototype prompts.
|
|
151
|
+
- Do not create prototype images or prototype evidence.
|
|
152
|
+
- Do not produce production specs, changes, tasks, or implementation plans.
|
|
153
|
+
- Do not turn supporting features into blockers for the central uncertainty.
|
|
154
|
+
- Do not select multiple unrelated validation targets in one artifact.
|
|
155
|
+
- Do not hide vision gaps by writing a polished but unsupported target.
|
|
156
|
+
|
|
157
|
+
## Handoff
|
|
76
158
|
|
|
77
|
-
|
|
78
|
-
|
|
159
|
+
Hand off to `/ow:proto` only when the validation target names a central
|
|
160
|
+
uncertainty, prototype scope, observable evidence, and decision rules.
|
|
79
161
|
|
|
80
|
-
|
|
81
|
-
|
|
162
|
+
Hand back to `/ow:vision` when the target would require inventing product
|
|
163
|
+
strategy.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Prototype Validation Target Rubric
|
|
2
|
+
|
|
3
|
+
A validation target is useful only if it helps `/ow:proto` design an experiment,
|
|
4
|
+
not just a polished interface.
|
|
5
|
+
|
|
6
|
+
## Required Qualities
|
|
7
|
+
|
|
8
|
+
- Central uncertainty: one uncertainty that would materially change the product
|
|
9
|
+
direction if disproven.
|
|
10
|
+
- Target behavior: the user behavior or reaction the prototype must make
|
|
11
|
+
observable.
|
|
12
|
+
- Prototype boundary: the minimum scene, journey, states, and interactions that
|
|
13
|
+
must be shown.
|
|
14
|
+
- Evidence criteria: pass, fail, and ambiguous signals expressed as observable
|
|
15
|
+
prototype review evidence.
|
|
16
|
+
- Decision rules: how evidence maps to continue, revise, pivot, stop, or
|
|
17
|
+
needs_more_evidence.
|
|
18
|
+
|
|
19
|
+
## Rejection Signs
|
|
20
|
+
|
|
21
|
+
- The target is a list of features.
|
|
22
|
+
- The target can be satisfied by making the UI attractive.
|
|
23
|
+
- The target needs production infrastructure to be meaningful.
|
|
24
|
+
- The target asks the prototype to prove several unrelated assumptions.
|
|
25
|
+
- The target omits what would count as failure.
|
|
26
|
+
- The target requires `/ow:proto` to invent product strategy.
|
|
27
|
+
|
|
28
|
+
## Strong Target Shape
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
We need to learn whether [target user], in [context], would [target behavior]
|
|
32
|
+
because [core mechanism] solves [pain] better than [current alternative].
|
|
33
|
+
The prototype must show [must-show moments] and must avoid [anti-goals].
|
|
34
|
+
Pass if [observable signal]. Fail if [observable signal].
|
|
35
|
+
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Return-To-Vision Gate
|
|
2
|
+
|
|
3
|
+
Validation should not compensate for weak vision. It should identify when the
|
|
4
|
+
next useful action is more vision discovery.
|
|
5
|
+
|
|
6
|
+
Return to `/ow:vision` when any of these are missing or conflicted:
|
|
7
|
+
|
|
8
|
+
- target user
|
|
9
|
+
- usage context
|
|
10
|
+
- desired behavior change
|
|
11
|
+
- core mechanism
|
|
12
|
+
- differentiator
|
|
13
|
+
- trust or privacy boundary
|
|
14
|
+
- strongest success signal
|
|
15
|
+
- failure signal
|
|
16
|
+
- prototype direction seed
|
|
17
|
+
- prompt constraint
|
|
18
|
+
|
|
19
|
+
## Agent Rule
|
|
20
|
+
|
|
21
|
+
If the missing information would force `/ow:proto` to invent strategy, stop
|
|
22
|
+
validation and ask the next vision question instead of writing a validation
|
|
23
|
+
target.
|
|
24
|
+
|
|
25
|
+
## Partial Validation Exception
|
|
26
|
+
|
|
27
|
+
A partial validation target is acceptable only when:
|
|
28
|
+
|
|
29
|
+
- the missing vision area is explicitly named in `vision_gaps`
|
|
30
|
+
- the prototype can still observe one central uncertainty without inventing the
|
|
31
|
+
missing strategy
|
|
32
|
+
- the user understands the validation target is intentionally partial
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build-vision
|
|
3
|
+
description: Conduct deep product vision discovery without eager artifact writes, then compile proto-ready vision artifacts only after the user confirms readiness. Use when the user invokes /ow:vision, wants to clarify a product idea, or needs a vision that can drive high-quality prototype prompts.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Build Vision
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Turn messy product intent into a proto-ready vision contract.
|
|
11
|
+
|
|
12
|
+
This skill is the native source behavior for `/ow:vision`. It treats vision as
|
|
13
|
+
the highest-leverage discovery stage because every downstream artifact depends
|
|
14
|
+
on it. If the vision is thin or wrong, validation, prototype prompts, generated
|
|
15
|
+
prototypes, tuning, specs, and implementation all become expensive work against
|
|
16
|
+
weak intent.
|
|
17
|
+
|
|
18
|
+
`build-vision` acts as:
|
|
19
|
+
|
|
20
|
+
- product partner
|
|
21
|
+
- requirements interrogator
|
|
22
|
+
- intent compiler
|
|
23
|
+
|
|
24
|
+
It should make the human interview feel fluid while still producing durable,
|
|
25
|
+
auditable artifacts at meaningful checkpoints.
|
|
26
|
+
|
|
27
|
+
## Inputs
|
|
28
|
+
|
|
29
|
+
Required, one of:
|
|
30
|
+
|
|
31
|
+
- direct user product idea, opportunity, or broad goal
|
|
32
|
+
- existing `.openworkflow/vision/VISION_CONTRACT.yaml`
|
|
33
|
+
- existing `.openworkflow/vision/VISION.md`
|
|
34
|
+
- existing `.openworkflow/vision/sessions/<id>/VISION_SESSION.yaml`
|
|
35
|
+
|
|
36
|
+
Optional:
|
|
37
|
+
|
|
38
|
+
- `.openworkflow/CURRENT_STATE.yaml`
|
|
39
|
+
- `.openworkflow/context/CONTEXT.md`
|
|
40
|
+
- `.openworkflow/context/CONTEXT_MAP.yaml`
|
|
41
|
+
- `.openworkflow/context/GLOSSARY.yaml`
|
|
42
|
+
- `docs/DISCOVER_LOOP_UPGRATE_PLAN.md`
|
|
43
|
+
- `skills/build-vision/references/vision-interview-protocol.md`
|
|
44
|
+
- `skills/build-vision/references/proto-readiness-rubric.md`
|
|
45
|
+
- reference product notes, constraints, screenshots, or prior discovery notes
|
|
46
|
+
|
|
47
|
+
Avoid loading validation, prototype, spec, change, runtime, or implementation
|
|
48
|
+
history unless the user's current vision question explicitly depends on it.
|
|
49
|
+
|
|
50
|
+
## Interaction Modes
|
|
51
|
+
|
|
52
|
+
### Interview Mode
|
|
53
|
+
|
|
54
|
+
Default mode. Ask one focused question at a time and do not write durable
|
|
55
|
+
`.openworkflow/vision/**` artifacts after every answer.
|
|
56
|
+
|
|
57
|
+
Use conversation context as temporary working memory. Preserve flow, challenge
|
|
58
|
+
weak answers, and keep exploring until the product intent is strong enough to
|
|
59
|
+
compile.
|
|
60
|
+
|
|
61
|
+
### Checkpoint Mode
|
|
62
|
+
|
|
63
|
+
Write a lightweight checkpoint only when:
|
|
64
|
+
|
|
65
|
+
- the user explicitly asks to record progress
|
|
66
|
+
- a topic closes
|
|
67
|
+
- the user needs to pause
|
|
68
|
+
- the session contains a load-bearing ambiguity that should not be lost
|
|
69
|
+
- a long interview reaches a natural review point
|
|
70
|
+
|
|
71
|
+
Checkpoint mode is not final vision compile.
|
|
72
|
+
|
|
73
|
+
### Compile Mode
|
|
74
|
+
|
|
75
|
+
Compile durable artifacts only when:
|
|
76
|
+
|
|
77
|
+
- mandatory discovery dimensions have enough evidence
|
|
78
|
+
- proto-readiness is sufficient
|
|
79
|
+
- unresolved blockers are explicit
|
|
80
|
+
- the user confirms that the interview can stop
|
|
81
|
+
|
|
82
|
+
Expected durable outputs:
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
.openworkflow/vision/VISION.md
|
|
86
|
+
.openworkflow/vision/VISION_CONTRACT.yaml
|
|
87
|
+
.openworkflow/vision/sessions/<id>/VISION_SESSION.yaml
|
|
88
|
+
.openworkflow/vision/sessions/<id>/NOTE.md
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Context files may be updated only when context has stabilized.
|
|
92
|
+
|
|
93
|
+
## Discovery Coverage
|
|
94
|
+
|
|
95
|
+
Before compile, cover:
|
|
96
|
+
|
|
97
|
+
- target user and beneficiary
|
|
98
|
+
- usage context
|
|
99
|
+
- current alternative
|
|
100
|
+
- pain and motivation
|
|
101
|
+
- desired behavior change
|
|
102
|
+
- core product mechanism
|
|
103
|
+
- core differentiator
|
|
104
|
+
- emotional value
|
|
105
|
+
- functional value
|
|
106
|
+
- strongest success signal
|
|
107
|
+
- failure signals
|
|
108
|
+
- trust, privacy, safety, and user-control boundaries
|
|
109
|
+
- explicit non-goals
|
|
110
|
+
- future opportunities that must remain deferred
|
|
111
|
+
- validation target
|
|
112
|
+
|
|
113
|
+
Do not treat this as a fixed questionnaire. Follow the user's answers and
|
|
114
|
+
continue deeper when an answer exposes ambiguity, contradiction, or leverage.
|
|
115
|
+
|
|
116
|
+
## Proto-Readiness Gate
|
|
117
|
+
|
|
118
|
+
`VISION.md` is ready only when `/ow:proto` can use it to generate high-quality
|
|
119
|
+
strategic prototype prompt packs without inventing the core product strategy.
|
|
120
|
+
|
|
121
|
+
Before compile, verify that `/ow:proto` could derive:
|
|
122
|
+
|
|
123
|
+
- 3-5 strategically distinct prototype directions
|
|
124
|
+
- target user, behavior change, mechanism, differentiator, and boundary
|
|
125
|
+
conditions
|
|
126
|
+
- complete screen and journey requirements
|
|
127
|
+
- AI/system behavior when AI is part of the product
|
|
128
|
+
- trust, privacy, safety, and user-control constraints
|
|
129
|
+
- anti-goals converted into prompt constraints
|
|
130
|
+
- strongest success and failure signals
|
|
131
|
+
- a clear validation target
|
|
132
|
+
|
|
133
|
+
If these cannot be derived, continue interviewing or record explicit blockers.
|
|
134
|
+
|
|
135
|
+
## Artifact Guidance
|
|
136
|
+
|
|
137
|
+
When compiling, preserve:
|
|
138
|
+
|
|
139
|
+
```yaml
|
|
140
|
+
strategic_core:
|
|
141
|
+
target_user:
|
|
142
|
+
context:
|
|
143
|
+
current_alternative:
|
|
144
|
+
pain:
|
|
145
|
+
desired_behavior_change:
|
|
146
|
+
core_mechanism:
|
|
147
|
+
core_differentiator:
|
|
148
|
+
strongest_success_signal:
|
|
149
|
+
failure_signals:
|
|
150
|
+
|
|
151
|
+
product_system_seed:
|
|
152
|
+
product_thesis:
|
|
153
|
+
primary_loop:
|
|
154
|
+
interaction_model:
|
|
155
|
+
feature_system:
|
|
156
|
+
emotional_value:
|
|
157
|
+
functional_value:
|
|
158
|
+
trust_boundary:
|
|
159
|
+
privacy_boundary:
|
|
160
|
+
anti_goals:
|
|
161
|
+
future_opportunities:
|
|
162
|
+
|
|
163
|
+
proto_readiness:
|
|
164
|
+
status: missing|thin|ready|blocked
|
|
165
|
+
missing_for_proto:
|
|
166
|
+
prototype_direction_seeds:
|
|
167
|
+
prompt_constraints:
|
|
168
|
+
validation_target:
|
|
169
|
+
downstream_notes:
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Use coverage statuses such as `missing`, `thin`, `solid`, and `conflicted` when
|
|
173
|
+
a dimension is not ready.
|
|
174
|
+
|
|
175
|
+
## Forbidden Defaults
|
|
176
|
+
|
|
177
|
+
- Do not write durable vision files after every user answer.
|
|
178
|
+
- Do not compile final vision artifacts after a fixed small number of questions.
|
|
179
|
+
- Do not create validation, prototype, spec, change, or runtime artifacts.
|
|
180
|
+
- Do not create prototype prompts from `/ow:vision`; hand off to `/ow:proto`.
|
|
181
|
+
- Do not hide thin or conflicted answers as polished product truth.
|
|
182
|
+
- Do not preserve auditability by destroying conversation flow.
|
|
183
|
+
|
|
184
|
+
## Handoff
|
|
185
|
+
|
|
186
|
+
Hand off to `/ow:validation` only after compile mode has produced proto-ready
|
|
187
|
+
vision artifacts or after the user explicitly asks for validation against a
|
|
188
|
+
known partial vision.
|
|
189
|
+
|
|
190
|
+
If the user asks for prototype prompts directly, first check proto-readiness.
|
|
191
|
+
When ready, hand off to `/ow:proto`; when thin, continue the vision interview.
|
|
192
|
+
|