@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
+ # Install Paths — Per-Platform Reference
2
+
3
+ > Per-platform install locations for the `mutagent-diagnostics` skill binding and agent files.
4
+ > Used by `scripts/cli/init.ts` (`pnpx @mutagent/diagnostics init`) to determine where to
5
+ > install on each detected platform.
6
+
7
+ ## Detection + Install Table
8
+
9
+ | Platform | Detection marker | Skill path | Agents path | Binding format |
10
+ |---|---|---|---|---|
11
+ | Claude Code | `~/.claude/` exists | `~/.claude/skills/mutagent-diagnostics/` | `~/.claude/agents/` | `.md` |
12
+ | Codex | `~/.codex/` exists | `~/.codex/skills/mutagent-diagnostics/` | `~/.codex/agents/` | `.toml` |
13
+ | Cursor | `.cursor/` in CWD exists | `.cursor/rules/` (project-scoped) | n/a (no agent primitive yet) | `.mdc` |
14
+
15
+ ## Notes
16
+
17
+ ### Claude Code
18
+
19
+ - Detection: `~/.claude/` directory presence (filesystem probe — not env var).
20
+ - Skill: full skill directory copied to `~/.claude/skills/mutagent-diagnostics/`.
21
+ - Agents: `assets/agents/*.md` symlinked (or copied) to `~/.claude/agents/`.
22
+ Use `scripts/cli/install-agents.ts --scope=user` for user-scope install.
23
+ - **Session restart required** after install: the `subagent_type` registry caches at boot.
24
+
25
+ ### Codex
26
+
27
+ - Detection: `~/.codex/` directory presence.
28
+ - Skill: full skill directory copied to `~/.codex/skills/mutagent-diagnostics/`.
29
+ - Agents: `assets/agents/*.md` **transcoded** `.md → .toml` (YAML frontmatter → `[agent]` TOML block)
30
+ and written to `~/.codex/agents/`.
31
+ Use `scripts/cli/install-agents.ts --transcode-only --to codex <input.md> <output.toml>`.
32
+ - See `references/source-platforms/codex.md` for the full TOML format spec.
33
+
34
+ ### Cursor
35
+
36
+ - Detection: `.cursor/` directory in the **current working directory** (project-scoped; no
37
+ user-global `~/.cursor/` detection implemented in v0.1).
38
+ - Skill: skill rules copied to `.cursor/rules/mutagent-diagnostics.mdc` (project-scoped).
39
+ - Agents: **no agent primitive** on Cursor yet.
40
+ - See `references/target-platforms/local-cursor.md` (Binding Surface & Install Path) for current Cursor binding state and TODO. (Cursor is an apply target, not a trace source — PR-016.)
41
+
42
+ ## Path resolution rules
43
+
44
+ - All `~/` prefixes resolve via `os.homedir()` at runtime — never hardcoded `~` expansion.
45
+ - CWD-relative paths (Cursor) resolve from `process.cwd()` at install time.
46
+ - Idempotent: re-running `pnpx @mutagent/diagnostics init` on an already-installed path is safe.
47
+ Existing files are not clobbered unless `--force` is passed.
48
+
49
+ ## Per-platform trigger / activation
50
+
51
+ | Platform | How to invoke mutagent-diagnostics after install |
52
+ |---|---|
53
+ | Claude Code | Slash command `/mutagent-diagnostics` OR natural language "diagnose my agents" |
54
+ | Codex | Invoke agent by name from Codex session (agent primitive in `~/.codex/agents/`) |
55
+ | Cursor | `.mdc` rule injected as a Cursor Background Agents rule (TBD — see `target-platforms/local-cursor.md`) |
56
+
57
+ See also: `SKILL.md §1 — Triggers` for the canonical natural-language activation list.
@@ -0,0 +1,178 @@
1
+ # Langfuse — Source Platform Reference
2
+
3
+ > **POST-FLIP (UniTF):** the diagnostics skill no longer fetches or normalizes
4
+ > Langfuse traces itself. Fetch + normalize now live in `@mutagent/tools` and run
5
+ > UPSTREAM via `mutagent-cli trace fetch --platform langfuse …`, which emits a
6
+ > UniTF JSONL + `manifest.json`. The skill READS that handover via
7
+ > `scripts/normalize/read-unitf.ts` (Step 3.7). This doc is now reference material
8
+ > for **shaping the upstream CLI query** (filter coverage, quirks, CLI-vs-REST).
9
+ > Run `mutagent-cli trace --help` for the fetch surface.
10
+
11
+ > CLI-first per PR-001 and OQ-1 (REST fallback only when the CLI cannot express
12
+ > the operation — see CLI vs REST below).
13
+ > **Official CLI docs: https://langfuse.com/docs/api-and-data-platform/features/cli**
14
+ > Upstream docs: https://langfuse.com/docs
15
+ > Public API reference: https://api.reference.langfuse.com
16
+
17
+ ## Why a CLI (and why clients will have one)
18
+
19
+ Langfuse CLIs are the **primary way sources and targets interact with + update
20
+ trace data** in a Langfuse deployment; the **REST API is the fallback** for
21
+ operations the CLI cannot express. Clients running diagnostics will most often
22
+ have either the `langfuse` CLI installed or Langfuse-as-platform reachable, so
23
+ the skill's fetch layer is CLI-first (`langfuse traces list --json`) and degrades
24
+ to the documented REST endpoints when the CLI is absent or a filter is
25
+ CLI-unsupported. The skill must stay compatible with both surfaces.
26
+
27
+ ## Install
28
+
29
+ > Official CLI docs: https://langfuse.com/docs/api-and-data-platform/features/cli
30
+ >
31
+ > During onboarding the skill checks whether the `langfuse` CLI is on PATH
32
+ > (`scripts/setup/detect.ts --cli langfuse`). If it is MISSING, onboarding shows
33
+ > this docs link + the install command below and **asks for explicit approval
34
+ > before installing** (approve-to-install gate, PR-021 — see
35
+ > `references/workflows/onboarding.md` Phase 2). It NEVER auto-installs; on decline
36
+ > the skill continues via the REST fallback documented under "CLI vs REST" below.
37
+
38
+ ```bash
39
+ pip install langfuse # Python SDK + CLI
40
+ # OR
41
+ npm install -g langfuse
42
+ ```
43
+
44
+ ## Auth
45
+
46
+ Set in `.mutagentrc` (or the environment — the skill reads them at runtime,
47
+ never hardcoded):
48
+ ```
49
+ LANGFUSE_SECRET_KEY=sk-...
50
+ LANGFUSE_PUBLIC_KEY=pk-...
51
+ LANGFUSE_HOST=https://cloud.langfuse.com # or self-hosted URL (local dev: http://localhost:3033)
52
+ ```
53
+
54
+ ## CLI Operation Manual
55
+
56
+ ### List traces (with filters)
57
+
58
+ ```bash
59
+ langfuse traces list \
60
+ --from "7daysAgo" \
61
+ --to "now" \
62
+ --agent-id "search-agent" \
63
+ --has-feedback \
64
+ --score-below 3 \
65
+ --has-error \
66
+ --limit 100 \
67
+ --json
68
+ ```
69
+
70
+ > POST-FLIP: the arg-builder + REST pager that used to live in the skill
71
+ > (`scripts/fetch/langfuse.ts`) were REMOVED. The upstream `mutagent-cli trace
72
+ > fetch --platform langfuse` (in `@mutagent/tools`) now owns these flags and the
73
+ > CLI-vs-REST fallback; the flags above document the query surface it accepts.
74
+
75
+ ### Fetch single trace (with observations)
76
+
77
+ ```bash
78
+ langfuse traces get --trace-id tr_abc123 --json
79
+ ```
80
+
81
+ ### List scores (for scale auto-discovery)
82
+
83
+ ```bash
84
+ langfuse scores list --limit 100 --json
85
+ ```
86
+
87
+ ### Filter by skill tag
88
+
89
+ ```bash
90
+ langfuse traces list --tag "skill:mutagent-diagnostics" --json
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Filter-Coverage Matrix — what we can ACTUALLY filter on
96
+
97
+ > **Operator priority (Wave-5.1).** Empirically verified 2026-06-01 against a
98
+ > live local Langfuse stack (docker-compose, `:3033`) using the public REST API
99
+ > `GET /api/public/traces`. The CLI flags above are sugar over these same REST
100
+ > filters; an operation is only as reliable as its underlying REST/field support.
101
+ >
102
+ > **KEY FINDING — Langfuse has NO native "agent ID".** There is no first-class
103
+ > agent identifier on a trace. The skill approximates an agent by:
104
+ > `trace.name` (the closest proxy — exact-match filterable), `tags`
105
+ > (e.g. `skill:<name>`, `host:<runtime>`), or `metadata.*` (NOT server-side
106
+ > filterable — must post-filter client-side). Plan diagnostics scoping around
107
+ > `name` + `tags`, not an agent-ID.
108
+
109
+ | Operation (filter on…) | Supported? | Via which field | REST param (`/api/public/traces`) | CLI flag | Notes |
110
+ |---|---|---|---|---|---|
111
+ | Agent identity | ⚠️ proxy only | `trace.name` (exact) **or** `tags` | `name=` / `tags=` | `--agent-id`* / `--tag` | No native agent-ID; `--agent-id` maps to a `name`/`tag` proxy. |
112
+ | Trace name | ✅ yes | `trace.name` | `name=` (EXACT match) | `--agent-id`* | `name=probe` → hit; `name=prob` → 0. No prefix/substring. |
113
+ | Tags | ✅ yes | `trace.tags[]` | `tags=` | `--tag` | Matches traces carrying the tag (`skill:mutagent-diagnostics` → 3). |
114
+ | Metadata | ❌ no (server) | `trace.metadata.*` | — (ignored) | — | `metadata=` is silently ignored — returns ALL. Post-filter client-side. |
115
+ | User ID | ✅ yes | `trace.userId` | `userId=` | — | Native column. `userId=` filters server-side (often null in our traces). |
116
+ | Session ID | ✅ yes | `trace.sessionId` | `sessionId=` | `--session-id` | Exact match (`sessionId=probe-…` → 1). |
117
+ | Time window | ✅ yes | `trace.timestamp` | `fromTimestamp=` / `toTimestamp=` | `--from` / `--to` | ISO8601 server-side; CLI also accepts relative (`7daysAgo`). |
118
+ | Environment | ✅ yes | `trace.environment` | `environment=` | — | Native column (`default`). |
119
+ | Release / Version | ✅ yes | `trace.release` / `.version` | `release=` / `version=` | — | Native columns. |
120
+ | Order | ✅ yes | any sortable column | `orderBy=timestamp.desc` | — | e.g. `timestamp.desc`. |
121
+ | **Score value / threshold** | ❌ NOT on traces-list | — | — (ignored on `/traces`) | `--score-below`† | `scoreValue=`/`minScore=` are IGNORED by `/api/public/traces`. Use `/api/public/scores` then join, OR client-side post-filter on the embedded `scores[]`. |
122
+ | **Error / level=ERROR** | ❌ NOT on traces-list | observation `.level` | — (ignored on `/traces`) | `--has-error`† | `level=`/`hasError=` are IGNORED by `/api/public/traces`. Use `GET /api/public/observations?level=ERROR` then join to traces, OR client-side post-filter. |
123
+ | **Has-feedback** | ⚠️ derived | embedded `scores[]` | — | `--has-feedback`† | No native traces-list param. Derived client-side: `trace.scores.length > 0` (this is what `normalizeLangfuseTrace` does). |
124
+
125
+ `*` `--agent-id` is a convenience flag in the skill's arg-builder; it has no
126
+ native Langfuse equivalent — it routes to a `name`/`tag` proxy filter.
127
+ `†` `--score-below` / `--has-error` / `--has-feedback` are CLI conveniences. They
128
+ are NOT supported as native `/api/public/traces` query params: the traces-list
129
+ endpoint silently ignores unknown params (returns the full set). Where the CLI
130
+ implements them it does so via the scores/observations endpoints or by
131
+ client-side post-filtering. The skill's tier0 census
132
+ (`scripts/tier0/langfuse.ts`) computes error/feedback/low-score rates
133
+ CLIENT-SIDE from the normalized `TraceMetadata`, so coverage does not depend on
134
+ server-side support for these three.
135
+
136
+ ### Semantic search
137
+
138
+ - Semantic / free-text search across trace content: **NOT supported.**
139
+
140
+ ---
141
+
142
+ ## CLI vs REST — operational reality (Wave-5.1)
143
+
144
+ | Need | CLI (`langfuse …`) | REST fallback | Skill behavior |
145
+ |---|---|---|---|
146
+ | List traces in a window | `traces list --from … --json` | `GET /api/public/traces?fromTimestamp=…` | `mutagent-cli trace fetch --platform langfuse` (upstream; CLI-first, REST fallback when the `langfuse` CLI is absent). |
147
+ | Single trace + observations | `traces get --trace-id … --json` | `GET /api/public/traces/{id}` | upstream CLI fetch → UniTF; the skill reads the projected trace. |
148
+ | Error filtering | `--has-error` (CLI sugar) | `GET /api/public/observations?level=ERROR` | tier0 derives `hasError` client-side from observations. |
149
+ | Score / low-score filtering | `--score-below N` (CLI sugar) | `GET /api/public/scores` + join | tier0 derives low-score client-side from embedded `scores[]`. |
150
+ | Seeding test traces | — | `POST /api/public/ingestion` (async worker) | T2 integration seeds SYNTHETIC traces this way (NO client data). |
151
+
152
+ The fetch→normalize half of this chain (and its live REST-backed verification)
153
+ now lives in `@mutagent/tools`; the skill consumes the resulting UniTF. Any
154
+ operation the CLI cannot express (score/level/metadata server-side filtering)
155
+ falls back to REST or client-side post-filtering as noted above — handled
156
+ upstream by `mutagent-cli trace fetch`, not by the skill.
157
+
158
+ > Note: the internal `.claude/skills/langfuse-cli/` toolkit is a benchmark
159
+ > cross-verification tool for dev use — it is NOT this skill's source/target
160
+ > adapter. The source/target interaction surface is the public `langfuse` CLI
161
+ > (CLI-first) + the public REST API (fallback).
162
+
163
+ ## Normalization (moved upstream)
164
+
165
+ Langfuse-record → UniTF normalization is owned by the `@mutagent/tools` langfuse
166
+ adapter and produced by `mutagent-cli trace fetch --platform langfuse --export
167
+ <traces.jsonl>`. Inside the skill there is a SINGLE platform-agnostic read path:
168
+
169
+ ```bash
170
+ # Read the handed-over UniTF JSONL (+ manifest) → TraceMetadata[] + EntityContext:
171
+ bun scripts/cli/run.sh scripts/normalize/read-unitf.ts \
172
+ --in <traces.jsonl> --manifest <manifest.json> \
173
+ --out-metadata /tmp/traces-metadata.json --out-entity /tmp/entity-context.json
174
+ ```
175
+
176
+ Reader: `scripts/normalize/read-unitf.ts` (+ `unitf-adapter.ts`). The per-platform
177
+ Langfuse normalizer + its live round-trip verification now live in
178
+ `@mutagent/tools`.
@@ -0,0 +1,55 @@
1
+ # Local JSONL — Source Platform Reference
2
+
3
+ > For `.jsonl` / `.ndjson` trace files on the local filesystem.
4
+ > No CLI needed — pure file reads.
5
+ >
6
+ > The ensure-cli gate (PR-021 — `references/workflows/onboarding.md` Phase 2)
7
+ > reports `status: not-required` for this source: there is no platform CLI to
8
+ > install. Filtering is client-side via `grep`/`jq` (see below). Tooling docs:
9
+ > `jq` — https://jqlang.github.io/jq/manual/ (optional, for advanced filtering).
10
+
11
+ ## Format
12
+
13
+ One JSON object per line. Flexible schema — unknown fields are ignored.
14
+
15
+ Minimal required fields for a trace:
16
+ ```json
17
+ {"id": "tr_001", "messages": [...], "startTime": "2026-05-27T10:00:00Z"}
18
+ ```
19
+
20
+ ## Fetching traces (filter examples)
21
+
22
+ ```bash
23
+ # All traces with errors:
24
+ grep '"hasError":true' traces.jsonl
25
+
26
+ # By agent ID:
27
+ grep '"agentId":"search-agent"' traces.jsonl
28
+
29
+ # By time window (using jq):
30
+ jq 'select(.startTime >= "2026-05-20")' traces.jsonl
31
+
32
+ # With feedback:
33
+ grep '"hasFeedback":true' traces.jsonl
34
+ ```
35
+
36
+ ## Filter/Search Support
37
+
38
+ See `references/filter-search-matrix.md`. All filtering is post-read client-side. Full grep/jq support on all dimensions. Semantic search not supported.
39
+
40
+ ## Normalization (moved upstream — UniTF flip)
41
+
42
+ The skill no longer normalizes local NDJSON itself. `mutagent-cli trace fetch
43
+ --platform local-ndjson --export <traces.jsonl>` (in `@mutagent/tools`) reads the
44
+ raw file and emits a UniTF JSONL + `manifest.json`; the skill READS that handover
45
+ via the single platform-agnostic reader:
46
+
47
+ ```bash
48
+ bun scripts/cli/run.sh scripts/normalize/read-unitf.ts \
49
+ --in <traces.jsonl> --manifest <manifest.json> \
50
+ --out-metadata /tmp/traces-metadata.json --out-entity /tmp/entity-context.json
51
+ ```
52
+
53
+ Reader: `scripts/normalize/read-unitf.ts` (+ `unitf-adapter.ts`). The bad-line
54
+ tolerance (blank lines skipped; malformed lines counted-but-visible, F-S7) is
55
+ preserved by the reader. Run `mutagent-cli trace --help` for the fetch surface.
@@ -0,0 +1,102 @@
1
+ # OpenObserve — Source Platform Reference
2
+
3
+ > **POST-FLIP (UniTF):** the diagnostics skill does not fetch or normalize
4
+ > OpenObserve traces itself. Fetch + normalize live in `@mutagent/tools` and run
5
+ > UPSTREAM via `mutagent-cli trace fetch --platform openobserve …`, which emits a
6
+ > UniTF JSONL + `manifest.json`. The skill READS that handover via
7
+ > `scripts/normalize/read-unitf.ts` (Step 3.7). This doc is reference material for
8
+ > **shaping the upstream CLI query** (auth, endpoints, quirks). Run
9
+ > `mutagent-cli trace --help` for the fetch surface.
10
+ >
11
+ > Transport = **REST** (HTTP Basic auth). OpenObserve stores OpenTelemetry spans,
12
+ > so the adapter maps OpenObserve span rows → the shared OTel span shape and reuses
13
+ > the otel normalizer (`sourcePlatform: "openobserve"`). Upstream contract:
14
+ > `mutagent-tools/references/adapter-research/openobserve.md` (cited sources O1–O8).
15
+
16
+ ## Access patterns
17
+
18
+ OpenObserve exposes two complementary trace endpoints; the adapter uses SQL search:
19
+
20
+ | Endpoint | Use |
21
+ |---|---|
22
+ | `GET /api/{org}/{stream}/traces/latest` | list recent trace summaries by window (root span only) |
23
+ | `POST /api/{org}/_search` | full SQL over spans — the adapter's primary path (window-scoped `SELECT * FROM "{stream}"`) |
24
+
25
+ The adapter runs a single window-scoped `_search`, pages by `from`/`size`, and
26
+ groups the returned span rows by `trace_id` into full `UnifiedTrace`s — no per-trace
27
+ N+1 request storm.
28
+
29
+ ## Auth
30
+
31
+ HTTP Basic auth: `Authorization: Basic base64(email:password)`. Set env vars (read
32
+ at runtime, never hardcoded — the CLI passes only env-var NAME refs, not raw secrets):
33
+
34
+ ```
35
+ OPENOBSERVE_URL=http://localhost:5080 # self-hosted; cloud: https://api.openobserve.ai
36
+ OPENOBSERVE_ORG=default # org id path segment (default "default")
37
+ OPENOBSERVE_STREAM=default # trace stream name (default "default")
38
+ # EITHER email + password (→ Basic base64(email:password)):
39
+ OPENOBSERVE_EMAIL=you@example.com
40
+ OPENOBSERVE_PASSWORD=...
41
+ # OR a single pre-issued token (cloud). If it starts with "Basic "/"Bearer " it is
42
+ # sent verbatim; otherwise it is sent as `Basic <token>`:
43
+ OPENOBSERVE_AUTH=...
44
+ ```
45
+
46
+ `--endpoint-ref` / `--credential-ref` override the URL / auth env-var NAMES.
47
+
48
+ ## CLI Operation Manual
49
+
50
+ ```bash
51
+ # Size the window (cheap)
52
+ mutagent-cli trace count --platform openobserve --since 24h
53
+
54
+ # Fetch + normalize → UniTF JSONL + sibling manifest
55
+ mutagent-cli trace fetch --platform openobserve --since 24h \
56
+ --export .mutagent/traces/oo1/traces.jsonl
57
+
58
+ # Pin a single trace
59
+ mutagent-cli trace fetch --platform openobserve --trace <trace_id> --since 7d
60
+ ```
61
+
62
+ Window bounds are required by `_search`; when `--since/--until` are omitted the
63
+ adapter defaults to a 24h lookback ending at `now` so the required bounds hold.
64
+
65
+ ## Filter/Search Support
66
+
67
+ | Filter | Support | How |
68
+ |---|---|---|
69
+ | Time window | ✅ | `start_time`/`end_time` (µs) — partition-pruned in `_search` |
70
+ | Single trace | ✅ | `WHERE trace_id = '…'` |
71
+ | Agent / service / keyword / scope | ⚠️ core-side | applied by the CLI's canonical filter pass over normalized UniTF |
72
+ | Error / feedback | ⚠️ derived | `span_status = "ERROR"` → UniTF `status: "error"`; derived client-side downstream |
73
+
74
+ ## Quirks (grounded in the research doc's Open Questions)
75
+
76
+ - **Timestamp unit** (OO-G2): `_search` uses microseconds; some fields are nanoseconds.
77
+ The adapter auto-detects by magnitude (µs vs ns vs ms vs s) — no unit assumption.
78
+ - **Root span sentinel** (OO-G1): `parent_span_id` may be `null`, `""`, or omitted —
79
+ all three map to a root span.
80
+ - **GenAI attribute duality** (OO-G5/G6): GenAI fields appear both inside `attributes`
81
+ (canonical dotted keys) and as promoted top-level columns. The adapter prefers the
82
+ canonical `attributes` value; Mastra aliases (`ai_usage_*` / `ai_model_name`) fill the
83
+ OTel semconv keys only when the canonical field is absent (priority: OTel > Mastra).
84
+ - **Stream name** (OO-G4): never hardcoded — `OPENOBSERVE_STREAM` (default `"default"`).
85
+ - **Cloud auth** (OO-G7): a cloud-issued token is supported via `OPENOBSERVE_AUTH`
86
+ (Bearer/Basic pass-through). An MCP transport is a future task (UT-3), not built.
87
+
88
+ ## Normalization (moved upstream — UniTF flip)
89
+
90
+ OpenObserve span rows → UniTF normalization lives in the `@mutagent/tools`
91
+ openobserve adapter and runs UPSTREAM via `mutagent-cli trace fetch --platform
92
+ openobserve --export <traces.jsonl>`. The skill READS the resulting UniTF JSONL
93
+ (+ manifest) via the single platform-agnostic reader:
94
+
95
+ ```bash
96
+ bun scripts/cli/run.sh scripts/normalize/read-unitf.ts \
97
+ --in <traces.jsonl> --manifest <manifest.json> \
98
+ --out-metadata /tmp/traces-metadata.json --out-entity /tmp/entity-context.json
99
+ ```
100
+
101
+ Reader: `scripts/normalize/read-unitf.ts` (+ `unitf-adapter.ts`). Run
102
+ `mutagent-cli trace --help` for the fetch surface.
@@ -0,0 +1,63 @@
1
+ # OpenTelemetry — Source Platform Reference
2
+
3
+ > CLI-first per OQ-1.
4
+ > Upstream docs: https://opentelemetry.io/docs/
5
+ > **Official tooling/protocol docs: https://opentelemetry.io/docs/specs/otlp/**
6
+ >
7
+ > NOTE: OpenTelemetry has **no single canonical CLI** — trace access is
8
+ > backend-specific (Jaeger / Tempo / Honeycomb), each with its own API/CLI.
9
+ > Onboarding therefore treats OTel as `status: not-required` in the ensure-cli
10
+ > gate (PR-021 — `references/workflows/onboarding.md` Phase 2): there is nothing
11
+ > to install, so the skill links these docs and proceeds via the REST/curl fetch
12
+ > shown below. Per-backend docs:
13
+ > - Jaeger: https://www.jaegertracing.io/docs/
14
+ > - Tempo (Grafana): https://grafana.com/docs/tempo/
15
+ > - Honeycomb: https://docs.honeycomb.io/
16
+
17
+ ## Access patterns
18
+
19
+ OTel spans are accessed via an OTLP-compatible backend. Common options:
20
+ - Jaeger: https://www.jaegertracing.io/
21
+ - Tempo (Grafana): https://grafana.com/docs/tempo/
22
+ - Honeycomb: https://www.honeycomb.io/
23
+
24
+ ## Auth
25
+
26
+ Set in `.mutagentrc` per your backend:
27
+ ```
28
+ OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
29
+ OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer sk-...
30
+ ```
31
+
32
+ ## CLI Operation Manual (Jaeger example)
33
+
34
+ ```bash
35
+ # List traces (Jaeger UI API)
36
+ curl -s "http://localhost:16686/api/traces?service=my-agent&limit=100" | jq .
37
+
38
+ # Fetch specific trace
39
+ curl -s "http://localhost:16686/api/traces/{traceId}" | jq .
40
+
41
+ # Filter by error
42
+ curl -s "http://localhost:16686/api/traces?service=my-agent&tags=%7B%22error%22%3A%22true%22%7D"
43
+ ```
44
+
45
+ ## Filter/Search Support
46
+
47
+ See `references/filter-search-matrix.md`. Key: most OTel filtering is client-side post-fetch grep because CLI tooling varies per backend. `span.status.code == 2` = ERROR.
48
+
49
+ ## Normalization (moved upstream — UniTF flip)
50
+
51
+ OTLP-JSON spans → UniTF normalization now lives in the `@mutagent/tools` otel
52
+ adapter and runs UPSTREAM via `mutagent-cli trace fetch --platform otel --export
53
+ <traces.jsonl>` (input: array of OTel spans / OTLP JSON). The skill READS the
54
+ resulting UniTF JSONL (+ manifest) via the single platform-agnostic reader:
55
+
56
+ ```bash
57
+ bun scripts/cli/run.sh scripts/normalize/read-unitf.ts \
58
+ --in <traces.jsonl> --manifest <manifest.json> \
59
+ --out-metadata /tmp/traces-metadata.json --out-entity /tmp/entity-context.json
60
+ ```
61
+
62
+ Reader: `scripts/normalize/read-unitf.ts` (+ `unitf-adapter.ts`). Run
63
+ `mutagent-cli trace --help` for the fetch surface.
@@ -0,0 +1,84 @@
1
+ # Cloud REST — Target Platform Reference
2
+
3
+ > Apply target: Remote cloud services accessed via REST API (e.g., Langfuse, hosted OTel, custom agent API).
4
+ > Target class: `remote`
5
+ > Apply branch: remote (read-before-write required; idempotency required; HITL gate for all mutations)
6
+
7
+ ## Classification
8
+
9
+ | Dimension | Value |
10
+ |-----------|-------|
11
+ | Target class | `remote` |
12
+ | Mutability | REST mutations via idempotent API calls |
13
+ | Isolation | No local isolation — all changes are live |
14
+
15
+ ## Key Constraints
16
+
17
+ - **Read before write (PR-003)**: always GET the resource before PATCH/PUT/DELETE
18
+ - **Idempotency (PR-012)**: use `uuidgen` client-side idempotency keys for all mutations; retry-safe
19
+ - **HITL gate (PR-014)**: ALL remote mutations require user confirmation via HITL HTML before execution
20
+ - **No destructive ops without gate**: DELETE operations require explicit `AskUserQuestion` in Claude Code; numbered chat-multi-choice elsewhere
21
+
22
+ ## Supported Services
23
+
24
+ | Service | Auth | Base URL |
25
+ |---------|------|----------|
26
+ | Langfuse | `LANGFUSE_SECRET_KEY` + `LANGFUSE_PUBLIC_KEY` | `https://cloud.langfuse.com` or self-hosted |
27
+ | Custom REST Agent | Bearer token | User-configured |
28
+
29
+ ## How Remedies Are Applied
30
+
31
+ 1. **GET resource** — confirm current state matches expected (read-before-write)
32
+ 2. **Render HITL HTML** — show proposed change to user
33
+ 3. **User confirms** — via AskUserQuestion (Claude Code) or numbered chat option
34
+ 4. **PATCH/POST** with idempotency key — execute mutation
35
+ 5. **Verify** — re-GET to confirm applied state
36
+ 6. **Emit audit** — `audit.json` + `audit.md` per PR-013
37
+
38
+ ## Idempotency Pattern
39
+
40
+ ```typescript
41
+ const idempotencyKey = crypto.randomUUID(); // uuidgen equivalent
42
+
43
+ await fetch(`${baseUrl}/api/resource`, {
44
+ method: 'PATCH',
45
+ headers: {
46
+ 'Content-Type': 'application/json',
47
+ 'Idempotency-Key': idempotencyKey,
48
+ 'Authorization': `Bearer ${apiKey}`,
49
+ },
50
+ body: JSON.stringify(patch),
51
+ });
52
+ ```
53
+
54
+ ## Auth Configuration
55
+
56
+ Keys are referenced by name only — never inline values. From `.mutagentrc`:
57
+ ```
58
+ LANGFUSE_SECRET_KEY=<key>
59
+ LANGFUSE_PUBLIC_KEY=<key>
60
+ LANGFUSE_HOST=https://cloud.langfuse.com
61
+ ```
62
+
63
+ ## Remedy Categories
64
+
65
+ - **Score annotation**: POST score to a trace (e.g., flag false positive in Langfuse)
66
+ - **Trace annotation**: add metadata tag to a trace
67
+ - **Dataset update**: add or update evaluation dataset entries
68
+ - **Config sync**: update remote agent config via REST API
69
+
70
+ ## Audit
71
+
72
+ ```json
73
+ {
74
+ "targetPlatform": "cloud-rest",
75
+ "targetClass": "remote",
76
+ "remedyType": "score-annotation",
77
+ "idempotencyKey": "<uuid>",
78
+ "resourceUrl": "https://cloud.langfuse.com/api/...",
79
+ "before": {},
80
+ "after": {},
81
+ "diagnosedAtHash": "<git-hash>",
82
+ "appliedAtHash": "<git-hash>"
83
+ }
84
+ ```
@@ -0,0 +1,65 @@
1
+ # Local Claude (Claude Code) — Target Platform Reference
2
+
3
+ > Apply target: Claude Code running on the local machine.
4
+ > Target class: `local-agent`
5
+ > Apply branch: local-agent (read-verify-only; no code edits; git BG-worktree for self-diagnostics PRs)
6
+
7
+ ## Classification
8
+
9
+ | Dimension | Value |
10
+ |-----------|-------|
11
+ | Target class | `local-agent` |
12
+ | Mutability | read-verify; HITL via HTML |
13
+ | Isolation | N/A (agent runs in its own session) |
14
+
15
+ ## How Remedies Are Applied
16
+
17
+ Claude Code remedies are **configuration changes**, not code edits.
18
+
19
+ 1. **Read before write (PR-003)**: read `~/.claude/settings.json` (or project `.claude/settings.json`) before proposing edits
20
+ 2. **HITL gate (PR-014)**: HTML report + markdown remedy proposal rendered; user applies in Claude Code settings UI or confirms before file edit
21
+ 3. **BG-worktree only (PR-004)**: if remedy involves committing configuration to `.claude/` in the project, a separate worktree branch is opened — no direct main-branch commits
22
+
23
+ ## Config Targets
24
+
25
+ | File | Purpose |
26
+ |------|---------|
27
+ | `~/.claude/settings.json` | Global user settings |
28
+ | `<project>/.claude/settings.json` | Project-scoped settings |
29
+ | `<project>/.claude/skills/` | Installed skill bundles |
30
+ | `CLAUDE.md` | Project instructions (human-authored) |
31
+
32
+ ## Capability Probing
33
+
34
+ ```bash
35
+ # Check Claude Code is installed
36
+ which claude || npx claude --version
37
+
38
+ # List recent projects
39
+ ls ~/.claude/projects/
40
+
41
+ # Check settings
42
+ cat ~/.claude/settings.json 2>/dev/null
43
+ ```
44
+
45
+ ## Remedy Categories (iter-8 locked)
46
+
47
+ - **Skill install**: copy skill bundle to `.claude/skills/<skill-name>/`
48
+ - **Settings update**: patch `~/.claude/settings.json` key
49
+ - **CLAUDE.md addendum**: append or insert a section via PR (BG worktree)
50
+ - **Session cleanup**: no automated session cleanup — surfaced as informational finding only
51
+
52
+ ## Audit
53
+
54
+ Auditor emits `audit.json` + `audit.md` per PR-013. All fields required:
55
+ ```json
56
+ {
57
+ "targetPlatform": "local-claude",
58
+ "targetClass": "local-agent",
59
+ "remedyType": "skill-install",
60
+ "before": {},
61
+ "after": {},
62
+ "diagnosedAtHash": "<git-hash>",
63
+ "appliedAtHash": "<git-hash>"
64
+ }
65
+ ```