@mutagent/helix 0.1.0-alpha.14

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 (357) hide show
  1. package/.claude/skills/mutagent-helix/SKILL.md +113 -0
  2. package/.claude/skills/mutagent-helix/scripts/cli/codex-transcode.ts +143 -0
  3. package/.claude/skills/mutagent-helix/scripts/cli/doctor.ts +111 -0
  4. package/.claude/skills/mutagent-helix/scripts/cli/init.ts +382 -0
  5. package/.claude/skills/mutagent-helix/scripts/cli/run.sh +61 -0
  6. package/CLAUDE.md +193 -0
  7. package/LICENSE +201 -0
  8. package/NOTICE +22 -0
  9. package/README.md +209 -0
  10. package/assets/adl-loop.svg +162 -0
  11. package/assets/system-status.svg +422 -0
  12. package/bin/mutagent-cli.mjs +9950 -0
  13. package/bin/mutagent-helix.mjs +78 -0
  14. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/CLAUDE.md +28 -0
  15. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/SKILL.md +138 -0
  16. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/assets/templates/agentspec.yaml.tpl +247 -0
  17. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/references/frameworks/doc-pins.md +53 -0
  18. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/references/principles.md +91 -0
  19. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/references/requirements.yaml +295 -0
  20. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/references/workflows/orchestrator-protocol.md +302 -0
  21. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/scripts/cli/doctor.ts +116 -0
  22. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/scripts/cli/init.ts +230 -0
  23. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/scripts/cli/run.sh +60 -0
  24. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/scripts/config/resolve-spec-dir.ts +199 -0
  25. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/scripts/contract/agentspec.schema.ts +455 -0
  26. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/scripts/setup/detect.ts +67 -0
  27. package/mutagent-agentspec/.claude/skills/mutagent-agentspec/scripts/validate/validate-spec.ts +93 -0
  28. package/mutagent-agentspec/LICENSE +201 -0
  29. package/mutagent-agentspec/NOTICE +19 -0
  30. package/mutagent-agentspec/README.md +44 -0
  31. package/mutagent-builder/.claude/skills/mutagent-builder/SKILL.md +100 -0
  32. package/mutagent-builder/.claude/skills/mutagent-builder/assets/agents/ai-architect.md +312 -0
  33. package/mutagent-builder/.claude/skills/mutagent-builder/assets/agents/ai-engineer.md +357 -0
  34. package/mutagent-builder/.claude/skills/mutagent-builder/assets/templates/build-report.md.tpl +39 -0
  35. package/mutagent-builder/.claude/skills/mutagent-builder/references/principles.md +31 -0
  36. package/mutagent-builder/.claude/skills/mutagent-builder/references/workflows/build-protocol.md +61 -0
  37. package/mutagent-builder/.claude/skills/mutagent-builder/references/workflows/improve-handoff.md +23 -0
  38. package/mutagent-builder/.claude/skills/mutagent-builder/scripts/cli/run.sh +60 -0
  39. package/mutagent-builder/.claude/skills/mutagent-builder/scripts/handoff/validate-build-input.ts +72 -0
  40. package/mutagent-builder/.claude/skills/mutagent-builder/scripts/sync-spec/check-sync-spec.ts +499 -0
  41. package/mutagent-builder/.claude/skills/mutagent-builder/scripts/verify/spec-impl-coverage.ts +182 -0
  42. package/mutagent-builder/CLAUDE.md +25 -0
  43. package/mutagent-builder/README.md +26 -0
  44. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/README.md +192 -0
  45. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/SKILL.md +352 -0
  46. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/agents/ai-architect.md +256 -0
  47. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/agents/ai-engineer.md +344 -0
  48. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/agents/diagnostics-analyzer.md +576 -0
  49. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/agents/discovery.md +425 -0
  50. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/audit.json.tpl +24 -0
  51. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/audit.md.tpl +49 -0
  52. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/config.yaml.tpl +100 -0
  53. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/pr-body.md.tpl +56 -0
  54. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/report.html.tpl +327 -0
  55. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/shared/README.md +27 -0
  56. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/shared/iter-N-handover.md.tpl +125 -0
  57. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/shared/self-diagnosis-contract.v0.1.0.yaml.tpl +234 -0
  58. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/shared/spec.yaml.tpl +152 -0
  59. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/shared/team.yaml.tpl +127 -0
  60. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/shared/wave-N-dashboard.html.tpl +1712 -0
  61. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/diagnostics/WF-2.1-nl-query.md +59 -0
  62. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/diagnostics/WF-2.2-tier0-progress.md +58 -0
  63. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/diagnostics/WF-2.3-analysis-progress.md +44 -0
  64. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/diagnostics/WF-2.4-html-report.md +61 -0
  65. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/diagnostics/WF-2.5-rca-detail.md +69 -0
  66. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/diagnostics/WF-2.6-stale-warning.md +53 -0
  67. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/onboarding/WF-1.1-welcome.md +60 -0
  68. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/onboarding/WF-1.2-source-platform-picker.md +41 -0
  69. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/onboarding/WF-1.3-source-auth.md +75 -0
  70. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/onboarding/WF-1.4-target-picker.md +48 -0
  71. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/onboarding/WF-1.5-ask-tool.md +43 -0
  72. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/onboarding/WF-1.6-config-review.md +57 -0
  73. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/onboarding/WF-1.7-filter-defaults.md +52 -0
  74. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/wireframes/onboarding/WF-1.8-first-run.md +59 -0
  75. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/examples/sample-findings.json +92 -0
  76. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/examples/sample-meta.json +47 -0
  77. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/adapter-strategy.md +75 -0
  78. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/config-migration.md +84 -0
  79. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/config.md +159 -0
  80. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/filter-search-matrix.md +66 -0
  81. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/harness-knowledge.md +22 -0
  82. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/memory-format.md +78 -0
  83. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/onboarding-decisions.yaml +187 -0
  84. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/operation-inventory.md +59 -0
  85. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/overview.md +167 -0
  86. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/reference.md +119 -0
  87. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/script-index.md +101 -0
  88. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/source-adapter-contract.md +93 -0
  89. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/source-platforms/claude-code-transcripts.md +66 -0
  90. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/source-platforms/codex-transcripts.md +78 -0
  91. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/source-platforms/codex.md +145 -0
  92. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/source-platforms/install-paths.md +57 -0
  93. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/source-platforms/langfuse.md +178 -0
  94. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/source-platforms/local-jsonl.md +55 -0
  95. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/source-platforms/openobserve.md +102 -0
  96. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/source-platforms/otel.md +63 -0
  97. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/target-platforms/cloud-rest.md +84 -0
  98. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/target-platforms/local-claude.md +65 -0
  99. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/target-platforms/local-cloud-agent-sdk.md +92 -0
  100. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/target-platforms/local-codex.md +72 -0
  101. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/target-platforms/local-cursor.md +108 -0
  102. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/target-platforms/local-mastra.md +77 -0
  103. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/target-platforms/local-opencode.md +70 -0
  104. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/apply-pr-comment-format.md +82 -0
  105. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/diagnostics.md +35 -0
  106. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/handover-contract.md +247 -0
  107. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/onboarding.md +300 -0
  108. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/orchestrator-protocol.md +1861 -0
  109. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/rca.md +331 -0
  110. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/rendering-anatomy.md +314 -0
  111. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/schedule-prep.md +100 -0
  112. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/scope-model.md +128 -0
  113. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/references/workflows/verification-methodology.md +174 -0
  114. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/aggregate/sort-findings.ts +0 -0
  115. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/awareness/blind-spots.ts +167 -0
  116. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/awareness/llm-sample.ts +681 -0
  117. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/cli/doctor.ts +215 -0
  118. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/cli/init.ts +1013 -0
  119. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/cli/install-agents.ts +350 -0
  120. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/cli/run.sh +61 -0
  121. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/cli/shared-templates.ts +79 -0
  122. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/config/load.ts +392 -0
  123. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/config/resolve-credential.ts +120 -0
  124. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/config/schema.ts +641 -0
  125. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/config/validate.ts +134 -0
  126. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/context/build-diagnosis-context.ts +417 -0
  127. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/context/load-context.ts +105 -0
  128. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/contract/types.ts +166 -0
  129. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/enrich/build-render-input.ts +1964 -0
  130. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/enrich/corpus-severity.ts +172 -0
  131. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/enrich/dismissal-match.ts +270 -0
  132. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/enrich/rank-remedies.ts +75 -0
  133. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/hooks/install-hooks.sh +46 -0
  134. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/hooks/pre-push.sh +78 -0
  135. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/invocation/parse-brief.ts +188 -0
  136. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/library/match.ts +114 -0
  137. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/library/paths.ts +95 -0
  138. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/library/store.ts +535 -0
  139. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/library/types.ts +181 -0
  140. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/lint/template-inline-js.ts +267 -0
  141. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/memory/append.ts +188 -0
  142. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/memory/read.ts +218 -0
  143. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/normalize/platforms/entity-context.ts +686 -0
  144. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/normalize/read-unitf.ts +267 -0
  145. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/normalize/trace.ts +1078 -0
  146. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/normalize/unitf-adapter.ts +0 -0
  147. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/normalize/unitf-types.ts +213 -0
  148. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/report/persist-selections.ts +174 -0
  149. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/report/render.ts +3254 -0
  150. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/run/diagnose.ts +64 -0
  151. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/run/session.ts +167 -0
  152. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/sample/caps.ts +345 -0
  153. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/sample/deep-read-gate.ts +424 -0
  154. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/sample/representative.ts +584 -0
  155. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/scan/objection.ts +224 -0
  156. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/scan/trajectory.ts +489 -0
  157. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/self-diagnostics/dispatch.ts +135 -0
  158. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/self-diagnostics/probe.ts +170 -0
  159. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/setup/detect.ts +307 -0
  160. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/setup/ensure-cli.ts +315 -0
  161. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/setup/reconfigure.ts +77 -0
  162. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/setup/verify-agents.ts +207 -0
  163. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/slicer.ts +166 -0
  164. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/source/adapters/claude-code.ts +17 -0
  165. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/source/adapters/codex.ts +11 -0
  166. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/source/adapters/langfuse.ts +17 -0
  167. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/source/adapters/local-jsonl.ts +12 -0
  168. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/source/adapters/otel.ts +12 -0
  169. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/source/index.ts +54 -0
  170. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/source/registry.ts +45 -0
  171. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/source/types.ts +86 -0
  172. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/stale-detector.ts +74 -0
  173. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/test/render-playwright.cli.ts +477 -0
  174. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/tier0/claude-code.ts +133 -0
  175. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/tier0/langfuse.ts +143 -0
  176. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/tier0-scan.ts +423 -0
  177. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/validate/completeness-check.ts +436 -0
  178. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/validate/doc-refs.ts +190 -0
  179. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/validate/finalize-gate.ts +417 -0
  180. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/validate/findings-contract.ts +628 -0
  181. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/validate/render-js-syntax.ts +188 -0
  182. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/validate/report-checklist.yaml +217 -0
  183. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/validate/trace-shape.ts +262 -0
  184. package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/scripts/validate/wave6-checklist.ts +326 -0
  185. package/mutagent-diagnostics/CLAUDE.md +41 -0
  186. package/mutagent-diagnostics/LICENSE +201 -0
  187. package/mutagent-diagnostics/NOTICE +18 -0
  188. package/mutagent-diagnostics/README.md +343 -0
  189. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/SKILL.md +548 -0
  190. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/assets/agents/audit-executor.md +169 -0
  191. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/assets/agents/dataset-builder.md +160 -0
  192. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/assets/agents/discovery.md +425 -0
  193. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/assets/agents/evaluator.md +1108 -0
  194. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/assets/brand/theme.css +213 -0
  195. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/assets/brand/wordmark.html +9 -0
  196. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/lenses/context-flow-lens.md +85 -0
  197. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/lenses/data-lens.md +47 -0
  198. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/lenses/decision-lens.md +48 -0
  199. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/lenses/methodology-critic-lens.md +53 -0
  200. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/lenses/trajectory-lens.md +44 -0
  201. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/build-review-interface.md +83 -0
  202. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/edd-loop.md +134 -0
  203. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/error-analysis.md +113 -0
  204. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/eval-audit.md +154 -0
  205. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/eval-stage.md +168 -0
  206. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/generate-synthetic-data.md +81 -0
  207. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/grounded-adjudication.md +221 -0
  208. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/memory-format.md +65 -0
  209. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/methodology.md +201 -0
  210. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/operation-inventory.md +197 -0
  211. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/validate-evaluator.md +125 -0
  212. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/workflows/orchestrator-protocol.md +300 -0
  213. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/references/write-judge-prompt.md +123 -0
  214. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/behavior-tree.schema.yaml +73 -0
  215. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/dataset.schema.yaml +66 -0
  216. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/edd-change-request.schema.yaml +114 -0
  217. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/eval-matrix.schema.yaml +74 -0
  218. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/flow-graph.schema.yaml +69 -0
  219. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/flow-profile.schema.yaml +49 -0
  220. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/methodology-review.schema.yaml +40 -0
  221. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/scorecard.schema.yaml +85 -0
  222. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/agent-dispatch.ts +0 -0
  223. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/aggregate-discover.ts +543 -0
  224. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/artifact-paths.ts +115 -0
  225. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/assemble-scorecard.ts +172 -0
  226. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/build-dataset.ts +186 -0
  227. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/build-evals.ts +93 -0
  228. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/build-review-ui.ts +393 -0
  229. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/check-method-router.ts +170 -0
  230. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/aggregate.ts +112 -0
  231. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/audit-run.ts +182 -0
  232. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/doctor.ts +211 -0
  233. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/dogfood.ts +133 -0
  234. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/init.ts +601 -0
  235. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/methodology-review.ts +122 -0
  236. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/prep.ts +295 -0
  237. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/profile-subject.ts +165 -0
  238. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/run.sh +56 -0
  239. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cli/variance-check.ts +105 -0
  240. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/code-eval.ts +248 -0
  241. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/code-quality-verdict.ts +285 -0
  242. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/codegen-evals.ts +173 -0
  243. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cold-start-project.ts +151 -0
  244. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/cold-start-sampler.ts +267 -0
  245. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/config/load.ts +343 -0
  246. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/config/schema.ts +380 -0
  247. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/contracts/agentspec-evals.ts +85 -0
  248. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/contracts/dataset.ts +149 -0
  249. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/contracts/eval-engine.ts +118 -0
  250. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/contracts/eval-matrix.ts +577 -0
  251. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/contracts/eval-types.ts +1074 -0
  252. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/contracts/flow-graph.ts +194 -0
  253. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/contracts/types.ts +303 -0
  254. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/contracts/validation.ts +193 -0
  255. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/derive-dataset.ts +152 -0
  256. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/determine-outcome.ts +219 -0
  257. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/diff-discriminate.ts +160 -0
  258. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/discover-criteria.ts +348 -0
  259. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/edd/change-request.ts +232 -0
  260. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/edd/edd-types.ts +210 -0
  261. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/edd/variance-gate.ts +186 -0
  262. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/emit-completeness.ts +111 -0
  263. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/eval-engine.ts +160 -0
  264. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/evaluate.ts +333 -0
  265. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/flow-graph.ts +230 -0
  266. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/judge-prompt-template.ts +253 -0
  267. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/judge-provider.ts +135 -0
  268. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/lint-grounding.ts +229 -0
  269. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/lint-uniformity.ts +168 -0
  270. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/living-suite.ts +109 -0
  271. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/load-bundle.ts +203 -0
  272. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/load-profile-vocab.ts +64 -0
  273. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/load-profile.ts +106 -0
  274. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/mask.ts +138 -0
  275. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/materialize-dataset.ts +113 -0
  276. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/matrix-judge.ts +750 -0
  277. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/memory/append.ts +215 -0
  278. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/memory/read.ts +168 -0
  279. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/persist-eval-criteria.ts +232 -0
  280. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/prep-tasks.ts +125 -0
  281. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/profile-subject.ts +310 -0
  282. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/publish-report.ts +131 -0
  283. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/read-unitf-traces.ts +81 -0
  284. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/render-build-cards.ts +195 -0
  285. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/render-discover-report.ts +1640 -0
  286. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/render-eval-report.ts +3838 -0
  287. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/render-report.ts +212 -0
  288. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/resolve-credential.ts +110 -0
  289. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/resolve-ref.ts +98 -0
  290. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/result-verify.ts +129 -0
  291. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/route-failures.ts +330 -0
  292. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/run-deterministic.ts +367 -0
  293. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/run-evaluate.ts +719 -0
  294. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/run-judge.ts +155 -0
  295. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/run-pipeline.ts +175 -0
  296. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/sample-traces.ts +210 -0
  297. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/self-audit.ts +387 -0
  298. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/source-map.ts +106 -0
  299. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/subject-profile.ts +134 -0
  300. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/substrate.ts +162 -0
  301. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/sync-eval-criteria.ts +244 -0
  302. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/ui-slots.ts +119 -0
  303. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/unitf-to-evaltrace.ts +284 -0
  304. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/validate-judge.ts +358 -0
  305. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/scripts/variance-compare.ts +177 -0
  306. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/subjects/mutagent-diagnostics/behavior-tree.yaml +140 -0
  307. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/subjects/mutagent-diagnostics/eval-matrix.yaml +1270 -0
  308. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/subjects/mutagent-diagnostics/methodology-review.yaml +105 -0
  309. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/workflows/audit.workflow.js +82 -0
  310. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/workflows/data-leak.workflow.js +236 -0
  311. package/mutagent-evaluator/.claude/skills/mutagent-evaluator/workflows/variance.workflow.js +163 -0
  312. package/mutagent-evaluator/CLAUDE.md +45 -0
  313. package/mutagent-evaluator/LICENSE +201 -0
  314. package/mutagent-evaluator/NOTICE +23 -0
  315. package/mutagent-evaluator/README.md +88 -0
  316. package/mutagent-optimize/.claude/skills/mutagent-optimize/SKILL.md +287 -0
  317. package/mutagent-optimize/.claude/skills/mutagent-optimize/scripts/contracts/amend-request.ts +503 -0
  318. package/mutagent-optimize/.claude/skills/mutagent-optimize/scripts/improve-loop-run.ts +304 -0
  319. package/mutagent-optimize/.claude/skills/mutagent-optimize/scripts/loop-state-cli.ts +300 -0
  320. package/mutagent-optimize/.claude/skills/mutagent-optimize/scripts/loop-state.ts +440 -0
  321. package/mutagent-optimize/CLAUDE.md +49 -0
  322. package/mutagent-optimize/README.md +26 -0
  323. package/mutagent-orchestrator/CLAUDE.md +102 -0
  324. package/mutagent-orchestrator/README.md +20 -0
  325. package/mutagent-orchestrator/assets/agents/discovery.md +425 -0
  326. package/mutagent-orchestrator/assets/agents/dogfood-monitor.md +266 -0
  327. package/mutagent-orchestrator/assets/agents/monitor.md +258 -0
  328. package/mutagent-orchestrator/orchestrator.md +782 -0
  329. package/mutagent-orchestrator/references/MONITORING.md +209 -0
  330. package/mutagent-orchestrator/references/config-fields.md +132 -0
  331. package/mutagent-orchestrator/references/config-migration.md +132 -0
  332. package/mutagent-orchestrator/references/index-registry.md +92 -0
  333. package/mutagent-orchestrator/routing.yaml +391 -0
  334. package/mutagent-orchestrator/scripts/config-schema.ts +1010 -0
  335. package/mutagent-orchestrator/scripts/dispatch.ts +439 -0
  336. package/mutagent-orchestrator/scripts/dogfood/extract-feedback.ts +203 -0
  337. package/mutagent-orchestrator/scripts/dogfood/reconstruct-trajectory.ts +327 -0
  338. package/mutagent-orchestrator/scripts/dogfood/render-dogfood-report.ts +347 -0
  339. package/mutagent-orchestrator/scripts/dogfood/resolve-subagents.ts +160 -0
  340. package/mutagent-orchestrator/scripts/dogfood/run-report.ts +264 -0
  341. package/mutagent-orchestrator/scripts/dogfood/slack-thread.ts +106 -0
  342. package/mutagent-orchestrator/scripts/dogfood/types.ts +257 -0
  343. package/mutagent-orchestrator/scripts/eval-routing.ts +753 -0
  344. package/mutagent-orchestrator/scripts/gate.ts +219 -0
  345. package/mutagent-orchestrator/scripts/handover-contract.ts +362 -0
  346. package/mutagent-orchestrator/scripts/index/build-index.ts +351 -0
  347. package/mutagent-orchestrator/scripts/index/render-index.ts +110 -0
  348. package/mutagent-orchestrator/scripts/monitor/slack-notify.ts +111 -0
  349. package/mutagent-orchestrator/scripts/monitor/triggers.ts +162 -0
  350. package/mutagent-orchestrator/scripts/onboarding-check.ts +369 -0
  351. package/mutagent-orchestrator/scripts/render-roster.ts +308 -0
  352. package/mutagent-orchestrator/scripts/resolve-credential.ts +185 -0
  353. package/mutagent-orchestrator/scripts/resolve-paths.ts +114 -0
  354. package/mutagent-orchestrator/scripts/slack/format.ts +63 -0
  355. package/mutagent-orchestrator/scripts/slack/post.ts +115 -0
  356. package/mutagent-orchestrator/scripts/sync-index.ts +311 -0
  357. package/package.json +64 -0
@@ -0,0 +1,57 @@
1
+ # WF-1.6 — Config Review + Write
2
+
3
+ > Phase 6 of onboarding: review generated config and confirm write.
4
+ > Prev: WF-1.5 | Next: WF-1.7 (or WF-1.8 on first run)
5
+
6
+ ## Display
7
+
8
+ ```
9
+ ┌─────────────────────────────────────────────────────────────┐
10
+ │ Step 5 of 7 — Review Configuration │
11
+ │ │
12
+ │ Here's what will be written to config.yaml: │
13
+ │ │
14
+ │ source: │
15
+ │ platform: "langfuse" │
16
+ │ config: {} │
17
+ │ │
18
+ │ target: │
19
+ │ platform: "local-claude" │
20
+ │ config: {} │
21
+ │ │
22
+ │ filters: │
23
+ │ time_window: │
24
+ │ from: "7daysAgo" │
25
+ │ to: "now" │
26
+ │ limit: 100 │
27
+ │ │
28
+ │ ask_tool: │
29
+ │ runtime: "claude-code" │
30
+ │ │
31
+ │ schedule: │
32
+ │ mode: "on-demand" │
33
+ │ │
34
+ │ self_diagnostics: │
35
+ │ enabled: false │
36
+ │ │
37
+ │ [1] Write config and continue │
38
+ │ [2] Go back to change a setting │
39
+ │ [3] Exit without saving │
40
+ └─────────────────────────────────────────────────────────────┘
41
+ ```
42
+
43
+ ## On Confirm
44
+
45
+ 1. Write `config.yaml` from template (using `assets/templates/config.yaml.tpl`)
46
+ 2. Run `scripts/config/validate.ts` on written file
47
+ 3. If validation fails → show error + offer fix
48
+ 4. If validation passes → advance to WF-1.7
49
+
50
+ ## Validation Display
51
+
52
+ ```
53
+ Writing config.yaml... ✓
54
+ Validating... ✓ Config is valid
55
+
56
+ [1] Continue to next step
57
+ ```
@@ -0,0 +1,52 @@
1
+ # WF-1.7 — Filter Defaults + Scope
2
+
3
+ > Phase 7 of onboarding: set default filter scope for diagnostics runs.
4
+ > Prev: WF-1.6 | Next: WF-1.8
5
+
6
+ ## Display
7
+
8
+ ```
9
+ ┌─────────────────────────────────────────────────────────────┐
10
+ │ Step 6 of 7 — Default Scope │
11
+ │ │
12
+ │ How many traces should diagnostics analyze per run? │
13
+ │ │
14
+ │ [1] Last 7 days, up to 100 traces (recommended) │
15
+ │ [2] Last 24 hours, up to 50 traces (fast) │
16
+ │ [3] Last 30 days, up to 500 traces (thorough) │
17
+ │ [4] Custom │
18
+ │ │
19
+ │ Errors-only mode: │
20
+ │ [Y] Include errors only (faster, higher signal) │
21
+ │ [N] Include all traces (default) │
22
+ │ │
23
+ └─────────────────────────────────────────────────────────────┘
24
+ ```
25
+
26
+ ## Custom Path
27
+
28
+ ```
29
+ Custom filter configuration:
30
+
31
+ Time window from ("7daysAgo", "24h", ISO date): > 7daysAgo
32
+ Time window to ("now", ISO date): > now
33
+ Max traces: > 100
34
+ Filter to errors only? (y/n): > n
35
+ Filter by agent ID (leave empty for all): >
36
+ ```
37
+
38
+ ## On Confirm
39
+
40
+ Updates `filters` section in `config.yaml`:
41
+ ```yaml
42
+ filters:
43
+ time_window:
44
+ from: "7daysAgo"
45
+ to: "now"
46
+ has_error: null # null = all
47
+ limit: 100
48
+ ```
49
+
50
+ ## Note on Score Filters
51
+
52
+ Score-based filters are NOT set here — they require score-scale auto-discovery at runtime (iter-8). Thresholds are never hardcoded in config.
@@ -0,0 +1,59 @@
1
+ # WF-1.8 — First Run Prompt
2
+
3
+ > Phase 8 of onboarding: offer to run diagnostics immediately after setup.
4
+ > Prev: WF-1.7 (or WF-1.1 if setup already complete)
5
+
6
+ ## Display (After Fresh Setup)
7
+
8
+ ```
9
+ ┌─────────────────────────────────────────────────────────────┐
10
+ │ Step 7 of 7 — Setup Complete │
11
+ │ │
12
+ │ ✓ config.yaml written │
13
+ │ ✓ Connection validated │
14
+ │ ✓ .mutagent/diagnostics/ initialized │
15
+ │ │
16
+ │ Run diagnostics now? │
17
+ │ │
18
+ │ [1] Yes, run diagnostics now │
19
+ │ [2] No, I'll run it manually later │
20
+ │ │
21
+ │ To run manually: say "run diagnostics" or "diagnose my │
22
+ │ agents" in your AI coding session, or: │
23
+ │ pnpx @mutagent/diagnostics run │
24
+ └─────────────────────────────────────────────────────────────┘
25
+ ```
26
+
27
+ ## Display (Already Set Up)
28
+
29
+ ```
30
+ ┌─────────────────────────────────────────────────────────────┐
31
+ │ mutagent-diagnostics — Ready │
32
+ │ │
33
+ │ Config: ✓ valid │
34
+ │ Source: langfuse (connected) │
35
+ │ Target: local-claude │
36
+ │ │
37
+ │ [1] Run diagnostics now │
38
+ │ [2] Reconfigure │
39
+ │ [3] Exit │
40
+ └─────────────────────────────────────────────────────────────┘
41
+ ```
42
+
43
+ ## On "Run Now"
44
+
45
+ → Trigger diagnostics orchestrator (equivalent to `pnpx @mutagent/diagnostics run`)
46
+ → Jump to WF-2.1 (diagnostics entry point)
47
+
48
+ ## On "Run Later"
49
+
50
+ ```
51
+ To run diagnostics:
52
+
53
+ • In your AI coding session: say "run diagnostics on my agents"
54
+ • From CLI: pnpx @mutagent/diagnostics run
55
+
56
+ Config saved at: ./config.yaml
57
+
58
+ Done!
59
+ ```
@@ -0,0 +1,92 @@
1
+ {
2
+ "sessionId": "sample-session-001",
3
+ "diagnosedAt": "2026-05-28T12:00:00.000Z",
4
+ "sourcePlatform": "local-jsonl",
5
+ "targetPlatform": "local-claude",
6
+ "totalTraces": 12,
7
+ "findings": [
8
+ {
9
+ "findingId": "F-001",
10
+ "actionable": "Tool call to 'search' returns empty results 60% of the time — agent retries in a loop without a fallback",
11
+ "assumptions": [
12
+ "Tool timeout is the primary cause of empty results (hypothesis-pending-source: search.ts timeout config not yet read)",
13
+ "No existing retry-cap exists in the tool definition"
14
+ ],
15
+ "failureOrigin": {
16
+ "what": "loop",
17
+ "why": "tool-missing",
18
+ "where": "tool-definition",
19
+ "evidence": "session-abc123 → message[14]: tool_result empty string, repeated 4×",
20
+ "confidence": "high"
21
+ },
22
+ "whyChain": [
23
+ {
24
+ "why": "Agent repeatedly calls search tool",
25
+ "evidence": "Trace messages 10-18: tool_use 'search' 4× in 90s",
26
+ "isOrigin": false
27
+ },
28
+ {
29
+ "why": "Search tool returns empty body on API timeout",
30
+ "evidence": "Tool result content: '' on 4/6 calls in session-abc123",
31
+ "isOrigin": false
32
+ },
33
+ {
34
+ "why": "No fallback path defined when search returns empty — agent loops",
35
+ "evidence": "tool-definition: search.ts missing timeout guard + empty-result branch",
36
+ "isOrigin": true
37
+ }
38
+ ],
39
+ "remedies": [
40
+ {
41
+ "remedyId": "R-001-a",
42
+ "title": "Add empty-result guard + max-retry cap to search tool definition",
43
+ "applyTarget": "scripts/tools/search.ts",
44
+ "failureOrigin": {
45
+ "what": "loop",
46
+ "why": "tool-missing",
47
+ "where": "tool-definition",
48
+ "evidence": "tool-definition: search.ts:42",
49
+ "confidence": "high"
50
+ },
51
+ "diff": {
52
+ "before": "if (!result) { return searchTool(query); }",
53
+ "after": "if (!result || retries >= MAX_RETRIES) { return { found: false, fallback: true }; }"
54
+ },
55
+ "cost": "low",
56
+ "correctness": "high",
57
+ "rank": 1,
58
+ "targetClass": "local-code-construct"
59
+ },
60
+ {
61
+ "remedyId": "R-001-b",
62
+ "title": "Add system-prompt instruction: 'If search returns empty after 2 attempts, summarize what you know and halt'",
63
+ "failureOrigin": {
64
+ "what": "loop",
65
+ "why": "prompt-underspec",
66
+ "where": "system-prompt",
67
+ "evidence": "system-prompt: no loop-break instruction present",
68
+ "confidence": "medium"
69
+ },
70
+ "cost": "low",
71
+ "correctness": "medium",
72
+ "rank": 2,
73
+ "targetClass": "local-agent"
74
+ }
75
+ ],
76
+ "sourceTraceIds": ["session-abc123"],
77
+ "referenceIds": {
78
+ "traceId": "session-abc123",
79
+ "sessionId": "session-abc123",
80
+ "findingId": "F-001"
81
+ }
82
+ }
83
+ ],
84
+ "discoveredChecks": [
85
+ {
86
+ "checkId": "DC-001",
87
+ "name": "Retry-loop detector",
88
+ "description": "Detects consecutive identical tool calls without intervening reasoning",
89
+ "affectedTraceIds": ["session-abc123"]
90
+ }
91
+ ]
92
+ }
@@ -0,0 +1,47 @@
1
+ [
2
+ {
3
+ "traceId": "trace-meta-001",
4
+ "sessionId": "session-meta-001",
5
+ "hasError": false,
6
+ "hasFeedback": true,
7
+ "rawScore": 1.5,
8
+ "latencyMs": 3200,
9
+ "sourcePlatform": "local-jsonl",
10
+ "skillBehaviorDeviationCount": 2,
11
+ "agentId": "diagnostics-orchestrator",
12
+ "startTime": "2026-05-28T10:00:00.000Z",
13
+ "endTime": "2026-05-28T10:00:03.200Z",
14
+ "totalTokens": 8420,
15
+ "tags": ["self-diagnostics", "phase-3-c"]
16
+ },
17
+ {
18
+ "traceId": "trace-meta-002",
19
+ "sessionId": "session-meta-001",
20
+ "hasError": false,
21
+ "hasFeedback": false,
22
+ "rawScore": 4,
23
+ "latencyMs": 1100,
24
+ "sourcePlatform": "local-jsonl",
25
+ "skillBehaviorDeviationCount": 0,
26
+ "agentId": "diagnostics-analyzer",
27
+ "startTime": "2026-05-28T10:00:03.500Z",
28
+ "endTime": "2026-05-28T10:00:04.600Z",
29
+ "totalTokens": 3210,
30
+ "tags": ["self-diagnostics"]
31
+ },
32
+ {
33
+ "traceId": "trace-meta-003",
34
+ "sessionId": "session-meta-002",
35
+ "hasError": true,
36
+ "hasFeedback": false,
37
+ "sourcePlatform": "local-jsonl",
38
+ "skillBehaviorDeviationCount": 1,
39
+ "agentId": "diagnostics-orchestrator",
40
+ "startTime": "2026-05-28T11:00:00.000Z",
41
+ "endTime": "2026-05-28T11:00:02.100Z",
42
+ "totalTokens": 5640,
43
+ "apiErrors": [
44
+ { "retryAttempt": 1, "maxRetries": 3, "timestamp": "2026-05-28T11:00:01.000Z" }
45
+ ]
46
+ }
47
+ ]
@@ -0,0 +1,75 @@
1
+ # Adapter Strategy — Q1-Q6 Locked Decisions
2
+
3
+ > All Q1-Q6 → Option A. Locked iter-5. See decisions-log.md for operator verbatim answers.
4
+
5
+ ## Q1 — Per-platform reference docs
6
+
7
+ **Decision**: Per-platform reference doc + ONE normalization script per source.
8
+
9
+ Each source platform has:
10
+ - `references/source-platforms/<name>.md` — CLI operation manual + filter examples + credential setup + hyperlinks
11
+ - `scripts/normalize/platforms/<name>.ts` — Platform JSON → canonical TraceBody shape
12
+
13
+ Custom platforms: drop a new reference doc + normalize.ts. The orchestrator discovers it from config.yaml `source.platform`.
14
+
15
+ ## Q2 — Normalization in script
16
+
17
+ **Decision**: Normalization is deterministic mapping in a TypeScript script.
18
+
19
+ The normalize scripts are Type A (pure, no LLM, no I/O). They receive raw platform JSON and emit canonical `TraceBody`. This makes normalization testable, reproducible, and cost-free.
20
+
21
+ The agent NEVER interprets raw platform JSON directly — it always reads via the normalized shape.
22
+
23
+ ## Q3 — CLI install detection at onboarding
24
+
25
+ **Decision**: CLI install detection at onboarding via `Bash(which <cli>)` + AskUserQuestion install prompt if missing.
26
+
27
+ Trigger: operator picks a source/target platform during onboarding. Agent immediately checks:
28
+ ```bash
29
+ Bash("which langfuse") # or equivalent
30
+ ```
31
+ If missing, prompt with the install command from the per-platform reference doc.
32
+ Do NOT proceed with that platform until CLI is confirmed present.
33
+
34
+ ## Q4 — Target apply: the shared `mutagent-cli apply` transport (SUPERSEDED — M9/DC-5)
35
+
36
+ **Original decision**: target applies were pure agent operations run by the bespoke
37
+ `diagnostics-apply-worker` (Bash git/gh + Bash curl).
38
+
39
+ **Superseded (M9/DC-5)**: the apply-worker is RETIRED. Its three branches (local worktree-PR ·
40
+ remote REST · vendor) are now the shared `mutagent-cli apply` target adapters
41
+ (`@mutagent/tools` src/apply — one `TargetAdapter` contract: read → dryRun → apply → rollback →
42
+ emitAudit). At the Step-11 gate, ai-engineer (the WRITE actor) produces the amended artifact and
43
+ shells `mutagent-cli apply --kind <k> --target <root> --dry-run` → `--commit`. Apply is
44
+ non-destructive (REST create-rev+activate; git-revert never force-push) + always audited. The
45
+ skill layer gates BEFORE the CLI (DC-1); the CLI holds no approval logic.
46
+
47
+ ## Q5 — Idempotency via uuidgen
48
+
49
+ **Decision**: `Bash(uuidgen)` generates the idempotency key for REST writes.
50
+
51
+ Every remote PUT includes `Idempotency-Key: {uuid}`. Same key on retry → server ignores duplicate. Retry on 5xx (max 2 attempts). Escalate to operator on persistent failure.
52
+
53
+ ## Q6 — Custom platform extensibility
54
+
55
+ **Decision**: Custom platform onboarding = drop new reference doc + normalize.ts.
56
+
57
+ No plugin registry or config DSL. To add a new source platform:
58
+ 1. Add `references/source-platforms/<new-platform>.md` with CLI operation manual + hyperlinks
59
+ 2. Add `scripts/normalize/platforms/<new-platform>.ts` implementing `normalize<Platform>File(content: string): TraceBody`
60
+ 3. Update `scripts/config/schema.ts` to include the new platform literal
61
+
62
+ The orchestrator reads `source.platform` from config and looks up the reference doc by convention.
63
+
64
+ ---
65
+
66
+ ## Filter vs Search distinction
67
+
68
+ | Term | What it is | Maps to |
69
+ |------|-----------|---------|
70
+ | **Filter** | Narrowing on trace metadata (agent ID, time, score, error flag, tags) | Native CLI `--flag` arguments |
71
+ | **Search** | Additional categorization on top of filter (full-text, semantic, by content match) | Additional API call OR client-side post-filter |
72
+
73
+ Master Filter/Search Coverage Matrix: `filter-search-matrix.md`
74
+
75
+ For unknown platforms: agent does runtime CLI docs lookup — `Bash(<cli> --help)` + WebFetch upstream docs — and reasons over the help text to map dimensions.
@@ -0,0 +1,84 @@
1
+ # Config Migration — v0.1.0 → v0.2.0 (Diagnostics)
2
+
3
+ > **Skill-local mirror** of the framework migration directive (canonical copy:
4
+ > `mutagent-orchestrator/references/config-migration.md`). Load this when
5
+ > `scripts/config/load.ts` returns `migrationRequired: true` (a legacy shape was
6
+ > detected) or when `scripts/setup/detect.ts` reports `migrationRequired`.
7
+
8
+ ## Why a migration is needed
9
+
10
+ The unified `.mutagent/config.yaml` changed shape in **v0.2.0**. The old per-skill
11
+ `diagnostics:` section named its own `source` / `target` / `schedule` /
12
+ `trigger_rules` / `heartbeat`. In v0.2.0 those move to shared, framework-owned
13
+ places so the whole ADL lifecycle shares one catalog. **Fork B — HARD-CUT:** the
14
+ loader NEVER parses the old shape at runtime. It detects a legacy config and emits
15
+ `migration-required`; you rewrite the config in place (this directive), then re-run.
16
+
17
+ There is **no static migration script** — this is a directive an agent applies
18
+ under the `*onboard` gate.
19
+
20
+ ## Legacy detection (what trips `migration-required`)
21
+
22
+ Any ONE of these fires (see `detectLegacyShape` in `scripts/config/load.ts`):
23
+
24
+ - `config_version` is absent or not the frozen `"0.2.0"`.
25
+ - A legacy top-level key is present: `shared` · `stages` · a top-level
26
+ `diagnostics` · a top-level `evaluator`.
27
+
28
+ ## The rewrite (apply in place)
29
+
30
+ | # | v0.1.0 (old) | v0.2.0 (new) |
31
+ |---|---|---|
32
+ | 1 | `shared:` | **`global:`** (rename) |
33
+ | 2 | `diagnostics.source: { platform, endpoint, credential_ref, paths, format, agent_field, latency_unit }` | **`global.sources: [ { name, platform, project?, endpoint?, credential_ref?, paths?, format?, agent_field?, latency_unit? } ]`** — give it a `name`; bound BY ROLE (source-consumer), no `source_ref`. |
34
+ | 3 | `diagnostics.target: { platform, mode, root, rest_base_url, credential_ref }` | **`global.targets: [ { name, platform, mode, root?, rest_base_url?, repo_url?, code_refs?, credential_ref?, apply: { kind } } ]`** — give it a `name` + an `apply.kind`; bound BY ROLE (target-writer). A `platform: report-only` target becomes `apply.kind: report-only` (or set `lifecycle.diagnostics.apply: report-only` and omit the target). |
35
+ | 4 | top-level `diagnostics:` section | **`lifecycle.diagnostics:`** (nest under `lifecycle`) |
36
+ | 5 | `diagnostics.schedule` · `diagnostics.trigger_rules` · `diagnostics.heartbeat` | **`triggers.diagnose: { enabled, rules, schedule?, heartbeat? }`** (top-level `triggers`, ships disabled) |
37
+ | 6 | `credential_ref: SOME_ENV` | unchanged, but WIDENED — may now be `credential_ref: { env: SOME_ENV, path: ../secrets/.env }` |
38
+ | 7 | any `*.observability` block | **REMOVED** — source binds by role via `global.sources` |
39
+ | 8 | `config_version: "0.1.0"` (or absent) | **`config_version: "0.2.0"`** (frozen literal) |
40
+
41
+ Fields the diagnostics section KEEPS (now under `lifecycle.diagnostics`):
42
+ `apply` (new — the report-only gate), `context[]` (new — stage context links),
43
+ `ask_tool`, `default_audience`, `run_tags`, `self_diagnostics`, `feedback_sources`,
44
+ `agents[]`.
45
+
46
+ ## Before → after (minimal example)
47
+
48
+ **Before (v0.1.0):**
49
+ ```yaml
50
+ config_version: "0.1.0"
51
+ shared:
52
+ models: { default: sonnet, pinned_judge: sonnet }
53
+ diagnostics:
54
+ source: { platform: langfuse, credential_ref: LANGFUSE_SECRET_KEY }
55
+ target: { platform: report-only, mode: local }
56
+ ask_tool: { runtime: claude-code }
57
+ schedule: { mode: on-demand }
58
+ heartbeat: { max_diagnostics_per_day: 3 }
59
+ ```
60
+
61
+ **After (v0.2.0):**
62
+ ```yaml
63
+ config_version: "0.2.0"
64
+ global:
65
+ models: { default: sonnet, judge_model: sonnet } # pinned_judge → judge_model
66
+ sources:
67
+ - name: primary
68
+ platform: langfuse
69
+ credential_ref: LANGFUSE_SECRET_KEY
70
+ lifecycle:
71
+ diagnostics:
72
+ apply: report-only # was target.platform=report-only
73
+ ask_tool: { runtime: claude-code }
74
+ triggers:
75
+ diagnose:
76
+ enabled: false
77
+ rules: []
78
+ schedule: { mode: on-demand }
79
+ heartbeat: { max_diagnostics_per_day: 3 }
80
+ ```
81
+
82
+ After rewriting, re-run `scripts/setup/detect.ts <project-root>` — it should now
83
+ report `state: complete` (or a normal `partial` for genuinely-missing fields, NOT
84
+ `migrationRequired`).
@@ -0,0 +1,159 @@
1
+ # Config Reference — config.yaml Schema with Doc Strings
2
+
3
+ > Config location: `<host>/.mutagent/config.yaml`
4
+ > Secrets location: `<host>/.mutagentrc` (gitignored — never commit)
5
+ > Schema source of truth: `scripts/config/schema.ts` (TypeBox)
6
+
7
+ ## Full annotated config.yaml
8
+
9
+ ```yaml
10
+ # ──── SOURCE ─────────────────────────────────────────────────────────────────
11
+ # Where agent traces come from.
12
+ source:
13
+ # Source platform identifier. Required.
14
+ # Supported in v0.1: langfuse | otel | local-jsonl | claude-code | codex
15
+ platform: langfuse
16
+
17
+ # Endpoint URL for the source platform.
18
+ # Empty = use default CLI auth / env vars.
19
+ # Set for self-hosted platforms (e.g., self-hosted Langfuse).
20
+ endpoint: ""
21
+
22
+ # Key name in .mutagentrc for the source API secret.
23
+ # NEVER store the value here — only the key name.
24
+ # Example: LANGFUSE_SECRET_KEY → .mutagentrc has LANGFUSE_SECRET_KEY=sk-...
25
+ credential_ref: LANGFUSE_SECRET_KEY
26
+
27
+ # ──── TARGET ─────────────────────────────────────────────────────────────────
28
+ # Where agent definitions live (apply remedies back here).
29
+ target:
30
+ # Target platform identifier. Required.
31
+ # local-agent: .claude/agents/*.md, .codex/agents/*.md, etc.
32
+ # local-code-construct: Mastra Agent, Cloud Agent SDK, LangGraph, etc.
33
+ # cloud-rest: REST API with GET/PUT for agent definition CRUD
34
+ platform: local-claude
35
+
36
+ # Apply mode. Required.
37
+ # local = markdown file edits via BG worktree + PR
38
+ # remote = REST PUT with idempotency-key
39
+ mode: local
40
+
41
+ # Root directory for local targets (relative to project root).
42
+ # Default: .claude/agents/
43
+ root: .claude/agents/
44
+
45
+ # REST base URL for remote targets.
46
+ # rest_base_url: https://api.example.com/v1
47
+
48
+ # Key name in .mutagentrc for REST auth token.
49
+ # credential_ref: REST_API_TOKEN
50
+
51
+ # ──── ASK TOOL ───────────────────────────────────────────────────────────────
52
+ # Platform-native ASK mechanism. Auto-detected by cli/init.ts at first run.
53
+ # Override here if auto-detection is wrong.
54
+ ask_tool:
55
+ # Host coding-agent runtime. Required.
56
+ # claude-code | codex | cursor | opencode | generic
57
+ runtime: claude-code
58
+
59
+ # Platform tool name for structured multi-select.
60
+ # AskUserQuestion on Claude Code; varies on other runtimes.
61
+ native_tool: AskUserQuestion
62
+
63
+ # Fallback when native tool is unavailable.
64
+ # chat-multi-choice: numbered list in chat message
65
+ fallback: chat-multi-choice
66
+
67
+ # ──── SCHEDULE ───────────────────────────────────────────────────────────────
68
+ # When the orchestrator wakes to check trigger rules.
69
+ # v0.1 ships on-demand ONLY. Schedule structure prepared for post-v0.1 wiring.
70
+ # See references/workflows/schedule-prep.md for adding scheduling post-v0.1.
71
+ schedule:
72
+ # on-demand = operator manually invokes (v0.1 supported)
73
+ # daily-batch = native /loop or cron wake (post-v0.1)
74
+ mode: on-demand
75
+
76
+ # For daily-batch: local time (HH:MM format)
77
+ at: "09:00"
78
+
79
+ # Timezone. Defaults to system timezone.
80
+ # timezone: "America/New_York"
81
+
82
+ # ──── TRIGGER RULES ──────────────────────────────────────────────────────────
83
+ # Which traces qualify for a diagnostic run when schedule fires or operator invokes.
84
+ # Each rule's match is a TraceFilter; traces matching ANY rule are diagnosed.
85
+ trigger_rules:
86
+ - name: high-latency-errors
87
+ match:
88
+ latency_p99_ms_above: 5000
89
+ has_error: true
90
+ action: diagnose
91
+
92
+ - name: feedback-bearing
93
+ match:
94
+ has_feedback: true
95
+ # score_below is computed via score-scale auto-discovery (iter-8)
96
+ # Do NOT hardcode here — let the orchestrator probe and compute threshold
97
+ action: diagnose
98
+
99
+ # Example: specific agent filter
100
+ # - name: search-agent-failures
101
+ # match:
102
+ # agent_id: search-agent
103
+ # has_error: true
104
+ # action: diagnose
105
+
106
+ # ──── HEARTBEAT ──────────────────────────────────────────────────────────────
107
+ # Controls notifications for scheduled (non-interactive) runs.
108
+ heartbeat:
109
+ # Whether to log when no triggers fire (no operator ping)
110
+ notify_on_zero_matches: false
111
+
112
+ # Whether to notify operator when triggers fire and report is ready
113
+ notify_on_matches: true
114
+
115
+ # Cost guardrail: max full diagnostic runs per day
116
+ max_diagnostics_per_day: 3
117
+
118
+ # ──── SELF DIAGNOSTICS [INTERNAL] ────────────────────────────────────────────
119
+ # Skill diagnoses itself after usage session (PR-022).
120
+ # OFF by default for end users. ON for skill maintainers + dogfood mode.
121
+ self_diagnostics:
122
+ # Enable/disable self-diagnostics. Default: false.
123
+ enabled: false
124
+
125
+ # Cadence: per-session | daily | manual
126
+ cadence: per-session
127
+
128
+ # Source: auto-detect host (claude-code | codex)
129
+ source: host-coding-agent
130
+
131
+ # Branch for self-remedy PRs (use {date} placeholder)
132
+ remedy_branch: mutagent/self-diagnostics/{date}
133
+
134
+ # [INTERNAL] prefix added to all self-remedy PR titles
135
+ marker: "[INTERNAL]"
136
+ ```
137
+
138
+ ## TraceFilter fields (for trigger_rules.match)
139
+
140
+ | Field | Type | Description |
141
+ |-------|------|-------------|
142
+ | `agent_id` | string | Filter by agent identifier |
143
+ | `session_id` | string | Filter by specific session/trace ID |
144
+ | `start_time` | ISO8601 string | Start of time window |
145
+ | `end_time` | ISO8601 string | End of time window |
146
+ | `has_error` | boolean | Only traces with error events |
147
+ | `has_feedback` | boolean | Only traces with attached feedback |
148
+ | `score_below` | number | Traces with score below threshold (computed by orchestrator from scale probe) |
149
+ | `latency_p99_ms_above` | number | Traces with P99 latency above threshold (ms) |
150
+ | `by_skill` | string | Traces where a specific skill was triggered |
151
+ | `by_route` | string | Traces with a specific operation name |
152
+ | `by_tag` | string[] | Traces with specific tags |
153
+
154
+ ## Security notes
155
+
156
+ - `config.yaml` is committed to the project repository (non-secrets only)
157
+ - `.mutagentrc` is gitignored and holds actual secret values
158
+ - The `credential_ref` field in config.yaml is a KEY NAME pointing to `.mutagentrc`, never the value
159
+ - Three-layer protection: `.gitignore` pattern + `git check-ignore` before any write + PR-time `git status` check