@tiic-tech/openworkflow 0.1.0 → 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/README.md +10 -0
- package/dist/adapters/codex/src/cleanCodexAdapter.d.ts +7 -0
- package/dist/adapters/codex/src/cleanCodexAdapter.js +99 -0
- package/dist/adapters/codex/src/cleanCodexAdapter.js.map +1 -0
- 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.d.ts +1 -0
- package/dist/cli/src/commands/clean.js +98 -0
- package/dist/cli/src/commands/clean.js.map +1 -0
- 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.d.ts +2 -0
- package/dist/cli/src/dev/verifyCleanCommand.js +338 -0
- package/dist/cli/src/dev/verifyCleanCommand.js.map +1 -0
- 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 +189 -5
- 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 +2327 -306
- package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -1
- package/dist/core/src/workflow/cleanOpenWorkflow.d.ts +18 -0
- package/dist/core/src/workflow/cleanOpenWorkflow.js +124 -0
- package/dist/core/src/workflow/cleanOpenWorkflow.js.map +1 -0
- 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 +4 -2
- 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,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: analyze-changes
|
|
3
|
+
description: Analyze multiple OpenWorkflow CANDIDATE_CHANGES queues and recommend the next plan id and candidate id without selecting or implementing it. Use when multiple candidate queues exist, when cross-queue priority is unclear, or before select-change should consume a cross-queue recommendation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Analyze Changes
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Compare multiple candidate queues and produce a read-only priority analysis. This skill
|
|
11
|
+
does not decompose new queues, does not select a candidate, and does not
|
|
12
|
+
implement code.
|
|
13
|
+
|
|
14
|
+
Do not use this skill as a mandatory pre-step for a single active queue. When
|
|
15
|
+
the current work state has one owning `CANDIDATE_CHANGES.yaml`, use
|
|
16
|
+
`select-change` directly; SC owns single-queue prioritization and selection.
|
|
17
|
+
|
|
18
|
+
## Read First
|
|
19
|
+
|
|
20
|
+
Read only what is needed:
|
|
21
|
+
|
|
22
|
+
- `references/planning-artifact-contracts.md`
|
|
23
|
+
- `references/git-version-control-governance.md`
|
|
24
|
+
- `references/issue-governance.md` when Issues affect priority
|
|
25
|
+
- `skills/analyze-changes/references/analysis-protocol.md`
|
|
26
|
+
- The target `CANDIDATE_CHANGES.yaml` files, plural
|
|
27
|
+
|
|
28
|
+
## Workflow
|
|
29
|
+
|
|
30
|
+
1. Run `git status --short --branch` and record the current branch and dirty
|
|
31
|
+
tree state.
|
|
32
|
+
2. Confirm the request is a cross-queue decision. If there is only one active
|
|
33
|
+
queue and no explicit cross-queue comparison request, stop and hand off to
|
|
34
|
+
`select-change` without writing `CHANGE_ANALYSIS.yaml`.
|
|
35
|
+
3. Discover candidate queues only from user-provided paths or obvious
|
|
36
|
+
`changes/*/CANDIDATE_CHANGES.yaml` files when the user asks for a global
|
|
37
|
+
analysis.
|
|
38
|
+
4. Read YAML as the source of truth. Use Markdown views only as readable aids.
|
|
39
|
+
5. For each queue, record branch boundary, next recommended candidate, ready
|
|
40
|
+
candidates, blocked candidates, high-risk candidates, and dependency gaps.
|
|
41
|
+
6. Score candidates with the queue policy first, then cross-queue signals:
|
|
42
|
+
readiness, dependency unlock value, risk, branch fit, dirty-tree fit,
|
|
43
|
+
Issue linkage, validation realism, and user recency.
|
|
44
|
+
7. If the best next candidate is `risk: high`, stop with a high-risk analysis
|
|
45
|
+
recommendation and point to the needed `HIGH_RISK_DECISION_REPORT.md`.
|
|
46
|
+
8. Write `CHANGE_ANALYSIS.yaml` first, then `CHANGE_ANALYSIS.md` as a readable
|
|
47
|
+
view.
|
|
48
|
+
9. Recommend exactly one `target_plan_id` and `target_candidate_id` when the
|
|
49
|
+
evidence supports it. Otherwise recommend the queue maintenance needed before
|
|
50
|
+
selection.
|
|
51
|
+
10. Hand off to `select-change`; do not create `SELECTED_CHANGE.yaml`,
|
|
52
|
+
`ATOM_TASKS.yaml`, or `IMPLEMENTATION_BRIEF.md`.
|
|
53
|
+
|
|
54
|
+
## Output Location
|
|
55
|
+
|
|
56
|
+
Default to an analysis folder when comparing multiple queues:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
changes/<analysis-id>/
|
|
60
|
+
CHANGE_ANALYSIS.yaml
|
|
61
|
+
CHANGE_ANALYSIS.md
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Use an `analysis-id` that describes the decision episode, not a selected
|
|
65
|
+
candidate.
|
|
66
|
+
|
|
67
|
+
## Recommendation Rules
|
|
68
|
+
|
|
69
|
+
- Prefer ready candidates over blocked or candidate-status entries.
|
|
70
|
+
- Prefer a queue's `next_recommended_candidate_id` when it is ready and its
|
|
71
|
+
dependencies still hold.
|
|
72
|
+
- Prefer candidates that unlock multiple downstream changes.
|
|
73
|
+
- Prefer candidates whose branch boundary matches the current branch.
|
|
74
|
+
- Treat unrelated dirty-tree work as a reason to pause or recommend committing
|
|
75
|
+
the current selected change first.
|
|
76
|
+
- Do not recommend a high-risk candidate for selection unless the user has
|
|
77
|
+
explicitly approved a concrete option from a high-risk decision report.
|
|
78
|
+
- If multiple queues are active and none is clearly superior, recommend the
|
|
79
|
+
smallest queue maintenance step that will make selection safe.
|
|
80
|
+
|
|
81
|
+
## Boundaries
|
|
82
|
+
|
|
83
|
+
- Do not create or modify candidate queues except to add an explicit analysis
|
|
84
|
+
evidence link when the user requests that maintenance.
|
|
85
|
+
- Do not select candidates.
|
|
86
|
+
- Do not implement candidates.
|
|
87
|
+
- Do not produce a same-queue priority analysis when `select-change` can rank
|
|
88
|
+
candidates inside the only active queue.
|
|
89
|
+
- Do not run destructive git operations.
|
|
90
|
+
- Do not run gh mutation operations.
|
|
91
|
+
- Do not treat local Issue snapshots as authoritative when GitHub Issues are
|
|
92
|
+
configured as the source of truth.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Analysis Protocol
|
|
2
|
+
|
|
3
|
+
Use this protocol to produce cross-queue `CHANGE_ANALYSIS.yaml` and
|
|
4
|
+
`CHANGE_ANALYSIS.md`.
|
|
5
|
+
|
|
6
|
+
`analyze-changes` is for cross-queue priority arbitration. If the current work
|
|
7
|
+
state has one active `CANDIDATE_CHANGES.yaml`, do not create a
|
|
8
|
+
`CHANGE_ANALYSIS.yaml` just to choose the next candidate. Hand off to
|
|
9
|
+
`select-change`; SC owns prioritization inside one queue.
|
|
10
|
+
|
|
11
|
+
## Inputs
|
|
12
|
+
|
|
13
|
+
Accepted inputs:
|
|
14
|
+
|
|
15
|
+
- explicit `CANDIDATE_CHANGES.yaml` paths, plural
|
|
16
|
+
- a request to analyze all obvious queues under `changes/`
|
|
17
|
+
- Issue references only when they are already linked from candidate queues or
|
|
18
|
+
supplied by the user
|
|
19
|
+
|
|
20
|
+
Do not load generated runtime surfaces or unrelated source code unless a queue's
|
|
21
|
+
candidate explicitly needs that context for readiness analysis.
|
|
22
|
+
|
|
23
|
+
## Candidate Evaluation
|
|
24
|
+
|
|
25
|
+
First confirm that at least two active queues are being compared, or that the
|
|
26
|
+
user explicitly requests cross-queue arbitration. If not, return a handoff to
|
|
27
|
+
`select-change` instead of writing analysis artifacts.
|
|
28
|
+
|
|
29
|
+
For each candidate considered, capture:
|
|
30
|
+
|
|
31
|
+
- `plan_id`
|
|
32
|
+
- `candidate_id`
|
|
33
|
+
- `status`
|
|
34
|
+
- `risk`
|
|
35
|
+
- dependencies and whether they are satisfied
|
|
36
|
+
- branch boundary and whether it matches the current branch
|
|
37
|
+
- dirty-tree conflict risk
|
|
38
|
+
- owned paths
|
|
39
|
+
- validation commands
|
|
40
|
+
- downstream unlocks
|
|
41
|
+
- Issue refs when present
|
|
42
|
+
- high-risk report status when risk is high
|
|
43
|
+
|
|
44
|
+
## Priority Signals
|
|
45
|
+
|
|
46
|
+
Use these signals in order:
|
|
47
|
+
|
|
48
|
+
1. User-explicit target or most recent instruction.
|
|
49
|
+
2. Candidate readiness and dependency satisfaction.
|
|
50
|
+
3. Queue `next_recommended_candidate_id`.
|
|
51
|
+
4. Risk gate: high-risk candidates require report and explicit approval.
|
|
52
|
+
5. Unlock value for downstream candidates.
|
|
53
|
+
6. Branch and dirty-tree fit.
|
|
54
|
+
7. Validation realism.
|
|
55
|
+
8. Issue or PR urgency when documented in the queue.
|
|
56
|
+
|
|
57
|
+
Do not hide tradeoffs. Name rejected alternatives and why they were not chosen.
|
|
58
|
+
|
|
59
|
+
## YAML Shape
|
|
60
|
+
|
|
61
|
+
`CHANGE_ANALYSIS.yaml` should include:
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
schema_version: 0.1.0
|
|
65
|
+
contract_id: change_analysis:<analysis-id>
|
|
66
|
+
contract_type: planning
|
|
67
|
+
planning_artifact_type: change_analysis
|
|
68
|
+
analysis_id: <analysis-id>
|
|
69
|
+
status: complete
|
|
70
|
+
source:
|
|
71
|
+
queues:
|
|
72
|
+
- changes/<plan_id>/CANDIDATE_CHANGES.yaml
|
|
73
|
+
git_state:
|
|
74
|
+
branch: <branch-name>
|
|
75
|
+
dirty: false
|
|
76
|
+
recommendation:
|
|
77
|
+
target_plan_id: <plan-id>
|
|
78
|
+
target_candidate_id: <candidate-id>
|
|
79
|
+
action: handoff_to_select_change
|
|
80
|
+
reason: <short reason>
|
|
81
|
+
rejected_alternatives:
|
|
82
|
+
- plan_id: <plan-id>
|
|
83
|
+
candidate_id: <candidate-id>
|
|
84
|
+
reason: <short reason>
|
|
85
|
+
high_risk_stop:
|
|
86
|
+
required: false
|
|
87
|
+
validation:
|
|
88
|
+
commands_run:
|
|
89
|
+
- git status --short --branch
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
If no candidate should be selected yet, set `recommendation.action` to
|
|
93
|
+
`queue_maintenance`, `high_risk_report`, or `commit_current_work` and explain
|
|
94
|
+
the blocker.
|
|
95
|
+
|
|
96
|
+
## Markdown Shape
|
|
97
|
+
|
|
98
|
+
`CHANGE_ANALYSIS.md` should include:
|
|
99
|
+
|
|
100
|
+
- source-of-truth notice
|
|
101
|
+
- queues analyzed
|
|
102
|
+
- git state
|
|
103
|
+
- recommended target
|
|
104
|
+
- rejected alternatives
|
|
105
|
+
- blockers or high-risk stop conditions
|
|
106
|
+
- exact handoff instruction for `select-change`
|
|
107
|
+
|
|
108
|
+
## High-Risk Handling
|
|
109
|
+
|
|
110
|
+
If the top candidate is high risk:
|
|
111
|
+
|
|
112
|
+
- do not recommend selection
|
|
113
|
+
- name the high-risk candidate and report path
|
|
114
|
+
- state whether the report exists
|
|
115
|
+
- recommend creating or updating `HIGH_RISK_DECISION_REPORT.md` if missing
|
|
116
|
+
- state the resume condition as explicit user approval of a concrete option
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build-proto-prompt
|
|
3
|
+
description: Compile proto-ready vision and validation into ready PROTO_PROMPT_PACK artifacts. Use for the internal /ow:build-proto-prompt prompt-pack compiler boundary before prompt2proto, image generation, visual review, proto2html, specs, changes, or runtime work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Build Proto Prompt
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Compile durable vision and validation inputs into ready strategic prototype
|
|
11
|
+
prompt packs. This source skill owns the prompt-pack compiler boundary that was
|
|
12
|
+
previously embedded in `build-prototype`.
|
|
13
|
+
|
|
14
|
+
`build-proto-prompt` does not generate images, review visual output, build
|
|
15
|
+
HTML, create specs, or start implementation. It writes high-quality
|
|
16
|
+
`PROTO_PROMPT_PACK` artifacts that can be consumed by `prompt2proto`.
|
|
17
|
+
|
|
18
|
+
## Role Engine
|
|
19
|
+
|
|
20
|
+
Before compiling prompts, adopt the Co-Founder plus Chief PM / senior product
|
|
21
|
+
strategist role engine:
|
|
22
|
+
|
|
23
|
+
- Co-Founder: protects product thesis, user transformation, differentiated
|
|
24
|
+
product form, reason-to-exist, and ambition.
|
|
25
|
+
- Chief PM: protects validation fit, risk reduction, user decision context,
|
|
26
|
+
product-system completeness, handoff readiness, and no-go boundaries.
|
|
27
|
+
|
|
28
|
+
The references are tools for this role engine, not a checklist that proves
|
|
29
|
+
quality by itself.
|
|
30
|
+
|
|
31
|
+
## Inputs
|
|
32
|
+
|
|
33
|
+
Required:
|
|
34
|
+
|
|
35
|
+
- durable vision contract or equivalent direct user vision
|
|
36
|
+
- durable validation target
|
|
37
|
+
- resolved strategic direction count from the prototype orchestration preflight
|
|
38
|
+
|
|
39
|
+
Optional:
|
|
40
|
+
|
|
41
|
+
- context map or glossary
|
|
42
|
+
- target platform, canvas, tool, fidelity, language, brand, or acceptance bar
|
|
43
|
+
- existing prototype prompt pack only when repairing a failed prompt-pack gate
|
|
44
|
+
|
|
45
|
+
## References
|
|
46
|
+
|
|
47
|
+
Run these references in order:
|
|
48
|
+
|
|
49
|
+
1. `references/prompt-pack-compiler-protocol.md`
|
|
50
|
+
2. `references/output-boundary.md`
|
|
51
|
+
|
|
52
|
+
Until the compiler references are fully split, reuse the OW-owned
|
|
53
|
+
`skills/build-prototype/references/strategic-prompt-pack-protocol.md` and
|
|
54
|
+
`skills/build-prototype/references/vision2prompt/01_input_contract.md` through
|
|
55
|
+
`07_quality_rubric.md` as the detailed prompt-generation toolkit.
|
|
56
|
+
|
|
57
|
+
## Output
|
|
58
|
+
|
|
59
|
+
Write prompt-pack artifacts under the active prototype folder:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
PROTO_PROMPT_PACK.yaml
|
|
63
|
+
PROTO_PROMPT_PACK.md
|
|
64
|
+
REVIEW_PLAN.md
|
|
65
|
+
EVIDENCE.yaml
|
|
66
|
+
NOTE.md
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The YAML prompt pack is the source of truth. Markdown is the readable view.
|
|
70
|
+
|
|
71
|
+
## Workflow
|
|
72
|
+
|
|
73
|
+
1. Confirm durable vision and validation inputs are present and strong enough.
|
|
74
|
+
2. Normalize product domain, target user, usage context, current alternative,
|
|
75
|
+
core pain, behavior change, success signal, differentiator, trust
|
|
76
|
+
boundaries, non-goals, and validation target.
|
|
77
|
+
3. Apply the Co-Founder plus Chief PM role engine before generating directions.
|
|
78
|
+
4. Infer product experience model: archetype, primary canvas, information
|
|
79
|
+
architecture, domain objects, task loop, state model, data realism, visual
|
|
80
|
+
language, anti-generic constraints, and category quality bar.
|
|
81
|
+
5. Write `prototype_system_contract` before screen prompts: stable app shell,
|
|
82
|
+
navigation taxonomy, data vocabulary, domain object anatomy, object detail
|
|
83
|
+
anatomy, action bar, audit/trust pattern, copy tone, and allowed
|
|
84
|
+
screen-specific deltas.
|
|
85
|
+
6. Generate candidate strategic hypotheses, then select materially distinct
|
|
86
|
+
directions based on product form, trigger, interaction model, emotional
|
|
87
|
+
driver, retention mechanism, validation metric, and main risk.
|
|
88
|
+
7. Write dailin-grade direction and screen prompt paragraphs with journey,
|
|
89
|
+
screen components, interaction behavior, system response, concrete content,
|
|
90
|
+
trust controls, anti-goals, visual direction, desired user feeling, product
|
|
91
|
+
thesis, reason-to-exist, and user transformation.
|
|
92
|
+
8. Run prompt-pack readiness gates: integrity, prototype reality, prompt
|
|
93
|
+
executability, paragraph quality, screen manifest linkage, and
|
|
94
|
+
post-validation.
|
|
95
|
+
9. Set `prompt_text_manifest.status: ready_for_image_generation` only when all
|
|
96
|
+
readiness gates and the prototype system contract pass.
|
|
97
|
+
10. Keep `image_generation.status: not_started` and hand off to `prompt2proto`
|
|
98
|
+
only after prompt-pack readiness passes.
|
|
99
|
+
|
|
100
|
+
## Boundary
|
|
101
|
+
|
|
102
|
+
Allowed:
|
|
103
|
+
|
|
104
|
+
- compile strategic prompt packs;
|
|
105
|
+
- define prototype system coherence before visual translation;
|
|
106
|
+
- repair prompt-pack text when readiness gates fail;
|
|
107
|
+
- write review plan and evidence about prompt readiness;
|
|
108
|
+
- preserve no-go constraints for downstream stages.
|
|
109
|
+
|
|
110
|
+
Forbidden:
|
|
111
|
+
|
|
112
|
+
- provider-backed image generation;
|
|
113
|
+
- human visual review;
|
|
114
|
+
- visual reference parity scoring;
|
|
115
|
+
- proto2html;
|
|
116
|
+
- storyboard or motion modeling;
|
|
117
|
+
- production design/spec/change/runtime work;
|
|
118
|
+
- narrowing `build-prototype` behavior.
|
|
119
|
+
|
|
120
|
+
## Handoff
|
|
121
|
+
|
|
122
|
+
When all gates pass, hand internally to `prompt2proto` with a ready prompt
|
|
123
|
+
pack. When gates fail, keep `image_generation.status: not_started`, record the
|
|
124
|
+
failed gate, and repair inside `build-proto-prompt` instead of downstreaming a
|
|
125
|
+
thin prompt pack.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Output Boundary
|
|
2
|
+
|
|
3
|
+
Use this reference to keep `build-proto-prompt` from crossing into downstream
|
|
4
|
+
prototype consumption.
|
|
5
|
+
|
|
6
|
+
## Owns
|
|
7
|
+
|
|
8
|
+
- strategic prompt-pack compilation;
|
|
9
|
+
- product experience model extraction;
|
|
10
|
+
- prototype system coherence contract;
|
|
11
|
+
- direction and screen prompt text;
|
|
12
|
+
- prompt-pack readiness gates;
|
|
13
|
+
- review plan for prompt evidence;
|
|
14
|
+
- handoff facts for `prompt2proto`.
|
|
15
|
+
|
|
16
|
+
## Does Not Own
|
|
17
|
+
|
|
18
|
+
- provider image generation;
|
|
19
|
+
- UI/UX visual translation from ready prompt packs;
|
|
20
|
+
- density calibration after prompt-pack readiness;
|
|
21
|
+
- human visual review;
|
|
22
|
+
- visual reference parity;
|
|
23
|
+
- proto2html;
|
|
24
|
+
- storyboard or motion;
|
|
25
|
+
- production specs, changes, teams, or runtime state.
|
|
26
|
+
|
|
27
|
+
## Handoff Contract
|
|
28
|
+
|
|
29
|
+
When ready:
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
prompt_text_manifest:
|
|
33
|
+
status: ready_for_image_generation
|
|
34
|
+
paragraph_quality_status: pass
|
|
35
|
+
prototype_system_contract:
|
|
36
|
+
stable_app_shell:
|
|
37
|
+
- persistent product frame is defined
|
|
38
|
+
allowed_screen_deltas:
|
|
39
|
+
- state-specific changes are explicit
|
|
40
|
+
image_generation:
|
|
41
|
+
status: not_started
|
|
42
|
+
internal_pipeline:
|
|
43
|
+
next_stage: prompt2proto
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
When blocked:
|
|
47
|
+
|
|
48
|
+
```yaml
|
|
49
|
+
prompt_text_manifest:
|
|
50
|
+
status: blocked
|
|
51
|
+
image_generation:
|
|
52
|
+
status: not_started
|
|
53
|
+
repair_route: /ow:build-proto-prompt
|
|
54
|
+
```
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Prompt-Pack Compiler Protocol
|
|
2
|
+
|
|
3
|
+
Use this reference when `build-proto-prompt` compiles durable vision and
|
|
4
|
+
validation into a `PROTO_PROMPT_PACK`.
|
|
5
|
+
|
|
6
|
+
## Role Coupling
|
|
7
|
+
|
|
8
|
+
The Co-Founder lens asks what product should exist and why this prototype is
|
|
9
|
+
worth generating. It rejects generic dashboards, card walls, chatbots, report
|
|
10
|
+
screens, and visual skins when those forms do not express the product thesis.
|
|
11
|
+
|
|
12
|
+
The Chief PM lens asks whether the prompt pack will reduce the validation risk.
|
|
13
|
+
It protects include/exclude scope, user decision context, success signals,
|
|
14
|
+
trust boundaries, and handoff readiness.
|
|
15
|
+
|
|
16
|
+
## Required Compiler Outputs
|
|
17
|
+
|
|
18
|
+
The prompt pack should include:
|
|
19
|
+
|
|
20
|
+
- normalized input;
|
|
21
|
+
- strategic core;
|
|
22
|
+
- prototype brief;
|
|
23
|
+
- product experience model;
|
|
24
|
+
- prototype system contract;
|
|
25
|
+
- screen manifest;
|
|
26
|
+
- global design system prompt;
|
|
27
|
+
- direction-level prototype prompts;
|
|
28
|
+
- screen-bound prompts;
|
|
29
|
+
- quality rubric;
|
|
30
|
+
- prompt text manifest;
|
|
31
|
+
- prompt-pack integrity gate;
|
|
32
|
+
- prototype reality gate;
|
|
33
|
+
- post-validate gate;
|
|
34
|
+
- image generation state set to `not_started`;
|
|
35
|
+
- review plan.
|
|
36
|
+
|
|
37
|
+
## Readiness Rules
|
|
38
|
+
|
|
39
|
+
Do not mark the prompt pack ready until:
|
|
40
|
+
|
|
41
|
+
- prompt paragraphs are dailin-grade long-form prototype-generation briefs;
|
|
42
|
+
- `prototype_system_contract` states cross-screen invariants separately from
|
|
43
|
+
screen-specific state deltas;
|
|
44
|
+
- every direction has product thesis, user transformation, reason-to-exist,
|
|
45
|
+
differentiated product form, and PM judgment;
|
|
46
|
+
- screen prompts resolve to screen manifest ids;
|
|
47
|
+
- screen prompts include journey, interaction behavior, system response, trust
|
|
48
|
+
controls, anti-goals, visual direction, desired user feeling, and concrete
|
|
49
|
+
content;
|
|
50
|
+
- integrity, prototype reality, prompt executability, paragraph quality, and
|
|
51
|
+
post-validation gates pass.
|
|
52
|
+
|
|
53
|
+
## Repair Rule
|
|
54
|
+
|
|
55
|
+
If a gate fails, repair the prompt pack in this compiler stage. Do not route
|
|
56
|
+
thin or incoherent prompt text to `prompt2proto`.
|
|
57
|
+
|
|
58
|
+
## Prototype System Contract
|
|
59
|
+
|
|
60
|
+
Write this contract before screen prompts so downstream visual translation
|
|
61
|
+
knows what must stay stable across screens:
|
|
62
|
+
|
|
63
|
+
- `stable_app_shell`: persistent frame, navigation, header, workspace regions,
|
|
64
|
+
and canvas behavior.
|
|
65
|
+
- `navigation_taxonomy`: sections, routes, tabs, modules, or modes that should
|
|
66
|
+
not drift between screens.
|
|
67
|
+
- `data_vocabulary`: domain objects, field names, status labels, metric names,
|
|
68
|
+
and formatting rules.
|
|
69
|
+
- `domain_object_anatomy`: what makes each core object recognizable.
|
|
70
|
+
- `object_detail_anatomy`: detail drawer, side panel, inspector, or modal
|
|
71
|
+
structure that repeats across states.
|
|
72
|
+
- `action_bar_contract`: primary and secondary action placement, labels,
|
|
73
|
+
confirmation patterns, and disabled states.
|
|
74
|
+
- `audit_trust_pattern`: provenance, approval, privacy, safety, audit, and
|
|
75
|
+
human-control surfaces.
|
|
76
|
+
- `copy_tone`: stable tone for operational text and AI/system copy.
|
|
77
|
+
- `allowed_screen_deltas`: what may change by journey stage, selected object,
|
|
78
|
+
viewport, state, or workflow step.
|
|
79
|
+
|
|
80
|
+
This is a technical consistency contract. Do not use it to claim visual parity.
|