@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,119 @@
1
+ # mutagent-diagnostics — Reference Entry Point
2
+
3
+ > Load this first. It provides the full architecture diagram, dependency graph, and TOC for all reference docs.
4
+
5
+ ## Architecture DAG
6
+
7
+ > The Orchestrator is **NOT a sub-agent** — it is the parent coding-agent session following
8
+ > `references/workflows/orchestrator-protocol.md` inline (PR-024; the retired
9
+ > `diagnostics-orchestrator.md` is archived). The sub-agents are the analyzer (RCA) + the
10
+ > vendored apply actors (ai-engineer WRITE · ai-architect VERIFY) that drive the shared
11
+ > `mutagent-cli apply` — the bespoke apply-worker is retired (M9).
12
+
13
+ ```mermaid
14
+ flowchart TD
15
+ USER[Operator in coding agent] -->|invoke| SKILL[mutagent-diagnostics SKILL.md]
16
+ SKILL -->|§0 setup detect| DETECT{config present?}
17
+ DETECT -->|NO| ONB[Onboarding — references/workflows/onboarding.md]
18
+ DETECT -->|YES| ORCH[Orchestrator — parent session\nreferences/workflows/orchestrator-protocol.md]
19
+ ONB --> CFG[config.yaml + .mutagentrc]
20
+ CFG --> SKILL
21
+ ORCH -->|Bash CLI / file read| SRC[Source Platform — references/source-platforms/]
22
+ ORCH -->|bun tier0-scan.ts| TIER0[Tier 0 SCRIPT — scripts/tier0-scan.ts]
23
+ ORCH -->|normalize + extract EntityContext| NORM[Normalizers — scripts/normalize/platforms/*.ts\n+ entity-context.ts R1.7]
24
+ TIER0 -->|bun slicer.ts| SLICE[Slicer SCRIPT — scripts/slicer.ts]
25
+ ORCH -->|Agent dispatch| ANL[N Analyzers ≤5 — assets/agents/diagnostics-analyzer.md]
26
+ ANL --> ORCH
27
+ ORCH -->|LLM RCA reasoning| TL[RCA Layer — references/workflows/rca.md]
28
+ TL -->|Step 8.5: bun build-render-input.ts| ENRICH[Enricher — scripts/enrich/build-render-input.ts\ndeterministic · fail-loud]
29
+ NORM -->|EntityContext| ENRICH
30
+ ENRICH -->|bun render.ts| REPORT[report.html — assets/templates/report.html.tpl\ngold-standard multi-tab]
31
+ REPORT --> COPY{Operator pastes copy-back markdown}
32
+ COPY -->|approved, gated| APPLY[Shared apply — assets/agents/ai-engineer.md then mutagent-cli apply @mutagent/tools]
33
+ APPLY -->|worktree-PR| LOCAL[Local Target — references/target-platforms/]
34
+ APPLY -->|REST create-rev| REMOTE[Remote Target — references/target-platforms/cloud-rest.md]
35
+ ```
36
+
37
+ ## Dependency Graph
38
+
39
+ ```mermaid
40
+ flowchart LR
41
+ SKILL[SKILL.md] --> RF[reference.md]
42
+ SKILL --> RW0[workflows/orchestrator-protocol.md\nStep 8.5 = build render input]
43
+ SKILL --> RW1[workflows/onboarding.md]
44
+ SKILL --> RW2[workflows/diagnostics.md]
45
+ SKILL --> RW4[workflows/rca.md]
46
+ SKILL --> RP[principles.md]
47
+ SKILL --> RFL[operator-feedback-log.md]
48
+ SKILL --> ROP[operation-inventory.md]
49
+ SKILL --> RAS[adapter-strategy.md]
50
+ SKILL --> RFS[filter-search-matrix.md]
51
+ SKILL --> RHK[harness-knowledge.md]
52
+ SKILL --> RC[config.md]
53
+ SKILL --> ROQ[open-questions.md]
54
+ SKILL --> AG2[agents/diagnostics-analyzer.md]
55
+ SKILL --> AG3[agents/ai-engineer.md]
56
+ SKILL --> AG4[agents/ai-architect.md]
57
+
58
+ RW1 --> RS[source-platforms/*.md]
59
+ RW1 --> RT[target-platforms/*.md]
60
+ RW0 --> RW2
61
+ RW0 --> RW4
62
+ RW2 --> RW4
63
+ RW2 --> RS
64
+ RW3 --> RT
65
+
66
+ RS -.->|hyperlinks| EXT1[Upstream platform docs]
67
+ RT -.->|hyperlinks| EXT2[Upstream platform docs]
68
+
69
+ AG2 --> RW2
70
+ AG3 --> RW3
71
+
72
+ T0[scripts/tier0-scan.ts] --> NT[scripts/normalize/trace.ts]
73
+ SL[scripts/slicer.ts] --> NT
74
+ EC[scripts/normalize/platforms/entity-context.ts] --> NT
75
+ EN[scripts/enrich/build-render-input.ts] --> NT
76
+ EN --> RR
77
+ RR[scripts/report/render.ts] --> RHT[assets/templates/report.html.tpl]
78
+ CT[scripts/contract/types.ts] --> RR
79
+ CL[scripts/config/load.ts] --> CS[scripts/config/schema.ts]
80
+ CV[scripts/config/validate.ts] --> CS
81
+ SD[scripts/setup/detect.ts] --> CL
82
+ SD --> CV
83
+ NPL[scripts/normalize/platforms/*.ts] --> NT
84
+ NPL --> EC
85
+ ```
86
+
87
+ ## Table of Contents
88
+
89
+ | Reference | Purpose |
90
+ |-----------|---------|
91
+ | `overview.md` | **Entry point for new users** — What/when/quick-start/glossary (PRD-SO-01) |
92
+ | `principles.md` | 53 Design Principles — PR-001 to PR-053 |
93
+ | `operator-feedback-log.md` | Append-only operator feedback on the report shape (Wave-5 R1.6) — the durable WHY behind the gold-standard renderer |
94
+ | `operation-inventory.md` | Type A/B/C operation classification |
95
+ | `adapter-strategy.md` | Adapter Q1-Q6 locked decisions |
96
+ | `filter-search-matrix.md` | Per-platform Filter/Search coverage matrix |
97
+ | `harness-knowledge.md` | Platform Knowledge Table (expandable) |
98
+ | `config.md` | Config schema with doc strings |
99
+ | `open-questions.md` | OQ-1..OQ-10 all resolved |
100
+ | `workflows/onboarding.md` | 8-phase onboarding procedure |
101
+ | `workflows/orchestrator-protocol.md` | Inline orchestrator protocol (parent session); Step 8.5 builds the render input via the enricher |
102
+ | `workflows/diagnostics.md` | Full diagnostic procedure + NL→filter |
103
+ | `workflows/rca.md` | RCA layer procedure + 3-dim taxonomy |
104
+ | `workflows/verification-methodology.md` | Background Investigator finding false-positive audit (5 tiers + AuditVerdict + per-source cache-detection); on-demand, improvable |
105
+ | `workflows/rendering-anatomy.md` | Canonical per-finding + per-remedy panel anatomy (PRD-CC-12) |
106
+ | `workflows/schedule-prep.md` | How to wire scheduling post-v0.1 |
107
+ | `source-platforms/langfuse.md` | Langfuse CLI fetch + filter examples |
108
+ | `source-platforms/otel.md` | OpenTelemetry OTLP pull + queries |
109
+ | `source-platforms/local-jsonl.md` | Local JSONL file read patterns |
110
+ | `source-platforms/claude-code-transcripts.md` | Claude Code session transcript format |
111
+ | `source-platforms/codex-transcripts.md` | Codex session transcript format |
112
+ | `target-platforms/local-claude.md` | .claude/agents/*.md apply recipe |
113
+ | `target-platforms/local-codex.md` | .codex/agents/*.md apply recipe |
114
+ | `target-platforms/local-cursor.md` | Cursor agent dir apply |
115
+ | `target-platforms/local-opencode.md` | OpenCode agent dir apply |
116
+ | `target-platforms/local-mastra.md` | Mastra code-construct apply |
117
+ | `target-platforms/local-cloud-agent-sdk.md` | Cloud Agent SDK apply |
118
+ | `target-platforms/cloud-rest.md` | REST PUT with idempotency |
119
+ | `internal/self-diagnostics.md` | [INTERNAL] PR-022 self-diagnostics playbook |
@@ -0,0 +1,101 @@
1
+ # Script Index — the data-flow navigation map
2
+
3
+ > **Why this file exists (W13).** Most recurring report bugs are *forgotten data*: a
4
+ > producer runs but its output is never threaded into `runMeta`, or the renderer
5
+ > dereferences a field no producer guaranteed → `undefined` in the HTML. This index is
6
+ > the single place the orchestrator (and any maintainer) reads to know **what every
7
+ > script consumes, produces, and which `runMeta`/render field depends on it.** If you
8
+ > add a step, add its row here. The **gates** column is what FAILS LOUD if the data is
9
+ > forgotten — never rely on memory; the gate is the enforcement.
10
+ >
11
+ > Quick listing at runtime: `bash scripts/cli/run.sh --list` (or read this file).
12
+
13
+ ## Run sequence → script → I/O → the field it feeds → the gate that enforces it
14
+
15
+ > **Form column (REQ-051).** Every operation is exactly one of ①**script /
16
+ > code-workflow** · ②**agent-workflow** · ③**hybrid** (legend + integrity rule in
17
+ > "Operation forms (REQ-051)" below). ②-form steps (e.g. Step 2, Step 3) produce
18
+ > TYPED outputs and are legitimate — a "no script" cell is NOT a coverage gap.
19
+
20
+ | Step | Form | Script | Consumes | Produces | Threads into `runMeta` / render | Enforced by |
21
+ |------|------|--------|----------|----------|----------------------------------|-------------|
22
+ | 2 | ②agent-workflow | *(no script)* — `Bash(<cli> scores list)` + LLM classify | platform score samples | **scale type** (`boolean`\|`discrete-1-5`\|…) — TYPED | informs Step 3 `scoreBelow` threshold | AskUserQuestion on ambiguity |
23
+ | 3 | ②agent-workflow | *(no script)* — LLM NL→filter reasoning | operator NL query + scale type | **`TraceFilter`** (agentId/time/hasFeedback/scoreBelow) — TYPED | parameterizes the UPSTREAM `mutagent-cli trace fetch --export` query (Helix pre-stage) | filter-search-matrix per-platform flags |
24
+ | 3a | ①script | `scripts/invocation/parse-brief.ts` | operator brief (string) | `{agent,timeWindow,focus,residual,scopeType,entity}` | `runMeta.operatorInvocation` (verbatim, D2) | parse-brief.test |
25
+ | 3.5 | ③hybrid | `scripts/awareness/llm-sample.ts` + `blind-spots.ts` | 5 representative traces | `AwarenessSample`, `BlindSpots` | `runMeta.awarenessSample` · `runMeta.blindSpots` (F2) | completeness-check · wave6-checklist |
26
+ | 3.7 | ①script | `scripts/normalize/read-unitf.ts` (+ `unitf-adapter.ts`) — reads the handed-over UniTF JSONL (+ manifest) from `HandoverBundle.inputs[]`; fetch+normalize now upstream in `@mutagent/tools` | UniTF JSONL (one `UnifiedTrace`/line) + optional `manifest.json` | `TraceMetadata[]`, `EntityContext` (deterministic, no LLM) — projected from `ut.*` + `ut.ext.agent` | `diagnosedEntity` · `billedTokens` · trace latency (span-authoritative, W13-D2) · **GROUNDED cache fields** (W18-cache: `cachedInputTokens` · `cacheCreationTokens` · `cacheStatus` `hit`\|`miss`\|`unknown` · `cacheHitRate`) — carried in `ut.tokens`/`ut.ext.cache`; absent ⇒ `unknown`, NEVER inferred from flat `promptTokens` | findings-contract (entity) · render-contract pass |
27
+ | 4 | ①script | `scripts/tier0-scan.ts` | `TraceMetadata[]` | `Tier0Report` (errorSpike/latencySpike/feedbackCluster/estimatedSlots) | signal census candidates | tier0 tests |
28
+ | 4.5 | ①script | `scripts/library/match.ts` | Tier0Report + entity | `libraryMatches[]` (3× weight) · double-zero gate | `runMeta.decisions` (if empty) | double-zero fail-loud |
29
+ | 5 | ①script | `scripts/slicer.ts` · `scripts/sample/representative.ts` | Tier0Report + metadata | slices · `sample` + `CoverageProof` (worst-weighted, W13-D9) | per-finding `coverageProof` (W12-13) | representative.test |
30
+ | 5c | ①script | `scripts/scan/objection.ts` | trace bodies (user-authored text) | `ObjectionScanResult` (`byTrace`, `objectionRate`) — deterministic, NO LLM | **sampling-priority hint only** — NOT a census signal (advisory pre-filter; may corroborate a deep-read finding) | objection.test |
31
+ | 5.7 | ①script | `scripts/context/build-diagnosis-context.ts` (CLI: `--entity-context <f> --traces <f> --output <f> [--purpose <text>] [--doc <label>:<path> …]`) | `EntityContext` (Step 3.7) + normalized traces (+ optional source docs) | `diagnosis-context.md` — GROUNDED LENS (Identity · Purpose · FULL system prompt · Tool Inventory · Source Code; provenance-badged), Type A pure (no LLM/clock/random) — EXTRACTED FACT only | analyzer brief `artifacts_in.diagnosis_context` (W18-context, MANDATORY-PRE-READ before fan-out) | build-diagnosis-context.test |
32
+ | 6 | ②agent-workflow | analyzer dispatch (`assets/agents/diagnostics-analyzer.md`) | slice + **handover-contract schema** (W13-D7) + `diagnosis-context.md` (W18-context pre-read) | `Finding[]` (`problem` + rank/cost/correctness REQUIRED, W18-problem/W13-D1) | findings | **findings-contract.ts** RESEND if missing (incl. `problem(task-phrased)`) |
33
+ | 6.5 | ①script | `scripts/scan/trajectory.ts` (CLI: `--bodies <f> [--out <f>]`) | sampled deep-read trace bodies | `TrajectoryCorroboration[]` (`{signal, evidenceRef}`) — mechanical, deterministic, NO LLM | `SignalCensusContext.corroborations` (R1 evidence floor → PRIMARY eligibility) | trajectory.test |
34
+ | 6.5 | ①script | `scripts/library/store.ts` (`foldValidDigests`) over `deep-read-ledger.json` | per-entity cross-run ledger + (analyzerVersion · entityFingerprint · nowMs · ttlMs) | `DeepReadLedgerEntry[]` (still-VALID folded digests) | `SignalCensusContext.foldedDigests` (R2 — re-floored by Block C, never trusted blindly) | ledger.test · store via library.test |
35
+ | 7 | ③hybrid | aggregate (LLM dedup) + `scripts/aggregate/sort-findings.ts` (W13) | analyzer Finding[] | deduped + **deterministically sorted** findings | `runMeta.findings` | findings-contract |
36
+ | 8.5b | ③hybrid | `scripts/library/store.ts` (`foldValidDismissals`, NO TTL) + PINNED host-runtime reasoning (`scripts/enrich/dismissal-match.ts` `buildSemanticMatchRequest`, temp-0 · C-PIN) | produced findings + folded DISMISSED verdicts (`verdict-ledger.json`) + `entityFingerprint` | `dismissalContext` (`{ entitySlug, dismissedEntries, VerdictLookup }`) → enricher | (suppressed findings REMOVED from `renderInput.findings`; NO Suppressed section) | dismissal-match.test · dismissal-enrich.test |
37
+ | 8.5 | ①script | `scripts/enrich/build-render-input.ts` (+ `rank-remedies.ts`, `signal-census`, heatmap, selectionRules; **`--dismissalContext`** OPTIONAL — semantic-dismissal partition, severity-escalation guard FIRST, absent ⇒ no-op) | findings + EntityContext + wave6 stamps + **`--signal-ctx <f>`** (`SignalCensusContext`, Step 6.5; OPTIONAL — absent ⇒ safe-by-default Tier-0-only census) | `RenderInput` (rank BACKFILLED, signals reconciled; discovered signals evidence-floored, `suspectedPrimaryUnconfirmed` on R7; ACTIVE findings only) | the whole render contract + `primarySignal` | **completeness-check render-contract pass (W13-D6)** |
38
+ | 8.9 | ①script | `scripts/validate/render-js-syntax.ts` (PR-050) | rendered HTML | parse verdict | — | Step-8.9 gate |
39
+ | 9 | ①script | `scripts/report/render.ts` → `assets/templates/report.html.tpl` | `RenderInput` | `report.html` | — | render-js-syntax · escapeHtml/badge guards (W12/W13-A) |
40
+ | 9.9 | ①script | `scripts/validate/finalize-gate.ts` + `report-checklist.yaml` (W14) | rendered `report.html` + audience | `{ pass, gaps[] }` (per-gap `section·tier·what·sourceStep·healAction`) | — | **Step 9.9 OUTPUT gate** — CRIT blocks "report done"; backtrace each gap's `sourceStep` (this table) → re-run producer → re-render → re-check (bounded 2 rounds, then escalate loud) |
41
+ | 11.5 | ①script | `scripts/library/store.ts` (`recordVerdict` · `writeApprovedFinding` mirror) | parsed copy-back (`## Invalid findings` + `## Approved Remedies` blocks) + run-context (`runId·ts·operatorInvocation·entityFingerprint`) | unified `verdict-ledger.json` (both polarities — feeds Step 8.5b next run) | — | verdict-ledger.test |
42
+
43
+ ## Operation forms (REQ-051) — and why "no script" is not a gap
44
+
45
+ Every pipeline operation is exactly ONE of three forms. The `Form` column above
46
+ tags each step; this section is the legend + the integrity rule.
47
+
48
+ | Form | What it is | Type (PR-019) | Boundary artifact |
49
+ |------|-----------|---------------|-------------------|
50
+ | ①**script / code-workflow** | 1:1 command→script; deterministic, structured I/O; zero LLM; unit-testable in isolation. | Type A | the script's typed output (e.g. `Tier0Report`, `RenderInput`) |
51
+ | ②**agent-workflow** | a command drives the agent through one-or-more steps (LLM reasoning); may point into another workflow. Not unit-testable in isolation. | Type B | the TYPED structure the agent is required to emit (e.g. scale type, `TraceFilter`, `Finding[]`) |
52
+ | ③**hybrid** | the agent invokes ①-scripts AND runs LLM loops/calls around them; the script gives deterministic shape, the agent decides when/how + reasons over the result. | Type C | the script's typed output, consumed/reconciled by the agent |
53
+
54
+ > **Integrity rule — TYPED ARTIFACTS at boundaries, not script-coverage.**
55
+ > The skill's correctness invariant is **NOT** "every operation must be a script."
56
+ > It is: **every step hands the next step a TYPED artifact**, and a gate
57
+ > (`findings-contract` · `completeness-check` render-contract · `finalize-gate`)
58
+ > asserts that artifact's shape. A ②agent-workflow op is a first-class, legitimate
59
+ > form — it is a gap ONLY if it emits an UNTYPED / unvalidated blob, never merely
60
+ > because it has "no script." Do not "fix" a ②-form step by forcing it into a
61
+ > script; fix it (if broken) by tightening the typed contract on its output.
62
+
63
+ **Step 2 (score-scale inference)** and **Step 3 (NL→TraceFilter)** are ②agent-workflow
64
+ ops by design — both require LLM judgment (classify an arbitrary platform's scoring
65
+ convention; translate operator natural language into a structured filter). Each
66
+ produces a **TYPED output** (Step 2 → a scale-type enum; Step 3 → a `TraceFilter`)
67
+ that the downstream code-workflow consumes. They are **legitimate, not coverage
68
+ gaps** — the absence of a `scripts/*.ts` for them is correct, not a defect.
69
+
70
+ ## Trace intake — single read path (post UniTF flip / Step 3.7)
71
+
72
+ The skill no longer owns any per-platform fetch/normalize entrypoints. Those five
73
+ adapters (langfuse · local-ndjson · claude-code · codex · otel) now live + are
74
+ tested in `@mutagent/tools` and run UPSTREAM via `mutagent-cli trace fetch`, which
75
+ emits a UniTF JSONL + `manifest.json`. Inside the skill there is ONE
76
+ platform-agnostic reader, exposed via the same INTERNAL `--out-entity` /
77
+ `--out-metadata` transport through `scripts/cli/run.sh` (run.sh only — NOT the
78
+ product `mutagent` CLI). `--out-entity` is the AUTHORIZED producer of
79
+ `entity-context.json` (consumed at Step 8.5a via the enricher's `--entity-context`
80
+ flag). ≥1 `--out-*` required; deterministic — no clock/random/network/LLM.
81
+
82
+ | Reader | `--in` shape | Projects | CLI flags |
83
+ |--------|--------------|----------|-----------|
84
+ | `scripts/normalize/read-unitf.ts` (+ `unitf-adapter.ts`) | UniTF JSONL — one `UnifiedTrace`/line; blank lines skipped, non-UniTF lines tolerated-but-visible | `TraceMetadata[]` (from `ut.*`) + `EntityContext` (from `ut.ext.agent`) via `unitf-adapter.ts` | `--in <traces.jsonl> [--manifest <manifest.json>] --out-metadata --out-entity` |
85
+
86
+ The **self-diagnosis** skill-typed entity (report-only path, orchestrator-protocol
87
+ Step 12.2) is NOT a platform read — it is produced by `buildSkillSelfEntityContext`
88
+ in `scripts/normalize/platforms/entity-context.ts` (kept) from the skill's own
89
+ SKILL.md + session. All UniTF-projected rows produce an agent-typed entity for
90
+ diagnosing an external agent run.
91
+
92
+ ## The five gates (the durable "never forgotten" enforcement)
93
+
94
+ 1. **`findings-contract.ts`** (Step 7) — TypeBox over Finding/Remedy/Assumption; the required apply-readiness fields (incl. cost/correctness; `rank` is enricher-derived) must be present or the analyzer is RESENT. **W18-problem CONTENT gate:** `problem` is REQUIRED (presence), AND `isTaskPhrasedProblem` RESENDS `problem(task-phrased)` when a present `problem` reads as a task/remedy (leading bare imperative verb from `BANNED_LEADING_IMPERATIVE_VERBS`, or a `should`/`must`/`needs to` modal in its main clause). The fix must live in `remedies`, not the `problem` description. *Producer ↔ contract agreement.*
95
+ 2. **`completeness-check.ts` render-contract pass** (W13-D6) — asserts the **exact** fields `render.ts` dereferences (sessionId, actionable, failureOrigin.evidence/confidence, remedy fields, the methodology widgets). *Gate ↔ renderer agreement.* "Gate passes but render garbles" is structurally closed. *INPUT side (RenderInput JSON).*
96
+ 3. **`render-js-syntax.ts`** (PR-050) — every emitted `<script>` must parse. *OUTPUT side (rendered HTML).*
97
+ 4. **`wave6-checklist.ts`** — the Wave-6 methodology widgets are present/threaded.
98
+ 5. **`finalize-gate.ts` + `report-checklist.yaml`** (W14, Step 9.9) — per-section completeness of the RENDERED `report.html`: no soft fallback shipped (`RANK n/a`/`cost:n/a`), no `undefined`/`null`/`NaN` in visible prose, no `class="internal"` leak on client, prose (not raw-JSON) entity prompt. CRIT blocks "report done"; gaps backtrace via this table → bounded self-heal. *OUTPUT side (rendered HTML) — the complement to gate 2.*
99
+
100
+ ## The three sources of truth (keep them in agreement)
101
+ For any field the report shows: **canonical type** (`scripts/normalize/trace.ts`) ↔ **producer contract** (`references/workflows/handover-contract.md` + `diagnostics-analyzer.md`) ↔ **gate** (above). A field present in only two of the three is the bug class this index + the gates exist to kill. A static audit agent validates exactly this (conformance matrix + data-leak tab) on every run.
@@ -0,0 +1,93 @@
1
+ # Source-Adapter Contract — adding a trace source
2
+
3
+ > Authority: `scripts/source/` (the read-side transport layer). This is the
4
+ > symmetric twin of the write-side `TargetAdapter` contract in
5
+ > `@mutagent/tools` `src/apply/` (see `adapter-strategy.md` Q4/DC-5).
6
+
7
+ ## Why this exists
8
+
9
+ Before Item #7 the per-platform read path was **ad-hoc**: `scripts/tier0-scan.ts`
10
+ held a hard-coded `if (platform === "langfuse") … if (platform === "claude-code") …`
11
+ dispatch with inline dynamic imports. Adding a source meant editing that switch.
12
+
13
+ Now sources register **declaratively** through a registry that mirrors the apply
14
+ layer exactly:
15
+
16
+ | apply (write side, `@mutagent/tools/src/apply`) | source (read side, `scripts/source`) |
17
+ | --- | --- |
18
+ | `AdapterId` (const) | `SourceAdapterId` (const) |
19
+ | `TargetAdapter` (interface) | `SourceAdapter` (interface) |
20
+ | `registerTargetAdapter` / `getTargetAdapter` (throws) / `listTargetAdapters` / `clearTargetAdapters` | `registerSourceAdapter` / `getSourceAdapter` (throws) / `listSourceAdapters` / `clearSourceAdapters` |
21
+ | `registerBuiltinAdapters()` | `registerBuiltinSourceAdapters()` |
22
+ | `apply.kind` → `adapterIdForKind()` (binding.ts, **N:1**) | `source.platform` → adapter id (**1:1, identity — no binding module**) |
23
+
24
+ **The one intentional asymmetry**: the apply layer needs a `binding.ts` because
25
+ `apply.kind` (4 config values) maps *non-1:1* onto adapter ids (`code-pr` **and**
26
+ `markdown` → `worktree-pr`; `cloud-deploy` → `rest` **or** `vendor-cli`). On the
27
+ read side `source.platform` → adapter id is **1:1** — the registry key *is* the
28
+ platform literal — so there is no binding module (it would be an identity
29
+ function). Everything else is a direct mirror.
30
+
31
+ ## The interface
32
+
33
+ ```ts
34
+ // scripts/source/types.ts
35
+ export interface SourceAdapter {
36
+ id: SourceAdapterIdValue; // === a SourcePlatform literal; binds to config source.platform
37
+ label: string; // human label (onboarding pickers)
38
+ live: boolean; // false = declared SEAM stub, true = shipped
39
+ tier0Scan?: Tier0ScanFn; // OPTIONAL per-platform Tier-0 enrichment
40
+ }
41
+ ```
42
+
43
+ `tier0Scan` is **optional and behavior-defining by its absence**:
44
+
45
+ - **present** (langfuse, claude-code) → `runTier0ScanPlatformAware` dispatches a
46
+ homogeneous batch to it for signal extraction tuned to that source
47
+ (e.g. Langfuse `LF-001` low-score-concentration, Claude-Code compaction clusters).
48
+ - **absent** (otel, local-jsonl, codex) → the generic `runTier0Scan` runs. This is
49
+ identical to the pre-registry fallback where only langfuse/claude-code had a branch.
50
+
51
+ Implementations should **lazily `import()`** their heavy scan module (as the
52
+ pre-registry dispatch did) so registering the adapter set stays cheap and there is
53
+ no eval-time import cycle with `tier0-scan.ts`.
54
+
55
+ ## How to add a NEW source
56
+
57
+ 1. **Extend the platform literal** in both:
58
+ - `scripts/normalize/trace.ts` → `SourcePlatform` union
59
+ - `scripts/config/schema.ts` → `SourcePlatformSchema`
60
+ 2. **Add the adapter id** to `SourceAdapterId` in `scripts/source/types.ts`.
61
+ 3. **Drop an adapter file** at `scripts/source/adapters/<platform>.ts`:
62
+ ```ts
63
+ import { SourceAdapterId } from "../types.ts";
64
+ import type { SourceAdapter } from "../types.ts";
65
+ export const myPlatformSourceAdapter: SourceAdapter = {
66
+ id: SourceAdapterId.MyPlatform,
67
+ label: "My Platform",
68
+ live: true,
69
+ // OPTIONAL — only if the platform warrants a bespoke Tier-0 scanner:
70
+ // async tier0Scan(traces, config) {
71
+ // const mod = await import("../../tier0/my-platform.ts");
72
+ // return mod.runMyPlatformTier0(traces, config);
73
+ // },
74
+ };
75
+ ```
76
+ 4. **Register it** — add one line to `registerBuiltinSourceAdapters()` in
77
+ `scripts/source/index.ts`. **No consumer switch to edit.**
78
+ 5. **(Read side)** add `references/source-platforms/<platform>.md` (CLI manual +
79
+ filters + credential setup) and, if you fetch+normalize rather than read a
80
+ UniTF handover, `scripts/normalize/platforms/<platform>.ts` — per
81
+ `adapter-strategy.md` Q1/Q6.
82
+ 6. **(Optional)** add `scripts/tier0/<platform>.ts` with a
83
+ `run<Platform>Tier0(traces, config)` scanner, wired via `tier0Scan` above.
84
+
85
+ ## Resolution semantics
86
+
87
+ - `getSourceAdapter(id)` — **throws** a clear error (naming the registered set)
88
+ when the source is unknown. Use on the strict binding path.
89
+ - `tryGetSourceAdapter(id)` — returns `undefined` (never throws). Used by
90
+ `tier0-scan.ts` so a mixed-platform / unregistered batch **falls back to the
91
+ generic scan** instead of throwing.
92
+ - `ensureBuiltinSourceAdapters()` — registers the shipped set exactly once and
93
+ never clobbers a caller-registered custom/fake adapter (library-safe).
@@ -0,0 +1,66 @@
1
+ # Claude Code Transcripts — Source Platform Reference
2
+
3
+ > Claude Code stores all sessions as JSONL files at a known path.
4
+ > No CLI needed — pure file reads.
5
+ > Upstream docs: https://code.claude.com/docs/en/data-usage
6
+
7
+ ## Session path
8
+
9
+ ```
10
+ ~/.claude/projects/<encoded-project-path>/<session-id>.jsonl
11
+ ```
12
+
13
+ - `<encoded-project-path>`: absolute project path encoded by Claude Code (path separators → hyphens, URL-encoded special chars)
14
+ - `<session-id>`: UUID format
15
+ - Default retention: `cleanupPeriodDays` setting (30 days by default)
16
+ - Format: plaintext JSONL, one event per line
17
+
18
+ ## Discover sessions for this project
19
+
20
+ ```bash
21
+ # List all session files for current project
22
+ find ~/.claude/projects -name "*.jsonl" -newer /tmp/ref-date -ls
23
+
24
+ # Find by project path (approximate — encoding varies)
25
+ ls ~/.claude/projects/ | grep "$(pwd | sed 's|/|-|g')"
26
+ ```
27
+
28
+ `scripts/self-diagnostics/probe.ts` handles the encoding automatically.
29
+
30
+ ## CLI install check
31
+
32
+ No CLI required. Pure file reads via `Read` or `Bash(cat ...)`.
33
+
34
+ > Official docs: https://code.claude.com/docs/en/data-usage
35
+ >
36
+ > The ensure-cli gate (PR-021 — `references/workflows/onboarding.md` Phase 2)
37
+ > reports `status: not-required` for this source: there is nothing to install,
38
+ > so onboarding links these docs and proceeds directly to file reads.
39
+
40
+ ## Filter/Search Support
41
+
42
+ See `references/filter-search-matrix.md`. All filtering is file-level or content-grep:
43
+ - by session ID: filename matches session UUID
44
+ - by time: file `mtime`
45
+ - has error: `grep '"isError":true'`
46
+ - by skill: `grep '"toolName":"Skill"'`
47
+ - full-text: grep over JSONL content
48
+
49
+ ## Normalization (moved upstream — UniTF flip)
50
+
51
+ Claude Code session JSONL → UniTF normalization now lives in the `@mutagent/tools`
52
+ claude-code adapter and runs UPSTREAM via `mutagent-cli trace fetch --platform
53
+ claude-code --export <traces.jsonl>` (one session `.jsonl`, many event lines → one
54
+ UnifiedTrace). The skill READS the resulting UniTF via the single 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`). The
63
+ report-only **self-diagnosis** skill entity is a separate path — built by
64
+ `buildSkillSelfEntityContext` in `scripts/normalize/platforms/entity-context.ts`
65
+ (kept) from the skill's own SKILL.md + session, NOT from a platform export.
66
+ Run `mutagent-cli trace --help` for the fetch surface.
@@ -0,0 +1,78 @@
1
+ # Codex Transcripts — Source Platform Reference
2
+
3
+ > Codex CLI session path CONFIRMED iter-8.
4
+ > Source: codex-rs/rollout/src/lib.rs constants.
5
+ > Upstream docs: https://developers.openai.com/codex/cli · https://github.com/openai/codex
6
+
7
+ ## Session paths (confirmed iter-8)
8
+
9
+ ```
10
+ Active sessions: ~/.codex/sessions/<session>.jsonl
11
+ Archived sessions: ~/.codex/archived_sessions/<session>.jsonl
12
+ Config: ~/.codex/config.toml
13
+
14
+ Constants (codex-rs/rollout/src/lib.rs):
15
+ SESSIONS_SUBDIR = "sessions"
16
+ ARCHIVED_SESSIONS_SUBDIR = "archived_sessions"
17
+ ```
18
+
19
+ - Default: session recording is ON
20
+ - Suppress: `codex exec --ephemeral`
21
+ - Config: `~/.codex/config.toml`
22
+
23
+ ## Discover sessions
24
+
25
+ ```bash
26
+ # List all active sessions
27
+ ls ~/.codex/sessions/
28
+
29
+ # Most recent session
30
+ ls -lt ~/.codex/sessions/ | head -5
31
+
32
+ # Find by approximate date (file mtime)
33
+ find ~/.codex/sessions -newer /tmp/ref-date -name "*.jsonl"
34
+ ```
35
+
36
+ ## CLI install check
37
+
38
+ > Official Codex CLI docs: https://developers.openai.com/codex/cli
39
+ >
40
+ > Reading Codex transcripts needs **no CLI** (they are local JSONL files under
41
+ > `~/.codex/sessions/`) — the `codex` CLI only PRODUCES them. During onboarding the
42
+ > ensure-cli gate (PR-021 — `references/workflows/onboarding.md` Phase 2) probes for
43
+ > the `codex` binary; if missing it shows the docs link + the install command below
44
+ > and **asks for explicit approval before installing** (never auto-installs). On
45
+ > decline, the skill still reads any existing session files directly.
46
+
47
+ Codex CLI install:
48
+ ```bash
49
+ which codex
50
+ # Install: npm install -g @openai/codex
51
+ # or: curl https://install.codex.openai.com | sh
52
+ ```
53
+
54
+ ## Filter/Search Support
55
+
56
+ See `references/filter-search-matrix.md`. Pure file reads:
57
+ - by session ID: filename = session UUID
58
+ - by time: file `mtime`
59
+ - has error: `grep '"error":'`
60
+ - by skill: `grep '"skill":'`
61
+ - by agent type: `grep '"agent_type":'`
62
+ - full-text: grep over JSONL content
63
+
64
+ ## Normalization (moved upstream — UniTF flip)
65
+
66
+ Codex rollout session JSONL → UniTF normalization now lives in the `@mutagent/tools`
67
+ codex adapter and runs UPSTREAM via `mutagent-cli trace fetch --platform codex
68
+ --export <traces.jsonl>` (one rollout session `.jsonl`, many lines → one
69
+ UnifiedTrace). The skill READS the resulting UniTF via the single reader:
70
+
71
+ ```bash
72
+ bun scripts/cli/run.sh scripts/normalize/read-unitf.ts \
73
+ --in <traces.jsonl> --manifest <manifest.json> \
74
+ --out-metadata /tmp/traces-metadata.json --out-entity /tmp/entity-context.json
75
+ ```
76
+
77
+ Reader: `scripts/normalize/read-unitf.ts` (+ `unitf-adapter.ts`). Run
78
+ `mutagent-cli trace --help` for the fetch surface.
@@ -0,0 +1,145 @@
1
+ # Codex — Skill + Agent Install Format Reference
2
+
3
+ > This file covers **skill binding and agent install format** for the Codex platform.
4
+ > For transcript/session fetch (session paths, normalization), see
5
+ > `references/source-platforms/codex-transcripts.md`.
6
+
7
+ ## Status
8
+
9
+ | Topic | Status |
10
+ |---|---|
11
+ | Session paths | **Confirmed** (iter-8) — see `codex-transcripts.md` |
12
+ | Skill install format | **Best-effort** — OQ-3 docs lookup pending; verify before publishing |
13
+ | Agent install format (TOML) | **Best-effort** — per dashboard line 625 + OQ-3 |
14
+
15
+ > ⚠️ Verify skill + agent paths against Codex docs before publishing. These are best-effort
16
+ > based on the confirmed `~/.codex/` home dir and general agent platform conventions.
17
+
18
+ ## Skill install path
19
+
20
+ ```
21
+ ~/.codex/skills/mutagent-diagnostics/
22
+ ```
23
+
24
+ Codex uses `~/.codex/` as its home directory (confirmed from `config.toml` path in
25
+ `codex-rs/rollout/src/lib.rs`). Skill binding: copy the full skill directory to
26
+ `~/.codex/skills/<skill-name>/`.
27
+
28
+ ```bash
29
+ # Install skill to Codex
30
+ cp -r /path/to/mutagent-diagnostics ~/.codex/skills/mutagent-diagnostics
31
+ ```
32
+
33
+ ## Agent install path
34
+
35
+ ```
36
+ ~/.codex/agents/
37
+ ```
38
+
39
+ Agent files are stored as `.toml` files (not Markdown) in `~/.codex/agents/`.
40
+
41
+ ```bash
42
+ # Install an agent (after MD→TOML transcode)
43
+ bun scripts/cli/run.sh scripts/cli/install-agents.ts \
44
+ --transcode-only --to codex \
45
+ assets/agents/diagnostics-analyzer.md \
46
+ ~/.codex/agents/diagnostics-analyzer.toml
47
+ ```
48
+
49
+ ## Agent format: MD → TOML transcode
50
+
51
+ Codex uses **TOML** for agent configuration. Claude Code `.md` agent files must be transcoded
52
+ to TOML format via `scripts/cli/install-agents.ts --transcode-only --to codex`.
53
+
54
+ ### Input (`.md` / Claude Code format)
55
+
56
+ ```markdown
57
+ ---
58
+ name: diagnostics-analyzer
59
+ description: Parallel analyzer agent for mutagent-diagnostics
60
+ tools: Bash, Read, Write, SendMessage
61
+ ---
62
+
63
+ Agent body content here.
64
+ ```
65
+
66
+ ### Output (`.toml` / Codex format)
67
+
68
+ ```toml
69
+ [agent]
70
+ name = "diagnostics-analyzer"
71
+ description = "Parallel analyzer agent for mutagent-diagnostics"
72
+ tools = ["Bash", "Read", "Write"]
73
+
74
+ [agent.body]
75
+ content = """
76
+ Agent body content here.
77
+ """
78
+ ```
79
+
80
+ ### TOML key mapping
81
+
82
+ | Markdown frontmatter key | TOML key | Type | Notes |
83
+ |---|---|---|---|
84
+ | `name:` | `[agent] name` | string | Required |
85
+ | `description:` | `[agent] description` | string | Required |
86
+ | `tools:` | `[agent] tools` | array | Comma-separated → TOML string array |
87
+ | Other frontmatter keys | `[agent] <key>` | string | Passed through verbatim |
88
+ | Body (after `---`) | `[agent.body] content` | multi-line string | Trimmed |
89
+
90
+ ### Transcode CLI
91
+
92
+ ```bash
93
+ bun scripts/cli/run.sh scripts/cli/install-agents.ts \
94
+ --transcode-only --to codex <input.md> <output.toml>
95
+ ```
96
+
97
+ `--transcode-only` skips symlink/copy logic and only writes the transcoded file.
98
+ `--to codex` selects the TOML output format.
99
+
100
+ > ⚠️ Verify TOML key names (`[agent]`, `[agent.body]`) against Codex docs before publishing.
101
+ > agentskills.io format compatibility is assumed per operator OQ-3 answer — lookup pending.
102
+
103
+ ## Config reference
104
+
105
+ ```
106
+ ~/.codex/config.toml # Codex config (confirmed — codex-rs source)
107
+ ~/.codex/sessions/ # Active sessions (confirmed — codex-rs source)
108
+ ~/.codex/archived_sessions/ # Archived sessions (confirmed — codex-rs source)
109
+ ~/.codex/skills/ # Skill install directory (best-effort)
110
+ ~/.codex/agents/ # Agent install directory (best-effort)
111
+ ```
112
+
113
+ ## Activation
114
+
115
+ Codex agents are activated by agent name from within a Codex session:
116
+ - Sub-agent dispatch: invoke the agent by its `name` field
117
+ - No slash-command equivalent (Codex uses TOML `name` as the identifier)
118
+
119
+ ## CLI install check
120
+
121
+ > Official Codex CLI docs: https://developers.openai.com/codex/cli
122
+ >
123
+ > When Codex is the **source** platform, onboarding's ensure-cli gate (PR-021 —
124
+ > `references/workflows/onboarding.md` Phase 2) probes for the `codex` binary and,
125
+ > if missing, shows these docs + the install command below and **asks for explicit
126
+ > approval before installing** (never auto-installs). See also
127
+ > `references/source-platforms/codex-transcripts.md`.
128
+
129
+ ```bash
130
+ which codex
131
+ # Install: npm install -g @openai/codex
132
+ # or: curl https://install.codex.openai.com | sh
133
+ ```
134
+
135
+ ## Upstream docs
136
+
137
+ - https://developers.openai.com/codex/cli
138
+ - https://github.com/openai/codex
139
+
140
+ ## Cross-references
141
+
142
+ - `references/source-platforms/codex-transcripts.md` — session transcript paths + fetch
143
+ - `references/source-platforms/install-paths.md` — install path table (all platforms)
144
+ - `references/oq-answers.md` OQ-3 — operator answer + lookup-pending status
145
+ - `scripts/cli/install-agents.ts` — transcode CLI implementation