intentdna 1.7.5 → 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 +703 -36
- 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 +5 -0
- package/dist/hooks/cli.js +149 -5
- 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,254 @@
|
|
|
1
|
+
# workflow-completion-audit: completion claim audit before PASS, rollout, evolution, or sync
|
|
2
|
+
# Source: extracted from Flutter rewrite dogfood module completion reviews
|
|
3
|
+
# Purpose: make "prove completion before claiming completion" a reusable workflow asset
|
|
4
|
+
|
|
5
|
+
version: "0.1.0"
|
|
6
|
+
id: template_workflow_completion_audit
|
|
7
|
+
name: Workflow Completion Audit
|
|
8
|
+
purpose: Prove PASS, CONTINUE, REQUEST_CHANGES, or BLOCKED from current canonical evidence before completion is claimed.
|
|
9
|
+
maturity: reviewed
|
|
10
|
+
fit:
|
|
11
|
+
- Workflow or module completion claims that need diagnosis, verification, red classification, and skipped-test comparison.
|
|
12
|
+
- Manager review before adoption, rollout, evolution, or runtime sync.
|
|
13
|
+
not_for:
|
|
14
|
+
- Counting stale summaries, partial focused runs, or chat memory as completion proof.
|
|
15
|
+
- Hiding remaining UNIMPLEMENTED, BUG, INFRA, or placeholder-test work.
|
|
16
|
+
inputs:
|
|
17
|
+
- diagnosis or baseline artifact
|
|
18
|
+
- progress artifact
|
|
19
|
+
- current verification summary
|
|
20
|
+
- red or skipped classification artifact
|
|
21
|
+
outputs:
|
|
22
|
+
- completion audit findings
|
|
23
|
+
- reviewed completion verdict
|
|
24
|
+
- durable audit artifact and manager route
|
|
25
|
+
lineage:
|
|
26
|
+
source: Flutter rewrite dogfood module completion reviews
|
|
27
|
+
reference: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress
|
|
28
|
+
type: project
|
|
29
|
+
namespace: wca
|
|
30
|
+
|
|
31
|
+
cascade:
|
|
32
|
+
inherits: ["species:default"]
|
|
33
|
+
priority: 100
|
|
34
|
+
|
|
35
|
+
variables:
|
|
36
|
+
diagnosis_path:
|
|
37
|
+
description: "Approved diagnosis or baseline artifact path"
|
|
38
|
+
default: ".dna/specs/diagnosis-$ARGUMENTS.md"
|
|
39
|
+
progress_path:
|
|
40
|
+
description: "Module or workflow progress artifact path"
|
|
41
|
+
default: ".dna/fix-progress/$ARGUMENTS.json"
|
|
42
|
+
current_summary_path:
|
|
43
|
+
description: "Current parsed test or verification summary path"
|
|
44
|
+
default: ".dna/fix-progress/$ARGUMENTS-current-test-summary.json"
|
|
45
|
+
red_classification_path:
|
|
46
|
+
description: "Current red/skipped classification artifact path"
|
|
47
|
+
default: ".dna/fix-progress/$ARGUMENTS-red-classification.json"
|
|
48
|
+
audit_path:
|
|
49
|
+
description: "Completion audit artifact path"
|
|
50
|
+
default: ".dna/completion-audit/$ARGUMENTS.audit.json"
|
|
51
|
+
|
|
52
|
+
evidence:
|
|
53
|
+
- label: Flutter rewrite module completion reviews
|
|
54
|
+
kind: reference
|
|
55
|
+
path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress
|
|
56
|
+
description: Dogfood module progress markdown, JSON, parsed summaries, red classifications, machine logs, and skipped-test comparisons used before PASS decisions.
|
|
57
|
+
- label: Flutter rewrite diagnosis baselines
|
|
58
|
+
kind: reference
|
|
59
|
+
path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/specs
|
|
60
|
+
description: Diagnosis baselines that define UNIMPLEMENTED, TEST_BUG, INFRA, REMOVED, and other classifications for completion checks.
|
|
61
|
+
|
|
62
|
+
genes:
|
|
63
|
+
completion_requires_canonical_evidence:
|
|
64
|
+
description: PASS, rollout, evolution, or sync requires current canonical evidence, not chat memory or stale summaries
|
|
65
|
+
codons:
|
|
66
|
+
- type: attract
|
|
67
|
+
target: diagnosis_baseline_read
|
|
68
|
+
- type: attract
|
|
69
|
+
target: current_verification_summary_read
|
|
70
|
+
- type: attract
|
|
71
|
+
target: red_classification_read
|
|
72
|
+
- type: repel
|
|
73
|
+
target: completion_from_chat_memory
|
|
74
|
+
- type: threshold
|
|
75
|
+
condition: "canonical_completion_evidence_read == true"
|
|
76
|
+
action: block
|
|
77
|
+
|
|
78
|
+
skipped_unimplemented_blocks_pass:
|
|
79
|
+
description: Diagnosis-backed UNIMPLEMENTED skipped tests remain active work and block PASS
|
|
80
|
+
codons:
|
|
81
|
+
- type: attract
|
|
82
|
+
target: skipped_test_comparison
|
|
83
|
+
- type: repel
|
|
84
|
+
target: skipped_unimplemented_hidden_as_green
|
|
85
|
+
- type: threshold
|
|
86
|
+
condition: "remaining_unimplemented_skipped_count == 0"
|
|
87
|
+
action: block
|
|
88
|
+
|
|
89
|
+
placeholder_and_regression_guard:
|
|
90
|
+
description: Placeholder assertions, new red tests, and unsupported partial evidence block completion claims
|
|
91
|
+
codons:
|
|
92
|
+
- type: attract
|
|
93
|
+
target: placeholder_assertion_scan
|
|
94
|
+
- type: attract
|
|
95
|
+
target: new_red_count_check
|
|
96
|
+
- type: attract
|
|
97
|
+
target: full_or_accepted_scope_evidence
|
|
98
|
+
- type: repel
|
|
99
|
+
target: partial_focused_run_as_module_pass
|
|
100
|
+
- type: sense
|
|
101
|
+
signal: weak_completion_evidence
|
|
102
|
+
response: request_completion_audit
|
|
103
|
+
|
|
104
|
+
contexts: {}
|
|
105
|
+
|
|
106
|
+
roles:
|
|
107
|
+
completion_auditor:
|
|
108
|
+
description: Reads diagnosis, progress, current verification, red classification, and skipped-test evidence before any completion claim.
|
|
109
|
+
tool_permissions:
|
|
110
|
+
allow: [Read, Grep, Glob]
|
|
111
|
+
deny: [Edit, Write, Bash, NotebookEdit]
|
|
112
|
+
scope:
|
|
113
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
114
|
+
write: []
|
|
115
|
+
instructions:
|
|
116
|
+
- Read {{diagnosis_path}}, {{progress_path}}, {{current_summary_path}}, and {{red_classification_path}} before judging completion.
|
|
117
|
+
- Compare current skipped tests against diagnosis-backed UNIMPLEMENTED items.
|
|
118
|
+
- Treat remaining UNIMPLEMENTED skipped tests, actionable BUG/UNIMPLEMENTED red tests, new red tests, missing summaries, or placeholder assertions as not complete.
|
|
119
|
+
- Distinguish full-suite evidence, accepted focused evidence, and weak partial evidence.
|
|
120
|
+
- Keep Obsidian/wiki as internal memory only; do not use it as product evidence.
|
|
121
|
+
|
|
122
|
+
audit_reviewer:
|
|
123
|
+
description: Reviews the completion audit for weak evidence, hidden remaining work, and unsupported PASS claims.
|
|
124
|
+
tool_permissions:
|
|
125
|
+
allow: [Read, Grep, Glob]
|
|
126
|
+
deny: [Edit, Write, Bash, NotebookEdit]
|
|
127
|
+
scope:
|
|
128
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
129
|
+
write: []
|
|
130
|
+
instructions:
|
|
131
|
+
- Reject PASS if diagnosis-backed UNIMPLEMENTED skipped tests remain.
|
|
132
|
+
- Reject PASS if current summary, red classification, or progress evidence is missing, stale, contradicted, or partial without an explicit accepted scope.
|
|
133
|
+
- Reject PASS if placeholder behavior-lock assertions or test-only tautologies are still being counted as proof.
|
|
134
|
+
- Return PASS_ALLOWED, CONTINUE, REQUEST_CHANGES, or BLOCKED with concise reasons and evidence paths.
|
|
135
|
+
|
|
136
|
+
audit_recorder:
|
|
137
|
+
description: Writes durable completion audit evidence without mutating app code, workflow assets, org profiles, or runtime artifacts.
|
|
138
|
+
tool_permissions:
|
|
139
|
+
allow: [Read, Write, Grep, Glob]
|
|
140
|
+
deny: [Edit, Bash, NotebookEdit]
|
|
141
|
+
scope:
|
|
142
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
143
|
+
write: [".dna/completion-audit/**"]
|
|
144
|
+
instructions:
|
|
145
|
+
- Write {{audit_path}} as JSON with status, evidence_paths, diagnosis_counts, current_counts, skipped_comparison, new_red_count, remaining_count, remaining_unimplemented_skipped_count, placeholder_risk, reviewer_verdict, next_commands, and updated_at.
|
|
146
|
+
- State whether PASS, manager review, adoption, rollout, evolution preview, marker mutation, or runtime sync is allowed.
|
|
147
|
+
- Do not edit code, tests, templates, organization profiles, evolution markers, dashboard state, or runtime sync artifacts.
|
|
148
|
+
|
|
149
|
+
manager_reviewer:
|
|
150
|
+
description: Produces a manager-readable completion route from the audit artifact.
|
|
151
|
+
tool_permissions:
|
|
152
|
+
allow: [Read, Grep, Glob]
|
|
153
|
+
deny: [Edit, Write, Bash, NotebookEdit]
|
|
154
|
+
scope:
|
|
155
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
156
|
+
write: []
|
|
157
|
+
instructions:
|
|
158
|
+
- Read {{audit_path}} and summarize whether completion is PASS_ALLOWED, CONTINUE, REQUEST_CHANGES, or BLOCKED.
|
|
159
|
+
- Name the evidence paths and the exact reason completion is allowed or blocked.
|
|
160
|
+
- If remaining work exists, route back to fix/review or blocked-scope triage before adoption, rollout, evolution mutation, or sync.
|
|
161
|
+
- End with an explicit mutation boundary.
|
|
162
|
+
|
|
163
|
+
workflows:
|
|
164
|
+
completion-audit:
|
|
165
|
+
name: Completion Audit
|
|
166
|
+
description: Audit completion claims against diagnosis baseline, current verification, red classifications, skipped-test comparison, and progress evidence.
|
|
167
|
+
steps:
|
|
168
|
+
- id: audit-completion
|
|
169
|
+
role: completion_auditor
|
|
170
|
+
description: Check whether completion is actually proven by current canonical evidence.
|
|
171
|
+
prompt: |
|
|
172
|
+
Audit completion for $ARGUMENTS.
|
|
173
|
+
Read {{diagnosis_path}}, {{progress_path}}, {{current_summary_path}}, and {{red_classification_path}}.
|
|
174
|
+
Compare skipped tests against diagnosis-backed UNIMPLEMENTED items.
|
|
175
|
+
Check for new red tests, remaining actionable failures, placeholder assertions, and weak partial evidence.
|
|
176
|
+
handoff:
|
|
177
|
+
produces:
|
|
178
|
+
- type: summary
|
|
179
|
+
name: completion_audit_findings
|
|
180
|
+
description: Evidence-backed completion findings, remaining work, blockers, and allowed next actions.
|
|
181
|
+
- id: review-audit
|
|
182
|
+
role: audit_reviewer
|
|
183
|
+
depends_on: [audit-completion]
|
|
184
|
+
description: Review the completion audit for unsupported PASS claims and hidden remaining work.
|
|
185
|
+
prompt: |
|
|
186
|
+
Review completion audit findings for $ARGUMENTS.
|
|
187
|
+
Reject PASS if canonical evidence is missing, stale, contradicted, partial, or hides UNIMPLEMENTED skipped tests.
|
|
188
|
+
Return PASS_ALLOWED, CONTINUE, REQUEST_CHANGES, or BLOCKED.
|
|
189
|
+
handoff:
|
|
190
|
+
consumes:
|
|
191
|
+
- type: summary
|
|
192
|
+
name: completion_audit_findings
|
|
193
|
+
from: audit-completion
|
|
194
|
+
description: Completion audit findings.
|
|
195
|
+
produces:
|
|
196
|
+
- type: summary
|
|
197
|
+
name: completion_audit_verdict
|
|
198
|
+
description: Reviewed completion verdict and required next action.
|
|
199
|
+
- id: record-audit
|
|
200
|
+
role: audit_recorder
|
|
201
|
+
depends_on: [review-audit]
|
|
202
|
+
description: Write durable completion audit evidence.
|
|
203
|
+
prompt: |
|
|
204
|
+
Write {{audit_path}} for $ARGUMENTS.
|
|
205
|
+
Include status, evidence paths, counts, skipped comparison, new red count, remaining counts, placeholder risk, reviewer verdict, next commands, and updated_at.
|
|
206
|
+
State whether PASS, adoption, rollout, evolution preview, marker mutation, or runtime sync is allowed.
|
|
207
|
+
checkpoints:
|
|
208
|
+
- assert: completion_audit_artifact_written
|
|
209
|
+
command: "test -s \"{{audit_path}}\""
|
|
210
|
+
message: "Completion audit artifact must exist before manager route."
|
|
211
|
+
action: block
|
|
212
|
+
handoff:
|
|
213
|
+
consumes:
|
|
214
|
+
- type: summary
|
|
215
|
+
name: completion_audit_verdict
|
|
216
|
+
from: review-audit
|
|
217
|
+
description: Reviewed completion verdict.
|
|
218
|
+
produces:
|
|
219
|
+
- type: file
|
|
220
|
+
path: "{{audit_path}}"
|
|
221
|
+
description: Durable completion audit JSON.
|
|
222
|
+
- id: manager-route
|
|
223
|
+
role: manager_reviewer
|
|
224
|
+
depends_on: [record-audit]
|
|
225
|
+
description: Produce manager-readable completion route from audit evidence.
|
|
226
|
+
prompt: |
|
|
227
|
+
Read {{audit_path}} for $ARGUMENTS.
|
|
228
|
+
State PASS_ALLOWED, CONTINUE, REQUEST_CHANGES, or BLOCKED with evidence and next command.
|
|
229
|
+
Do not approve adoption, rollout, evolution mutation, or sync while completion evidence is weak or remaining work is hidden.
|
|
230
|
+
handoff:
|
|
231
|
+
consumes:
|
|
232
|
+
- type: file
|
|
233
|
+
path: "{{audit_path}}"
|
|
234
|
+
from: record-audit
|
|
235
|
+
description: Completion audit artifact.
|
|
236
|
+
produces:
|
|
237
|
+
- type: summary
|
|
238
|
+
name: manager_completion_route
|
|
239
|
+
description: Manager-readable route to continue, approve, request changes, or block.
|
|
240
|
+
|
|
241
|
+
controllers:
|
|
242
|
+
completion-audit:
|
|
243
|
+
name: Completion Audit
|
|
244
|
+
description: "Audit completion evidence before PASS, manager review, adoption, rollout, evolution mutation, or sync."
|
|
245
|
+
kind: sequential
|
|
246
|
+
workflow: completion-audit
|
|
247
|
+
max_rounds: 1
|
|
248
|
+
progress_artifact_path: ".dna/completion-audit/$ARGUMENTS.controller.json"
|
|
249
|
+
roles:
|
|
250
|
+
completion_auditor: completion_auditor
|
|
251
|
+
audit_reviewer: audit_reviewer
|
|
252
|
+
audit_recorder: audit_recorder
|
|
253
|
+
manager_reviewer: manager_reviewer
|
|
254
|
+
stop_format: configured_stop_report
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
# workflow-cross-boundary-resource-approval: review shared resource changes before implementation
|
|
2
|
+
# Source: extracted from Flutter rewrite Pay i18n/shared resource blocker
|
|
3
|
+
# Purpose: route cross-module, localization, shared resource, or outside-diagnosis changes through explicit approval before edits
|
|
4
|
+
|
|
5
|
+
version: "0.1.0"
|
|
6
|
+
id: template_workflow_cross_boundary_resource_approval
|
|
7
|
+
name: Workflow Cross Boundary Resource Approval
|
|
8
|
+
purpose: Route cross-module, localization, shared resource, config, or policy changes through explicit owner approval before implementation.
|
|
9
|
+
maturity: reviewed
|
|
10
|
+
fit:
|
|
11
|
+
- Work that crosses the approved module, package, localization, or resource boundary.
|
|
12
|
+
- Shared resource changes requiring owner or manager approval.
|
|
13
|
+
not_for:
|
|
14
|
+
- Local changes already inside the approved task boundary.
|
|
15
|
+
- Silent cross-boundary edits hidden inside implementation.
|
|
16
|
+
inputs:
|
|
17
|
+
- cross-boundary change request
|
|
18
|
+
- source evidence or progress artifact
|
|
19
|
+
- owner approval verdict
|
|
20
|
+
outputs:
|
|
21
|
+
- approval request artifact
|
|
22
|
+
- manager approval verdict
|
|
23
|
+
- authorized implementation route
|
|
24
|
+
lineage:
|
|
25
|
+
source: Flutter rewrite Pay i18n blocker
|
|
26
|
+
reference: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress/Pay.json
|
|
27
|
+
type: project
|
|
28
|
+
namespace: wcbr
|
|
29
|
+
|
|
30
|
+
cascade:
|
|
31
|
+
inherits: ["species:default"]
|
|
32
|
+
priority: 100
|
|
33
|
+
|
|
34
|
+
variables:
|
|
35
|
+
request_path:
|
|
36
|
+
description: "Cross-boundary change request artifact"
|
|
37
|
+
default: ".dna/cross-boundary/$ARGUMENTS.request.json"
|
|
38
|
+
approval_path:
|
|
39
|
+
description: "Manager approval verdict artifact"
|
|
40
|
+
default: ".dna/cross-boundary/$ARGUMENTS.approval.json"
|
|
41
|
+
evidence_path:
|
|
42
|
+
description: "Source evidence or progress artifact"
|
|
43
|
+
default: ".dna/fix-progress/$ARGUMENTS.json"
|
|
44
|
+
resource_scope:
|
|
45
|
+
description: "Shared resource, localization, module, package, or policy boundary"
|
|
46
|
+
default: "$ARGUMENTS"
|
|
47
|
+
|
|
48
|
+
evidence:
|
|
49
|
+
- label: Flutter rewrite Pay cross-boundary i18n blocker
|
|
50
|
+
kind: reference
|
|
51
|
+
path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress/Pay.json
|
|
52
|
+
description: Pay dogfood evidence records a needs_human, outside_diagnosis blocker because preserving payment_tips_prefix localization requires shared lwk_i18n work outside feature_pay.
|
|
53
|
+
- label: Flutter rewrite dogfood progress
|
|
54
|
+
kind: reference
|
|
55
|
+
path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress
|
|
56
|
+
description: Module-level dogfood progress where blocked/outside-scope work must be separated from implementation before manager review, rollout, or sync.
|
|
57
|
+
|
|
58
|
+
genes:
|
|
59
|
+
boundary_authority_required:
|
|
60
|
+
description: Cross-boundary edits require explicit owner and approval before implementation
|
|
61
|
+
codons:
|
|
62
|
+
- type: attract
|
|
63
|
+
target: owner_named_for_shared_resource
|
|
64
|
+
- type: attract
|
|
65
|
+
target: approval_before_edit
|
|
66
|
+
- type: repel
|
|
67
|
+
target: silent_cross_boundary_change
|
|
68
|
+
- type: threshold
|
|
69
|
+
condition: "approval_verdict_recorded == true"
|
|
70
|
+
action: block
|
|
71
|
+
|
|
72
|
+
localization_resource_preserved:
|
|
73
|
+
description: Localization and shared resource changes must preserve source behavior and ownership
|
|
74
|
+
codons:
|
|
75
|
+
- type: attract
|
|
76
|
+
target: localization_key_mapping
|
|
77
|
+
- type: attract
|
|
78
|
+
target: source_behavior_reference
|
|
79
|
+
- type: repel
|
|
80
|
+
target: generated_placeholder_translation
|
|
81
|
+
- type: sense
|
|
82
|
+
signal: missing_localization_resource
|
|
83
|
+
response: request_resource_approval
|
|
84
|
+
|
|
85
|
+
outside_scope_is_not_hidden:
|
|
86
|
+
description: Work outside diagnosis or module scope must be routed, not hidden as blocked completion
|
|
87
|
+
codons:
|
|
88
|
+
- type: attract
|
|
89
|
+
target: outside_scope_reason
|
|
90
|
+
- type: attract
|
|
91
|
+
target: next_authorized_command
|
|
92
|
+
- type: repel
|
|
93
|
+
target: blocked_without_route
|
|
94
|
+
- type: threshold
|
|
95
|
+
condition: "outside_scope_route_visible == true"
|
|
96
|
+
action: block
|
|
97
|
+
|
|
98
|
+
contexts: {}
|
|
99
|
+
|
|
100
|
+
roles:
|
|
101
|
+
boundary_analyst:
|
|
102
|
+
description: Identifies the shared resource boundary, affected owner, and source behavior that would be changed.
|
|
103
|
+
tool_permissions:
|
|
104
|
+
allow: [Read, Grep, Glob]
|
|
105
|
+
deny: [Edit, Write, Bash, NotebookEdit]
|
|
106
|
+
scope:
|
|
107
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
108
|
+
write: []
|
|
109
|
+
instructions:
|
|
110
|
+
- Read {{evidence_path}} and identify why {{resource_scope}} crosses the current workflow or module boundary.
|
|
111
|
+
- Name the shared resource owner, affected modules, localization keys, config files, generated artifacts, or policy layer.
|
|
112
|
+
- Separate behavior preservation requirements from optional improvements.
|
|
113
|
+
- Do not edit app code, localization files, templates, org profiles, sync artifacts, or markers.
|
|
114
|
+
|
|
115
|
+
approval_planner:
|
|
116
|
+
description: Writes a precise request for manager or resource-owner approval.
|
|
117
|
+
tool_permissions:
|
|
118
|
+
allow: [Read, Write, Grep, Glob]
|
|
119
|
+
deny: [Edit, Bash, NotebookEdit]
|
|
120
|
+
scope:
|
|
121
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
122
|
+
write: [".dna/cross-boundary/**"]
|
|
123
|
+
instructions:
|
|
124
|
+
- Write {{request_path}} with resource_scope, owner, requested_files, behavior_to_preserve, risk, alternatives, and next_commands.
|
|
125
|
+
- Include why the change is outside the current diagnosis or workflow scope.
|
|
126
|
+
- Include the smallest safe follow-up command after approval.
|
|
127
|
+
- Do not approve the request yourself.
|
|
128
|
+
|
|
129
|
+
manager_reviewer:
|
|
130
|
+
description: Reviews the cross-boundary request and records APPROVE, REQUEST_CHANGES, or BLOCKED.
|
|
131
|
+
tool_permissions:
|
|
132
|
+
allow: [Read, Write, Grep, Glob]
|
|
133
|
+
deny: [Edit, Bash, NotebookEdit]
|
|
134
|
+
scope:
|
|
135
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
136
|
+
write: [".dna/cross-boundary/**"]
|
|
137
|
+
instructions:
|
|
138
|
+
- Read {{request_path}} before deciding.
|
|
139
|
+
- Reject vague shared-resource changes without owner, file scope, behavior reference, or rollback path.
|
|
140
|
+
- If approved, state exactly which files or resources may change and what verification is required.
|
|
141
|
+
- Write {{approval_path}} with verdict, approved_scope, blocked_scope, verification_required, next_commands, and updated_at.
|
|
142
|
+
|
|
143
|
+
implementation_router:
|
|
144
|
+
description: Routes approved work back to the correct workflow without performing the implementation.
|
|
145
|
+
tool_permissions:
|
|
146
|
+
allow: [Read, Grep, Glob]
|
|
147
|
+
deny: [Edit, Write, Bash, NotebookEdit]
|
|
148
|
+
scope:
|
|
149
|
+
read: ["**/*", ".dna/**", "docs/**"]
|
|
150
|
+
write: []
|
|
151
|
+
instructions:
|
|
152
|
+
- Read {{approval_path}} and decide whether implementation may proceed.
|
|
153
|
+
- If APPROVE, route back to the owning fix/rewrite workflow with the approved boundary and required verification.
|
|
154
|
+
- If REQUEST_CHANGES or BLOCKED, keep rollout, sync, and completion claims blocked.
|
|
155
|
+
- End with a clear mutation boundary.
|
|
156
|
+
|
|
157
|
+
workflows:
|
|
158
|
+
cross-boundary-resource-approval:
|
|
159
|
+
name: Cross Boundary Resource Approval
|
|
160
|
+
description: Review shared resource, localization, config, policy, or cross-module changes before implementation.
|
|
161
|
+
steps:
|
|
162
|
+
- id: analyze-boundary
|
|
163
|
+
role: boundary_analyst
|
|
164
|
+
description: Identify resource ownership and why the change crosses scope.
|
|
165
|
+
prompt: |
|
|
166
|
+
Analyze the cross-boundary resource request for $ARGUMENTS.
|
|
167
|
+
Read {{evidence_path}} and identify owner, affected resources, source behavior, risk, and why the work is outside current scope.
|
|
168
|
+
handoff:
|
|
169
|
+
produces:
|
|
170
|
+
- type: summary
|
|
171
|
+
name: boundary_analysis
|
|
172
|
+
description: Resource owner, affected files/resources, behavior to preserve, and boundary reason.
|
|
173
|
+
- id: write-approval-request
|
|
174
|
+
role: approval_planner
|
|
175
|
+
depends_on: [analyze-boundary]
|
|
176
|
+
description: Write the approval request artifact.
|
|
177
|
+
prompt: |
|
|
178
|
+
Write {{request_path}} for $ARGUMENTS.
|
|
179
|
+
Include resource_scope, owner, requested_files, behavior_to_preserve, risk, alternatives, outside_scope_reason, and next_commands.
|
|
180
|
+
checkpoints:
|
|
181
|
+
- assert: approval_request_written
|
|
182
|
+
command: "test -s \"{{request_path}}\""
|
|
183
|
+
message: "Cross-boundary approval request must exist before manager review."
|
|
184
|
+
action: block
|
|
185
|
+
handoff:
|
|
186
|
+
consumes:
|
|
187
|
+
- type: summary
|
|
188
|
+
name: boundary_analysis
|
|
189
|
+
from: analyze-boundary
|
|
190
|
+
description: Boundary analysis.
|
|
191
|
+
produces:
|
|
192
|
+
- type: file
|
|
193
|
+
path: "{{request_path}}"
|
|
194
|
+
description: Cross-boundary approval request.
|
|
195
|
+
- id: manager-review
|
|
196
|
+
role: manager_reviewer
|
|
197
|
+
depends_on: [write-approval-request]
|
|
198
|
+
description: Review and record approval or blocking verdict.
|
|
199
|
+
prompt: |
|
|
200
|
+
Review {{request_path}} for $ARGUMENTS.
|
|
201
|
+
Write {{approval_path}} with APPROVE, REQUEST_CHANGES, or BLOCKED; approved scope; blocked scope; verification required; next commands; and updated_at.
|
|
202
|
+
checkpoints:
|
|
203
|
+
- assert: approval_verdict_written
|
|
204
|
+
command: "test -s \"{{approval_path}}\""
|
|
205
|
+
message: "Manager approval verdict must exist before implementation routing."
|
|
206
|
+
action: block
|
|
207
|
+
handoff:
|
|
208
|
+
consumes:
|
|
209
|
+
- type: file
|
|
210
|
+
path: "{{request_path}}"
|
|
211
|
+
from: write-approval-request
|
|
212
|
+
description: Cross-boundary approval request.
|
|
213
|
+
produces:
|
|
214
|
+
- type: file
|
|
215
|
+
path: "{{approval_path}}"
|
|
216
|
+
description: Approval verdict and approved scope.
|
|
217
|
+
- id: route-implementation
|
|
218
|
+
role: implementation_router
|
|
219
|
+
depends_on: [manager-review]
|
|
220
|
+
description: Route the approved or blocked work back to the owning workflow.
|
|
221
|
+
prompt: |
|
|
222
|
+
Read {{approval_path}} for $ARGUMENTS.
|
|
223
|
+
If APPROVE, route implementation back to the owning workflow with approved scope and verification requirements.
|
|
224
|
+
If REQUEST_CHANGES or BLOCKED, keep rollout, sync, and completion claims blocked.
|
|
225
|
+
handoff:
|
|
226
|
+
consumes:
|
|
227
|
+
- type: file
|
|
228
|
+
path: "{{approval_path}}"
|
|
229
|
+
from: manager-review
|
|
230
|
+
description: Manager approval verdict.
|
|
231
|
+
produces:
|
|
232
|
+
- type: summary
|
|
233
|
+
name: implementation_route
|
|
234
|
+
description: Approved implementation route or blocked next action.
|
|
235
|
+
|
|
236
|
+
controllers:
|
|
237
|
+
cross-boundary-resource-approval:
|
|
238
|
+
name: Cross Boundary Resource Approval
|
|
239
|
+
description: "Analyze, request, review, and route cross-boundary shared resource changes before implementation."
|
|
240
|
+
kind: sequential
|
|
241
|
+
workflow: cross-boundary-resource-approval
|
|
242
|
+
max_rounds: 1
|
|
243
|
+
progress_artifact_path: ".dna/cross-boundary/$ARGUMENTS.controller.json"
|
|
244
|
+
roles:
|
|
245
|
+
boundary_analyst: boundary_analyst
|
|
246
|
+
approval_planner: approval_planner
|
|
247
|
+
manager_reviewer: manager_reviewer
|
|
248
|
+
implementation_router: implementation_router
|
|
249
|
+
stop_format: configured_stop_report
|