@massa-ai/codex-plugin 1.60.1 → 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.
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/{agents/massa-ai-builder.toml → agent-profiles/balanced/builder.toml} +3 -4
- package/agent-profiles/balanced/code-explorer.toml +101 -0
- package/agent-profiles/balanced/code-reviewer.toml +133 -0
- package/agent-profiles/balanced/{massa-ai-designer.toml → designer.toml} +34 -17
- package/agent-profiles/balanced/judge.toml +147 -0
- package/agent-profiles/balanced/product-manager.toml +107 -0
- package/agent-profiles/balanced/test-engineer.toml +100 -0
- package/agent-profiles/cheap/{massa-ai-builder.toml → builder.toml} +3 -4
- package/agent-profiles/cheap/code-explorer.toml +101 -0
- package/agent-profiles/cheap/code-reviewer.toml +133 -0
- package/agent-profiles/cheap/{massa-ai-designer.toml → designer.toml} +34 -17
- package/agent-profiles/cheap/judge.toml +147 -0
- package/agent-profiles/cheap/product-manager.toml +107 -0
- package/agent-profiles/cheap/test-engineer.toml +100 -0
- package/agent-profiles/{work/massa-ai-builder.toml → heavy/builder.toml} +3 -4
- package/agent-profiles/heavy/code-explorer.toml +101 -0
- package/agent-profiles/heavy/code-reviewer.toml +133 -0
- package/agent-profiles/{work/massa-ai-designer.toml → heavy/designer.toml} +34 -17
- package/agent-profiles/heavy/judge.toml +147 -0
- package/agent-profiles/heavy/product-manager.toml +107 -0
- package/agent-profiles/heavy/test-engineer.toml +100 -0
- package/agent-profiles/home/{massa-ai-builder.toml → builder.toml} +3 -4
- package/agent-profiles/home/code-explorer.toml +101 -0
- package/agent-profiles/home/code-reviewer.toml +133 -0
- package/{agents/massa-ai-designer.toml → agent-profiles/home/designer.toml} +34 -17
- package/agent-profiles/home/judge.toml +147 -0
- package/agent-profiles/home/product-manager.toml +107 -0
- package/agent-profiles/home/test-engineer.toml +100 -0
- package/agent-profiles/{heavy/massa-ai-builder.toml → work/builder.toml} +3 -4
- package/agent-profiles/work/code-explorer.toml +101 -0
- package/agent-profiles/work/code-reviewer.toml +133 -0
- package/agent-profiles/{heavy/massa-ai-designer.toml → work/designer.toml} +34 -17
- package/agent-profiles/work/judge.toml +147 -0
- package/agent-profiles/work/product-manager.toml +107 -0
- package/agent-profiles/work/test-engineer.toml +100 -0
- package/{agent-profiles/balanced/massa-ai-builder.toml → agents/builder.toml} +3 -4
- package/agents/code-explorer.toml +101 -0
- package/agents/code-reviewer.toml +133 -0
- package/{agent-profiles/home/massa-ai-designer.toml → agents/designer.toml} +34 -17
- package/agents/judge.toml +147 -0
- package/agents/product-manager.toml +107 -0
- package/agents/test-engineer.toml +100 -0
- package/hooks/massa-ai-hook +4 -4
- package/install.sh +98 -24
- package/package.json +1 -1
- package/skills/agents/builder/SKILL.md +3 -5
- package/skills/agents/code-explorer/SKILL.md +104 -0
- package/skills/agents/code-reviewer/SKILL.md +136 -0
- package/skills/agents/designer/SKILL.md +34 -18
- package/skills/agents/judge/SKILL.md +101 -51
- package/skills/agents/product-manager/SKILL.md +110 -0
- package/skills/agents/test-engineer/SKILL.md +57 -23
- package/skills/bootstrap/SKILL.md +4 -5
- package/skills/{adr.md → create-adr.md} +3 -3
- package/skills/{to-prd.md → create-prd.md} +3 -3
- package/skills/{rfc.md → create-rfc.md} +3 -3
- package/skills/{tdd.md → create-tdd.md} +3 -3
- package/skills/{ticket.md → create-ticket.md} +3 -3
- package/skills/massa-ai/SKILL.md +26 -29
- package/skills/massa-ai/references/agent-orchestration.md +69 -66
- package/skills/massa-ai/references/audit-report-io.md +8 -87
- package/skills/massa-ai/references/code-reuse-scan.md +1 -1
- package/skills/massa-ai/references/{adr-authoring.md → create-adr.md} +3 -3
- package/skills/massa-ai/references/{rfc → create-rfc}/discovery-and-sizing.md +1 -1
- package/skills/massa-ai/references/{tdd → create-tdd}/calibrated-examples.md +3 -3
- package/skills/massa-ai/references/{tdd → create-tdd}/discovery-and-sizing.md +1 -1
- package/skills/massa-ai/references/{tdd → create-tdd}/quality-and-lifecycle.md +1 -1
- package/skills/massa-ai/references/{ticket → create-ticket}/intake-and-sources.md +1 -1
- package/skills/massa-ai/references/figma-pre-analysis.md +1 -1
- package/skills/massa-ai/references/furps/analyst-role.md +3 -3
- package/skills/massa-ai/references/furps/checklist.md +2 -2
- package/skills/massa-ai/references/furps/intake.md +7 -7
- package/skills/massa-ai/references/hook-enforcement.md +4 -8
- package/skills/massa-ai/references/implementation-delivery.md +2 -2
- package/skills/massa-ai/references/knowledge-verification-chain.md +0 -1
- package/skills/massa-ai/references/mobile-context.md +2 -5
- package/skills/massa-ai/references/pr-task-fix.md +1 -1
- package/skills/massa-ai/references/spec-driven/sub-agents.md +5 -5
- package/skills/massa-ai/references/spec-driven/validate.md +1 -1
- package/skills/massa-ai/references/subagent-design.md +6 -9
- package/skills/massa-ai/references/synapse-policy.md +2 -2
- package/skills/massa-ai/references/verification-ladder.md +2 -2
- package/skills/massa-ai/scripts/validate_audit_report.ts +3 -8
- package/skills/massa-ai/workflows/architecture/architecture-audit.md +4 -5
- package/skills/massa-ai/workflows/architecture/architecture-fix.md +5 -6
- package/skills/massa-ai/workflows/bugs/bugs-audit.md +2 -3
- package/skills/massa-ai/workflows/bugs/bugs-fix.md +4 -5
- package/skills/massa-ai/workflows/code-quality/code-quality-audit.md +2 -3
- package/skills/massa-ai/workflows/code-quality/code-quality-fix.md +4 -5
- package/skills/massa-ai/workflows/commit.md +3 -3
- package/skills/massa-ai/workflows/{adr.md → create-adr.md} +10 -10
- package/skills/massa-ai/workflows/{to-prd.md → create-prd.md} +4 -4
- package/skills/massa-ai/workflows/{rfc.md → create-rfc.md} +6 -6
- package/skills/massa-ai/workflows/{tdd.md → create-tdd.md} +11 -11
- package/skills/massa-ai/workflows/{ticket.md → create-ticket.md} +5 -5
- package/skills/massa-ai/workflows/debug.md +4 -5
- package/skills/massa-ai/workflows/design.md +2 -2
- package/skills/massa-ai/workflows/exploration.md +2 -2
- package/skills/massa-ai/workflows/feature.md +5 -6
- package/skills/massa-ai/workflows/implementation/implementation-audit.md +22 -3
- package/skills/massa-ai/workflows/implementation/implementation-fix.md +6 -7
- package/skills/massa-ai/workflows/judge-with-debate.md +14 -14
- package/skills/massa-ai/workflows/mobile-figma/mobile-figma-audit.md +2 -2
- package/skills/massa-ai/workflows/mobile-figma/mobile-figma-fix.md +10 -11
- package/skills/massa-ai/workflows/pr-review.md +31 -13
- package/skills/massa-ai/workflows/{discovery.md → product-discovery.md} +12 -12
- package/skills/massa-ai/workflows/refactor.md +4 -5
- package/skills/massa-ai/workflows/refinement/furps-refinement.md +7 -7
- package/skills/massa-ai/workflows/requirements/requirements-audit.md +2 -2
- package/skills/massa-ai/workflows/requirements/requirements-fix.md +5 -6
- package/skills/massa-ai/workflows/security/security-audit.md +2 -3
- package/skills/massa-ai/workflows/security/security-fix.md +3 -4
- package/skills/massa-ai/workflows/spec-driven.md +9 -10
- package/skills/massa-ai/workflows/tests/tests-audit.md +2 -2
- package/skills/massa-ai/workflows/tests/tests-fix.md +16 -6
- package/skills/massa-ai/workflows/the-fool.md +7 -7
- package/skills/{discovery.md → product-discovery.md} +3 -3
- package/agent-profiles/balanced/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/balanced/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/balanced/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/balanced/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/balanced/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/balanced/massa-ai-investigator.toml +0 -65
- package/agent-profiles/balanced/massa-ai-judge.toml +0 -96
- package/agent-profiles/balanced/massa-ai-meta-judge.toml +0 -83
- package/agent-profiles/balanced/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/balanced/massa-ai-navigator.toml +0 -72
- package/agent-profiles/balanced/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/balanced/massa-ai-planner.toml +0 -62
- package/agent-profiles/balanced/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/balanced/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/balanced/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/balanced/massa-ai-verification-agent.toml +0 -62
- package/agent-profiles/cheap/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/cheap/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/cheap/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/cheap/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/cheap/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/cheap/massa-ai-investigator.toml +0 -65
- package/agent-profiles/cheap/massa-ai-judge.toml +0 -96
- package/agent-profiles/cheap/massa-ai-meta-judge.toml +0 -83
- package/agent-profiles/cheap/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/cheap/massa-ai-navigator.toml +0 -72
- package/agent-profiles/cheap/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/cheap/massa-ai-planner.toml +0 -62
- package/agent-profiles/cheap/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/cheap/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/cheap/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/cheap/massa-ai-verification-agent.toml +0 -62
- package/agent-profiles/heavy/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/heavy/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/heavy/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/heavy/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/heavy/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/heavy/massa-ai-investigator.toml +0 -65
- package/agent-profiles/heavy/massa-ai-judge.toml +0 -96
- package/agent-profiles/heavy/massa-ai-meta-judge.toml +0 -83
- package/agent-profiles/heavy/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/heavy/massa-ai-navigator.toml +0 -72
- package/agent-profiles/heavy/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/heavy/massa-ai-planner.toml +0 -62
- package/agent-profiles/heavy/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/heavy/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/heavy/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/heavy/massa-ai-verification-agent.toml +0 -62
- package/agent-profiles/home/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/home/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/home/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/home/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/home/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/home/massa-ai-investigator.toml +0 -65
- package/agent-profiles/home/massa-ai-judge.toml +0 -96
- package/agent-profiles/home/massa-ai-meta-judge.toml +0 -83
- package/agent-profiles/home/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/home/massa-ai-navigator.toml +0 -72
- package/agent-profiles/home/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/home/massa-ai-planner.toml +0 -62
- package/agent-profiles/home/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/home/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/home/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/home/massa-ai-verification-agent.toml +0 -62
- package/agent-profiles/work/massa-ai-architecture-specialist.toml +0 -62
- package/agent-profiles/work/massa-ai-audit-specialist.toml +0 -79
- package/agent-profiles/work/massa-ai-context-curator.toml +0 -64
- package/agent-profiles/work/massa-ai-documentation-agent.toml +0 -62
- package/agent-profiles/work/massa-ai-furps-analyst.toml +0 -68
- package/agent-profiles/work/massa-ai-investigator.toml +0 -65
- package/agent-profiles/work/massa-ai-judge.toml +0 -96
- package/agent-profiles/work/massa-ai-meta-judge.toml +0 -83
- package/agent-profiles/work/massa-ai-mobile-specialist.toml +0 -79
- package/agent-profiles/work/massa-ai-navigator.toml +0 -72
- package/agent-profiles/work/massa-ai-plan-critic.toml +0 -87
- package/agent-profiles/work/massa-ai-planner.toml +0 -62
- package/agent-profiles/work/massa-ai-requirements-analyst.toml +0 -61
- package/agent-profiles/work/massa-ai-reviewer.toml +0 -63
- package/agent-profiles/work/massa-ai-test-engineer.toml +0 -64
- package/agent-profiles/work/massa-ai-verification-agent.toml +0 -62
- package/agents/massa-ai-architecture-specialist.toml +0 -62
- package/agents/massa-ai-audit-specialist.toml +0 -79
- package/agents/massa-ai-context-curator.toml +0 -64
- package/agents/massa-ai-documentation-agent.toml +0 -62
- package/agents/massa-ai-furps-analyst.toml +0 -68
- package/agents/massa-ai-investigator.toml +0 -65
- package/agents/massa-ai-judge.toml +0 -96
- package/agents/massa-ai-meta-judge.toml +0 -83
- package/agents/massa-ai-mobile-specialist.toml +0 -79
- package/agents/massa-ai-navigator.toml +0 -72
- package/agents/massa-ai-plan-critic.toml +0 -87
- package/agents/massa-ai-planner.toml +0 -62
- package/agents/massa-ai-requirements-analyst.toml +0 -61
- package/agents/massa-ai-reviewer.toml +0 -63
- package/agents/massa-ai-test-engineer.toml +0 -64
- package/agents/massa-ai-verification-agent.toml +0 -62
- package/skills/agents/architecture-specialist/SKILL.md +0 -67
- package/skills/agents/audit-specialist/SKILL.md +0 -84
- package/skills/agents/context-curator/SKILL.md +0 -69
- package/skills/agents/documentation-agent/SKILL.md +0 -67
- package/skills/agents/furps-analyst/SKILL.md +0 -72
- package/skills/agents/investigator/SKILL.md +0 -70
- package/skills/agents/meta-judge/SKILL.md +0 -87
- package/skills/agents/mobile-specialist/SKILL.md +0 -84
- package/skills/agents/navigator/SKILL.md +0 -77
- package/skills/agents/plan-critic/SKILL.md +0 -91
- package/skills/agents/planner/SKILL.md +0 -67
- package/skills/agents/requirements-analyst/SKILL.md +0 -66
- package/skills/agents/reviewer/SKILL.md +0 -68
- package/skills/agents/verification-agent/SKILL.md +0 -67
- package/skills/general.md +0 -14
- package/skills/maestro-audit.md +0 -14
- package/skills/maestro-fix.md +0 -14
- package/skills/maestro.md +0 -14
- package/skills/massa-ai/personas/README.md +0 -35
- package/skills/massa-ai/personas/ai-native-nodejs-cli-architect.md +0 -47
- package/skills/massa-ai/personas/catalog.json +0 -7
- package/skills/massa-ai/personas/context-skill-harness-engineer-architect.md +0 -47
- package/skills/massa-ai/personas/product-manager.md +0 -65
- package/skills/massa-ai/personas/senior-mobile-engineer.md +0 -46
- package/skills/massa-ai/personas/senior-mobile-qa-automation-engineer.md +0 -51
- package/skills/massa-ai/personas/signals/ai-native-nodejs-cli-architect.json +0 -20
- package/skills/massa-ai/personas/signals/context-skill-harness-engineer-architect.json +0 -20
- package/skills/massa-ai/personas/signals/product-manager.json +0 -21
- package/skills/massa-ai/personas/signals/senior-mobile-engineer.json +0 -18
- package/skills/massa-ai/personas/signals/senior-mobile-qa-automation-engineer.json +0 -18
- package/skills/massa-ai/references/maestro/artifacts-reports.md +0 -69
- package/skills/massa-ai/references/maestro/cli-device.md +0 -65
- package/skills/massa-ai/references/maestro/cloud.md +0 -69
- package/skills/massa-ai/references/maestro/config-env-output.md +0 -76
- package/skills/massa-ai/references/maestro/fact-ledger.md +0 -73
- package/skills/massa-ai/references/maestro/js-scripting.md +0 -70
- package/skills/massa-ai/references/maestro/mcp.md +0 -59
- package/skills/massa-ai/references/maestro/patterns.md +0 -102
- package/skills/massa-ai/references/maestro/selectors.md +0 -91
- package/skills/massa-ai/references/maestro/workspace-execution.md +0 -81
- package/skills/massa-ai/references/maestro/yaml-commands.md +0 -203
- package/skills/massa-ai/references/maestro.md +0 -31
- package/skills/massa-ai/workflows/general.md +0 -88
- package/skills/massa-ai/workflows/maestro/maestro-audit.md +0 -64
- package/skills/massa-ai/workflows/maestro/maestro-fix.md +0 -111
- package/skills/massa-ai/workflows/maestro/maestro.md +0 -80
- package/skills/persona-router/SKILL.md +0 -52
- package/skills/persona-router/references/routing-details.md +0 -98
- /package/skills/massa-ai/references/{rfc → create-rfc}/ATTRIBUTION.md +0 -0
- /package/skills/massa-ai/references/{rfc → create-rfc}/document-contract.md +0 -0
- /package/skills/massa-ai/references/{rfc → create-rfc}/quality-and-lifecycle.md +0 -0
- /package/skills/massa-ai/references/{tdd → create-tdd}/document-contract.md +0 -0
- /package/skills/massa-ai/references/{ticket → create-ticket}/atlassian-fix.md +0 -0
- /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-
|
|
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`, `
|
|
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 `
|
|
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
|
|
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`.
|
|
102
|
-
under
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
|
@@ -117,18 +126,17 @@ delegation with its reason in the Evidence Gate.
|
|
|
117
126
|
|
|
118
127
|
## Model Diversity Fallback
|
|
119
128
|
|
|
120
|
-
Applies to any charter whose
|
|
121
|
-
|
|
122
|
-
dispatch time (e.g. `judge` — 3 parallel slots; `meta-judge` — one slot).
|
|
129
|
+
Applies to any charter whose dispatching workflow requests per-invocation model diversity
|
|
130
|
+
at dispatch time (e.g. `judge` in `scorer` mode — 3 parallel slots; `judge` in `spec-author` mode — one slot).
|
|
123
131
|
|
|
124
|
-
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
(multi-slot) or an equivalent diversity
|
|
131
|
-
dispatching workflow's own contract.
|
|
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.
|
|
134
|
+
By convention, the default is the profile's strongest model.
|
|
135
|
+
- The dispatching workflow (e.g. `workflows/judge-with-debate.md`) is the single source
|
|
136
|
+
for the current slot/model assignment, not the charter file.
|
|
137
|
+
- When dispatch-time selection is unavailable, every affected slot runs the profile default,
|
|
138
|
+
and the orchestrator records `DIVERSITY DEGRADED` (multi-slot) or an equivalent diversity
|
|
139
|
+
warning (single-slot) per the dispatching workflow's own contract.
|
|
132
140
|
|
|
133
141
|
## Roles
|
|
134
142
|
|
|
@@ -139,7 +147,7 @@ Before adding a new reusable role, load `references/subagent-design.md` and writ
|
|
|
139
147
|
|
|
140
148
|
**The roster lives in one place: the Agent Table of `skills/AGENTS.md`**, which names
|
|
141
149
|
every shipped specialist with its purpose, trigger, permission, and charter path. Do not
|
|
142
|
-
restate it here. A second roster in this file is what let
|
|
150
|
+
restate it here. A second roster in this file is what once let the two debate-panel charters go
|
|
143
151
|
undocumented for a whole release with every gate green — the guard checked that the
|
|
144
152
|
charter paths *mentioned* here resolve, which a charter that is never mentioned cannot
|
|
145
153
|
fail.
|
|
@@ -150,22 +158,22 @@ resolves to a current agent.
|
|
|
150
158
|
|
|
151
159
|
| Legacy role | Current agent | Note |
|
|
152
160
|
|---|---|---|
|
|
153
|
-
| `implementer` | `
|
|
154
|
-
| `verifier` | `
|
|
155
|
-
| `domain-mapper` | `
|
|
156
|
-
| `coupling-auditor` | `
|
|
157
|
-
| `deepening-architect` | `
|
|
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` |
|
|
158
166
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
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.
|
|
163
171
|
|
|
164
172
|
## Capability Packet
|
|
165
173
|
|
|
166
|
-
**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
|
|
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.
|
|
167
175
|
|
|
168
|
-
**A subagent inherits nothing from the parent session** — no skills, no
|
|
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.
|
|
169
177
|
|
|
170
178
|
When dispatching a subagent, send a compact capability packet rather than a loose instruction. Include:
|
|
171
179
|
|
|
@@ -179,11 +187,11 @@ When dispatching a subagent, send a compact capability packet rather than a loos
|
|
|
179
187
|
- `output`: the exact output contract
|
|
180
188
|
- `firewall`: raw logs, diffs, snapshots, reports, or research that must be summarized
|
|
181
189
|
- `memory`: whether the subagent may suggest memories and who persists them
|
|
182
|
-
- `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.
|
|
183
190
|
- `next_use`: what the main agent will do with the result
|
|
184
|
-
- `
|
|
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.
|
|
185
193
|
|
|
186
|
-
The named dispatch block that workflows embed (the quoted block whose header carries the
|
|
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.
|
|
187
195
|
|
|
188
196
|
### Role Defaults
|
|
189
197
|
|
|
@@ -197,24 +205,19 @@ Reading a workflow's dispatch block therefore means reading this section beside
|
|
|
197
205
|
it. That is the trade: the block stops being self-contained in exchange for
|
|
198
206
|
having exactly one place a shared value can be wrong.
|
|
199
207
|
|
|
200
|
-
|
|
208
|
+
**`code-reviewer`** (every mode)
|
|
201
209
|
|
|
202
|
-
- `
|
|
203
|
-
in a dispatch block; it applies to all of them.
|
|
210
|
+
- `permissions`: read-only
|
|
204
211
|
|
|
205
|
-
**`
|
|
212
|
+
**`code-reviewer`, `mode: review`**
|
|
206
213
|
|
|
207
214
|
- `fallback`: if the subagent is unavailable, run a standalone fresh-eyes review against this output contract and record the skipped-delegation reason
|
|
208
215
|
|
|
209
|
-
**`
|
|
210
|
-
|
|
211
|
-
- `permissions`: read-only
|
|
212
|
-
|
|
213
|
-
**`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
|
|
214
217
|
fixed here rather than per workflow; a block that reworded it would silently make
|
|
215
218
|
the dispatch advisory in that one file.
|
|
216
219
|
|
|
217
|
-
- `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
|
|
218
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
|
|
219
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
|
|
220
223
|
- `firewall`: summarized design-source evidence and `path:line` pointers only, never raw Figma node dumps or full file bodies
|
|
@@ -284,16 +287,16 @@ Example:
|
|
|
284
287
|
|
|
285
288
|
### Model/Effort Announcement
|
|
286
289
|
|
|
287
|
-
Every dispatch of any of the
|
|
290
|
+
Every dispatch of any of the 7 massa-ai roster specialists names the agent, its model,
|
|
288
291
|
and its effort in the `Agent Started` line above, inside that line's existing 1-2 line
|
|
289
292
|
budget. No exemption: this covers the three standing dispatch exceptions
|
|
290
|
-
(`plan-
|
|
293
|
+
(`judge` in `plan-critique` mode, `code-reviewer` in `verify` mode, `designer`) and spec-driven batch workers exactly
|
|
291
294
|
like every other dispatch.
|
|
292
295
|
|
|
293
296
|
- **Source**: the *installed* agent file for the active host — never
|
|
294
297
|
`skills/model-profiles.json`. The installed file reports what the host will actually
|
|
295
298
|
load, including any local profile-switch overlay the registry cannot see.
|
|
296
|
-
- **Read once per session**, for all
|
|
299
|
+
- **Read once per session**, for all 7 agents, and cache the result — not once per
|
|
297
300
|
dispatch.
|
|
298
301
|
- Absent `effort` in the installed file announces `effort: inherit`. Absent `model`, or
|
|
299
302
|
`model: inherit`, announces `model: inherit`.
|
|
@@ -301,33 +304,33 @@ like every other dispatch.
|
|
|
301
304
|
exact attempted path, and the dispatch proceeds — the read never blocks a dispatch.
|
|
302
305
|
|
|
303
306
|
```md
|
|
304
|
-
🤖 [Agent Started]
|
|
307
|
+
🤖 [Agent Started] Code-explorer — model opus, effort high. Scope: the four emitters.
|
|
305
308
|
🤖 [Agent Started] Designer — model/effort unknown (no installed agent file at
|
|
306
|
-
<liveRoot>/agents/
|
|
309
|
+
<liveRoot>/agents/designer.md). Dispatching anyway.
|
|
307
310
|
```
|
|
308
311
|
|
|
309
312
|
That second line is a measured case, not a hypothetical: on a machine with plugin
|
|
310
|
-
bundle `1.48.0` installed, `
|
|
313
|
+
bundle `1.48.0` installed, `designer.md` is absent because `designer` shipped
|
|
311
314
|
in `1.50.0` — a live instance of the degraded path above.
|
|
312
315
|
|
|
313
316
|
Per-host installed-agent path, matching `resolveHostLayout` in
|
|
314
317
|
`packages/shared/src/profile-switch/hosts.ts` — a sensor executes that resolver against
|
|
315
318
|
this table so the two cannot drift silently:
|
|
316
319
|
|
|
317
|
-
| Host | Installed agents directory |
|
|
320
|
+
| Host | Installed agents directory | Owned files | Model / effort keys |
|
|
318
321
|
| --- | --- | --- | --- |
|
|
319
|
-
| 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
|
|
320
|
-
| Claude — file route | `~/.claude/agents` | `massa-ai
|
|
321
|
-
| Codex | `~/.codex/agents` | `massa-ai
|
|
322
|
-
| OpenCode | `~/.config/opencode/agents` | `massa-ai
|
|
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:` |
|
|
323
326
|
| Cursor | no lookup — `resolveHostLayout` returns route `skip` | — | announce `model: inherit, effort: inherit` for every agent; Cursor publishes no resolvable model IDs |
|
|
324
327
|
|
|
325
328
|
Claude's active route (`marketplace` vs `file`) comes from `install-state.json`'s
|
|
326
329
|
per-platform `installRoute` field, never guessed from directory presence.
|
|
327
330
|
|
|
328
|
-
## Plan-
|
|
331
|
+
## Plan-Critique Contract
|
|
329
332
|
|
|
330
|
-
Dispatch `
|
|
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.
|
|
331
334
|
|
|
332
335
|
For `depth: lite`, the packet uses the low-risk checklist and does not include The Fool mode references. It returns:
|
|
333
336
|
|
|
@@ -338,9 +341,9 @@ For `depth: lite`, the packet uses the low-risk checklist and does not include T
|
|
|
338
341
|
- `escalate_to_full: true|false`
|
|
339
342
|
- escalation reason
|
|
340
343
|
|
|
341
|
-
For `depth: full`, or after lite escalation, the main agent selects the mode, loads the relevant The Fool references, and dispatches a full packet
|
|
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:
|
|
342
345
|
|
|
343
|
-
- selected
|
|
346
|
+
- selected `fool_mode`
|
|
344
347
|
- steelmanned thesis
|
|
345
348
|
- 3-5 strongest challenges
|
|
346
349
|
- severity: `critical`, `high`, `medium`, or `low`
|
|
@@ -358,7 +361,7 @@ whose single source is `skills/AGENTS.md` in the product repo.
|
|
|
358
361
|
|
|
359
362
|
- Main agent persists durable conclusions after synthesis.
|
|
360
363
|
- Subagents may suggest memory content but should not create broad project memories unless explicitly assigned.
|
|
361
|
-
- Use tags such as `agent:
|
|
364
|
+
- Use tags such as `agent:code-reviewer` or `agent:code-explorer` only when they improve retrieval.
|
|
362
365
|
- Do not persist one-off subagent chatter.
|
|
363
366
|
|
|
364
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
|
|
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
|
-
<
|
|
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.
|
|
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`, `
|
|
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`;
|
|
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`, `
|
|
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;
|
|
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
|
-
|
|
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: `
|
|
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,
|
|
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,
|
|
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 (
|
|
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
|
|
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-
|
|
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 (`
|
|
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 `
|
|
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 `
|
|
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.
|