intentdna 1.7.4 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/LICENSE +201 -0
- package/README.md +143 -194
- package/dist/assets/candidates.d.ts +124 -0
- package/dist/assets/candidates.js +1249 -0
- package/dist/assets/catalog.d.ts +101 -0
- package/dist/assets/catalog.js +311 -0
- package/dist/assets/evidence.d.ts +93 -0
- package/dist/assets/evidence.js +391 -0
- package/dist/assets/index.d.ts +4 -0
- package/dist/assets/index.js +4 -0
- package/dist/assets/metadata.d.ts +19 -0
- package/dist/assets/metadata.js +227 -0
- package/dist/cli/commands/assets.d.ts +65 -0
- package/dist/cli/commands/assets.js +2871 -0
- package/dist/cli/commands/auth.d.ts +322 -0
- package/dist/cli/commands/auth.js +1592 -0
- package/dist/cli/commands/cloud-auth-guidance.d.ts +2 -0
- package/dist/cli/commands/cloud-auth-guidance.js +4 -0
- package/dist/cli/commands/cloud.d.ts +1359 -0
- package/dist/cli/commands/cloud.js +8364 -0
- package/dist/cli/commands/evolve.js +18 -2
- package/dist/cli/commands/generate.js +25 -2
- package/dist/cli/commands/guard.d.ts +1 -1
- package/dist/cli/commands/guard.js +1 -1
- package/dist/cli/commands/guide.d.ts +15 -0
- package/dist/cli/commands/guide.js +1747 -0
- package/dist/cli/commands/init.d.ts +12 -0
- package/dist/cli/commands/init.js +95 -60
- package/dist/cli/commands/org.d.ts +16 -0
- package/dist/cli/commands/org.js +2393 -0
- package/dist/cli/commands/release.d.ts +59 -0
- package/dist/cli/commands/release.js +716 -0
- package/dist/cli/commands/report.d.ts +82 -0
- package/dist/cli/commands/report.js +1516 -0
- package/dist/cli/commands/run.d.ts +6 -1
- package/dist/cli/commands/run.js +95 -26
- package/dist/cli/commands/sync.d.ts +8 -1
- package/dist/cli/commands/sync.js +436 -141
- package/dist/cli/commands/templates.d.ts +64 -0
- package/dist/cli/commands/templates.js +2151 -1
- package/dist/cli/commands/workflow.d.ts +26 -0
- package/dist/cli/commands/workflow.js +3053 -0
- package/dist/cli/index.js +719 -42
- package/dist/compiler/cascade.js +4 -9
- package/dist/compiler/compile.js +1 -0
- package/dist/governance/evidence-capture-attribution.d.ts +12 -0
- package/dist/governance/evidence-capture-attribution.js +46 -0
- package/dist/governance/index.d.ts +2 -0
- package/dist/governance/index.js +1 -0
- package/dist/hooks/cli.d.ts +6 -0
- package/dist/hooks/cli.js +168 -12
- package/dist/hooks/enforce.d.ts +1 -0
- package/dist/hooks/protocol.d.ts +1 -1
- package/dist/hooks/protocol.js +1 -1
- package/dist/hooks/state.d.ts +41 -0
- package/dist/hooks/state.js +126 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/mcp/tools-state.js +2 -0
- package/dist/organization/index.d.ts +121 -0
- package/dist/organization/index.js +413 -0
- package/dist/runtime/claude-sync-target.d.ts +49 -0
- package/dist/runtime/claude-sync-target.js +280 -0
- package/dist/runtime/codex-adapter.d.ts +254 -0
- package/dist/runtime/codex-adapter.js +1204 -0
- package/dist/runtime/codex-sync-target.d.ts +33 -0
- package/dist/runtime/codex-sync-target.js +241 -0
- package/dist/runtime/index.d.ts +8 -0
- package/dist/runtime/index.js +4 -0
- package/dist/runtime/output-artifact-registry.d.ts +1 -1
- package/dist/runtime/output-artifact-registry.js +2 -0
- package/dist/runtime/settings-adapter.d.ts +1 -1
- package/dist/runtime/settings-adapter.js +1 -1
- package/dist/runtime/skill-adapter.d.ts +5 -1
- package/dist/runtime/skill-adapter.js +120 -34
- package/dist/runtime/sync-artifact-registry.d.ts +99 -0
- package/dist/runtime/sync-artifact-registry.js +194 -0
- package/dist/runtime/sync-target-plan.d.ts +45 -0
- package/dist/runtime/sync-target-plan.js +19 -0
- package/dist/schema/controller-registry.d.ts +8 -1
- package/dist/schema/controller-registry.js +8 -0
- package/dist/schema/types.d.ts +35 -23
- package/dist/schema/types.js +10 -1
- package/dist/schema/validate.js +22 -22
- package/dist/schema/validators/controllers.js +38 -20
- package/dist/schema/workflow-authoring-contract.d.ts +29 -0
- package/dist/schema/workflow-authoring-contract.js +109 -0
- package/dist/schema/yaml-parser.js +18 -0
- package/dist/templates/api-backend.dna.yaml +19 -0
- package/dist/templates/brainstorming-first.dna.yaml +19 -0
- package/dist/templates/code-cleanup.dna.yaml +19 -0
- package/dist/templates/code-review-pipeline.dna.yaml +18 -0
- package/dist/templates/documentation-writer.dna.yaml +19 -0
- package/dist/templates/flutter-behavior-lock.dna.yaml +19 -0
- package/dist/templates/flutter-refactoring-rescue.dna.yaml +19 -0
- package/dist/templates/flutter-rewrite-diagnosis-review.dna.yaml +210 -0
- package/dist/templates/flutter-rewrite-fix-review-loop.dna.yaml +260 -0
- package/dist/templates/flutter-rewrite-new.dna.yaml +506 -0
- package/dist/templates/flutter-rewrite.dna.yaml +20 -0
- package/dist/templates/frontend-quality.dna.yaml +19 -0
- package/dist/templates/full-pipeline.dna.yaml +20 -0
- package/dist/templates/marketplace.d.ts +92 -0
- package/dist/templates/marketplace.js +502 -0
- package/dist/templates/metadata.d.ts +25 -0
- package/dist/templates/metadata.js +136 -3
- package/dist/templates/mobile-dev.dna.yaml +19 -0
- package/dist/templates/multi-agent-handoff-coordination.dna.yaml +156 -0
- package/dist/templates/multi-perspective-review.dna.yaml +19 -0
- package/dist/templates/persistent-executor.dna.yaml +19 -0
- package/dist/templates/qa-loop.dna.yaml +18 -0
- package/dist/templates/release-evidence-gate.dna.yaml +131 -0
- package/dist/templates/requirements-gate.dna.yaml +19 -0
- package/dist/templates/research-orchestration.dna.yaml +19 -0
- package/dist/templates/root-cause-analysis.dna.yaml +19 -0
- package/dist/templates/safe-refactoring.dna.yaml +321 -0
- package/dist/templates/secure-dev.dna.yaml +19 -0
- package/dist/templates/subagent-parallel.dna.yaml +19 -0
- package/dist/templates/systematic-debugging.dna.yaml +19 -0
- package/dist/templates/tdd-strict.dna.yaml +19 -0
- package/dist/templates/ui-visual-regression-qa.dna.yaml +133 -0
- package/dist/templates/workflow-author.dna.yaml +302 -0
- package/dist/templates/workflow-blocked-scope-triage.dna.yaml +242 -0
- package/dist/templates/workflow-completion-audit.dna.yaml +254 -0
- package/dist/templates/workflow-cross-boundary-resource-approval.dna.yaml +249 -0
- package/dist/templates/workflow-evidence-review.dna.yaml +198 -0
- package/dist/templates/workflow-module-inventory.dna.yaml +257 -0
- package/dist/templates/workflow-runtime-smoke-review.dna.yaml +252 -0
- package/dist/templates/workflow-verification-command-routing.dna.yaml +278 -0
- package/dist/workflow/authoring-packet.d.ts +67 -0
- package/dist/workflow/authoring-packet.js +218 -0
- package/dist/workflow/draft.d.ts +159 -0
- package/dist/workflow/draft.js +800 -0
- package/dist/workflow/index.d.ts +3 -0
- package/dist/workflow/index.js +3 -0
- package/dist/workflow/suggestion-review.d.ts +65 -0
- package/dist/workflow/suggestion-review.js +245 -0
- package/package.json +1 -1
- package/spec/README.md +15 -48
- package/spec/codex-adapter-contract.md +176 -0
- package/spec/sync-target-plan.md +158 -0
- package/spec/workflow-capability-ir.md +153 -0
- package/spec/agent-dispatch-fix.md +0 -116
- package/spec/control-plane-convergence-handoff-2026-04-24.md +0 -432
- package/spec/flutter-rewrite-template-optimization.md +0 -301
- package/spec/foundation-hardening.md +0 -178
- package/spec/hooks-infra-harness-hardening.md +0 -741
- package/spec/multi-config.md +0 -172
- package/spec/parallel-isolation.md +0 -268
- package/spec/template-version-namespace-fix.md +0 -653
- package/spec/workflow-pipeline.md +0 -101
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# workflow-runtime-smoke-review: runtime surface smoke review after rollout or sync
|
|
2
|
+
# Source: extracted from Flutter rewrite dogfood ACTS e2e UI/logcat evidence
|
|
3
|
+
# Purpose: prove a synced or distributed runtime surface is usable before wider rollout
|
|
4
|
+
|
|
5
|
+
version: "0.1.0"
|
|
6
|
+
id: template_workflow_runtime_smoke_review
|
|
7
|
+
name: Workflow Runtime Smoke Review
|
|
8
|
+
purpose: Prove a synced, deployed, or distributed runtime surface is usable before wider rollout or completion claims.
|
|
9
|
+
maturity: reviewed
|
|
10
|
+
fit:
|
|
11
|
+
- Post-sync, post-rollout, or post-deploy checks where opening the real surface matters.
|
|
12
|
+
- CLI, agent, web, mobile, or desktop surfaces that need target-specific smoke evidence.
|
|
13
|
+
not_for:
|
|
14
|
+
- Treating sync or deploy command success as product runtime proof by itself.
|
|
15
|
+
- Moving runtime authority to Online, marketplace, Supabase, or dashboard projections.
|
|
16
|
+
inputs:
|
|
17
|
+
- rollout or sync plan
|
|
18
|
+
- runtime target and expected surface
|
|
19
|
+
- smoke command, route, screenshot, log, or output evidence
|
|
20
|
+
outputs:
|
|
21
|
+
- runtime smoke plan
|
|
22
|
+
- smoke evidence directory
|
|
23
|
+
- reviewed smoke verdict and rollout route
|
|
24
|
+
lineage:
|
|
25
|
+
source: Flutter rewrite dogfood ACTS runtime smoke evidence
|
|
26
|
+
reference: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress
|
|
27
|
+
type: project
|
|
28
|
+
namespace: wrsr
|
|
29
|
+
|
|
30
|
+
cascade:
|
|
31
|
+
inherits: ["species:default"]
|
|
32
|
+
priority: 100
|
|
33
|
+
|
|
34
|
+
variables:
|
|
35
|
+
rollout_plan_path:
|
|
36
|
+
description: "Organization rollout or sync plan artifact"
|
|
37
|
+
default: ".dna/rollout/$ARGUMENTS.rollout.json"
|
|
38
|
+
smoke_evidence_path:
|
|
39
|
+
description: "Runtime smoke evidence directory"
|
|
40
|
+
default: ".dna/runtime-smoke/$ARGUMENTS"
|
|
41
|
+
smoke_review_path:
|
|
42
|
+
description: "Runtime smoke review artifact path"
|
|
43
|
+
default: ".dna/runtime-smoke/$ARGUMENTS.review.json"
|
|
44
|
+
runtime_target:
|
|
45
|
+
description: "Runtime target such as codex, claude, web, android, ios, or desktop"
|
|
46
|
+
default: "$ARGUMENTS"
|
|
47
|
+
|
|
48
|
+
evidence:
|
|
49
|
+
- label: Flutter rewrite ACTS e2e runtime evidence
|
|
50
|
+
kind: reference
|
|
51
|
+
path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress
|
|
52
|
+
description: Dogfood ACTS runtime smoke artifacts: screenshots, UI XML, UI summaries, logcat captures, route probes, crash dialogs, and login/fullscreen blockers.
|
|
53
|
+
- label: IntentDNA release deploy gate
|
|
54
|
+
kind: reference
|
|
55
|
+
path: docs/archive/2026H1/workflows/release-runbook.md
|
|
56
|
+
description: Existing release gate that requires deployed URL verification when web/public surfaces changed.
|
|
57
|
+
|
|
58
|
+
genes:
|
|
59
|
+
runtime_smoke_after_sync:
|
|
60
|
+
description: Runtime sync or rollout is not complete until the target surface is opened, probed, and evidenced
|
|
61
|
+
codons:
|
|
62
|
+
- type: attract
|
|
63
|
+
target: runtime_surface_opened
|
|
64
|
+
- type: attract
|
|
65
|
+
target: smoke_evidence_captured
|
|
66
|
+
- type: repel
|
|
67
|
+
target: sync_command_as_success_claim
|
|
68
|
+
- type: threshold
|
|
69
|
+
condition: "runtime_smoke_evidence_present == true"
|
|
70
|
+
action: block
|
|
71
|
+
|
|
72
|
+
blocker_classification_before_rollout:
|
|
73
|
+
description: Crash, login, route, permission, loading, and stale-surface blockers must be classified before wider distribution
|
|
74
|
+
codons:
|
|
75
|
+
- type: attract
|
|
76
|
+
target: crash_log_review
|
|
77
|
+
- type: attract
|
|
78
|
+
target: ui_state_review
|
|
79
|
+
- type: attract
|
|
80
|
+
target: route_probe_review
|
|
81
|
+
- type: repel
|
|
82
|
+
target: ignored_runtime_blocker
|
|
83
|
+
- type: sense
|
|
84
|
+
signal: smoke_blocker_detected
|
|
85
|
+
response: block_rollout
|
|
86
|
+
|
|
87
|
+
target_specific_verification:
|
|
88
|
+
description: Smoke checks adapt to target surface while keeping governance in dna core
|
|
89
|
+
codons:
|
|
90
|
+
- type: attract
|
|
91
|
+
target: target_specific_probe
|
|
92
|
+
- type: attract
|
|
93
|
+
target: canonical_smoke_artifact
|
|
94
|
+
- type: repel
|
|
95
|
+
target: harness_specific_policy_truth
|
|
96
|
+
- type: threshold
|
|
97
|
+
condition: "smoke_review_written == true"
|
|
98
|
+
action: block
|
|
99
|
+
|
|
100
|
+
contexts: {}
|
|
101
|
+
|
|
102
|
+
roles:
|
|
103
|
+
smoke_planner:
|
|
104
|
+
description: Chooses the smallest runtime smoke path for the target surface after rollout or sync.
|
|
105
|
+
tool_permissions:
|
|
106
|
+
allow: [Read, Grep, Glob]
|
|
107
|
+
deny: [Edit, Write, Bash, NotebookEdit]
|
|
108
|
+
scope:
|
|
109
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
110
|
+
write: []
|
|
111
|
+
instructions:
|
|
112
|
+
- Read {{rollout_plan_path}} when present and identify the runtime target, asset, and expected surface.
|
|
113
|
+
- Define the smallest smoke path that proves the target can open and reach the intended route or capability.
|
|
114
|
+
- For web/public surfaces, include deployed URL verification from dna release deploy-plan when required.
|
|
115
|
+
- For CLI or agent surfaces, include a post-sync command or dry smoke that proves generated artifacts are usable.
|
|
116
|
+
- For mobile/desktop surfaces, include screenshot, UI tree/summary, logs, and route probes when available.
|
|
117
|
+
- Do not treat a sync command by itself as runtime success.
|
|
118
|
+
|
|
119
|
+
smoke_collector:
|
|
120
|
+
description: Collects runtime smoke evidence without changing governance assets or policy truth.
|
|
121
|
+
tool_permissions:
|
|
122
|
+
allow: [Read, Write, Grep, Glob, Bash]
|
|
123
|
+
deny: [Edit, NotebookEdit]
|
|
124
|
+
scope:
|
|
125
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
126
|
+
write: [".dna/runtime-smoke/**"]
|
|
127
|
+
instructions:
|
|
128
|
+
- Run only the agreed smoke commands for {{runtime_target}}.
|
|
129
|
+
- Capture command status, stdout/stderr or logs, screenshots where relevant, UI summaries where relevant, route/output evidence, and timestamps under {{smoke_evidence_path}}.
|
|
130
|
+
- If the smoke cannot run, record the exact environment blocker and required human action.
|
|
131
|
+
- Do not edit app code, templates, organization profiles, dashboard state, evolution markers, or runtime sync artifacts.
|
|
132
|
+
|
|
133
|
+
smoke_reviewer:
|
|
134
|
+
description: Reviews runtime smoke evidence and classifies blockers before rollout or sync claims are accepted.
|
|
135
|
+
tool_permissions:
|
|
136
|
+
allow: [Read, Grep, Glob]
|
|
137
|
+
deny: [Edit, Write, Bash, NotebookEdit]
|
|
138
|
+
scope:
|
|
139
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
140
|
+
write: []
|
|
141
|
+
instructions:
|
|
142
|
+
- Read all artifacts under {{smoke_evidence_path}} before judging runtime readiness.
|
|
143
|
+
- Classify findings as PASS, CRASH_BLOCKER, LOGIN_BLOCKER, ROUTE_BLOCKER, PERMISSION_BLOCKER, LOADING_BLOCKER, STALE_SURFACE, INFRA_BLOCKER, or INCONCLUSIVE.
|
|
144
|
+
- Reject rollout if the app is stuck on launcher, crash dialog, login wall, fullscreen system prompt, missing route, or stale surface unless explicitly accepted as out of scope.
|
|
145
|
+
- Distinguish product blockers from environment blockers and missing evidence.
|
|
146
|
+
- Return PASS, REQUEST_CHANGES, BLOCKED, or INCONCLUSIVE with evidence paths.
|
|
147
|
+
|
|
148
|
+
manager_reviewer:
|
|
149
|
+
description: Produces a manager-readable runtime distribution decision.
|
|
150
|
+
tool_permissions:
|
|
151
|
+
allow: [Read, Write, Grep, Glob]
|
|
152
|
+
deny: [Edit, Bash, NotebookEdit]
|
|
153
|
+
scope:
|
|
154
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
155
|
+
write: [".dna/runtime-smoke/**"]
|
|
156
|
+
instructions:
|
|
157
|
+
- Write {{smoke_review_path}} with target, asset, status, blocker classification, evidence paths, next commands, and updated_at.
|
|
158
|
+
- State whether rollout, runtime sync, public deploy verification, or wider distribution is allowed.
|
|
159
|
+
- If blocked, route to fix/review, completion audit, deploy-plan verification, or environment setup as appropriate.
|
|
160
|
+
- Keep Obsidian/wiki as internal memory only; use runtime smoke artifacts as product evidence.
|
|
161
|
+
|
|
162
|
+
workflows:
|
|
163
|
+
runtime-smoke-review:
|
|
164
|
+
name: Runtime Smoke Review
|
|
165
|
+
description: Plan, collect, review, and route runtime smoke evidence after rollout or sync before wider distribution.
|
|
166
|
+
steps:
|
|
167
|
+
- id: plan-smoke
|
|
168
|
+
role: smoke_planner
|
|
169
|
+
description: Choose the smallest target-specific smoke path for the runtime surface.
|
|
170
|
+
prompt: |
|
|
171
|
+
Plan runtime smoke for $ARGUMENTS.
|
|
172
|
+
Read {{rollout_plan_path}} if it exists.
|
|
173
|
+
Define the minimal smoke path for {{runtime_target}} and required evidence under {{smoke_evidence_path}}.
|
|
174
|
+
Do not treat sync completion as runtime proof.
|
|
175
|
+
handoff:
|
|
176
|
+
produces:
|
|
177
|
+
- type: summary
|
|
178
|
+
name: smoke_plan
|
|
179
|
+
description: Runtime target, expected route/capability, commands, and evidence requirements.
|
|
180
|
+
- id: collect-smoke
|
|
181
|
+
role: smoke_collector
|
|
182
|
+
depends_on: [plan-smoke]
|
|
183
|
+
description: Run smoke commands and capture canonical runtime evidence.
|
|
184
|
+
prompt: |
|
|
185
|
+
Collect runtime smoke evidence for $ARGUMENTS into {{smoke_evidence_path}}.
|
|
186
|
+
Capture command status, logs, screenshots/UI summaries when relevant, and route/output evidence.
|
|
187
|
+
If smoke cannot run, record the environment blocker instead of claiming success.
|
|
188
|
+
handoff:
|
|
189
|
+
consumes:
|
|
190
|
+
- type: summary
|
|
191
|
+
name: smoke_plan
|
|
192
|
+
from: plan-smoke
|
|
193
|
+
description: Smoke plan.
|
|
194
|
+
produces:
|
|
195
|
+
- type: file
|
|
196
|
+
path: "{{smoke_evidence_path}}"
|
|
197
|
+
description: Runtime smoke evidence directory.
|
|
198
|
+
- id: review-smoke
|
|
199
|
+
role: smoke_reviewer
|
|
200
|
+
depends_on: [collect-smoke]
|
|
201
|
+
description: Review runtime smoke evidence and classify blockers.
|
|
202
|
+
prompt: |
|
|
203
|
+
Review runtime smoke evidence under {{smoke_evidence_path}} for $ARGUMENTS.
|
|
204
|
+
Classify blockers and return PASS, REQUEST_CHANGES, BLOCKED, or INCONCLUSIVE with evidence paths.
|
|
205
|
+
handoff:
|
|
206
|
+
consumes:
|
|
207
|
+
- type: file
|
|
208
|
+
path: "{{smoke_evidence_path}}"
|
|
209
|
+
from: collect-smoke
|
|
210
|
+
description: Runtime smoke evidence.
|
|
211
|
+
produces:
|
|
212
|
+
- type: summary
|
|
213
|
+
name: smoke_review_verdict
|
|
214
|
+
description: Runtime smoke verdict, blockers, and evidence paths.
|
|
215
|
+
- id: manager-route
|
|
216
|
+
role: manager_reviewer
|
|
217
|
+
depends_on: [review-smoke]
|
|
218
|
+
description: Write manager-readable runtime distribution decision.
|
|
219
|
+
prompt: |
|
|
220
|
+
Write {{smoke_review_path}} for $ARGUMENTS.
|
|
221
|
+
Include target, asset, status, blocker classification, evidence paths, next commands, and updated_at.
|
|
222
|
+
State whether rollout, sync, deployed URL verification, or wider distribution is allowed.
|
|
223
|
+
checkpoints:
|
|
224
|
+
- assert: smoke_review_artifact_written
|
|
225
|
+
command: "test -s \"{{smoke_review_path}}\""
|
|
226
|
+
message: "Runtime smoke review artifact must exist before wider rollout."
|
|
227
|
+
action: block
|
|
228
|
+
handoff:
|
|
229
|
+
consumes:
|
|
230
|
+
- type: summary
|
|
231
|
+
name: smoke_review_verdict
|
|
232
|
+
from: review-smoke
|
|
233
|
+
description: Runtime smoke verdict.
|
|
234
|
+
produces:
|
|
235
|
+
- type: file
|
|
236
|
+
path: "{{smoke_review_path}}"
|
|
237
|
+
description: Durable runtime smoke review JSON.
|
|
238
|
+
|
|
239
|
+
controllers:
|
|
240
|
+
runtime-smoke-review:
|
|
241
|
+
name: Runtime Smoke Review
|
|
242
|
+
description: "Review runtime smoke evidence after rollout or sync before wider distribution."
|
|
243
|
+
kind: sequential
|
|
244
|
+
workflow: runtime-smoke-review
|
|
245
|
+
max_rounds: 1
|
|
246
|
+
progress_artifact_path: ".dna/runtime-smoke/$ARGUMENTS.controller.json"
|
|
247
|
+
roles:
|
|
248
|
+
smoke_planner: smoke_planner
|
|
249
|
+
smoke_collector: smoke_collector
|
|
250
|
+
smoke_reviewer: smoke_reviewer
|
|
251
|
+
manager_reviewer: manager_reviewer
|
|
252
|
+
stop_format: configured_stop_report
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
# workflow-verification-command-routing: choose the authoritative verification command and evidence capture path
|
|
2
|
+
# Source: extracted from Flutter rewrite dogfood ACTS/Gallery/AAC verification failures
|
|
3
|
+
# Purpose: prevent false pass/fail evidence caused by running tests from the wrong root, wrong scope, or without canonical summaries
|
|
4
|
+
|
|
5
|
+
version: "0.1.0"
|
|
6
|
+
id: template_workflow_verification_command_routing
|
|
7
|
+
name: Workflow Verification Command Routing
|
|
8
|
+
purpose: Select the authoritative verification command root, scope, and evidence format before completion, adoption, rollout, or sync.
|
|
9
|
+
maturity: reviewed
|
|
10
|
+
fit:
|
|
11
|
+
- Test or verification results from ambiguous roots, packages, or scopes.
|
|
12
|
+
- Completion claims requiring canonical machine-readable evidence.
|
|
13
|
+
not_for:
|
|
14
|
+
- Replacing the actual test command with prose.
|
|
15
|
+
- Treating wrong-root failures as valid product evidence.
|
|
16
|
+
inputs:
|
|
17
|
+
- target module, package, route, or workflow
|
|
18
|
+
- diagnosis or baseline artifact
|
|
19
|
+
- candidate verification command
|
|
20
|
+
outputs:
|
|
21
|
+
- verification route plan
|
|
22
|
+
- routed command output
|
|
23
|
+
- canonical verification summary
|
|
24
|
+
lineage:
|
|
25
|
+
source: Flutter rewrite dogfood verification failures
|
|
26
|
+
reference: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress
|
|
27
|
+
type: project
|
|
28
|
+
namespace: wvcr
|
|
29
|
+
|
|
30
|
+
cascade:
|
|
31
|
+
inherits: ["species:default"]
|
|
32
|
+
priority: 100
|
|
33
|
+
|
|
34
|
+
variables:
|
|
35
|
+
target:
|
|
36
|
+
description: "Module, package, route, or workflow target to verify"
|
|
37
|
+
default: "$ARGUMENTS"
|
|
38
|
+
diagnosis_path:
|
|
39
|
+
description: "Optional diagnosis or baseline artifact path"
|
|
40
|
+
default: ".dna/specs/diagnosis-$ARGUMENTS.md"
|
|
41
|
+
route_plan_path:
|
|
42
|
+
description: "Verification route plan artifact path"
|
|
43
|
+
default: ".dna/verification-routing/$ARGUMENTS.route.json"
|
|
44
|
+
route_verdict_path:
|
|
45
|
+
description: "Verification route review verdict artifact path"
|
|
46
|
+
default: ".dna/verification-routing/$ARGUMENTS.route-verdict.json"
|
|
47
|
+
evidence_dir:
|
|
48
|
+
description: "Directory for routed verification command output"
|
|
49
|
+
default: ".dna/verification-routing/$ARGUMENTS"
|
|
50
|
+
verification_summary_path:
|
|
51
|
+
description: "Canonical verification summary path"
|
|
52
|
+
default: ".dna/verification-routing/$ARGUMENTS.summary.json"
|
|
53
|
+
|
|
54
|
+
evidence:
|
|
55
|
+
- label: Flutter rewrite ACTS wrong-root verification note
|
|
56
|
+
kind: reference
|
|
57
|
+
path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress/ACTS.md
|
|
58
|
+
description: ACTS dogfood evidence records that running flutter test from the worktree root is invalid because that root has no pubspec.yaml; valid behavior evidence came from the v2 project root.
|
|
59
|
+
- label: Flutter rewrite Gallery package-root verification note
|
|
60
|
+
kind: reference
|
|
61
|
+
path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress/Gallery.md
|
|
62
|
+
description: Gallery dogfood evidence records that final verification must run from the feature_gallery package root, not the standalone behavior-test directory.
|
|
63
|
+
- label: Flutter rewrite AAC completion evidence
|
|
64
|
+
kind: reference
|
|
65
|
+
path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress/AAC.md
|
|
66
|
+
description: AAC dogfood evidence records canonical status, machine log, parsed summary, red classification, and skipped-test checks before accepting PASS.
|
|
67
|
+
|
|
68
|
+
genes:
|
|
69
|
+
verification_root_must_match_target:
|
|
70
|
+
description: Verification evidence is authoritative only when the command runs from the target's required project/package root
|
|
71
|
+
codons:
|
|
72
|
+
- type: attract
|
|
73
|
+
target: verified_command_root
|
|
74
|
+
- type: attract
|
|
75
|
+
target: target_specific_test_scope
|
|
76
|
+
- type: repel
|
|
77
|
+
target: wrong_root_test_result
|
|
78
|
+
- type: threshold
|
|
79
|
+
condition: "verification_command_root_confirmed == true"
|
|
80
|
+
action: block
|
|
81
|
+
|
|
82
|
+
canonical_machine_evidence_required:
|
|
83
|
+
description: Completion and manager review require machine-readable verification output plus parsed summary/classification artifacts
|
|
84
|
+
codons:
|
|
85
|
+
- type: attract
|
|
86
|
+
target: machine_log_capture
|
|
87
|
+
- type: attract
|
|
88
|
+
target: parsed_summary_capture
|
|
89
|
+
- type: attract
|
|
90
|
+
target: red_classification_capture
|
|
91
|
+
- type: repel
|
|
92
|
+
target: console_summary_only
|
|
93
|
+
- type: threshold
|
|
94
|
+
condition: "canonical_verification_summary_written == true"
|
|
95
|
+
action: block
|
|
96
|
+
|
|
97
|
+
invalid_verification_is_not_progress:
|
|
98
|
+
description: Environment, dependency, wrong-root, stale-scope, and no-test-found failures must be classified before acting on them
|
|
99
|
+
codons:
|
|
100
|
+
- type: attract
|
|
101
|
+
target: verification_blocker_classification
|
|
102
|
+
- type: repel
|
|
103
|
+
target: invalid_run_as_product_failure
|
|
104
|
+
- type: repel
|
|
105
|
+
target: green_run_without_scope_check
|
|
106
|
+
- type: sense
|
|
107
|
+
signal: invalid_verification_route
|
|
108
|
+
response: request_route_replan
|
|
109
|
+
|
|
110
|
+
contexts: {}
|
|
111
|
+
|
|
112
|
+
roles:
|
|
113
|
+
route_planner:
|
|
114
|
+
description: Finds the authoritative verification root, command, target scope, and required evidence artifacts before a test/analyze/build command runs.
|
|
115
|
+
tool_permissions:
|
|
116
|
+
allow: [Read, Write, Grep, Glob]
|
|
117
|
+
deny: [Edit, Bash, NotebookEdit]
|
|
118
|
+
scope:
|
|
119
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
120
|
+
write: [".dna/verification-routing/**"]
|
|
121
|
+
instructions:
|
|
122
|
+
- Read {{diagnosis_path}} when it exists and identify the target module/package/workflow being verified.
|
|
123
|
+
- Inspect project/package roots before proposing a command; do not assume the repository root is the runnable root.
|
|
124
|
+
- Choose the smallest command that proves {{target}} while preserving authoritative evidence.
|
|
125
|
+
- Write {{route_plan_path}} with cwd, command, expected test files or routes, machine/log outputs, parsed summary, red classification, and skipped-test comparison requirements.
|
|
126
|
+
- If no authoritative command can be chosen, classify the blocker instead of inventing a green path.
|
|
127
|
+
|
|
128
|
+
route_reviewer:
|
|
129
|
+
description: Reviews the proposed verification route for wrong-root, stale-scope, missing evidence, or weak partial-run risk.
|
|
130
|
+
tool_permissions:
|
|
131
|
+
allow: [Read, Write, Grep, Glob]
|
|
132
|
+
deny: [Edit, Bash, NotebookEdit]
|
|
133
|
+
scope:
|
|
134
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
135
|
+
write: [".dna/verification-routing/**"]
|
|
136
|
+
instructions:
|
|
137
|
+
- Read {{route_plan_path}} before judging the route.
|
|
138
|
+
- Reject routes that run from a directory without the required project/package context.
|
|
139
|
+
- Reject routes that do not produce machine-readable output, command status, parsed summary, and red/skipped classification when those artifacts are required.
|
|
140
|
+
- Distinguish a valid focused command from weak partial evidence.
|
|
141
|
+
- Write {{route_verdict_path}} with APPROVE, REQUEST_CHANGES, or BLOCKED and evidence paths.
|
|
142
|
+
|
|
143
|
+
evidence_runner:
|
|
144
|
+
description: Runs only the reviewed verification route and records canonical command evidence.
|
|
145
|
+
tool_permissions:
|
|
146
|
+
allow: [Read, Write, Grep, Glob, Bash]
|
|
147
|
+
deny: [Edit, NotebookEdit]
|
|
148
|
+
scope:
|
|
149
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
150
|
+
write: [".dna/verification-routing/**"]
|
|
151
|
+
instructions:
|
|
152
|
+
- Run only the command from {{route_plan_path}} after {{route_verdict_path}} approves the route.
|
|
153
|
+
- Capture command status, stdout/stderr or machine logs, parsed summary, red classification, skipped comparison, cwd, and timestamps under {{evidence_dir}}.
|
|
154
|
+
- If the command cannot run, record WRONG_ROOT, DEPENDENCY, NO_TEST_FOUND, STALE_SCOPE, INFRA, or INCONCLUSIVE instead of treating it as product failure or success.
|
|
155
|
+
- Do not edit app code, tests, templates, organization profiles, dashboard state, or runtime sync artifacts.
|
|
156
|
+
|
|
157
|
+
manager_reviewer:
|
|
158
|
+
description: Produces a manager-readable verification route decision before completion audit, adoption, rollout, or sync.
|
|
159
|
+
tool_permissions:
|
|
160
|
+
allow: [Read, Write, Grep, Glob]
|
|
161
|
+
deny: [Edit, Bash, NotebookEdit]
|
|
162
|
+
scope:
|
|
163
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
164
|
+
write: [".dna/verification-routing/**"]
|
|
165
|
+
instructions:
|
|
166
|
+
- Write {{verification_summary_path}} with target, cwd, command, status, blocker classification, evidence paths, counts, and next commands.
|
|
167
|
+
- State whether the evidence may feed completion audit, manager review, adoption, rollout, evolution preview, or runtime sync.
|
|
168
|
+
- If the route is invalid, send the work back to route planning rather than completion audit.
|
|
169
|
+
- Keep Obsidian/wiki as internal memory only; use command artifacts as product evidence.
|
|
170
|
+
|
|
171
|
+
workflows:
|
|
172
|
+
verification-command-routing:
|
|
173
|
+
name: Verification Command Routing
|
|
174
|
+
description: Plan, review, run, and record the authoritative verification command before completion, adoption, rollout, or sync decisions.
|
|
175
|
+
steps:
|
|
176
|
+
- id: plan-route
|
|
177
|
+
role: route_planner
|
|
178
|
+
description: Identify the verification root, command, target scope, and required artifacts.
|
|
179
|
+
prompt: |
|
|
180
|
+
Plan the authoritative verification route for $ARGUMENTS.
|
|
181
|
+
Read {{diagnosis_path}} when present.
|
|
182
|
+
Write {{route_plan_path}} with cwd, command, target files/routes, machine/log output, parsed summary, red classification, and skipped comparison requirements.
|
|
183
|
+
Do not assume the repository root is the runnable root.
|
|
184
|
+
checkpoints:
|
|
185
|
+
- assert: route_plan_written
|
|
186
|
+
command: "test -s \"{{route_plan_path}}\""
|
|
187
|
+
message: "Verification route plan must be written before route review."
|
|
188
|
+
action: block
|
|
189
|
+
handoff:
|
|
190
|
+
produces:
|
|
191
|
+
- type: file
|
|
192
|
+
path: "{{route_plan_path}}"
|
|
193
|
+
description: Proposed cwd, command, target scope, expected artifacts, and invalid-route risks.
|
|
194
|
+
- id: review-route
|
|
195
|
+
role: route_reviewer
|
|
196
|
+
depends_on: [plan-route]
|
|
197
|
+
description: Review the route before any command is run.
|
|
198
|
+
prompt: |
|
|
199
|
+
Review the verification route for $ARGUMENTS.
|
|
200
|
+
Read {{route_plan_path}}.
|
|
201
|
+
Reject wrong-root, stale-scope, missing-artifact, weak partial-run, or no-test-found routes.
|
|
202
|
+
Write {{route_verdict_path}} with APPROVE, REQUEST_CHANGES, or BLOCKED.
|
|
203
|
+
checkpoints:
|
|
204
|
+
- assert: route_verdict_written
|
|
205
|
+
command: "test -s \"{{route_verdict_path}}\""
|
|
206
|
+
message: "Verification route verdict must be written before command execution."
|
|
207
|
+
action: block
|
|
208
|
+
handoff:
|
|
209
|
+
consumes:
|
|
210
|
+
- type: file
|
|
211
|
+
path: "{{route_plan_path}}"
|
|
212
|
+
from: plan-route
|
|
213
|
+
description: Verification route plan.
|
|
214
|
+
produces:
|
|
215
|
+
- type: file
|
|
216
|
+
path: "{{route_verdict_path}}"
|
|
217
|
+
description: Reviewed route verdict and required changes.
|
|
218
|
+
- id: run-evidence
|
|
219
|
+
role: evidence_runner
|
|
220
|
+
depends_on: [review-route]
|
|
221
|
+
description: Run the reviewed command and capture canonical verification evidence.
|
|
222
|
+
prompt: |
|
|
223
|
+
Run the reviewed verification route for $ARGUMENTS.
|
|
224
|
+
Use {{route_plan_path}} and require APPROVE in {{route_verdict_path}} before running any command.
|
|
225
|
+
Capture command status, cwd, output, machine/log evidence, parsed summary, red classification, skipped comparison, and timestamps under {{evidence_dir}}.
|
|
226
|
+
If the route is invalid, classify the blocker instead of claiming success or failure.
|
|
227
|
+
handoff:
|
|
228
|
+
consumes:
|
|
229
|
+
- type: file
|
|
230
|
+
path: "{{route_plan_path}}"
|
|
231
|
+
from: plan-route
|
|
232
|
+
description: Approved verification route plan.
|
|
233
|
+
- type: file
|
|
234
|
+
path: "{{route_verdict_path}}"
|
|
235
|
+
from: review-route
|
|
236
|
+
description: Approved verification route verdict.
|
|
237
|
+
produces:
|
|
238
|
+
- type: file
|
|
239
|
+
path: "{{evidence_dir}}"
|
|
240
|
+
description: Routed verification evidence directory.
|
|
241
|
+
- id: manager-route
|
|
242
|
+
role: manager_reviewer
|
|
243
|
+
depends_on: [run-evidence]
|
|
244
|
+
description: Write manager-readable route decision for downstream completion/adoption/sync gates.
|
|
245
|
+
prompt: |
|
|
246
|
+
Write {{verification_summary_path}} for $ARGUMENTS.
|
|
247
|
+
Include target, cwd, command, status, blocker classification, evidence paths, counts, next commands, and updated_at.
|
|
248
|
+
State whether completion audit, adoption, rollout, evolution preview, or sync may proceed.
|
|
249
|
+
checkpoints:
|
|
250
|
+
- assert: verification_summary_written
|
|
251
|
+
command: "test -s \"{{verification_summary_path}}\""
|
|
252
|
+
message: "Verification summary must exist before completion audit or rollout decisions."
|
|
253
|
+
action: block
|
|
254
|
+
handoff:
|
|
255
|
+
consumes:
|
|
256
|
+
- type: file
|
|
257
|
+
path: "{{evidence_dir}}"
|
|
258
|
+
from: run-evidence
|
|
259
|
+
description: Verification evidence directory.
|
|
260
|
+
produces:
|
|
261
|
+
- type: file
|
|
262
|
+
path: "{{verification_summary_path}}"
|
|
263
|
+
description: Durable verification route summary.
|
|
264
|
+
|
|
265
|
+
controllers:
|
|
266
|
+
verification-command-routing:
|
|
267
|
+
name: Verification Command Routing
|
|
268
|
+
description: "Route verification commands to the authoritative root/scope and capture canonical evidence before completion or rollout decisions."
|
|
269
|
+
kind: sequential
|
|
270
|
+
workflow: verification-command-routing
|
|
271
|
+
max_rounds: 1
|
|
272
|
+
progress_artifact_path: ".dna/verification-routing/$ARGUMENTS.controller.json"
|
|
273
|
+
roles:
|
|
274
|
+
route_planner: route_planner
|
|
275
|
+
route_reviewer: route_reviewer
|
|
276
|
+
evidence_runner: evidence_runner
|
|
277
|
+
manager_reviewer: manager_reviewer
|
|
278
|
+
stop_format: configured_stop_report
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { WORKFLOW_AUTHORING_SCHEMA } from "../schema/workflow-authoring-contract.js";
|
|
2
|
+
export declare const AUTHORING_PACKET_SCHEMA_VERSION = "intentdna.authoring_packet.v1";
|
|
3
|
+
export interface AuthoringPacketOptions {
|
|
4
|
+
goal?: string;
|
|
5
|
+
projectDir?: string;
|
|
6
|
+
generatedAt?: string;
|
|
7
|
+
exampleTemplates?: readonly string[];
|
|
8
|
+
}
|
|
9
|
+
export interface AuthoringPacketExample {
|
|
10
|
+
name: string;
|
|
11
|
+
display_name?: string;
|
|
12
|
+
source_path: string;
|
|
13
|
+
content_hash: string;
|
|
14
|
+
annotation: string;
|
|
15
|
+
c1_metadata: Record<string, unknown>;
|
|
16
|
+
workflow_keys: string[];
|
|
17
|
+
role_keys: string[];
|
|
18
|
+
yaml: string;
|
|
19
|
+
}
|
|
20
|
+
export interface AuthoringPacket {
|
|
21
|
+
schema_version: typeof AUTHORING_PACKET_SCHEMA_VERSION;
|
|
22
|
+
generated_at: string;
|
|
23
|
+
network_performed: false;
|
|
24
|
+
mutation_performed: false;
|
|
25
|
+
runtime_authority: false;
|
|
26
|
+
project_context: {
|
|
27
|
+
root: string;
|
|
28
|
+
handling: "local_path_only";
|
|
29
|
+
explicitly_requested: boolean;
|
|
30
|
+
};
|
|
31
|
+
goal_context?: {
|
|
32
|
+
raw: string;
|
|
33
|
+
handling: "opaque_context_only";
|
|
34
|
+
goal_modeling_performed: false;
|
|
35
|
+
};
|
|
36
|
+
asset_contract: {
|
|
37
|
+
source: string;
|
|
38
|
+
required_fields: readonly string[];
|
|
39
|
+
recommended_fields: readonly string[];
|
|
40
|
+
validation_required_fields: readonly string[];
|
|
41
|
+
validation_notes: readonly string[];
|
|
42
|
+
directory_protocol: {
|
|
43
|
+
builtin_templates: string;
|
|
44
|
+
project_templates: string;
|
|
45
|
+
candidate_staging: string;
|
|
46
|
+
};
|
|
47
|
+
compatibility: string[];
|
|
48
|
+
};
|
|
49
|
+
schema_constraints: typeof WORKFLOW_AUTHORING_SCHEMA;
|
|
50
|
+
red_lines: string[];
|
|
51
|
+
examples: AuthoringPacketExample[];
|
|
52
|
+
interview_protocol: Array<{
|
|
53
|
+
id: string;
|
|
54
|
+
question: string;
|
|
55
|
+
required_output: string;
|
|
56
|
+
}>;
|
|
57
|
+
validate_loop: Array<{
|
|
58
|
+
step: string;
|
|
59
|
+
command?: string;
|
|
60
|
+
owner: "external_agent" | "human" | "dna";
|
|
61
|
+
writes: boolean;
|
|
62
|
+
repeat_until?: string;
|
|
63
|
+
}>;
|
|
64
|
+
handoff_boundary: string[];
|
|
65
|
+
next_commands: string[];
|
|
66
|
+
}
|
|
67
|
+
export declare function buildAuthoringPacket(options?: AuthoringPacketOptions): Promise<AuthoringPacket>;
|