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.
Files changed (152) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/LICENSE +201 -0
  4. package/README.md +143 -194
  5. package/dist/assets/candidates.d.ts +124 -0
  6. package/dist/assets/candidates.js +1249 -0
  7. package/dist/assets/catalog.d.ts +101 -0
  8. package/dist/assets/catalog.js +311 -0
  9. package/dist/assets/evidence.d.ts +93 -0
  10. package/dist/assets/evidence.js +391 -0
  11. package/dist/assets/index.d.ts +4 -0
  12. package/dist/assets/index.js +4 -0
  13. package/dist/assets/metadata.d.ts +19 -0
  14. package/dist/assets/metadata.js +227 -0
  15. package/dist/cli/commands/assets.d.ts +65 -0
  16. package/dist/cli/commands/assets.js +2871 -0
  17. package/dist/cli/commands/auth.d.ts +322 -0
  18. package/dist/cli/commands/auth.js +1592 -0
  19. package/dist/cli/commands/cloud-auth-guidance.d.ts +2 -0
  20. package/dist/cli/commands/cloud-auth-guidance.js +4 -0
  21. package/dist/cli/commands/cloud.d.ts +1359 -0
  22. package/dist/cli/commands/cloud.js +8364 -0
  23. package/dist/cli/commands/evolve.js +18 -2
  24. package/dist/cli/commands/generate.js +25 -2
  25. package/dist/cli/commands/guard.d.ts +1 -1
  26. package/dist/cli/commands/guard.js +1 -1
  27. package/dist/cli/commands/guide.d.ts +15 -0
  28. package/dist/cli/commands/guide.js +1747 -0
  29. package/dist/cli/commands/init.d.ts +12 -0
  30. package/dist/cli/commands/init.js +95 -60
  31. package/dist/cli/commands/org.d.ts +16 -0
  32. package/dist/cli/commands/org.js +2393 -0
  33. package/dist/cli/commands/release.d.ts +59 -0
  34. package/dist/cli/commands/release.js +716 -0
  35. package/dist/cli/commands/report.d.ts +82 -0
  36. package/dist/cli/commands/report.js +1516 -0
  37. package/dist/cli/commands/run.d.ts +6 -1
  38. package/dist/cli/commands/run.js +95 -26
  39. package/dist/cli/commands/sync.d.ts +8 -1
  40. package/dist/cli/commands/sync.js +436 -141
  41. package/dist/cli/commands/templates.d.ts +64 -0
  42. package/dist/cli/commands/templates.js +2151 -1
  43. package/dist/cli/commands/workflow.d.ts +26 -0
  44. package/dist/cli/commands/workflow.js +3053 -0
  45. package/dist/cli/index.js +703 -36
  46. package/dist/compiler/cascade.js +4 -9
  47. package/dist/compiler/compile.js +1 -0
  48. package/dist/governance/evidence-capture-attribution.d.ts +12 -0
  49. package/dist/governance/evidence-capture-attribution.js +46 -0
  50. package/dist/governance/index.d.ts +2 -0
  51. package/dist/governance/index.js +1 -0
  52. package/dist/hooks/cli.d.ts +5 -0
  53. package/dist/hooks/cli.js +149 -5
  54. package/dist/hooks/enforce.d.ts +1 -0
  55. package/dist/hooks/protocol.d.ts +1 -1
  56. package/dist/hooks/protocol.js +1 -1
  57. package/dist/hooks/state.d.ts +41 -0
  58. package/dist/hooks/state.js +126 -2
  59. package/dist/index.d.ts +3 -0
  60. package/dist/index.js +3 -0
  61. package/dist/mcp/tools-state.js +2 -0
  62. package/dist/organization/index.d.ts +121 -0
  63. package/dist/organization/index.js +413 -0
  64. package/dist/runtime/claude-sync-target.d.ts +49 -0
  65. package/dist/runtime/claude-sync-target.js +280 -0
  66. package/dist/runtime/codex-adapter.d.ts +254 -0
  67. package/dist/runtime/codex-adapter.js +1204 -0
  68. package/dist/runtime/codex-sync-target.d.ts +33 -0
  69. package/dist/runtime/codex-sync-target.js +241 -0
  70. package/dist/runtime/index.d.ts +8 -0
  71. package/dist/runtime/index.js +4 -0
  72. package/dist/runtime/output-artifact-registry.d.ts +1 -1
  73. package/dist/runtime/output-artifact-registry.js +2 -0
  74. package/dist/runtime/settings-adapter.d.ts +1 -1
  75. package/dist/runtime/settings-adapter.js +1 -1
  76. package/dist/runtime/skill-adapter.d.ts +5 -1
  77. package/dist/runtime/skill-adapter.js +120 -34
  78. package/dist/runtime/sync-artifact-registry.d.ts +99 -0
  79. package/dist/runtime/sync-artifact-registry.js +194 -0
  80. package/dist/runtime/sync-target-plan.d.ts +45 -0
  81. package/dist/runtime/sync-target-plan.js +19 -0
  82. package/dist/schema/controller-registry.d.ts +8 -1
  83. package/dist/schema/controller-registry.js +8 -0
  84. package/dist/schema/types.d.ts +35 -23
  85. package/dist/schema/types.js +10 -1
  86. package/dist/schema/validate.js +22 -22
  87. package/dist/schema/validators/controllers.js +38 -20
  88. package/dist/schema/workflow-authoring-contract.d.ts +29 -0
  89. package/dist/schema/workflow-authoring-contract.js +109 -0
  90. package/dist/schema/yaml-parser.js +18 -0
  91. package/dist/templates/api-backend.dna.yaml +19 -0
  92. package/dist/templates/brainstorming-first.dna.yaml +19 -0
  93. package/dist/templates/code-cleanup.dna.yaml +19 -0
  94. package/dist/templates/code-review-pipeline.dna.yaml +18 -0
  95. package/dist/templates/documentation-writer.dna.yaml +19 -0
  96. package/dist/templates/flutter-behavior-lock.dna.yaml +19 -0
  97. package/dist/templates/flutter-refactoring-rescue.dna.yaml +19 -0
  98. package/dist/templates/flutter-rewrite-diagnosis-review.dna.yaml +210 -0
  99. package/dist/templates/flutter-rewrite-fix-review-loop.dna.yaml +260 -0
  100. package/dist/templates/flutter-rewrite-new.dna.yaml +506 -0
  101. package/dist/templates/flutter-rewrite.dna.yaml +20 -0
  102. package/dist/templates/frontend-quality.dna.yaml +19 -0
  103. package/dist/templates/full-pipeline.dna.yaml +20 -0
  104. package/dist/templates/marketplace.d.ts +92 -0
  105. package/dist/templates/marketplace.js +502 -0
  106. package/dist/templates/metadata.d.ts +25 -0
  107. package/dist/templates/metadata.js +136 -3
  108. package/dist/templates/mobile-dev.dna.yaml +19 -0
  109. package/dist/templates/multi-agent-handoff-coordination.dna.yaml +156 -0
  110. package/dist/templates/multi-perspective-review.dna.yaml +19 -0
  111. package/dist/templates/persistent-executor.dna.yaml +19 -0
  112. package/dist/templates/qa-loop.dna.yaml +18 -0
  113. package/dist/templates/release-evidence-gate.dna.yaml +131 -0
  114. package/dist/templates/requirements-gate.dna.yaml +19 -0
  115. package/dist/templates/research-orchestration.dna.yaml +19 -0
  116. package/dist/templates/root-cause-analysis.dna.yaml +19 -0
  117. package/dist/templates/safe-refactoring.dna.yaml +321 -0
  118. package/dist/templates/secure-dev.dna.yaml +19 -0
  119. package/dist/templates/subagent-parallel.dna.yaml +19 -0
  120. package/dist/templates/systematic-debugging.dna.yaml +19 -0
  121. package/dist/templates/tdd-strict.dna.yaml +19 -0
  122. package/dist/templates/ui-visual-regression-qa.dna.yaml +133 -0
  123. package/dist/templates/workflow-author.dna.yaml +302 -0
  124. package/dist/templates/workflow-blocked-scope-triage.dna.yaml +242 -0
  125. package/dist/templates/workflow-completion-audit.dna.yaml +254 -0
  126. package/dist/templates/workflow-cross-boundary-resource-approval.dna.yaml +249 -0
  127. package/dist/templates/workflow-evidence-review.dna.yaml +198 -0
  128. package/dist/templates/workflow-module-inventory.dna.yaml +257 -0
  129. package/dist/templates/workflow-runtime-smoke-review.dna.yaml +252 -0
  130. package/dist/templates/workflow-verification-command-routing.dna.yaml +278 -0
  131. package/dist/workflow/authoring-packet.d.ts +67 -0
  132. package/dist/workflow/authoring-packet.js +218 -0
  133. package/dist/workflow/draft.d.ts +159 -0
  134. package/dist/workflow/draft.js +800 -0
  135. package/dist/workflow/index.d.ts +3 -0
  136. package/dist/workflow/index.js +3 -0
  137. package/dist/workflow/suggestion-review.d.ts +65 -0
  138. package/dist/workflow/suggestion-review.js +245 -0
  139. package/package.json +1 -1
  140. package/spec/README.md +15 -48
  141. package/spec/codex-adapter-contract.md +176 -0
  142. package/spec/sync-target-plan.md +158 -0
  143. package/spec/workflow-capability-ir.md +153 -0
  144. package/spec/agent-dispatch-fix.md +0 -116
  145. package/spec/control-plane-convergence-handoff-2026-04-24.md +0 -432
  146. package/spec/flutter-rewrite-template-optimization.md +0 -301
  147. package/spec/foundation-hardening.md +0 -178
  148. package/spec/hooks-infra-harness-hardening.md +0 -741
  149. package/spec/multi-config.md +0 -172
  150. package/spec/parallel-isolation.md +0 -268
  151. package/spec/template-version-namespace-fix.md +0 -653
  152. 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