@massa-ai/codex-plugin 1.61.0 → 1.62.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 (268) hide show
  1. package/.codex-plugin/plugin.json +1 -1
  2. package/README.md +1 -1
  3. package/{agents/massa-ai-builder.toml → agent-profiles/balanced/builder.toml} +3 -4
  4. package/agent-profiles/balanced/code-explorer.toml +101 -0
  5. package/agent-profiles/balanced/code-reviewer.toml +133 -0
  6. package/agent-profiles/balanced/{massa-ai-designer.toml → designer.toml} +34 -17
  7. package/agent-profiles/balanced/judge.toml +147 -0
  8. package/agent-profiles/balanced/product-manager.toml +107 -0
  9. package/agent-profiles/balanced/test-engineer.toml +100 -0
  10. package/agent-profiles/cheap/{massa-ai-builder.toml → builder.toml} +3 -4
  11. package/agent-profiles/cheap/code-explorer.toml +101 -0
  12. package/agent-profiles/cheap/code-reviewer.toml +133 -0
  13. package/agent-profiles/cheap/{massa-ai-designer.toml → designer.toml} +34 -17
  14. package/agent-profiles/cheap/judge.toml +147 -0
  15. package/agent-profiles/cheap/product-manager.toml +107 -0
  16. package/agent-profiles/cheap/test-engineer.toml +100 -0
  17. package/agent-profiles/{work/massa-ai-builder.toml → heavy/builder.toml} +3 -4
  18. package/agent-profiles/heavy/code-explorer.toml +101 -0
  19. package/agent-profiles/heavy/code-reviewer.toml +133 -0
  20. package/agent-profiles/{work/massa-ai-designer.toml → heavy/designer.toml} +34 -17
  21. package/agent-profiles/heavy/judge.toml +147 -0
  22. package/agent-profiles/heavy/product-manager.toml +107 -0
  23. package/agent-profiles/heavy/test-engineer.toml +100 -0
  24. package/agent-profiles/home/{massa-ai-builder.toml → builder.toml} +3 -4
  25. package/agent-profiles/home/code-explorer.toml +101 -0
  26. package/agent-profiles/home/code-reviewer.toml +133 -0
  27. package/{agents/massa-ai-designer.toml → agent-profiles/home/designer.toml} +34 -17
  28. package/agent-profiles/home/judge.toml +147 -0
  29. package/agent-profiles/home/product-manager.toml +107 -0
  30. package/agent-profiles/home/test-engineer.toml +100 -0
  31. package/agent-profiles/{heavy/massa-ai-builder.toml → work/builder.toml} +3 -4
  32. package/agent-profiles/work/code-explorer.toml +101 -0
  33. package/agent-profiles/work/code-reviewer.toml +133 -0
  34. package/agent-profiles/{heavy/massa-ai-designer.toml → work/designer.toml} +34 -17
  35. package/agent-profiles/work/judge.toml +147 -0
  36. package/agent-profiles/work/product-manager.toml +107 -0
  37. package/agent-profiles/work/test-engineer.toml +100 -0
  38. package/{agent-profiles/balanced/massa-ai-builder.toml → agents/builder.toml} +3 -4
  39. package/agents/code-explorer.toml +101 -0
  40. package/agents/code-reviewer.toml +133 -0
  41. package/{agent-profiles/home/massa-ai-designer.toml → agents/designer.toml} +34 -17
  42. package/agents/judge.toml +147 -0
  43. package/agents/product-manager.toml +107 -0
  44. package/agents/test-engineer.toml +100 -0
  45. package/hooks/massa-ai-hook +4 -4
  46. package/install.sh +98 -24
  47. package/package.json +1 -1
  48. package/skills/agents/builder/SKILL.md +3 -4
  49. package/skills/agents/code-explorer/SKILL.md +104 -0
  50. package/skills/agents/code-reviewer/SKILL.md +136 -0
  51. package/skills/agents/designer/SKILL.md +34 -17
  52. package/skills/agents/judge/SKILL.md +99 -48
  53. package/skills/agents/product-manager/SKILL.md +110 -0
  54. package/skills/agents/test-engineer/SKILL.md +57 -22
  55. package/skills/bootstrap/SKILL.md +4 -5
  56. package/skills/{adr.md → create-adr.md} +3 -3
  57. package/skills/{to-prd.md → create-prd.md} +3 -3
  58. package/skills/{rfc.md → create-rfc.md} +3 -3
  59. package/skills/{tdd.md → create-tdd.md} +3 -3
  60. package/skills/{ticket.md → create-ticket.md} +3 -3
  61. package/skills/massa-ai/SKILL.md +26 -29
  62. package/skills/massa-ai/references/agent-orchestration.md +62 -58
  63. package/skills/massa-ai/references/audit-report-io.md +8 -87
  64. package/skills/massa-ai/references/code-reuse-scan.md +1 -1
  65. package/skills/massa-ai/references/{adr-authoring.md → create-adr.md} +3 -3
  66. package/skills/massa-ai/references/{rfc → create-rfc}/discovery-and-sizing.md +1 -1
  67. package/skills/massa-ai/references/{tdd → create-tdd}/calibrated-examples.md +3 -3
  68. package/skills/massa-ai/references/{tdd → create-tdd}/discovery-and-sizing.md +1 -1
  69. package/skills/massa-ai/references/{tdd → create-tdd}/quality-and-lifecycle.md +1 -1
  70. package/skills/massa-ai/references/{ticket → create-ticket}/intake-and-sources.md +1 -1
  71. package/skills/massa-ai/references/figma-pre-analysis.md +1 -1
  72. package/skills/massa-ai/references/furps/analyst-role.md +3 -3
  73. package/skills/massa-ai/references/furps/checklist.md +2 -2
  74. package/skills/massa-ai/references/furps/intake.md +7 -7
  75. package/skills/massa-ai/references/hook-enforcement.md +4 -8
  76. package/skills/massa-ai/references/implementation-delivery.md +2 -2
  77. package/skills/massa-ai/references/knowledge-verification-chain.md +0 -1
  78. package/skills/massa-ai/references/mobile-context.md +2 -5
  79. package/skills/massa-ai/references/pr-task-fix.md +1 -1
  80. package/skills/massa-ai/references/spec-driven/sub-agents.md +3 -3
  81. package/skills/massa-ai/references/spec-driven/validate.md +1 -1
  82. package/skills/massa-ai/references/subagent-design.md +6 -9
  83. package/skills/massa-ai/references/verification-ladder.md +2 -2
  84. package/skills/massa-ai/scripts/validate_audit_report.ts +3 -8
  85. package/skills/massa-ai/workflows/architecture/architecture-audit.md +4 -5
  86. package/skills/massa-ai/workflows/architecture/architecture-fix.md +5 -6
  87. package/skills/massa-ai/workflows/bugs/bugs-audit.md +2 -3
  88. package/skills/massa-ai/workflows/bugs/bugs-fix.md +4 -5
  89. package/skills/massa-ai/workflows/code-quality/code-quality-audit.md +2 -3
  90. package/skills/massa-ai/workflows/code-quality/code-quality-fix.md +4 -5
  91. package/skills/massa-ai/workflows/commit.md +3 -3
  92. package/skills/massa-ai/workflows/{adr.md → create-adr.md} +10 -10
  93. package/skills/massa-ai/workflows/{to-prd.md → create-prd.md} +4 -4
  94. package/skills/massa-ai/workflows/{rfc.md → create-rfc.md} +6 -6
  95. package/skills/massa-ai/workflows/{tdd.md → create-tdd.md} +11 -11
  96. package/skills/massa-ai/workflows/{ticket.md → create-ticket.md} +5 -5
  97. package/skills/massa-ai/workflows/debug.md +4 -5
  98. package/skills/massa-ai/workflows/design.md +2 -2
  99. package/skills/massa-ai/workflows/exploration.md +2 -2
  100. package/skills/massa-ai/workflows/feature.md +5 -6
  101. package/skills/massa-ai/workflows/implementation/implementation-audit.md +22 -3
  102. package/skills/massa-ai/workflows/implementation/implementation-fix.md +6 -7
  103. package/skills/massa-ai/workflows/judge-with-debate.md +14 -14
  104. package/skills/massa-ai/workflows/mobile-figma/mobile-figma-audit.md +2 -2
  105. package/skills/massa-ai/workflows/mobile-figma/mobile-figma-fix.md +10 -11
  106. package/skills/massa-ai/workflows/pr-review.md +31 -13
  107. package/skills/massa-ai/workflows/{discovery.md → product-discovery.md} +12 -12
  108. package/skills/massa-ai/workflows/refactor.md +4 -5
  109. package/skills/massa-ai/workflows/refinement/furps-refinement.md +7 -7
  110. package/skills/massa-ai/workflows/requirements/requirements-audit.md +2 -2
  111. package/skills/massa-ai/workflows/requirements/requirements-fix.md +5 -6
  112. package/skills/massa-ai/workflows/security/security-audit.md +2 -3
  113. package/skills/massa-ai/workflows/security/security-fix.md +3 -4
  114. package/skills/massa-ai/workflows/spec-driven.md +9 -10
  115. package/skills/massa-ai/workflows/tests/tests-audit.md +2 -2
  116. package/skills/massa-ai/workflows/tests/tests-fix.md +16 -6
  117. package/skills/massa-ai/workflows/the-fool.md +7 -7
  118. package/skills/{discovery.md → product-discovery.md} +3 -3
  119. package/agent-profiles/balanced/massa-ai-architecture-specialist.toml +0 -62
  120. package/agent-profiles/balanced/massa-ai-audit-specialist.toml +0 -79
  121. package/agent-profiles/balanced/massa-ai-context-curator.toml +0 -64
  122. package/agent-profiles/balanced/massa-ai-documentation-agent.toml +0 -62
  123. package/agent-profiles/balanced/massa-ai-furps-analyst.toml +0 -68
  124. package/agent-profiles/balanced/massa-ai-investigator.toml +0 -65
  125. package/agent-profiles/balanced/massa-ai-judge.toml +0 -96
  126. package/agent-profiles/balanced/massa-ai-meta-judge.toml +0 -84
  127. package/agent-profiles/balanced/massa-ai-mobile-specialist.toml +0 -79
  128. package/agent-profiles/balanced/massa-ai-navigator.toml +0 -72
  129. package/agent-profiles/balanced/massa-ai-plan-critic.toml +0 -87
  130. package/agent-profiles/balanced/massa-ai-planner.toml +0 -62
  131. package/agent-profiles/balanced/massa-ai-requirements-analyst.toml +0 -61
  132. package/agent-profiles/balanced/massa-ai-reviewer.toml +0 -63
  133. package/agent-profiles/balanced/massa-ai-test-engineer.toml +0 -64
  134. package/agent-profiles/balanced/massa-ai-verification-agent.toml +0 -62
  135. package/agent-profiles/cheap/massa-ai-architecture-specialist.toml +0 -62
  136. package/agent-profiles/cheap/massa-ai-audit-specialist.toml +0 -79
  137. package/agent-profiles/cheap/massa-ai-context-curator.toml +0 -64
  138. package/agent-profiles/cheap/massa-ai-documentation-agent.toml +0 -62
  139. package/agent-profiles/cheap/massa-ai-furps-analyst.toml +0 -68
  140. package/agent-profiles/cheap/massa-ai-investigator.toml +0 -65
  141. package/agent-profiles/cheap/massa-ai-judge.toml +0 -96
  142. package/agent-profiles/cheap/massa-ai-meta-judge.toml +0 -84
  143. package/agent-profiles/cheap/massa-ai-mobile-specialist.toml +0 -79
  144. package/agent-profiles/cheap/massa-ai-navigator.toml +0 -72
  145. package/agent-profiles/cheap/massa-ai-plan-critic.toml +0 -87
  146. package/agent-profiles/cheap/massa-ai-planner.toml +0 -62
  147. package/agent-profiles/cheap/massa-ai-requirements-analyst.toml +0 -61
  148. package/agent-profiles/cheap/massa-ai-reviewer.toml +0 -63
  149. package/agent-profiles/cheap/massa-ai-test-engineer.toml +0 -64
  150. package/agent-profiles/cheap/massa-ai-verification-agent.toml +0 -62
  151. package/agent-profiles/heavy/massa-ai-architecture-specialist.toml +0 -62
  152. package/agent-profiles/heavy/massa-ai-audit-specialist.toml +0 -79
  153. package/agent-profiles/heavy/massa-ai-context-curator.toml +0 -64
  154. package/agent-profiles/heavy/massa-ai-documentation-agent.toml +0 -62
  155. package/agent-profiles/heavy/massa-ai-furps-analyst.toml +0 -68
  156. package/agent-profiles/heavy/massa-ai-investigator.toml +0 -65
  157. package/agent-profiles/heavy/massa-ai-judge.toml +0 -96
  158. package/agent-profiles/heavy/massa-ai-meta-judge.toml +0 -84
  159. package/agent-profiles/heavy/massa-ai-mobile-specialist.toml +0 -79
  160. package/agent-profiles/heavy/massa-ai-navigator.toml +0 -72
  161. package/agent-profiles/heavy/massa-ai-plan-critic.toml +0 -87
  162. package/agent-profiles/heavy/massa-ai-planner.toml +0 -62
  163. package/agent-profiles/heavy/massa-ai-requirements-analyst.toml +0 -61
  164. package/agent-profiles/heavy/massa-ai-reviewer.toml +0 -63
  165. package/agent-profiles/heavy/massa-ai-test-engineer.toml +0 -64
  166. package/agent-profiles/heavy/massa-ai-verification-agent.toml +0 -62
  167. package/agent-profiles/home/massa-ai-architecture-specialist.toml +0 -62
  168. package/agent-profiles/home/massa-ai-audit-specialist.toml +0 -79
  169. package/agent-profiles/home/massa-ai-context-curator.toml +0 -64
  170. package/agent-profiles/home/massa-ai-documentation-agent.toml +0 -62
  171. package/agent-profiles/home/massa-ai-furps-analyst.toml +0 -68
  172. package/agent-profiles/home/massa-ai-investigator.toml +0 -65
  173. package/agent-profiles/home/massa-ai-judge.toml +0 -96
  174. package/agent-profiles/home/massa-ai-meta-judge.toml +0 -84
  175. package/agent-profiles/home/massa-ai-mobile-specialist.toml +0 -79
  176. package/agent-profiles/home/massa-ai-navigator.toml +0 -72
  177. package/agent-profiles/home/massa-ai-plan-critic.toml +0 -87
  178. package/agent-profiles/home/massa-ai-planner.toml +0 -62
  179. package/agent-profiles/home/massa-ai-requirements-analyst.toml +0 -61
  180. package/agent-profiles/home/massa-ai-reviewer.toml +0 -63
  181. package/agent-profiles/home/massa-ai-test-engineer.toml +0 -64
  182. package/agent-profiles/home/massa-ai-verification-agent.toml +0 -62
  183. package/agent-profiles/work/massa-ai-architecture-specialist.toml +0 -62
  184. package/agent-profiles/work/massa-ai-audit-specialist.toml +0 -79
  185. package/agent-profiles/work/massa-ai-context-curator.toml +0 -64
  186. package/agent-profiles/work/massa-ai-documentation-agent.toml +0 -62
  187. package/agent-profiles/work/massa-ai-furps-analyst.toml +0 -68
  188. package/agent-profiles/work/massa-ai-investigator.toml +0 -65
  189. package/agent-profiles/work/massa-ai-judge.toml +0 -96
  190. package/agent-profiles/work/massa-ai-meta-judge.toml +0 -84
  191. package/agent-profiles/work/massa-ai-mobile-specialist.toml +0 -79
  192. package/agent-profiles/work/massa-ai-navigator.toml +0 -72
  193. package/agent-profiles/work/massa-ai-plan-critic.toml +0 -87
  194. package/agent-profiles/work/massa-ai-planner.toml +0 -62
  195. package/agent-profiles/work/massa-ai-requirements-analyst.toml +0 -61
  196. package/agent-profiles/work/massa-ai-reviewer.toml +0 -63
  197. package/agent-profiles/work/massa-ai-test-engineer.toml +0 -64
  198. package/agent-profiles/work/massa-ai-verification-agent.toml +0 -62
  199. package/agents/massa-ai-architecture-specialist.toml +0 -62
  200. package/agents/massa-ai-audit-specialist.toml +0 -79
  201. package/agents/massa-ai-context-curator.toml +0 -64
  202. package/agents/massa-ai-documentation-agent.toml +0 -62
  203. package/agents/massa-ai-furps-analyst.toml +0 -68
  204. package/agents/massa-ai-investigator.toml +0 -65
  205. package/agents/massa-ai-judge.toml +0 -96
  206. package/agents/massa-ai-meta-judge.toml +0 -84
  207. package/agents/massa-ai-mobile-specialist.toml +0 -79
  208. package/agents/massa-ai-navigator.toml +0 -72
  209. package/agents/massa-ai-plan-critic.toml +0 -87
  210. package/agents/massa-ai-planner.toml +0 -62
  211. package/agents/massa-ai-requirements-analyst.toml +0 -61
  212. package/agents/massa-ai-reviewer.toml +0 -63
  213. package/agents/massa-ai-test-engineer.toml +0 -64
  214. package/agents/massa-ai-verification-agent.toml +0 -62
  215. package/skills/agents/architecture-specialist/SKILL.md +0 -66
  216. package/skills/agents/audit-specialist/SKILL.md +0 -83
  217. package/skills/agents/context-curator/SKILL.md +0 -68
  218. package/skills/agents/documentation-agent/SKILL.md +0 -66
  219. package/skills/agents/furps-analyst/SKILL.md +0 -71
  220. package/skills/agents/investigator/SKILL.md +0 -69
  221. package/skills/agents/meta-judge/SKILL.md +0 -87
  222. package/skills/agents/mobile-specialist/SKILL.md +0 -83
  223. package/skills/agents/navigator/SKILL.md +0 -76
  224. package/skills/agents/plan-critic/SKILL.md +0 -90
  225. package/skills/agents/planner/SKILL.md +0 -66
  226. package/skills/agents/requirements-analyst/SKILL.md +0 -65
  227. package/skills/agents/reviewer/SKILL.md +0 -67
  228. package/skills/agents/verification-agent/SKILL.md +0 -66
  229. package/skills/general.md +0 -14
  230. package/skills/maestro-audit.md +0 -14
  231. package/skills/maestro-fix.md +0 -14
  232. package/skills/maestro.md +0 -14
  233. package/skills/massa-ai/personas/README.md +0 -35
  234. package/skills/massa-ai/personas/ai-native-nodejs-cli-architect.md +0 -47
  235. package/skills/massa-ai/personas/catalog.json +0 -7
  236. package/skills/massa-ai/personas/context-skill-harness-engineer-architect.md +0 -47
  237. package/skills/massa-ai/personas/product-manager.md +0 -65
  238. package/skills/massa-ai/personas/senior-mobile-engineer.md +0 -46
  239. package/skills/massa-ai/personas/senior-mobile-qa-automation-engineer.md +0 -51
  240. package/skills/massa-ai/personas/signals/ai-native-nodejs-cli-architect.json +0 -20
  241. package/skills/massa-ai/personas/signals/context-skill-harness-engineer-architect.json +0 -20
  242. package/skills/massa-ai/personas/signals/product-manager.json +0 -21
  243. package/skills/massa-ai/personas/signals/senior-mobile-engineer.json +0 -18
  244. package/skills/massa-ai/personas/signals/senior-mobile-qa-automation-engineer.json +0 -18
  245. package/skills/massa-ai/references/maestro/artifacts-reports.md +0 -69
  246. package/skills/massa-ai/references/maestro/cli-device.md +0 -65
  247. package/skills/massa-ai/references/maestro/cloud.md +0 -69
  248. package/skills/massa-ai/references/maestro/config-env-output.md +0 -76
  249. package/skills/massa-ai/references/maestro/fact-ledger.md +0 -73
  250. package/skills/massa-ai/references/maestro/js-scripting.md +0 -70
  251. package/skills/massa-ai/references/maestro/mcp.md +0 -59
  252. package/skills/massa-ai/references/maestro/patterns.md +0 -102
  253. package/skills/massa-ai/references/maestro/selectors.md +0 -91
  254. package/skills/massa-ai/references/maestro/workspace-execution.md +0 -81
  255. package/skills/massa-ai/references/maestro/yaml-commands.md +0 -203
  256. package/skills/massa-ai/references/maestro.md +0 -31
  257. package/skills/massa-ai/workflows/general.md +0 -88
  258. package/skills/massa-ai/workflows/maestro/maestro-audit.md +0 -64
  259. package/skills/massa-ai/workflows/maestro/maestro-fix.md +0 -111
  260. package/skills/massa-ai/workflows/maestro/maestro.md +0 -80
  261. package/skills/persona-router/SKILL.md +0 -52
  262. package/skills/persona-router/references/routing-details.md +0 -98
  263. /package/skills/massa-ai/references/{rfc → create-rfc}/ATTRIBUTION.md +0 -0
  264. /package/skills/massa-ai/references/{rfc → create-rfc}/document-contract.md +0 -0
  265. /package/skills/massa-ai/references/{rfc → create-rfc}/quality-and-lifecycle.md +0 -0
  266. /package/skills/massa-ai/references/{tdd → create-tdd}/document-contract.md +0 -0
  267. /package/skills/massa-ai/references/{ticket → create-ticket}/atlassian-fix.md +0 -0
  268. /package/skills/massa-ai/references/{ticket → create-ticket}/templates-and-quality.md +0 -0
@@ -75,19 +75,19 @@ Keep local when any are true:
75
75
 
76
76
  ## Plan Challenge Exception
77
77
 
78
- Plan Challenge `plan-critic` is a standing policy exception to the normal dispatch triggers after a concrete plan exists. Always attempt a read-only `massa-ai-plan-critic` for both `depth: lite` and `depth: full` when subagent tooling is available and platform policy permits spawning. Normal base requirements still matter for packet quality: the critique must be bounded, read-only, and concrete, but it does not need to satisfy the ordinary dispatch triggers such as file count, module count, or explicit user delegation.
78
+ The Plan Challenge `judge` dispatch in `plan-critique` mode is a standing policy exception to the normal dispatch triggers after a concrete plan exists. Always attempt it for both `depth: lite` and `depth: full` when subagent tooling is available and platform policy permits spawning. Normal base requirements still matter for packet quality: the critique must be bounded, write nothing, and be concrete, but it does not need to satisfy the ordinary dispatch triggers such as file count, module count, or explicit user delegation.
79
79
 
80
80
  For all other roles, preserve the normal delegation gates above.
81
81
 
82
82
  ## Independent Verification Exception (fix workflows + Standard+ light-workflow tiers)
83
83
 
84
- The Independent Verification Mandate in `references/verification-ladder.md` is a second standing policy exception, parallel to the Plan Challenge one: when a `*-fix` workflow closes a finding, or a light workflow (`debug`, `feature`, `general`, `refactor`) completes Standard+ work, always attempt the `massa-ai-verification-agent` dispatch when subagent tooling is available and platform policy permits spawning — it does not need to satisfy the ordinary dispatch triggers (file count, module count, explicit user delegation). Base packet-quality requirements still apply, and the mandate's own tier gates, security-fix unconditional rule, and fresh-eyes fallback live in that ladder section, not here.
84
+ The Independent Verification Mandate in `references/verification-ladder.md` is a second standing policy exception, parallel to the Plan Challenge one: when a `*-fix` workflow closes a finding, or a light workflow (`debug`, `feature`, `refactor`) completes Standard+ work, always attempt the `code-reviewer` dispatch in `verify` mode when subagent tooling is available and platform policy permits spawning — it does not need to satisfy the ordinary dispatch triggers (file count, module count, explicit user delegation). Base packet-quality requirements still apply, and the mandate's own tier gates, security-fix unconditional rule, and fresh-eyes fallback live in that ladder section, not here.
85
85
 
86
86
  ## Screen Implementation Exception (any workflow that can produce a screen)
87
87
 
88
- A third standing policy exception, parallel to the two above: **when a task creates or modifies a user-facing screen, always attempt the `massa-ai-designer` dispatch** while subagent tooling is available and platform policy permits spawning. Once that condition holds the dispatch is not subject to the ordinary dispatch triggers — not file count, not module count, not explicit user delegation.
88
+ A third standing policy exception, parallel to the two above: **when a task creates or modifies a user-facing screen, always attempt the `designer` dispatch** while subagent tooling is available and platform policy permits spawning. Once that condition holds the dispatch is not subject to the ordinary dispatch triggers — not file count, not module count, not explicit user delegation.
89
89
 
90
- The condition is the whole gate. On a task with no screen surface the dispatch does not fire at all, which is why the seven dispatching workflows can carry it without firing it on every task. "Creates or modifies a user-facing screen" means a change to a screen, view, page, component, layout, style, theme, or design-token file, or any change whose acceptance criteria describe what a user sees.
90
+ The condition is the whole gate. On a task with no screen surface the dispatch does not fire at all, which is why the dispatching workflows can carry it without firing it on every task. The `design`, `mobile-figma-audit`, and `mobile-figma-fix` workflows dispatch it unconditionally, because every task there is screen work. "Creates or modifies a user-facing screen" means a change to a screen, view, page, component, layout, style, theme, or design-token file, or any change whose acceptance criteria describe what a user sees.
91
91
 
92
92
  Two shape rules follow from the roles involved:
93
93
 
@@ -98,16 +98,25 @@ Base packet-quality requirements still apply, and the no-agent fallback below ap
98
98
 
99
99
  ## Name Resolution
100
100
 
101
- Charters live at `skills/agents/<role>/SKILL.md`. Hosts register every charter
102
- under the prefixed name `massa-ai-<role>` (Claude, Codex, Cursor, OpenCode all
103
- use that prefix; `scripts/generate-subagent-artifacts.ts` emits it).
104
-
105
- - **Dispatch under the prefixed host name**, never the bare role name. A bare
106
- `subagent_type` does not resolve on any supported host.
107
- - The bare role name is the registry key: use it in memory tags, capability
108
- packets, and prose.
109
- - Every dispatch block in a workflow carries the prefixed name inline so
110
- dispatch never depends on this file being loaded.
101
+ Charters live at `skills/agents/<role>/SKILL.md`. Every host registers each
102
+ charter under its bare role name (`scripts/generate-subagent-artifacts.ts` emits
103
+ `<role>.md` / `<role>.toml` with `name: <role>`). Installers tell massa-ai's
104
+ agent files apart from a user's by the `massa-ai-owned` content marker, never
105
+ by name, and never overwrite a same-named agent the user owns.
106
+
107
+ - **Claude plugin route: dispatch `massa-ai:<role>`.** Plugin agents live in the
108
+ plugin namespace (the agent list shows them as `massa-ai:<role>`), so the
109
+ qualified name reaches massa-ai's agent even when the user or the project
110
+ defines an agent with the same bare name. The always-loaded router states this
111
+ rule, so dispatch never depends on this file being loaded.
112
+ - **Claude file route, Codex, Cursor, OpenCode: dispatch the bare `<role>`.**
113
+ These hosts have no agent namespace. Accepted risk: when an installer skipped
114
+ a same-named agent the user owns (it warns at install time), that user agent
115
+ receives the dispatch.
116
+ - Dispatch blocks and prose name the bare role; it is also the registry key in
117
+ memory tags and capability packets.
118
+ - The pre-rename `massa-ai-<role>` names are retired: installers prune them on
119
+ upgrade, and no workflow dispatches them.
111
120
 
112
121
  If the named agent is unavailable for any reason — not registered, plugin not
113
122
  installed, spawning forbidden by platform policy, or the host returns an unknown
@@ -118,10 +127,10 @@ delegation with its reason in the Evidence Gate.
118
127
  ## Model Diversity Fallback
119
128
 
120
129
  Applies to any charter whose dispatching workflow requests per-invocation model diversity
121
- at dispatch time (e.g. `judge` — 3 parallel slots; `meta-judge` — one slot).
130
+ at dispatch time (e.g. `judge` in `scorer` mode — 3 parallel slots; `judge` in `spec-author` mode — one slot).
122
131
 
123
- - Read-only agents (judge, meta-judge, audit-specialist, navigator, and others) carry no
124
- per-agent model override in the profile and resolve to the profile's per-tool default.
132
+ - Agents without a per-agent model override in the built-in profiles (`code-explorer`,
133
+ `code-reviewer`, `judge`, `product-manager`) resolve to the profile's per-tool default.
125
134
  By convention, the default is the profile's strongest model.
126
135
  - The dispatching workflow (e.g. `workflows/judge-with-debate.md`) is the single source
127
136
  for the current slot/model assignment, not the charter file.
@@ -138,7 +147,7 @@ Before adding a new reusable role, load `references/subagent-design.md` and writ
138
147
 
139
148
  **The roster lives in one place: the Agent Table of `skills/AGENTS.md`**, which names
140
149
  every shipped specialist with its purpose, trigger, permission, and charter path. Do not
141
- restate it here. A second roster in this file is what let `judge` and `meta-judge` go
150
+ restate it here. A second roster in this file is what once let the two debate-panel charters go
142
151
  undocumented for a whole release with every gate green — the guard checked that the
143
152
  charter paths *mentioned* here resolve, which a charter that is never mentioned cannot
144
153
  fail.
@@ -149,22 +158,22 @@ resolves to a current agent.
149
158
 
150
159
  | Legacy role | Current agent | Note |
151
160
  |---|---|---|
152
- | `implementer` | `massa-ai-builder` | renamed |
153
- | `verifier` | `massa-ai-verification-agent` | renamed; also centralizes the Verification Ladder |
154
- | `domain-mapper` | `massa-ai-architecture-specialist` | folded in; `lens: domain` |
155
- | `coupling-auditor` | `massa-ai-architecture-specialist` | folded in; `lens: coupling` |
156
- | `deepening-architect` | `massa-ai-architecture-specialist` | folded in; `lens: deepening` |
161
+ | `implementer` | `builder` | renamed |
162
+ | `verifier` | `code-reviewer` | folded in; `mode: verify`, which centralizes the Verification Ladder |
163
+ | `domain-mapper` | `code-reviewer` | folded in; `mode: audit`, `lens: architecture`, `sub-mode: domain` (packet field defined in the `code-reviewer` charter Inputs) |
164
+ | `coupling-auditor` | `code-reviewer` | folded in; `mode: audit`, `lens: architecture`, `sub-mode: coupling` |
165
+ | `deepening-architect` | `code-reviewer` | folded in; `mode: audit`, `lens: architecture`, `sub-mode: deepening` |
157
166
 
158
- `investigator`, `plan-critic` and `furps-analyst` kept their own names; every other
159
- specialist is new and never had a legacy one. Workflows dispatch the current
160
- `massa-ai-<role>` name through a named dispatch block — the legacy column is traceability
161
- only, never a dispatch target.
167
+ The charter names retired by the roster consolidation map to current agents in the
168
+ single old→new table of `skills/AGENTS.md`; this file does not repeat it. Workflows
169
+ dispatch the current `<role>` name through a named dispatch block — the legacy column
170
+ is traceability only, never a dispatch target.
162
171
 
163
172
  ## Capability Packet
164
173
 
165
- **This section is the sole canonical Capability Packet definition.** `references/subagent-design.md` mirrors this list and the root `skills/AGENTS.md` registry points here without restating it. Bespoke packets (judge panel, FURPS analyst, phase-batch worker) are declared specializations that map onto these fields in their own workflow files.
174
+ **This section is the sole canonical Capability Packet definition.** `references/subagent-design.md` mirrors this list and the root `skills/AGENTS.md` registry points here without restating it. Bespoke packets (judge panel, `product-manager` FURPS dispatch, phase-batch worker) are declared specializations that map onto these fields in their own workflow files.
166
175
 
167
- **A subagent inherits nothing from the parent session** — no skills, no personas, no loaded references, no conversation history. Everything the subagent needs is named explicitly in the packet, including the exact reference file paths it must read itself.
176
+ **A subagent inherits nothing from the parent session** — no skills, no loaded references, no conversation history. Everything the subagent needs is named explicitly in the packet, including the exact reference file paths it must read itself.
168
177
 
169
178
  When dispatching a subagent, send a compact capability packet rather than a loose instruction. Include:
170
179
 
@@ -178,11 +187,11 @@ When dispatching a subagent, send a compact capability packet rather than a loos
178
187
  - `output`: the exact output contract
179
188
  - `firewall`: raw logs, diffs, snapshots, reports, or research that must be summarized
180
189
  - `memory`: whether the subagent may suggest memories and who persists them
181
- - `persona`: optional. The active route's cataloged persona id in effect for the parent conversation, passed as advisory framing only — it never overrides the agent's charter Restrictions, scope, or permissions. Pass the id alone, never the persona prompt. Omit the field when no persona is routed.
182
190
  - `next_use`: what the main agent will do with the result
183
- - `lens`: conditional — `audit-specialist` dispatches only. One of `bugs | architecture | security | requirements | code-quality | performance`.
191
+ - `mode`: conditional — for a charter that declares modes (`code-explorer`, `code-reviewer`, `designer`, `judge`, `product-manager`, `test-engineer`), the `Mode:` section of the charter this dispatch runs.
192
+ - `lens`: conditional — `code-reviewer` `audit` dispatches only. One of `bugs | architecture | security | code-quality | performance`; the requirements lens is `product-manager` `audit` mode and the tests lens is `test-engineer` `audit` mode.
184
193
 
185
- The named dispatch block that workflows embed (the quoted block whose header carries the prefixed agent name and role) is the block projection of this packet: `role` and `purpose` live in the block's header line, and `next_use` defaults to "the main agent synthesizes and continues the workflow" when absent. The remaining eight fields — `trigger, scope, permissions, inputs, sensors, output, firewall, memory` — appear as the block's body lines, except where Role Defaults below already fix a field's value.
194
+ The named dispatch block that workflows embed (the quoted block whose header carries the agent name, role, and mode) is the block projection of this packet: `role`, `mode`, and `purpose` live in the block's header line, and `next_use` defaults to "the main agent synthesizes and continues the workflow" when absent. The remaining eight fields — `trigger, scope, permissions, inputs, sensors, output, firewall, memory` — appear as the block's body lines, except where Role Defaults below already fix a field's value.
186
195
 
187
196
  ### Role Defaults
188
197
 
@@ -196,24 +205,19 @@ Reading a workflow's dispatch block therefore means reading this section beside
196
205
  it. That is the trade: the block stops being self-contained in exchange for
197
206
  having exactly one place a shared value can be wrong.
198
207
 
199
- **Every role, every dispatch**
208
+ **`code-reviewer`** (every mode)
200
209
 
201
- - `persona` — as defined in the Capability Packet list above. It is never written
202
- in a dispatch block; it applies to all of them.
210
+ - `permissions`: read-only
203
211
 
204
- **`massa-ai-reviewer`**
212
+ **`code-reviewer`, `mode: review`**
205
213
 
206
214
  - `fallback`: if the subagent is unavailable, run a standalone fresh-eyes review against this output contract and record the skipped-delegation reason
207
215
 
208
- **`massa-ai-verification-agent`**
209
-
210
- - `permissions`: read-only
211
-
212
- **`massa-ai-designer`** — its dispatch is mandatory-on-condition, so its trigger is
216
+ **`designer`** — its dispatch is mandatory-on-condition, so its trigger is
213
217
  fixed here rather than per workflow; a block that reworded it would silently make
214
218
  the dispatch advisory in that one file.
215
219
 
216
- - `trigger`: the task creates or modifies a user-facing screen — mandatory once that condition holds, per the Screen Implementation Exception in `references/agent-orchestration.md`; it does not fire when no screen surface is touched
220
+ - `trigger`: the task creates or modifies a user-facing screen — mandatory once that condition holds, per the Screen Implementation Exception in `references/agent-orchestration.md`; it does not fire when no screen surface is touched, and the `design`, `mobile-figma-audit`, and `mobile-figma-fix` workflows dispatch it unconditionally
217
221
  - `sensors`: Figma MCP read when a design source exists; per-element expected-vs-actual comparison; the UI module's own build/lint; the states a design under-specifies — empty, loading, error, long text, small and large sizes
218
222
  - `inputs`: exact `projectId`, parent `workflowSessionId`, Figma links/node ids or screenshots when supplied, acceptance criteria, the repository's existing UI conventions and design tokens, recalled screen patterns
219
223
  - `firewall`: summarized design-source evidence and `path:line` pointers only, never raw Figma node dumps or full file bodies
@@ -283,16 +287,16 @@ Example:
283
287
 
284
288
  ### Model/Effort Announcement
285
289
 
286
- Every dispatch of any of the 18 massa-ai roster specialists names the agent, its model,
290
+ Every dispatch of any of the 7 massa-ai roster specialists names the agent, its model,
287
291
  and its effort in the `Agent Started` line above, inside that line's existing 1-2 line
288
292
  budget. No exemption: this covers the three standing dispatch exceptions
289
- (`plan-critic`, `verification-agent`, `designer`) and spec-driven batch workers exactly
293
+ (`judge` in `plan-critique` mode, `code-reviewer` in `verify` mode, `designer`) and spec-driven batch workers exactly
290
294
  like every other dispatch.
291
295
 
292
296
  - **Source**: the *installed* agent file for the active host — never
293
297
  `skills/model-profiles.json`. The installed file reports what the host will actually
294
298
  load, including any local profile-switch overlay the registry cannot see.
295
- - **Read once per session**, for all 18 agents, and cache the result — not once per
299
+ - **Read once per session**, for all 7 agents, and cache the result — not once per
296
300
  dispatch.
297
301
  - Absent `effort` in the installed file announces `effort: inherit`. Absent `model`, or
298
302
  `model: inherit`, announces `model: inherit`.
@@ -300,33 +304,33 @@ like every other dispatch.
300
304
  exact attempted path, and the dispatch proceeds — the read never blocks a dispatch.
301
305
 
302
306
  ```md
303
- 🤖 [Agent Started] Investigator — model opus, effort high. Scope: the four emitters.
307
+ 🤖 [Agent Started] Code-explorer — model opus, effort high. Scope: the four emitters.
304
308
  🤖 [Agent Started] Designer — model/effort unknown (no installed agent file at
305
- <liveRoot>/agents/massa-ai-designer.md). Dispatching anyway.
309
+ <liveRoot>/agents/designer.md). Dispatching anyway.
306
310
  ```
307
311
 
308
312
  That second line is a measured case, not a hypothetical: on a machine with plugin
309
- bundle `1.48.0` installed, `massa-ai-designer.md` is absent because `designer` shipped
313
+ bundle `1.48.0` installed, `designer.md` is absent because `designer` shipped
310
314
  in `1.50.0` — a live instance of the degraded path above.
311
315
 
312
316
  Per-host installed-agent path, matching `resolveHostLayout` in
313
317
  `packages/shared/src/profile-switch/hosts.ts` — a sensor executes that resolver against
314
318
  this table so the two cannot drift silently:
315
319
 
316
- | Host | Installed agents directory | Glob | Model / effort keys |
320
+ | Host | Installed agents directory | Owned files | Model / effort keys |
317
321
  | --- | --- | --- | --- |
318
- | Claude — marketplace route | `<marketplaceRoot>/agents`, where `<marketplaceRoot>` is `resolveClaudeMarketplaceInstall`'s live root: for a **directory-source** marketplace the host loads the plugin LIVE from the source bundle — e.g. `<repo>/apps/claude-plugin/agents`; for any other kind it is the *versioned* cache snapshot, e.g. `~/.claude/plugins/cache/massa-ai/massa-ai/1.48.0/agents` (a stale-able snapshot — never hardcode it; read `profile_list`'s `liveRoot`) | `massa-ai-*.md` | `model:` / `effort:` |
319
- | Claude — file route | `~/.claude/agents` | `massa-ai-*.md` | `model:` / `effort:` |
320
- | Codex | `~/.codex/agents` | `massa-ai-*.toml` | `model` / `model_reasoning_effort` |
321
- | OpenCode | `~/.config/opencode/agents` | `massa-ai-*.md` | `model:` / `reasoningEffort:` |
322
+ | Claude — marketplace route | `<marketplaceRoot>/agents`, where `<marketplaceRoot>` is `resolveClaudeMarketplaceInstall`'s live root: for a **directory-source** marketplace the host loads the plugin LIVE from the source bundle — e.g. `<repo>/apps/claude-plugin/agents`; for any other kind it is the *versioned* cache snapshot, e.g. `~/.claude/plugins/cache/massa-ai/massa-ai/1.48.0/agents` (a stale-able snapshot — never hardcode it; read `profile_list`'s `liveRoot`) | `*.md` whose first body line is `<!-- massa-ai-owned: true -->` | `model:` / `effort:` |
323
+ | Claude — file route | `~/.claude/agents` | `*.md` whose first body line is `<!-- massa-ai-owned: true -->` | `model:` / `effort:` |
324
+ | Codex | `~/.codex/agents` | `*.toml` whose first line is `# massa-ai-owned` | `model` / `model_reasoning_effort` |
325
+ | OpenCode | `~/.config/opencode/agents` | `*.md` symlinks into the massa-ai bundle | `model:` / `reasoningEffort:` |
322
326
  | Cursor | no lookup — `resolveHostLayout` returns route `skip` | — | announce `model: inherit, effort: inherit` for every agent; Cursor publishes no resolvable model IDs |
323
327
 
324
328
  Claude's active route (`marketplace` vs `file`) comes from `install-state.json`'s
325
329
  per-platform `installRoute` field, never guessed from directory presence.
326
330
 
327
- ## Plan-Critic Contract
331
+ ## Plan-Critique Contract
328
332
 
329
- Dispatch `massa-ai-plan-critic` only after a concrete plan exists. Dispatch it with the capability packet above and the standard output contract. The subagent receives the plan, scope, constraints, compact recalled facts/evidence, selected depth, selected The Fool mode only for full gates, known risks, verification recipe, parent identifiers, and context-firewall limits. It never receives full conversation context.
333
+ Dispatch `judge` with `mode: plan-critique` only after a concrete plan exists. Dispatch it with the capability packet above and the standard output contract. The subagent receives the plan, scope, constraints, compact recalled facts/evidence, selected depth, `fool_mode` (the selected The Fool mode: `pre_mortem`, `red_team`, `evidence_audit`, `socratic`, or `dialectic`; distinct from the packet `mode`, which stays `plan-critique`) only for full gates, known risks, verification recipe, parent identifiers, and context-firewall limits. It never receives full conversation context.
330
334
 
331
335
  For `depth: lite`, the packet uses the low-risk checklist and does not include The Fool mode references. It returns:
332
336
 
@@ -337,9 +341,9 @@ For `depth: lite`, the packet uses the low-risk checklist and does not include T
337
341
  - `escalate_to_full: true|false`
338
342
  - escalation reason
339
343
 
340
- For `depth: full`, or after lite escalation, the main agent selects the mode, loads the relevant The Fool references, and dispatches a full packet. It returns:
344
+ For `depth: full`, or after lite escalation, the main agent selects the The Fool mode, loads the relevant The Fool references, and dispatches a full packet carrying it as `fool_mode`. It returns:
341
345
 
342
- - selected mode
346
+ - selected `fool_mode`
343
347
  - steelmanned thesis
344
348
  - 3-5 strongest challenges
345
349
  - severity: `critical`, `high`, `medium`, or `low`
@@ -357,7 +361,7 @@ whose single source is `skills/AGENTS.md` in the product repo.
357
361
 
358
362
  - Main agent persists durable conclusions after synthesis.
359
363
  - Subagents may suggest memory content but should not create broad project memories unless explicitly assigned.
360
- - Use tags such as `agent:verifier` or `agent:domain-mapper` only when they improve retrieval.
364
+ - Use tags such as `agent:code-reviewer` or `agent:code-explorer` only when they improve retrieval.
361
365
  - Do not persist one-off subagent chatter.
362
366
 
363
367
  ## Synapse Isolation
@@ -21,12 +21,11 @@ audits/tests/2026-06-15 tests-audit.md
21
21
  audits/bugs/2026-06-15 bugs-audit.md
22
22
  ```
23
23
 
24
- Parent implementation audits, mobile Figma audits, and Maestro audits use dedicated paths:
24
+ Parent implementation audits and mobile Figma audits use dedicated paths:
25
25
 
26
26
  ```text
27
27
  audits/implementation/<YYYY-MM-DD implementation-audit.md>
28
28
  audits/mobile-figma/<YYYY-MM-DD mobile-figma-audit.md>
29
- audits/maestro/<YYYY-MM-DD maestro-audit.md>
30
29
  ```
31
30
 
32
31
  Judge-with-debate evaluation reports use their own family (no `-audit` suffix — recorded
@@ -333,81 +332,6 @@ Verification Suggestion: <deterministic sensor and optional Maestro reproduction
333
332
 
334
333
  Only `MISMATCH` comparison rows become `MFM-*` findings. `CONSTRAINT DEVIATION` and `NOT EVALUATED` rows are never silently promoted to executable findings.
335
334
 
336
- ## Maestro Audit Report Contract
337
-
338
- ```md
339
- # Maestro Audit
340
-
341
- Date: <YYYY-MM-DD>
342
- Workflow: maestro-audit
343
- ProjectId: <projectId>
344
- WorkflowSessionId: <maestro-audit-[entity]>
345
- Target: <Maestro target>
346
- Target Focus: <flow root, suite, tag, app/module, platform, commit range, branch comparison, or modified files>
347
- Scope: <scope type from audit-scope.md>
348
- Git Base: <sha/ref or n/a>
349
- Git Head: <sha/ref, working-tree, or n/a>
350
- Source Evidence Timestamp: <YYYY-MM-DD HH:MM local time, or unavailable>
351
- Scenario Source: <Jira/Confluence, local file, prompt text, explored/inferred behavior, or n/a>
352
- Maestro CLI: <version/help result or unavailable with reason>
353
- Device/Emulator Readiness: <command/result or unavailable with reason>
354
-
355
- ## Flow Inventory
356
-
357
- | Flow ID | Path | Suite/Tag | Platform | Setup/Teardown | Scenario Source | Status |
358
- |---|---|---|---|---|---|---|
359
-
360
- ## Maestro Run Matrix
361
-
362
- | Flow ID | Command | Exit Status | Result | JUnit Report | Artifact Directory | Device/Platform | Skipped-Check Reason |
363
- |---|---|---|---|---|---|---|---|
364
-
365
- ## Scenario Coverage Matrix
366
-
367
- | Scenario ID | Source | Expected Behavior | Covered Flow ID | Evidence | Gap |
368
- |---|---|---|---|---|---|
369
-
370
- ## Findings
371
-
372
- ### MST-<N>: <short title>
373
-
374
- Severity: critical | high | medium | low
375
- Confidence: high | medium | low
376
- Flow/Subflow: <flow ID and path>
377
- Scenario Source: <source identifier>
378
- Location: <path:line or module>
379
- Evidence: <concrete source, report, or artifact evidence>
380
- Impacted Journey: <user journey or release smoke path>
381
- Flake Or Coverage Risk: <risk class and impact>
382
- Simplest Fix Direction: <smallest sufficient Maestro flow, fixture, setup, teardown, or test-data change>
383
- Verification Suggestion: <Maestro command, JUnit report check, artifact inspection, or static check>
384
-
385
- ## Ruled-Out Candidates
386
-
387
- <Plausible candidates disproved by evidence, or "None">
388
-
389
- ## Scope And Evidence
390
-
391
- <Flow roots, scenario sources, commands/searches, exit statuses, JUnit reports, artifact directories, skipped checks, validation assets, and residual risk>
392
-
393
- ## Verification/Test Fidelity Checklist
394
-
395
- | Item | Evidence |
396
- |---|---|
397
- | Deterministic sensor | <Maestro command, JUnit report, artifact inspection, static YAML/config scan, or not available with reason> |
398
- | Result | <pass, fail, not run, or not applicable> |
399
- | Coverage target | <MST ID, no-finding claim, scenario, flow, behavior, file, or validation asset> |
400
- | Validation assets protected | <flows, subflows, fixtures, setup/teardown, test data, snapshots, CI report consumers, or none> |
401
- | Skipped-check reason | <none or allowed skipped-check reason> |
402
- | Execution handoff | <verification command/artifact and validation assets for every actionable MST finding> |
403
-
404
- ## Execution Handoff
405
-
406
- <Ordered MST IDs, dependencies, likely files, protected validation assets, verification commands, artifact expectations, and cautions>
407
- ```
408
-
409
- Only executable flow, fixture, setup/teardown, test-data, or directly scoped Maestro CI/report issues become `MST-*` findings. App bugs, product behavior gaps, backend defects, and unclear requirements must route to `debug`, `feature`, or `requirements-audit` instead of `maestro-fix`.
410
-
411
335
  ## Judge With Debate Report Contracts
412
336
 
413
337
  Reports produced by `workflows/judge-with-debate.md`. This family is **evaluation-scored, not
@@ -439,7 +363,7 @@ Model Requested: <slot pin: deepseek-v4-pro | minimax-m3 | GLM-5.2>
439
363
  Model Note: <fallback state or n/a>
440
364
 
441
365
  ## Evaluation Specification
442
- <meta-judge YAML, embedded verbatim once>
366
+ <spec-author YAML, embedded verbatim once>
443
367
 
444
368
  ## Criterion Scores
445
369
  ### <criterion id> — <score>/<scale.max> (weight <w>)
@@ -520,7 +444,6 @@ All findings require severity, confidence, location, concrete evidence, impact,
520
444
  | Tests | `Impacted Behavior`, `Regression Risk`, `Simplest Test Direction`, `Deterministic Sensor` |
521
445
  | Bugs | `Bug Class`, `Impacted Flow`, `Trigger or Repro Path`, `Root Cause Hypothesis`, `Regression Risk` |
522
446
  | Mobile Figma | `Surface ID`, `UI Stack`, `Module/Source Set`, `Element/State`, `Property/Constraint`, `Figma Value`, `Resolved Implementation Value`, `Runtime Evidence`, `Evidence Class`, `Platform Configuration` |
523
- | Maestro | `Flow/Subflow`, `Scenario Source`, `Impacted Journey`, `Flake Or Coverage Risk` |
524
447
 
525
448
  If a required field is unknown, write `Unknown` and explain the evidence gap. Execution treats unknown required fields as a stop condition unless the user explicitly accepts the risk after revalidation.
526
449
 
@@ -528,7 +451,7 @@ If a required field is unknown, write `Unknown` and explain the evidence gap. Ex
528
451
 
529
452
  Every report must include project, workflow, target, target focus, scope, git base/head or `n/a`, source evidence timestamp, material files/evidence, commands/searches, skipped checks, and residual risk.
530
453
 
531
- Implementation reports must preserve the exact parent scope packet and source-qualified findings. Mobile Figma reports must also preserve repository classification, Target Surface Matrix, Figma identity/mappings/timestamp, per-surface platform configurations, capability matrix, complete comparison matrix, and optional Maestro reproduction metadata. Maestro reports must preserve scenario source, flow inventory, Maestro run matrix, JUnit report path, artifact directory, device/emulator readiness, and execution handoff for `MST-*` findings.
454
+ Implementation reports must preserve the exact parent scope packet and source-qualified findings. Mobile Figma reports must also preserve repository classification, Target Surface Matrix, Figma identity/mappings/timestamp, per-surface platform configurations, capability matrix, complete comparison matrix, and optional Maestro reproduction metadata.
532
455
 
533
456
  When implementation-audit uses SonarQube MCP, preserve the MCP availability result, project key or skipped-check reason, quality gate status when available, tool names used, and summarized issue/security-hotspot/measure evidence in Scope And Evidence. Sonar-derived findings are executable only after they are normalized to existing source-qualified IDs for Architecture, Correctness/Bugs, Code Quality, Security, or Tests; unmapped SonarQube output remains evidence only and does not enter Execution Handoff.
534
457
 
@@ -540,7 +463,7 @@ Every `*-fix` workflow persists its closure evidence as a Fix Closure Report, a
540
463
  audits/<family>/<YYYY-MM-DD <family>-fix-closure>.md
541
464
  ```
542
465
 
543
- `<family>` is the source report's directory (`architecture`, `bugs`, `code-quality`, `security`, `requirements`, `tests`, `maestro`, `mobile-figma`, `implementation`). Same local-date and same-day suffix rules as audit reports. Closure reports are output artifacts, **never** audit-report input: any filename containing `-fix-closure` is excluded from latest-report selection.
466
+ `<family>` is the source report's directory (`architecture`, `bugs`, `code-quality`, `security`, `requirements`, `tests`, `mobile-figma`, `implementation`). Same local-date and same-day suffix rules as audit reports. Closure reports are output artifacts, **never** audit-report input: any filename containing `-fix-closure` is excluded from latest-report selection.
544
467
 
545
468
  Required header lines (same metadata style as audit reports):
546
469
 
@@ -574,7 +497,7 @@ Row rules:
574
497
  - **Independent Verifier**: verdict plus dispatch-or-fallback record per the verification-ladder Independent Verification Mandate.
575
498
  - **Next Step**: required for `blocked` and `deferred` rows.
576
499
 
577
- Family-specific extras (extra columns, parsed by header name, appended after the standard set): requirements adds `Linked .specs/ Requirement ID`; maestro and mobile-figma add `JUnit Report`, `Artifact Directory`, and `Device/Platform`.
500
+ Family-specific extras (extra columns, parsed by header name, appended after the standard set): requirements adds `Linked .specs/ Requirement ID`; mobile-figma adds `JUnit Report`, `Artifact Directory`, and `Device/Platform`.
578
501
 
579
502
  Deterministic backing (run it, do not eyeball it): `bun skills/massa-ai/scripts/check_fix_closure.ts <closure.md> --family <family>` — a non-zero exit blocks Propose and the Evidence Gate. If no code-execution tool is available, run the same checks by reading the artifact (graceful degradation preserved).
580
503
 
@@ -600,7 +523,6 @@ Specialized selection rules:
600
523
 
601
524
  - `implementation-fix` selects only `audits/implementation/* implementation-audit.md` with `Workflow: implementation-audit`.
602
525
  - `mobile-figma-fix` selects only `audits/mobile-figma/* mobile-figma-audit.md` with `Workflow: mobile-figma-audit`.
603
- - `maestro-fix` selects only `audits/maestro/* maestro-audit.md` with `Workflow: maestro-audit`.
604
526
  - Single-lens execution selects only its matching workflow directory and metadata.
605
527
 
606
528
  Before editing:
@@ -626,13 +548,12 @@ bun skills/massa-ai/scripts/validate_audit_report.ts <path-to-report.md> --famil
626
548
  ```
627
549
 
628
550
  `--family` is one of `architecture`, `bugs`, `code-quality`, `security`,
629
- `requirements`, `tests`, `maestro`, `mobile-figma`, or `implementation`
551
+ `requirements`, `tests`, `mobile-figma`, or `implementation`
630
552
  (auto-detected from the report's `Workflow:` field when omitted). It checks:
631
553
 
632
554
  - required freshness-header metadata fields for that family (common fields
633
555
  plus family-specific extras — `Requirements Source` for single-lens and
634
- implementation reports; `Scenario Source`/`Maestro CLI`/`Device/Emulator
635
- Readiness` for Maestro; the mobile Figma identity fields for Mobile Figma)
556
+ implementation reports; the mobile Figma identity fields for Mobile Figma)
636
557
  - finding-ID format (`PREFIX-N`, or `<Area>/<PREFIX>-N` for the
637
558
  implementation composite family)
638
559
  - Area<->Prefix table membership for implementation reports (rejects an
@@ -642,5 +563,5 @@ bun skills/massa-ai/scripts/validate_audit_report.ts <path-to-report.md> --famil
642
563
 
643
564
  A non-zero exit blocks editing. The script does **not** re-check drift
644
565
  against current source, table-structure presence (Target Surface Matrix,
645
- Maestro Run Matrix, etc.), or Figma-node freshness — those stay a manual
566
+ etc.), or Figma-node freshness — those stay a manual
646
567
  step per the "Before editing" list above.
@@ -30,7 +30,7 @@ The scan covers existing:
30
30
  Run the scan in one or more separate read-only subagents before new
31
31
  implementation code is planned or written:
32
32
 
33
- > **Dispatch: `massa-ai-investigator`** (role: `investigator`) — charter `skills/agents/investigator/SKILL.md`
33
+ > **Dispatch: `code-explorer`** (role: `code-explorer`, mode: `trace`) — charter `skills/agents/code-explorer/SKILL.md`
34
34
  > - trigger: planning or writing new implementation code in any of the 16 implementation workflows — mandatory, not optional
35
35
  > - scope: the target feature/module area — candidate existing components, helpers, classes, use cases, repositories, and business logic that could satisfy or overlap the new work
36
36
  > - permissions: read-only
@@ -1,10 +1,10 @@
1
1
  # ADR Authoring
2
2
 
3
- Use from `workflows/adr.md`. Defines how massa-ai creates Architecture Decision Records without delegating orchestration to another ADR skill.
3
+ Use from `workflows/create-adr.md`. Defines how massa-ai creates Architecture Decision Records without delegating orchestration to another ADR skill.
4
4
 
5
5
  ## Core Rule
6
6
 
7
- An ADR records a significant architecture decision that is already made or being finalized. If the user is still choosing among options, route to `workflows/rfc.md`. If the user needs implementation design after the decision, route to `workflows/tdd.md`.
7
+ An ADR records a significant architecture decision that is already made or being finalized. If the user is still choosing among options, route to `workflows/create-rfc.md`. If the user needs implementation design after the decision, route to `workflows/create-tdd.md`.
8
8
 
9
9
  Route matrix:
10
10
 
@@ -26,7 +26,7 @@ Prefer sources in this order:
26
26
  1. User prompt and explicitly provided Markdown files.
27
27
  2. ADR template from Markdown or Atlassian MCP. If absent, ask fallback ADR format/status/supersession questions.
28
28
  3. PRD from Markdown or Atlassian MCP when provided. If needed but absent, ask for missing context instead of inventing.
29
- 4. RFC from Markdown or Atlassian MCP when provided. If needed but absent, ask for missing context instead of inventing. If the user does not know, assume the decision is not made and route to `workflows/rfc.md`.
29
+ 4. RFC from Markdown or Atlassian MCP when provided. If needed but absent, ask for missing context instead of inventing. If the user does not know, assume the decision is not made and route to `workflows/create-rfc.md`.
30
30
  5. Complementary ADR from Markdown or Atlassian MCP when provided. Use it as factual context only for cross-stack constraints, contracts, dependencies, risks, and links.
31
31
  6. Same-Stack Example ADR from Markdown or Atlassian MCP when provided. Use it only for format, structure, tone, naming, metadata, and placement conventions; do not use its decision context, rationale, constraints, consequences, or claims as facts for the new ADR.
32
32
  7. UI/UX context from Figma MCP when provided and relevant. If Figma is absent, use PRD, RFC, or NotebookLM context. If none exists, ignore UI/UX.
@@ -8,7 +8,7 @@ Load before source investigation, RFC classification, impact selection, or clari
8
8
  - Use ADR when a significant architecture decision is finalized or being formally recorded.
9
9
  - Use TDD when the direction is settled and implementation architecture, contracts, rollout, and verification remain.
10
10
  - Use spec-driven when the request spans requirements, design, task planning, and implementation.
11
- - Use a feature, refactor, debug, or general workflow when a durable stakeholder proposal would add no decision value.
11
+ - Use a feature, refactor, or debug workflow when a durable stakeholder proposal would add no decision value.
12
12
 
13
13
  Route matrix:
14
14
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  The values below are starting reference values, not requirements. They are calibration anchors, not mandates. Treat every number as a starting-point reference to be confirmed against the project's own SLOs, load profile, and regulatory scope; override per project and record the override in the TDD. None of these tables restore a prescriptive count schema or a fixed section-count mandate.
4
4
 
5
- Load only when the TDD's conditional concerns (rollback, rollout, latency, compliance) apply and the team needs a concrete starting point. It complements `references/tdd/document-contract.md` (which owns the Conditional Concerns trigger table) by giving example budgets; it does not replace project-verified SLOs or legal obligations.
5
+ Load only when the TDD's conditional concerns (rollback, rollout, latency, compliance) apply and the team needs a concrete starting point. It complements `references/create-tdd/document-contract.md` (which owns the Conditional Concerns trigger table) by giving example budgets; it does not replace project-verified SLOs or legal obligations.
6
6
 
7
7
  ## Rollback-Trigger Table
8
8
 
@@ -16,7 +16,7 @@ Calibration anchors, not mandates. Each row is a starting-point signal that typi
16
16
  | Latency regression | p95 latency exceeds 1.5x the pre-rollout p95 for the affected route | rollback (or documented forward-recovery) |
17
17
  | Failed dependency | a critical dependency the rollout relies on is confirmed down | rollback (or pause rollout and contain) |
18
18
 
19
- Rollback is not always technically possible; where it is not, the TDD must document forward recovery, containment, restore, or compensating actions instead of falsely promising reversibility (see `references/tdd/document-contract.md`).
19
+ Rollback is not always technically possible; where it is not, the TDD must document forward recovery, containment, restore, or compensating actions instead of falsely promising reversibility (see `references/create-tdd/document-contract.md`).
20
20
 
21
21
  ## Rollout Percentages Reference
22
22
 
@@ -51,4 +51,4 @@ Calibration anchors, not mandates, and not legal advice. Verify applicability pe
51
51
  | PCI-DSS | cardholder-data protection, access control, logging, segmentation, vulnerability management | applicability depends on storing, processing, or transmitting cardholder data; confirm scope with security owner |
52
52
  | LGPD | legal basis, data-subject rights, purpose limitation, international transfer, DPO accountability | applicability depends on processing Brazil personal data; confirm scope with privacy owner |
53
53
 
54
- This matrix is a starting-point index, not a compliance attestation. Per `references/tdd/document-contract.md`, do not claim compliance from generic controls; identify each applicable obligation as verified, proposed, or unresolved.
54
+ This matrix is a starting-point index, not a compliance attestation. Per `references/create-tdd/document-contract.md`, do not claim compliance from generic controls; identify each applicable obligation as verified, proposed, or unresolved.
@@ -40,7 +40,7 @@ Never convert an inference or example into a project fact. Omit optional metadat
40
40
  - Use RFC when stakeholders still need options compared or the primary direction approved.
41
41
  - Use ADR when one significant decision and its consequences need recording without a full implementation blueprint.
42
42
  - Use spec-driven when the request spans requirements, design, tasks, and implementation or needs staged approval across those phases.
43
- - Use feature, refactor, debug, or general for localized work that does not need a durable design artifact.
43
+ - Use feature, refactor, or debug for localized work that does not need a durable design artifact.
44
44
 
45
45
  TDD readiness checklist:
46
46
 
@@ -19,7 +19,7 @@ The document is decision-complete only when an implementer can proceed without i
19
19
  - Implementation task tables use the exact columns `Order`, `PR Group`, `Layer`, `PR Size`, `Included Work`, `Dependencies`, `Verification Gate`, and `Jira Key` when implementation work is planned.
20
20
  - PR groups are independently buildable and testable. Small PRs are preferred, Medium PRs have a dependency or coherence reason, and Large PRs include split, stacked PR, feature-flag, or containment rationale.
21
21
  - Non-breaking implementation groups are ordered Data, Domain, then Presentation/Navigation, or the TDD explicitly maps those labels to the repository's actual boundaries.
22
- - Jira creation remains delegated to `workflows/ticket.md`; `Jira Key` contains only confirmed keys, `Not requested`, `Unavailable`, or `Pending`.
22
+ - Jira creation remains delegated to `workflows/create-ticket.md`; `Jira Key` contains only confirmed keys, `Not requested`, `Unavailable`, or `Pending`.
23
23
  - UI/UX-affecting symbol changes include a parallel rendering surfaces and mappers checklist, or explicitly state why none apply.
24
24
  - A `Strings Audit` is present when scoped mappers branch on a type and call `stringResource`, or the TDD records evidence that the audit was not applicable.
25
25
  - `Decisions Revised During Implementation` is present for living implementation updates.
@@ -1,6 +1,6 @@
1
1
  # Ticket Intake And Sources
2
2
 
3
- Use from `workflows/ticket.md` before drafting. Gather only missing decisions, keep source roles explicit, and avoid repository-derived ticket conventions.
3
+ Use from `workflows/create-ticket.md` before drafting. Gather only missing decisions, keep source roles explicit, and avoid repository-derived ticket conventions.
4
4
 
5
5
  ## Ordered Intake
6
6
 
@@ -19,7 +19,7 @@ pass reads one coherent slice.
19
19
 
20
20
  ## Stage 1 — Pre-Analysis (always first, exactly one subagent)
21
21
 
22
- Dispatch one read-only subagent (investigator-class; Figma MCP — Model Context
22
+ Dispatch one read-only subagent (`code-explorer`, `trace` mode; Figma MCP — Model Context
23
23
  Protocol — access, no repository mutation) over the user-provided Figma links.
24
24
  Its job: understanding, **not** extraction:
25
25
 
@@ -1,4 +1,4 @@
1
- # Role: furps-analyst
1
+ # Role: product-manager (`furps` mode)
2
2
 
3
3
  Reusable sub-agent role for `workflows/refinement/furps-refinement.md`. Charter follows `references/subagent-design.md`. Registered in `references/agent-orchestration.md`.
4
4
 
@@ -6,7 +6,7 @@ Purpose: analyze exactly one FURPS+ dimension (F, U, R, P, S, or X) of a PRD/ADR
6
6
 
7
7
  Trigger description:
8
8
  - Use when the `furps-refinement` workflow fans out per-dimension analysis and needs isolated context plus independent verification per dimension.
9
- - Do not use when the work is a one-off local check, needs full conversation history, requires writes, or overlaps another role (use `plan-critic` for The Fool, `investigator`/`verifier` for code claims).
9
+ - Do not use when the work is a one-off local check, needs full conversation history, requires writes, or overlaps another role (use `judge` in `plan-critique` mode for The Fool, `code-explorer`/`code-reviewer` for code claims).
10
10
 
11
11
  Permissions:
12
12
  - Default: read-only.
@@ -15,7 +15,7 @@ Permissions:
15
15
  Context inputs:
16
16
  - exact `projectId`
17
17
  - exact parent `workflowSessionId` and a child session tag; an ephemeral Synapse session only if the role performs >=2 `search` calls
18
- - workflow name (`furps-refinement`) and role name (`furps-analyst`)
18
+ - workflow name (`furps-refinement`) and role name (`product-manager`, `mode: furps`)
19
19
  - assigned dimension letter and its `references/furps/checklist.md` section
20
20
  - bounded document packet (sections/summaries, DoR, recalled facts, Fool summary)
21
21
  - exclusions: other dimensions (flag, do not expand), sibling-workflow targets
@@ -1,6 +1,6 @@
1
1
  # FURPS+ Refinement Checklist
2
2
 
3
- Use from `workflows/refinement/furps-refinement.md` when analyzing a PRD and/or ADR against the FURPS+ quality model. One `furps-analyst` sub-agent loads only its assigned dimension section; the main agent loads the full file only when synthesizing or when no dimension split is used.
3
+ Use from `workflows/refinement/furps-refinement.md` when analyzing a PRD and/or ADR against the FURPS+ quality model. One `product-manager` sub-agent in `furps` mode loads only its assigned dimension section; the main agent loads the full file only when synthesizing or when no dimension split is used.
4
4
 
5
5
  ## Source
6
6
 
@@ -89,4 +89,4 @@ Non-functional requirements beyond the five core ("+").
89
89
 
90
90
  ## Cross-dimension note
91
91
 
92
- Some concerns span dimensions (e.g., error flows touch F3+R2+U1; components touch F2+S2). A `furps-analyst` may flag a cross-dimension concern in its findings, but must not expand its scope into another dimension. The main agent deduplicates and reconciles cross-dimension concerns during synthesis.
92
+ Some concerns span dimensions (e.g., error flows touch F3+R2+U1; components touch F2+S2). A `product-manager` dispatch may flag a cross-dimension concern in its findings, but must not expand its scope into another dimension. The main agent deduplicates and reconciles cross-dimension concerns during synthesis.