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.
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 +719 -42
  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 +6 -0
  53. package/dist/hooks/cli.js +168 -12
  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,198 @@
1
+ # workflow-evidence-review: evidence package review before adoption/evolution/sync
2
+ # Source: extracted from Flutter rewrite dogfood progress JSON, diagnosis reviews, and test logs
3
+ # Purpose: make evidence review a reusable workflow asset instead of an ad hoc manager checklist
4
+
5
+ version: "0.1.0"
6
+ id: template_workflow_evidence_review
7
+ name: Workflow Evidence Review
8
+ purpose: Review canonical workflow evidence before adoption, evolution, rollout, or runtime sync.
9
+ maturity: reviewed
10
+ fit:
11
+ - Workflow assets with dogfood, diagnosis, test, or progress evidence that needs authority classification.
12
+ - Adoption or evolution reviews where weak notes must stay separate from canonical evidence.
13
+ not_for:
14
+ - Treating chat memory, wiki notes, or dashboard projections as runtime truth.
15
+ - Automatically mutating workflow assets or evolution markers from evidence.
16
+ inputs:
17
+ - progress JSON or C5 capture evidence
18
+ - diagnosis and review verdicts
19
+ - test logs or workflow references
20
+ outputs:
21
+ - evidence index
22
+ - authority classification
23
+ - manager review packet and next commands
24
+ lineage:
25
+ source: Flutter rewrite dogfood evidence review pattern
26
+ reference: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress
27
+ type: project
28
+ namespace: wer
29
+
30
+ cascade:
31
+ inherits: ["species:default"]
32
+ priority: 100
33
+
34
+ evidence:
35
+ - label: Flutter rewrite dogfood progress JSON
36
+ kind: reference
37
+ path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/.dna/fix-progress
38
+ description: Module-level progress JSON, test logs, review verdicts, and round summaries used to gate workflow evolution.
39
+ - label: Flutter rewrite workflow reference
40
+ kind: reference
41
+ path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/docs/refactoring-workflow-v2.md
42
+ description: Dogfood workflow route that made evidence packages necessary before adoption and sync.
43
+
44
+ genes:
45
+ evidence_before_adoption:
46
+ description: Workflow assets must show canonical evidence before adoption, org binding, evolution mutation, or runtime sync
47
+ codons:
48
+ - type: attract
49
+ target: progress_json_review
50
+ - type: attract
51
+ target: test_log_review
52
+ - type: repel
53
+ target: chat_memory_as_truth
54
+ - type: threshold
55
+ condition: "canonical_evidence_reviewed == true"
56
+ action: block
57
+
58
+ authority_classification:
59
+ description: Separate canonical machine evidence from weak notes, stale summaries, and unsupported claims
60
+ codons:
61
+ - type: attract
62
+ target: machine_readable_progress_json
63
+ - type: attract
64
+ target: reviewer_verdict_json
65
+ - type: repel
66
+ target: unsupported_adoption_claim
67
+ - type: sense
68
+ signal: evidence_conflict
69
+ response: escalate_to_human
70
+
71
+ preview_first_evolution_gate:
72
+ description: Evidence can suggest evolution, but marker mutation and sync stay human-reviewed
73
+ codons:
74
+ - type: attract
75
+ target: reviewed_suggestion
76
+ - type: attract
77
+ target: preview_before_mutation
78
+ - type: repel
79
+ target: automatic_marker_write
80
+ - type: threshold
81
+ condition: "evolution_mutation_without_review == false"
82
+ action: block
83
+
84
+ contexts: {}
85
+
86
+ roles:
87
+ evidence_collector:
88
+ description: Collects canonical evidence sources without changing workflow assets or runtime artifacts
89
+ tool_permissions:
90
+ allow: [Read, Grep, Glob, Bash]
91
+ deny: [Edit, Write, NotebookEdit]
92
+ scope:
93
+ read: ["**/*", ".dna/**", "docs/**"]
94
+ write: []
95
+ instructions:
96
+ - "Collect only canonical evidence paths: progress JSON, review verdict JSON, diagnosis specs, test logs, and workflow references."
97
+ - Treat Obsidian/wiki notes as internal memory only; do not upgrade them to product evidence.
98
+ - Summarize missing, stale, unreadable, or conflicting evidence explicitly.
99
+ - Do not edit templates, org profiles, sync artifacts, or evolution markers.
100
+
101
+ evidence_classifier:
102
+ description: Classifies evidence authority, adoption readiness, and evolution risk
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
+ - Separate canonical machine-readable evidence from human notes and chat summaries.
111
+ - Mark each claim as proven, weak, contradicted, missing, or needs human review.
112
+ - Identify whether adoption, org bind, evolution preview, marker mutation, or runtime sync is allowed.
113
+ - If active dogfood evidence remains, route to suggestions and draft workflow changes before mutation.
114
+
115
+ manager_reviewer:
116
+ description: Produces a manager-readable adoption/evolution/sync review packet
117
+ tool_permissions:
118
+ allow: [Read, Grep, Glob]
119
+ deny: [Edit, Write, Bash, NotebookEdit]
120
+ scope:
121
+ read: ["**/*", ".dna/**", "docs/**"]
122
+ write: []
123
+ instructions:
124
+ - Produce a concise review packet with decision, evidence gate, blockers, and next commands.
125
+ - Never approve sync or marker mutation from weak evidence.
126
+ - "Keep recommendations explicit: inspect, suggestions, draft, diff, adoption, org bind, rollout, sync."
127
+ - End with a mutation boundary statement.
128
+
129
+ workflows:
130
+ evidence-review:
131
+ name: Evidence Review
132
+ description: Collect, classify, and review workflow evidence before adoption, evolution, org rollout, or runtime sync.
133
+ steps:
134
+ - id: collect-evidence
135
+ role: evidence_collector
136
+ description: Collect canonical workflow, dogfood, diagnosis, review, and test evidence.
137
+ prompt: "Collect evidence for {{asset}} from {{evidence_path}}. Include progress JSON, review verdicts, diagnosis specs, test logs, and workflow references. Do not mutate anything."
138
+ checkpoints:
139
+ - assert: clean_working_tree
140
+ message: "Evidence collection should not mutate workflow assets or runtime artifacts."
141
+ action: warn
142
+ handoff:
143
+ produces:
144
+ - type: summary
145
+ name: evidence_index
146
+ description: Canonical evidence paths, missing sources, stale sources, and conflicts.
147
+ - id: classify-authority
148
+ role: evidence_classifier
149
+ description: Classify evidence authority and adoption/evolution readiness.
150
+ depends_on: [collect-evidence]
151
+ prompt: "Classify each evidence claim for {{asset}} as proven, weak, contradicted, missing, or needs human review. Decide whether adoption, org bind, evolution preview, marker mutation, rollout, or sync is allowed."
152
+ checkpoints:
153
+ - assert: clean_working_tree
154
+ message: "Unsupported adoption/evolution/sync claims must remain visible."
155
+ action: warn
156
+ handoff:
157
+ consumes:
158
+ - type: summary
159
+ name: evidence_index
160
+ from: collect-evidence
161
+ description: Evidence source index.
162
+ produces:
163
+ - type: summary
164
+ name: authority_review
165
+ description: Evidence authority, risk, and allowed next commands.
166
+ - id: manager-review
167
+ role: manager_reviewer
168
+ description: Produce the manager review packet and next commands.
169
+ depends_on: [classify-authority]
170
+ prompt: "Prepare a manager review for {{asset}}. Include decision, evidence gate, blockers, allowed next commands, and mutation boundary. Never recommend sync or marker mutation when evidence is weak, active, or contradicted."
171
+ checkpoints:
172
+ - assert: clean_working_tree
173
+ message: "The review must state whether mutation/sync is allowed or blocked."
174
+ action: warn
175
+ handoff:
176
+ consumes:
177
+ - type: summary
178
+ name: authority_review
179
+ from: classify-authority
180
+ description: Evidence authority and allowed next commands.
181
+ produces:
182
+ - type: summary
183
+ name: manager_review_packet
184
+ description: Manager-facing adoption/evolution/sync review packet.
185
+
186
+ controllers:
187
+ evidence-review-gate:
188
+ name: Evidence Review Gate
189
+ description: "Run evidence collection, authority classification, and manager review before adoption, evolution, rollout, or sync."
190
+ kind: sequential
191
+ workflow: evidence-review
192
+ max_rounds: 1
193
+ progress_artifact_path: ".dna/evidence-review/$ARGUMENTS.json"
194
+ roles:
195
+ evidence_collector: evidence_collector
196
+ evidence_classifier: evidence_classifier
197
+ manager_reviewer: manager_reviewer
198
+ stop_format: configured_stop_report
@@ -0,0 +1,257 @@
1
+ # workflow-module-inventory: module and feature inventory before behavior lock, rewrite, rollout, or sync
2
+ # Source: extracted from Flutter rewrite dogfood Phase 0 global scan and v1 feature inventory
3
+ # Purpose: make "inventory before per-module execution" a reusable workflow asset
4
+
5
+ version: "0.1.0"
6
+ id: template_workflow_module_inventory
7
+ name: Workflow Module Inventory
8
+ purpose: Scan modules, pages, actions, evidence gaps, and priorities before per-module workflow execution starts.
9
+ maturity: reviewed
10
+ fit:
11
+ - Broad migrations, rewrites, or audits that need a source-backed module inventory first.
12
+ - Teams planning behavior locks, diagnosis reviews, fix loops, or rollout by module.
13
+ not_for:
14
+ - Starting parallel fixes without source-backed scope and priority.
15
+ - Inferring inventory from chat memory or stale plans.
16
+ inputs:
17
+ - source project or legacy implementation path
18
+ - existing tests and route/module entrypoints
19
+ - target inventory and priority artifact paths
20
+ outputs:
21
+ - module/page/action inventory
22
+ - reviewed inventory verdict
23
+ - prioritized workflow route
24
+ lineage:
25
+ source: Flutter rewrite Phase 0 dogfood inventory
26
+ reference: /Users/samuel/lawark/lwk_flutter_v2-rewrite/docs/v1-feature-inventory.md
27
+ type: project
28
+ namespace: wmi
29
+
30
+ cascade:
31
+ inherits: ["species:default"]
32
+ priority: 100
33
+
34
+ variables:
35
+ source_path:
36
+ description: "Source project or legacy implementation path to inventory"
37
+ default: "$ARGUMENTS"
38
+ inventory_path:
39
+ description: "Module and feature inventory artifact path"
40
+ default: "docs/v1-feature-inventory.md"
41
+ behavior_docs_dir:
42
+ description: "Per-module behavior document directory"
43
+ default: "docs/behavior"
44
+ priority_path:
45
+ description: "Prioritized module route artifact path"
46
+ default: ".dna/module-inventory/$ARGUMENTS-priority.json"
47
+
48
+ evidence:
49
+ - label: Flutter rewrite workflow Phase 0 inventory
50
+ kind: reference
51
+ path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/docs/refactoring-workflow-v2.md
52
+ description: Dogfood workflow doctrine that starts with a global scan to produce module inventory before per-module behavior locks and fixes.
53
+ - label: Flutter rewrite v1 feature inventory
54
+ kind: reference
55
+ path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/docs/v1-feature-inventory.md
56
+ description: Real module/page/action inventory created before module-level behavior documents and rewrite execution.
57
+ - label: Flutter rewrite behavior documents
58
+ kind: reference
59
+ path: /Users/samuel/lawark/lwk_flutter_v2-rewrite/docs/behavior
60
+ description: Per-module behavior documents generated after inventory to lock action chains before implementation.
61
+
62
+ genes:
63
+ inventory_before_execution:
64
+ description: A broad migration or rewrite starts with module/page/action inventory before per-module execution
65
+ codons:
66
+ - type: attract
67
+ target: global_module_inventory
68
+ - type: attract
69
+ target: page_action_map
70
+ - type: repel
71
+ target: start_fixing_without_inventory
72
+ - type: threshold
73
+ condition: "module_inventory_exists == true"
74
+ action: block
75
+
76
+ source_truth_only:
77
+ description: Inventory is derived from source code and runnable artifacts, not memory or stale plans
78
+ codons:
79
+ - type: attract
80
+ target: source_code_scan
81
+ - type: attract
82
+ target: canonical_artifact_paths
83
+ - type: repel
84
+ target: chat_memory_as_inventory_truth
85
+ - type: sense
86
+ signal: missing_source_path
87
+ response: escalate_to_human
88
+
89
+ prioritize_before_parallel_work:
90
+ description: Prioritize modules before starting parallel behavior locks, diagnosis, fixes, or rollout
91
+ codons:
92
+ - type: attract
93
+ target: priority_queue
94
+ - type: attract
95
+ target: one_module_per_session
96
+ - type: repel
97
+ target: unbounded_parallel_rewrite
98
+ - type: threshold
99
+ condition: "module_priority_route_written == true"
100
+ action: block
101
+
102
+ contexts: {}
103
+
104
+ roles:
105
+ inventory_scanner:
106
+ description: Scans the source project and creates a module/page/action inventory without editing app code.
107
+ tool_permissions:
108
+ allow: [Read, Grep, Glob, Write]
109
+ deny: [Edit, Bash, NotebookEdit]
110
+ scope:
111
+ read: ["**/*"]
112
+ write: ["docs/**", ".dna/module-inventory/**"]
113
+ instructions:
114
+ - Read {{source_path}} and identify modules, screens/pages, user-visible actions, services, routes, and existing tests.
115
+ - Produce {{inventory_path}} with module names, page/action lists, source paths, likely behavior-doc needs, and unknowns.
116
+ - Treat source code and existing test files as truth; do not infer inventory from chat memory or Obsidian/wiki notes.
117
+ - Do not edit app code, tests, workflow assets, org profiles, runtime artifacts, or evolution markers.
118
+
119
+ inventory_reviewer:
120
+ description: Reviews the inventory for missing modules, weak evidence, duplicates, and unclear ownership.
121
+ tool_permissions:
122
+ allow: [Read, Grep, Glob]
123
+ deny: [Edit, Write, Bash, NotebookEdit]
124
+ scope:
125
+ read: ["**/*", "docs/**", ".dna/**"]
126
+ write: []
127
+ instructions:
128
+ - Read {{inventory_path}} and sample source paths to verify module/page/action coverage.
129
+ - Flag duplicated modules, missing entrypoints, missing tests, unclear ownership, and weak source evidence.
130
+ - Reject inventory claims that are not backed by source paths or runnable artifacts.
131
+ - Return APPROVE, REQUEST_CHANGES, or BLOCKED with concise reasons.
132
+
133
+ route_planner:
134
+ description: Turns reviewed inventory into a prioritized module route and follow-up workflow commands.
135
+ tool_permissions:
136
+ allow: [Read, Write, Grep, Glob]
137
+ deny: [Edit, Bash, NotebookEdit]
138
+ scope:
139
+ read: ["**/*", "docs/**", ".dna/**"]
140
+ write: [".dna/module-inventory/**"]
141
+ instructions:
142
+ - Write {{priority_path}} with priority, module, source paths, recommended next workflow, evidence gaps, and owner.
143
+ - Recommend behavior lock for modules without behavior docs.
144
+ - Recommend diagnosis review before implementation for risky rewrite modules.
145
+ - Keep one-module-per-session discipline visible.
146
+ - Do not bind organizations, sync runtimes, deploy public surfaces, or mutate evolution markers.
147
+
148
+ manager_reviewer:
149
+ description: Produces a manager-readable inventory route before adoption, rollout, runtime sync, or evolution.
150
+ tool_permissions:
151
+ allow: [Read, Grep, Glob]
152
+ deny: [Edit, Write, Bash, NotebookEdit]
153
+ scope:
154
+ read: ["**/*", "docs/**", ".dna/**"]
155
+ write: []
156
+ instructions:
157
+ - Read {{inventory_path}} and {{priority_path}}.
158
+ - Summarize scope, module count, top priorities, blockers, and next commands.
159
+ - State which modules should go to behavior lock, diagnosis review, fix-review loop, completion audit, or runtime smoke.
160
+ - Keep Obsidian/wiki as internal memory only; use inventory and route artifacts as product evidence.
161
+
162
+ workflows:
163
+ module-inventory:
164
+ name: Module Inventory
165
+ description: Scan source modules, review module/page/action coverage, and produce a prioritized route before per-module workflow execution.
166
+ steps:
167
+ - id: scan-inventory
168
+ role: inventory_scanner
169
+ description: Build the source-backed module/page/action inventory.
170
+ prompt: |
171
+ Build a module inventory for $ARGUMENTS from {{source_path}}.
172
+ Produce {{inventory_path}} with modules, pages/screens, user-visible actions, source paths, existing tests, unknowns, and behavior-doc needs.
173
+ Do not edit app code or runtime artifacts.
174
+ checkpoints:
175
+ - assert: inventory_artifact_written
176
+ command: "test -s \"{{inventory_path}}\""
177
+ message: "Module inventory must exist before review or per-module workflow execution."
178
+ action: block
179
+ handoff:
180
+ produces:
181
+ - type: file
182
+ path: "{{inventory_path}}"
183
+ description: Source-backed module/page/action inventory.
184
+ - id: review-inventory
185
+ role: inventory_reviewer
186
+ depends_on: [scan-inventory]
187
+ description: Review inventory coverage and evidence strength.
188
+ prompt: |
189
+ Review {{inventory_path}} for $ARGUMENTS.
190
+ Check source-backed module coverage, duplicates, missing entrypoints, weak evidence, missing tests, and unclear ownership.
191
+ Return APPROVE, REQUEST_CHANGES, or BLOCKED.
192
+ handoff:
193
+ consumes:
194
+ - type: file
195
+ path: "{{inventory_path}}"
196
+ from: scan-inventory
197
+ description: Module inventory.
198
+ produces:
199
+ - type: summary
200
+ name: inventory_review_verdict
201
+ description: Inventory coverage verdict, missing evidence, and required changes.
202
+ - id: plan-route
203
+ role: route_planner
204
+ depends_on: [review-inventory]
205
+ description: Create a prioritized module route from reviewed inventory.
206
+ prompt: |
207
+ Write {{priority_path}} for $ARGUMENTS.
208
+ Include module priorities, source paths, recommended next workflow, evidence gaps, and owner.
209
+ Route modules to behavior lock, diagnosis review, fix-review loop, completion audit, or runtime smoke as appropriate.
210
+ checkpoints:
211
+ - assert: module_priority_route_written
212
+ command: "test -s \"{{priority_path}}\""
213
+ message: "Prioritized module route must exist before manager route."
214
+ action: block
215
+ handoff:
216
+ consumes:
217
+ - type: summary
218
+ name: inventory_review_verdict
219
+ from: review-inventory
220
+ description: Inventory review verdict.
221
+ produces:
222
+ - type: file
223
+ path: "{{priority_path}}"
224
+ description: Prioritized module route JSON.
225
+ - id: manager-route
226
+ role: manager_reviewer
227
+ depends_on: [plan-route]
228
+ description: Produce manager-readable inventory route and next commands.
229
+ prompt: |
230
+ Read {{inventory_path}} and {{priority_path}} for $ARGUMENTS.
231
+ Summarize module count, top priorities, blockers, and next commands.
232
+ Do not approve organization rollout, runtime sync, deployment, or evolution mutation from inventory alone.
233
+ handoff:
234
+ consumes:
235
+ - type: file
236
+ path: "{{priority_path}}"
237
+ from: plan-route
238
+ description: Prioritized module route.
239
+ produces:
240
+ - type: summary
241
+ name: manager_inventory_route
242
+ description: Manager-readable module inventory route and next workflow commands.
243
+
244
+ controllers:
245
+ module-inventory:
246
+ name: Module Inventory
247
+ description: "Run module inventory, review, priority routing, and manager route before per-module execution."
248
+ kind: sequential
249
+ workflow: module-inventory
250
+ max_rounds: 1
251
+ progress_artifact_path: ".dna/module-inventory/$ARGUMENTS.controller.json"
252
+ roles:
253
+ inventory_scanner: inventory_scanner
254
+ inventory_reviewer: inventory_reviewer
255
+ route_planner: route_planner
256
+ manager_reviewer: manager_reviewer
257
+ stop_format: configured_stop_report