@massa-ai/codex-plugin 1.53.0 → 1.55.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 (136) hide show
  1. package/.codex-plugin/plugin.json +1 -1
  2. package/agent-profiles/balanced/massa-ai-architecture-specialist.toml +1 -1
  3. package/agent-profiles/balanced/massa-ai-audit-specialist.toml +1 -1
  4. package/agent-profiles/balanced/massa-ai-builder.toml +1 -1
  5. package/agent-profiles/balanced/massa-ai-context-curator.toml +1 -1
  6. package/agent-profiles/balanced/massa-ai-designer.toml +1 -1
  7. package/agent-profiles/balanced/massa-ai-documentation-agent.toml +1 -1
  8. package/agent-profiles/balanced/massa-ai-furps-analyst.toml +1 -1
  9. package/agent-profiles/balanced/massa-ai-investigator.toml +1 -1
  10. package/agent-profiles/balanced/massa-ai-judge.toml +1 -1
  11. package/agent-profiles/balanced/massa-ai-meta-judge.toml +1 -1
  12. package/agent-profiles/balanced/massa-ai-mobile-specialist.toml +1 -1
  13. package/agent-profiles/balanced/massa-ai-navigator.toml +1 -1
  14. package/agent-profiles/balanced/massa-ai-plan-critic.toml +1 -1
  15. package/agent-profiles/balanced/massa-ai-planner.toml +1 -1
  16. package/agent-profiles/balanced/massa-ai-requirements-analyst.toml +1 -1
  17. package/agent-profiles/balanced/massa-ai-reviewer.toml +1 -1
  18. package/agent-profiles/balanced/massa-ai-test-engineer.toml +1 -1
  19. package/agent-profiles/balanced/massa-ai-verification-agent.toml +1 -1
  20. package/agent-profiles/cheap/massa-ai-architecture-specialist.toml +1 -1
  21. package/agent-profiles/cheap/massa-ai-audit-specialist.toml +1 -1
  22. package/agent-profiles/cheap/massa-ai-builder.toml +1 -1
  23. package/agent-profiles/cheap/massa-ai-context-curator.toml +1 -1
  24. package/agent-profiles/cheap/massa-ai-designer.toml +1 -1
  25. package/agent-profiles/cheap/massa-ai-documentation-agent.toml +1 -1
  26. package/agent-profiles/cheap/massa-ai-furps-analyst.toml +1 -1
  27. package/agent-profiles/cheap/massa-ai-investigator.toml +1 -1
  28. package/agent-profiles/cheap/massa-ai-judge.toml +1 -1
  29. package/agent-profiles/cheap/massa-ai-meta-judge.toml +1 -1
  30. package/agent-profiles/cheap/massa-ai-mobile-specialist.toml +1 -1
  31. package/agent-profiles/cheap/massa-ai-navigator.toml +1 -1
  32. package/agent-profiles/cheap/massa-ai-plan-critic.toml +1 -1
  33. package/agent-profiles/cheap/massa-ai-planner.toml +1 -1
  34. package/agent-profiles/cheap/massa-ai-requirements-analyst.toml +1 -1
  35. package/agent-profiles/cheap/massa-ai-reviewer.toml +1 -1
  36. package/agent-profiles/cheap/massa-ai-test-engineer.toml +1 -1
  37. package/agent-profiles/cheap/massa-ai-verification-agent.toml +1 -1
  38. package/agent-profiles/heavy/massa-ai-architecture-specialist.toml +1 -1
  39. package/agent-profiles/heavy/massa-ai-audit-specialist.toml +1 -1
  40. package/agent-profiles/heavy/massa-ai-builder.toml +1 -1
  41. package/agent-profiles/heavy/massa-ai-context-curator.toml +1 -1
  42. package/agent-profiles/heavy/massa-ai-designer.toml +1 -1
  43. package/agent-profiles/heavy/massa-ai-documentation-agent.toml +1 -1
  44. package/agent-profiles/heavy/massa-ai-furps-analyst.toml +1 -1
  45. package/agent-profiles/heavy/massa-ai-investigator.toml +1 -1
  46. package/agent-profiles/heavy/massa-ai-judge.toml +1 -1
  47. package/agent-profiles/heavy/massa-ai-meta-judge.toml +1 -1
  48. package/agent-profiles/heavy/massa-ai-mobile-specialist.toml +1 -1
  49. package/agent-profiles/heavy/massa-ai-navigator.toml +1 -1
  50. package/agent-profiles/heavy/massa-ai-plan-critic.toml +1 -1
  51. package/agent-profiles/heavy/massa-ai-planner.toml +1 -1
  52. package/agent-profiles/heavy/massa-ai-requirements-analyst.toml +1 -1
  53. package/agent-profiles/heavy/massa-ai-reviewer.toml +1 -1
  54. package/agent-profiles/heavy/massa-ai-test-engineer.toml +1 -1
  55. package/agent-profiles/heavy/massa-ai-verification-agent.toml +1 -1
  56. package/agent-profiles/home/massa-ai-architecture-specialist.toml +1 -1
  57. package/agent-profiles/home/massa-ai-audit-specialist.toml +1 -1
  58. package/agent-profiles/home/massa-ai-builder.toml +1 -1
  59. package/agent-profiles/home/massa-ai-context-curator.toml +1 -1
  60. package/agent-profiles/home/massa-ai-designer.toml +1 -1
  61. package/agent-profiles/home/massa-ai-documentation-agent.toml +1 -1
  62. package/agent-profiles/home/massa-ai-furps-analyst.toml +1 -1
  63. package/agent-profiles/home/massa-ai-investigator.toml +1 -1
  64. package/agent-profiles/home/massa-ai-judge.toml +1 -1
  65. package/agent-profiles/home/massa-ai-meta-judge.toml +1 -1
  66. package/agent-profiles/home/massa-ai-mobile-specialist.toml +1 -1
  67. package/agent-profiles/home/massa-ai-navigator.toml +1 -1
  68. package/agent-profiles/home/massa-ai-plan-critic.toml +1 -1
  69. package/agent-profiles/home/massa-ai-planner.toml +1 -1
  70. package/agent-profiles/home/massa-ai-requirements-analyst.toml +1 -1
  71. package/agent-profiles/home/massa-ai-reviewer.toml +1 -1
  72. package/agent-profiles/home/massa-ai-test-engineer.toml +1 -1
  73. package/agent-profiles/home/massa-ai-verification-agent.toml +1 -1
  74. package/agent-profiles/work/massa-ai-architecture-specialist.toml +1 -1
  75. package/agent-profiles/work/massa-ai-audit-specialist.toml +1 -1
  76. package/agent-profiles/work/massa-ai-builder.toml +1 -1
  77. package/agent-profiles/work/massa-ai-context-curator.toml +1 -1
  78. package/agent-profiles/work/massa-ai-designer.toml +1 -1
  79. package/agent-profiles/work/massa-ai-documentation-agent.toml +1 -1
  80. package/agent-profiles/work/massa-ai-furps-analyst.toml +1 -1
  81. package/agent-profiles/work/massa-ai-investigator.toml +1 -1
  82. package/agent-profiles/work/massa-ai-judge.toml +1 -1
  83. package/agent-profiles/work/massa-ai-meta-judge.toml +1 -1
  84. package/agent-profiles/work/massa-ai-mobile-specialist.toml +1 -1
  85. package/agent-profiles/work/massa-ai-navigator.toml +1 -1
  86. package/agent-profiles/work/massa-ai-plan-critic.toml +1 -1
  87. package/agent-profiles/work/massa-ai-planner.toml +1 -1
  88. package/agent-profiles/work/massa-ai-requirements-analyst.toml +1 -1
  89. package/agent-profiles/work/massa-ai-reviewer.toml +1 -1
  90. package/agent-profiles/work/massa-ai-test-engineer.toml +1 -1
  91. package/agent-profiles/work/massa-ai-verification-agent.toml +1 -1
  92. package/agents/massa-ai-architecture-specialist.toml +1 -1
  93. package/agents/massa-ai-audit-specialist.toml +1 -1
  94. package/agents/massa-ai-builder.toml +1 -1
  95. package/agents/massa-ai-context-curator.toml +1 -1
  96. package/agents/massa-ai-designer.toml +1 -1
  97. package/agents/massa-ai-documentation-agent.toml +1 -1
  98. package/agents/massa-ai-furps-analyst.toml +1 -1
  99. package/agents/massa-ai-investigator.toml +1 -1
  100. package/agents/massa-ai-judge.toml +1 -1
  101. package/agents/massa-ai-meta-judge.toml +1 -1
  102. package/agents/massa-ai-mobile-specialist.toml +1 -1
  103. package/agents/massa-ai-navigator.toml +1 -1
  104. package/agents/massa-ai-plan-critic.toml +1 -1
  105. package/agents/massa-ai-planner.toml +1 -1
  106. package/agents/massa-ai-requirements-analyst.toml +1 -1
  107. package/agents/massa-ai-reviewer.toml +1 -1
  108. package/agents/massa-ai-test-engineer.toml +1 -1
  109. package/agents/massa-ai-verification-agent.toml +1 -1
  110. package/install.sh +32 -4
  111. package/package.json +1 -1
  112. package/skills/agents/architecture-specialist/SKILL.md +1 -1
  113. package/skills/agents/audit-specialist/SKILL.md +1 -1
  114. package/skills/agents/builder/SKILL.md +1 -1
  115. package/skills/agents/context-curator/SKILL.md +1 -1
  116. package/skills/agents/designer/SKILL.md +1 -1
  117. package/skills/agents/documentation-agent/SKILL.md +1 -1
  118. package/skills/agents/furps-analyst/SKILL.md +1 -1
  119. package/skills/agents/investigator/SKILL.md +1 -1
  120. package/skills/agents/judge/SKILL.md +1 -1
  121. package/skills/agents/meta-judge/SKILL.md +1 -1
  122. package/skills/agents/mobile-specialist/SKILL.md +1 -1
  123. package/skills/agents/navigator/SKILL.md +1 -1
  124. package/skills/agents/plan-critic/SKILL.md +1 -1
  125. package/skills/agents/planner/SKILL.md +1 -1
  126. package/skills/agents/requirements-analyst/SKILL.md +1 -1
  127. package/skills/agents/reviewer/SKILL.md +1 -1
  128. package/skills/agents/test-engineer/SKILL.md +1 -1
  129. package/skills/agents/verification-agent/SKILL.md +1 -1
  130. package/skills/massa-ai/references/architecture-lenses.md +2 -26
  131. package/skills/massa-ai/references/conversation-feedback.md +1 -13
  132. package/skills/massa-ai/references/hook-enforcement.md +3 -3
  133. package/skills/massa-ai/references/lessons.md +2 -2
  134. package/skills/massa-ai/references/maestro.md +0 -16
  135. package/skills/massa-ai/workflows/discovery.md +3 -35
  136. package/skills/massa-ai/workflows/skill-architect.md +8 -28
package/install.sh CHANGED
@@ -184,8 +184,28 @@ if (typeof cfg.hooks !== "object" || cfg.hooks === null) {
184
184
  cfg.hooks = {};
185
185
  }
186
186
 
187
+ // Ownership test — marker first, command shape as the fallback. The marker is
188
+ // precise but not the only way our entries reach this file: an entry written by
189
+ // a release before the marker existed, or copied by hand from documentation,
190
+ // carries none, and was invisible to BOTH directions here — never deduped on
191
+ // install, never removed on uninstall. Claude's copy of this merge had exactly
192
+ // that gap and it double-fired every lifecycle event (measured live
193
+ // 2026-08-17). Referencing the massa-ai-hook binary is unambiguous; a user hook
194
+ // that merely mentions massa-ai elsewhere does not match.
195
+ //
196
+ // isOwned covers both shapes this file has ever held: the flat pre-fix entry
197
+ // (command at the top level) and the matcher group (commands inside hooks[]).
198
+ const OWNED_COMMAND = /massa-ai-hook/;
199
+
200
+ function commandIsOwned(h) {
201
+ return Boolean(h) && typeof h.command === "string" && OWNED_COMMAND.test(h.command);
202
+ }
203
+
187
204
  function isOwned(e) {
188
- return Boolean(e) && e._massaAiOwned === true;
205
+ if (!e || typeof e !== "object") return false;
206
+ if (e._massaAiOwned === true) return true;
207
+ if (commandIsOwned(e)) return true;
208
+ return Array.isArray(e.hooks) && e.hooks.length > 0 && e.hooks.every(commandIsOwned);
189
209
  }
190
210
 
191
211
  // A correctly-shaped owned entry is a matcher group: its "hooks" is an array.
@@ -202,10 +222,18 @@ if (mode === "uninstall") {
202
222
  // Remove owned entries from nested location + perform flat→nested migration
203
223
  const hooks = cfg.hooks;
204
224
 
205
- // First, remove owned entries from the correct nested location
206
- for (const [evt] of EVENTS) {
225
+ // Back up before removing: this now deletes unmarked entries it did not
226
+ // necessarily write, so the install path's backup discipline applies here too.
227
+ if (existed) {
228
+ fs.copyFileSync(file, `${file}.massa-ai.bak-${ts}`);
229
+ }
230
+
231
+ // Remove owned entries from the correct nested location. Every event, not
232
+ // just the ones this release writes — the predicate identifies our commands
233
+ // rather than a location.
234
+ for (const evt of Object.keys(hooks)) {
207
235
  if (Array.isArray(hooks[evt])) {
208
- hooks[evt] = hooks[evt].filter((e) => !(e && e._massaAiOwned === true));
236
+ hooks[evt] = hooks[evt].filter((e) => !isOwned(e));
209
237
  if (hooks[evt].length === 0) delete hooks[evt];
210
238
  }
211
239
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massa-ai/codex-plugin",
3
- "version": "1.53.0",
3
+ "version": "1.55.0",
4
4
  "description": "massa-ai plugin for Codex — semantic code search, memory, and context compression",
5
5
  "files": [
6
6
  "agents",
@@ -56,7 +56,7 @@ Provide architectural guidance by evaluating structure, suggesting boundaries, a
56
56
  - Verification Ladder: static (coupling, depth, boundary) checks; no behavioral changes.
57
57
  - Massa-ai Memory: suggest durable architecture-decision memories only when a boundary or abstraction is recommended; main agent persists.
58
58
  - Synapse: own ephemeral session when evaluation spans multiple modules with repeated searches.
59
- - References: `references/architecture-lenses.md`, `references/architecture-domain-lens.md`, `references/architecture-coupling-lens.md`, `references/architecture-deepening-lens.md`.
59
+ - References (paths relative to the `massa-ai` skill directory): `references/architecture-lenses.md`, `references/architecture-domain-lens.md`, `references/architecture-coupling-lens.md`, `references/architecture-deepening-lens.md`.
60
60
 
61
61
  ## Validation Sensors
62
62
  - Every finding has a `path:line` or metric pointer.
@@ -72,7 +72,7 @@ All lenses share `references/audit-scope.md` (scope rules) and `references/audit
72
72
  - Verification Ladder: static checks per lens; no behavioral changes (findings-only).
73
73
  - Massa-ai Memory: suggest durable audit-pattern memories only when a lens reveals a recurring issue class; main agent persists.
74
74
  - Synapse: own ephemeral session when the audit spans multiple modules with repeated searches.
75
- - References: `references/audit-scope.md`, `references/audit-report-io.md`, plus the per-lens references above.
75
+ - References (paths relative to the `massa-ai` skill directory): `references/audit-scope.md`, `references/audit-report-io.md`, plus the per-lens references above.
76
76
 
77
77
  ## Validation Sensors
78
78
  - Every finding has a `path:line` pointer.
@@ -58,7 +58,7 @@ Implement an approved plan or task by modifying source code with a disjoint writ
58
58
  - Verification Ladder: run the task's sensors (static + behavioral) before claiming Complete.
59
59
  - Massa-ai Memory: suggest durable code-pattern memories only when the implementation establishes a reusable convention; main agent persists.
60
60
  - Synapse: none (implementation is not a repeated-search task).
61
- - References: `references/agent-orchestration.md`, `references/naming-standards.md`, `references/code-annotation.md`, `references/root-cause-scripts.md`.
61
+ - References (paths relative to the `massa-ai` skill directory): `references/agent-orchestration.md`, `references/naming-standards.md`, `references/code-annotation.md`, `references/root-cause-scripts.md`.
62
62
 
63
63
  ## Validation Sensors
64
64
  - Verification commands from the plan pass (tests, build, typecheck, lint).
@@ -58,7 +58,7 @@ Prepare the minimum high-quality Context Packet required for another agent to do
58
58
  - Verification Ladder: static checks only (file existence, reference existence).
59
59
  - Massa-ai Memory: retrieve via `recall`; do not persist unless the main agent assigns it.
60
60
  - Synapse: own ephemeral session per `references/synapse-policy.md`; pass `synapseSessionId` on every `search`.
61
- - References: `references/context-firewall.md`, `references/synapse-policy.md`, `references/mcp-tools.md`.
61
+ - References (paths relative to the `massa-ai` skill directory): `references/context-firewall.md`, `references/synapse-policy.md`, `references/mcp-tools.md`.
62
62
 
63
63
  ## Validation Sensors
64
64
  - Every file in the Context Packet exists (`test -f`).
@@ -59,7 +59,7 @@ Own the screen: verify an existing user-facing screen against its design source,
59
59
  - Verification Ladder: behavioral (the UI module builds and its tests pass) and file-integrity (no validation asset weakened).
60
60
  - Massa-ai Memory: suggest durable memories only when a reusable screen or design-token convention is established; the main agent persists.
61
61
  - Synapse: none by default; request an ephemeral session only when the scope needs two or more related searches across the UI layer.
62
- - References: `references/figma-pre-analysis.md`, `references/figma-wiring.md`, `references/design-implementation.md`, `references/naming-standards.md`, `references/verification-ladder.md`.
62
+ - References (paths relative to the `massa-ai` skill directory): `references/figma-pre-analysis.md`, `references/figma-wiring.md`, `references/design-implementation.md`, `references/naming-standards.md`, `references/verification-ladder.md`.
63
63
 
64
64
  ## Validation Sensors
65
65
  - Every design element in scope appears in the conformance table with a verdict, or the table states why the design source did not cover it.
@@ -56,7 +56,7 @@ Generate engineering documentation artifacts (README, ADR, RFC, changelog, KDoc,
56
56
  - Verification Ladder: static (doc-lint, stale-reference, link check); no behavioral sensors.
57
57
  - Massa-ai Memory: suggest durable doc-format memories only when a documentation convention is established; main agent persists.
58
58
  - Synapse: none (documentation is not a repeated-search task).
59
- - References: `references/adr-authoring.md`, `references/rfc/`.
59
+ - References (paths relative to the `massa-ai` skill directory): `references/adr-authoring.md`, `references/rfc/`.
60
60
 
61
61
  ## Validation Sensors
62
62
  - Stale-reference scan passes (no dead links to removed files).
@@ -60,7 +60,7 @@ Analyze exactly one FURPS+ dimension of a PRD or ADR against its checklist secti
60
60
  - Verification Ladder: static evidence checks only — source-location proof per claim, absent-claim detection per `missing`.
61
61
  - Massa-ai Memory: suggest durable memories only when a reusable refinement pattern is discovered; the main agent persists.
62
62
  - Synapse: own ephemeral session when >= 2 searches are expected, per `references/synapse-policy.md`.
63
- - References: `references/furps/checklist.md`, `references/furps/report-contract.md`, `references/furps/intake.md`, `references/agent-orchestration.md`.
63
+ - References (paths relative to the `massa-ai` skill directory): `references/furps/checklist.md`, `references/furps/report-contract.md`, `references/furps/intake.md`, `references/agent-orchestration.md`.
64
64
 
65
65
  ## Validation Sensors
66
66
  - Source-location proof (quote plus section) for every `covered`/`partial` claim.
@@ -59,7 +59,7 @@ Read and understand the codebase to answer engineering questions without modifyi
59
59
  - Verification Ladder: static checks (grep, search) and file-integrity; no behavioral changes.
60
60
  - Massa-ai Memory: suggest durable architecture/dependency memories only when useful; main agent persists.
61
61
  - Synapse: own ephemeral session per `references/synapse-policy.md`; pass `synapseSessionId` on every `search`.
62
- - References: `references/codebase-investigation.md`, `references/agent-orchestration.md`, `references/synapse-policy.md`.
62
+ - References (paths relative to the `massa-ai` skill directory): `references/codebase-investigation.md`, `references/agent-orchestration.md`, `references/synapse-policy.md`.
63
63
 
64
64
  ## Validation Sensors
65
65
  - Source-backed evidence for every claim (`path:line`).
@@ -80,7 +80,7 @@ next_step: <string>
80
80
  - Verification Ladder: every score cites a quotation; a score without a quote is a sensor failure.
81
81
  - Massa-ai Memory: suggest durable memories only for reusable evaluation failure patterns; the main agent persists.
82
82
  - Policy: the orchestrator owns dispatch, consensus arithmetic, and the final verdict; this agent owns its scores and its file only.
83
- - References: `references/agent-orchestration.md`, `references/audit-report-io.md` (Judge With Debate Report Contracts).
83
+ - References (paths relative to the `massa-ai` skill directory): `references/agent-orchestration.md`, `references/audit-report-io.md` (Judge With Debate Report Contracts).
84
84
 
85
85
  ## Model Hint
86
86
  See `references/agent-orchestration.md` (Model Diversity Fallback): `metadata.model_tier`
@@ -71,7 +71,7 @@ overall: weighted-mean
71
71
  - Verification Ladder: every criterion must be checkable by quoting the artifact — a criterion that cannot be evidenced is not a criterion.
72
72
  - Massa-ai Memory: suggest durable memories only for reusable rubric patterns; the main agent persists.
73
73
  - Policy: the main agent (judge-with-debate orchestrator) owns dispatch, YAML validation, retry, and consensus; this agent owns the specification only.
74
- - References: `references/agent-orchestration.md`, `references/audit-report-io.md` (Judge With Debate Report Contracts).
74
+ - References (paths relative to the `massa-ai` skill directory): `references/agent-orchestration.md`, `references/audit-report-io.md` (Judge With Debate Report Contracts).
75
75
 
76
76
  ## Model Hint
77
77
  See `references/agent-orchestration.md` (Model Diversity Fallback): `metadata.model_tier`
@@ -73,7 +73,7 @@ If none are present, refuse with: `Non-mobile target. Refusing mobile-specialist
73
73
  - Verification Ladder: platform-specific static checks when available; no behavioral changes.
74
74
  - Massa-ai Memory: suggest durable mobile-decision memories only when a platform constraint or lifecycle pattern is established; main agent persists.
75
75
  - Synapse: own ephemeral session when guidance spans multiple mobile modules with repeated searches.
76
- - References: `references/mobile-context.md`, `references/mobile-diagnosis.md`, `references/maestro.md`.
76
+ - References (paths relative to the `massa-ai` skill directory): `references/mobile-context.md`, `references/mobile-diagnosis.md`, `references/maestro.md`.
77
77
 
78
78
  ## Validation Sensors
79
79
  - At least one detection signal is confirmed present before guidance is given.
@@ -66,7 +66,7 @@ The user's codebase is **already indexed** by massa-ai. The first move on any qu
66
66
  - Orphaned-dims recovery: if a vector `search` returns 0 results while other dim tables hold chunks for the project, report to the parent agent that `index` with `forceReindex=true` is required. Do not run it.
67
67
  - Context Firewall: summarize search output; return only `path:line` pointers and findings.
68
68
  - Massa-ai Memory: suggest durable navigation facts (entry points, ownership boundaries) only when reusable; the main agent persists.
69
- - References: `references/mcp-tools.md`, `references/codebase-investigation.md`, `references/synapse-policy.md`, `references/context-firewall.md`.
69
+ - References (paths relative to the `massa-ai` skill directory): `references/mcp-tools.md`, `references/codebase-investigation.md`, `references/synapse-policy.md`, `references/context-firewall.md`.
70
70
 
71
71
  ## Validation Sensors
72
72
  - Every claim carries a `path:line` or symbol pointer.
@@ -79,7 +79,7 @@ Never receives full conversation context.
79
79
  - Verification Ladder: every challenge names the concrete sensor that would settle it.
80
80
  - Massa-ai Memory: suggest durable memories only for reusable failure modes or rejected approaches; the main agent persists.
81
81
  - Policy: the main agent owns mode selection, synthesis, plan revision, and the Evidence Gate; this agent owns the critique only.
82
- - References: `references/agent-orchestration.md`, `references/the-fool/`, `references/verification-ladder.md`.
82
+ - References (paths relative to the `massa-ai` skill directory): `references/agent-orchestration.md`, `references/the-fool/`, `references/verification-ladder.md`.
83
83
 
84
84
  ## Validation Sensors
85
85
  - Every challenge ties to a plan section plus a concrete evidence gap or falsifiable check.
@@ -56,7 +56,7 @@ Transform an engineering request into a structured implementation plan.
56
56
  - Verification Ladder: plan references expected sensors; does not run them.
57
57
  - Massa-ai Memory: suggest durable decision memories only when the plan locks a strategy; main agent persists.
58
58
  - Synapse: none (planning is not a repeated-search task).
59
- - References: `references/agent-orchestration.md`, `references/subagent-design.md`.
59
+ - References (paths relative to the `massa-ai` skill directory): `references/agent-orchestration.md`, `references/subagent-design.md`.
60
60
 
61
61
  ## Validation Sensors
62
62
  - Every step in the plan references a concrete file, module, or task.
@@ -55,7 +55,7 @@ Analyze requirements before implementation to surface ambiguity, gaps, contradic
55
55
  - Verification Ladder: static (spec citation) only; no behavioral sensors.
56
56
  - Massa-ai Memory: suggest durable requirement-decision memories only when an implicit requirement is accepted as an assumption; main agent persists.
57
57
  - Synapse: none (analysis is not a repeated-search task).
58
- - References: `references/spec-driven/specify.md`, `references/furps/`.
58
+ - References (paths relative to the `massa-ai` skill directory): `references/spec-driven/specify.md`, `references/furps/`.
59
59
 
60
60
  ## Validation Sensors
61
61
  - Every finding cites a requirement ID or spec section.
@@ -57,7 +57,7 @@ Review implementation quality by analyzing the diff and flagging bugs, regressio
57
57
  - Verification Ladder: static checks (lint, typecheck) as supporting evidence; behavioral checks belong to verification-agent.
58
58
  - Massa-ai Memory: suggest durable code-quality memories only when a review reveals a reusable pattern; main agent persists.
59
59
  - Synapse: none (review is not a repeated-search task).
60
- - References: `references/agent-orchestration.md`.
60
+ - References (paths relative to the `massa-ai` skill directory): `references/agent-orchestration.md`.
61
61
 
62
62
  ## Validation Sensors
63
63
  - Every finding has a `path:line` pointer.
@@ -58,7 +58,7 @@ Generate a testing strategy that covers unit, integration, edge cases, negative
58
58
  - Verification Ladder: behavioral (tests) and file-integrity (no validation assets weakened).
59
59
  - Massa-ai Memory: suggest durable test-pattern memories only when a testing convention is established; main agent persists.
60
60
  - Synapse: none (test planning is not a repeated-search task).
61
- - References: `references/verification-ladder.md`, `references/code-annotation.md`, `references/root-cause-scripts.md`.
61
+ - References (paths relative to the `massa-ai` skill directory): `references/verification-ladder.md`, `references/code-annotation.md`, `references/root-cause-scripts.md`.
62
62
 
63
63
  ## Validation Sensors
64
64
  - Every acceptance criterion maps to at least one test case.
@@ -55,7 +55,7 @@ Centralize Verification Ladder logic and validate that a task's output meets its
55
55
  - Verification Ladder: this agent IS the ladder; choose the cheapest sufficient evidence first.
56
56
  - Massa-ai Memory: suggest durable verification-recipe memories only when a sensor pattern is reusable; main agent persists.
57
57
  - Synapse: none (verification is not a repeated-search task).
58
- - References: `references/verification-ladder.md`, `references/evidence-gate.md`.
58
+ - References (paths relative to the `massa-ai` skill directory): `references/verification-ladder.md`, `references/evidence-gate.md`.
59
59
 
60
60
  ## Validation Sensors
61
61
  - Every acceptance criterion has a PASS/FAIL verdict with evidence.
@@ -39,28 +39,7 @@ Analyze dependency cost with strength, distance, and volatility.
39
39
 
40
40
  Load `references/architecture-coupling-lens.md` when the audit target includes dependencies, imports, service calls, shared schemas/models, direct persistence access, co-change, or contract leakage.
41
41
 
42
- Strength levels:
43
-
44
- - Intrusive: downstream depends on internals not designed for integration.
45
- - Functional: sequential, transactional, or duplicated symmetric business rules.
46
- - Model: upstream exposes internal domain model to downstream.
47
- - Contract: integration-specific DTO/protocol hides internals.
48
-
49
- Distance levels:
50
-
51
- - same function or class
52
- - same package
53
- - same module/library
54
- - different service
55
- - external system or team
56
-
57
- Volatility signals:
58
-
59
- - core business logic
60
- - frequent git changes or co-change
61
- - TODO/FIXME clusters
62
- - evolving API versions
63
- - fragile tests or recurring regressions
42
+ Strength, distance, and volatility level definitions: full detail in `references/architecture-coupling-lens.md`.
64
43
 
65
44
  Flag highest risk when high strength, high distance, and high volatility combine.
66
45
 
@@ -88,10 +67,7 @@ Check:
88
67
  - test-only extraction that loses locality
89
68
  - concepts split across many files without leverage
90
69
 
91
- Use the deletion test:
92
-
93
- - If deleting a module removes complexity, it was probably shallow.
94
- - If deleting it spreads complexity across callers, it was probably earning its keep.
70
+ Deletion test: full detail in `references/architecture-deepening-lens.md`.
95
71
 
96
72
  Only recommend a new seam when variation, dependency direction, external I/O, or test substitution is real.
97
73
 
@@ -17,19 +17,7 @@ repeated micro-events.
17
17
 
18
18
  ## Line Shape
19
19
 
20
- Each status update must be 1-2 lines. Use an emoji, a capitalized label in square brackets, and one or two plain sentences.
21
-
22
- Do:
23
-
24
- ```md
25
- 🔵 [Start] Planning visual feedback for massa-ai. Workflow: Spec Driven. Session: Visual Feedback.
26
- 🔄 [Loading] Reading AGENTS.md and massa-ai router guidance before planning.
27
- 🧠 [Context] Found 8 relevant massa-ai memories and queried the requested NotebookLM source.
28
- 🤖 [Agent Running] Plan Critic is checking failure modes for the proposed design.
29
- ⚠️ [Divergence] Expected the legacy router path, but this checkout uses skills/massa-ai/SKILL.md.
30
- ✅ [Verified] Stale-reference checks and skill validation passed.
31
- 🏁 [Finished] Plan complete. Changed files: none. Remaining risk: none found.
32
- ```
20
+ Each status update must be 1-2 lines. Use an emoji, a capitalized label in square brackets, and one or two plain sentences. The worked example is not repeated here — it lives in the canonical policy block named under Policy Source above, which is always in context.
33
21
 
34
22
  Avoid terse machine-shaped status lines, lowercase labels, equals-sign syntax, and tiny abbreviations.
35
23
 
@@ -131,7 +131,7 @@ recall stays owned by the router.
131
131
 
132
132
  | Failure | Behavior |
133
133
  |---|---|
134
- | massa-ai REST unavailable | lesson still lands in `lessons.json`; skipped memory write logged to `scripts/hooks-state/skip.log` |
135
- | `.specs/STATE.md` absent / workflow unset | stop gate falls back to flat matrix |
134
+ | massa-ai REST unavailable | lesson still lands in `lessons.json`; the memory write is fire-and-forget and is dropped silently (a timeout emits a `deadline-on-fire` JSON breadcrumb on **stderr**, nothing is written to disk) |
135
+ | `.specs/project/STATE.md` absent / workflow unset | stop gate falls back to flat matrix |
136
136
  | bad / malformed stdin | hook exits 0, never blocks |
137
- | hook non-critical error | exit 0, approve, log skip |
137
+ | hook non-critical error | exit 0, approve, degrade silently — there is no skip log file |
@@ -166,5 +166,5 @@ best-effort. An ungrounded lesson is refused by both `add` and the massa-ai writ
166
166
  ### Self-Check
167
167
 
168
168
  After verification: if a reusable signal was found but no lesson was recorded,
169
- state the skipped reason. The hook loop logs every skip to
170
- `scripts/hooks-state/skip.log`.
169
+ state the skipped reason. Nothing else records it — the hook loop keeps no skip
170
+ log on disk, so your stated reason is the only record.
@@ -19,22 +19,6 @@ Official source anchors:
19
19
  - Cloud limits: https://docs.maestro.dev/maestro-cloud/limits.md
20
20
  - Maestro MCP: https://docs.maestro.dev/get-started/maestro-mcp.md
21
21
 
22
- ## Load Map
23
-
24
- | Need | Load |
25
- |---|---|
26
- | Source authority, Q&A checklist handling, unsupported facts, transcript requirements | `references/maestro/fact-ledger.md` |
27
- | CLI preflight, device/platform readiness, local command flags, sharding, live help capture | `references/maestro/cli-device.md` |
28
- | YAML commands, flow headers, AI commands, examples | `references/maestro/yaml-commands.md` |
29
- | Core, relational, trait, state, dimension, platform, regex, and web-only selector behavior | `references/maestro/selectors.md` |
30
- | Flow discovery, config.yaml discovery patterns, tags, execution order, suite isolation | `references/maestro/workspace-execution.md` |
31
- | Flow header/config/env/report-output boundaries | `references/maestro/config-env-output.md` |
32
- | `evalScript`, `runScript`, `output`, `faker`, logging, `maestro.log` | `references/maestro/js-scripting.md` |
33
- | JUnit/HTML reports, artifact directories, debug output, screenshots, videos, AI reports, recording | `references/maestro/artifacts-reports.md` |
34
- | Cloud binary eligibility, auth/plan needs, app-binary reuse, Cloud device flags, Cloud limits | `references/maestro/cloud.md` |
35
- | Maestro MCP install/use, tool metadata, Viewer, Cloud-auth tools | `references/maestro/mcp.md` |
36
- | Stable suite design, setup/teardown, selectors, fixtures, output contracts, skipped checks | `references/maestro/patterns.md` |
37
-
38
22
  ## Minimum Step Selection
39
23
 
40
24
  - Flow implementation: load `fact-ledger.md`, `cli-device.md`, then only the focused files for the flow surface being edited: commonly `yaml-commands.md`, `selectors.md`, `workspace-execution.md`, `config-env-output.md`, `js-scripting.md`, and `patterns.md`.
@@ -89,39 +89,6 @@ effects ("if we do X, what does that enable or foreclose?"); bring in
89
89
  competitive response; think in timeframes (3 months vs 12 months vs 3
90
90
  years).
91
91
 
92
- ## Frameworks As Tools
93
-
94
- Pull a framework in when it moves the conversation forward — never dump
95
- frameworks or force the conversation through them as a checklist.
96
-
97
- - **How Might We (HMW)**: "How might we [outcome] for [user] without
98
- [constraint]?" Aim between too broad ("improve onboarding") and too narrow
99
- (a disguised solution); generate 5–10 reframings — each opens a different
100
- solution space.
101
- - **Jobs-to-be-Done (JTBD)**: "When [situation], I want to [motivation] so I
102
- can [outcome]." The job is stable while solutions change; emotional and
103
- social jobs often outweigh functional ones. Ask "what did they fire to
104
- hire this?" — it reveals the real competitive set.
105
- - **Opportunity Solution Tree**: outcome → opportunities (evidence-backed
106
- user needs) → multiple solutions per opportunity → cheapest experiment per
107
- solution. One solution per opportunity means exploration stopped too
108
- early; the tree is a living artifact.
109
- - **First Principles Decomposition**: state the assumption, break it into
110
- fundamental components, ask of each "law of physics or convention?", then
111
- rebuild from only the fundamentals. Use when the team is stuck in
112
- incremental thinking.
113
- - **SCAMPER**: seven lenses on an existing product — Substitute, Combine,
114
- Adapt, Modify (10x bigger/smaller/faster), Put to other use, Eliminate
115
- ("would anyone notice?"), Reverse (flip the sequence or the default).
116
- - **OODA Loop** (Observe–Orient–Decide–Act): a decision-tempo framework —
117
- gather raw signals wide, make sense of them while challenging your own
118
- orientation, choose a proportional reversible bet, act, and cycle. Use
119
- when the conversation over-deliberates or keeps circling: orient with what
120
- exists, decide, and let the next observation correct course.
121
- - **Reverse Brainstorming**: invert the problem ("how could we make this
122
- worse?"), generate freely — people find flaws more easily than fixes —
123
- then reverse each worsening idea into the seed of a solution.
124
-
125
92
  ## Session Rhythm
126
93
 
127
94
  A good session opens up before it narrows down. Move through five stages;
@@ -134,8 +101,9 @@ name the stage transition when it helps the user follow.
134
101
  to nothing.
135
102
  2. **Diverge** — Generate many ideas without judgment; build on ideas rather
136
103
  than shooting them down; follow tangents; push past the first 3–5 obvious
137
- ideas; use the frameworks above to open new angles. Do not evaluate
138
- feasibility here — that kills divergent thinking.
104
+ ideas; pull in whatever brainstorming frameworks fit the conversation to
105
+ open new angles. Do not evaluate feasibility here — that kills divergent
106
+ thinking.
139
107
  3. **Provoke** — The sparring-partner stage: "What is the strongest argument
140
108
  against this?", "Who would hate this and why?", "What are we not
141
109
  seeing?", "What if the opposite were true?", "What is the 10x more
@@ -47,32 +47,15 @@ what "success" looks like.
47
47
 
48
48
  ### 1.1 — Understand the Problem
49
49
 
50
- Start by asking about the OUTCOME, not the implementation. Key questions
51
- (ask conversationally, not as a checklist dump):
52
-
53
- - **What workflow do you want to make consistent?** Get a concrete example
54
- of what they do today, step by step.
55
- - **What goes wrong without the skill?** Understand the pain: inconsistency,
56
- forgotten steps, wasted time re-explaining, wrong outputs.
57
- - **Who will use this skill?** Just them? Their team? Public distribution?
58
- This affects naming, documentation depth, and description specificity.
59
- - **What tools are involved?** Built-in Agents capabilities (code execution,
60
- file creation, artifacts) or external services via MCP?
50
+ Determine: the workflow to make consistent, what goes wrong without the
51
+ skill, who will use it (affects naming, documentation depth, and description
52
+ specificity), and what tools are involved (built-in Agents capabilities or
53
+ external services via MCP).
61
54
 
62
55
  ### 1.2 — Define Use Cases
63
56
 
64
- Nail down 2-3 concrete use cases. For each, capture:
65
-
66
- ```
67
- Use Case: [Name]
68
- Trigger: What the user would say or do
69
- Steps: The sequence of actions
70
- Tools: Built-in or MCP tools needed
71
- Result: What success looks like (specific output)
72
- ```
73
-
74
- If the user is vague, give them examples to react to. It's easier to refine
75
- a concrete proposal than to articulate needs from scratch.
57
+ Nail down 2-3 concrete use cases, each capturing name, trigger, steps, tools
58
+ needed, and expected result.
76
59
 
77
60
  ### 1.3 — Identify the Category
78
61
 
@@ -87,11 +70,8 @@ detailed pattern guidance):
87
70
 
88
71
  ### 1.4 — Establish Success Criteria
89
72
 
90
- Before moving on, agree on how they'll know the skill works:
91
-
92
- - **Trigger accuracy:** What should trigger it? What should NOT?
93
- - **Output quality:** What does a good result look like concretely?
94
- - **Efficiency:** How many interactions should it take?
73
+ Before moving on, agree on trigger accuracy, output quality, and efficiency
74
+ expectations — how they'll know the skill works.
95
75
 
96
76
  **Exit criteria for Discovery:**
97
77