@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,221 @@
1
+ # grounded-adjudication — how a verdict stays bound to its evidence
2
+
3
+ > **Source:** the GA design review (`mutagent-system/.memory/features/mutagent-evaluator/grounded-adjudication-review.html`, Option 3 · final sign-off).
4
+ > **Loaded by:** every judging path — `*discover-evals` (mine), `*build-evals` (judge), `*evaluate` (the headline trajectory judge + gate). Load on demand.
5
+ > **Sibling refs:** `error-analysis.md` (mine the criterion) · `write-judge-prompt.md` (build the judge) · `validate-evaluator.md` (calibrate it).
6
+ > **PR-locked principles:** `bind-before-judge` · `evidence-proves-claim-not-verdict` · `ground-absence` (`.meta/principles.md`).
7
+
8
+ A judge is only a judge (EV-051). Grounded Adjudication (GA) is the discipline that keeps that
9
+ judge HONEST: it forbids a verdict from resting on a premise that is neither bound to the situation
10
+ nor surfaced as an assumption, and it makes the judge ABSTAIN when the inputs cannot decide. GA does
11
+ not add a fourth verdict enum and does not change the command surface — it reuses
12
+ `OutcomeVerdict.Uncertain` (carrying a typed `blockedBy`) as the indeterminate state and rides the
13
+ existing 8-command / 3-subagent roster.
14
+
15
+ ---
16
+
17
+ ## The doctrine line
18
+
19
+ > **A verdict may never outrun its grounding — every premise it rests on is bound to the situation
20
+ > or surfaced as an assumption; when the world is silent, the judge abstains.**
21
+
22
+ Sourcing secures the **premises**; it never secures the **inference**. Two edges carry the entire
23
+ system: the **binding** of the criterion's terms to this situation (BIND), and the **entailment**
24
+ from the claim to the verdict (VERIFY). Every other step is hygiene around those two.
25
+
26
+ ---
27
+
28
+ ## The 5 Laws → their guards
29
+
30
+ Five laws, each enforced by exactly one guard. L1 and L2 carry the system.
31
+
32
+ | Law | Statement | Enforcing guard |
33
+ |-----|-----------|-----------------|
34
+ | **L1 Bind** | Every criterion TERM resolves to a grounded referent here. A valid-yet-unbound term ⇒ **indeterminate, not fail**. (Refs check what you *did* cite — not what the criterion *needed*.) | `resolve-ref` on criterion terms |
35
+ | **L2 Entail** | Evidence proves the **claim**, never the **verdict**. The claim must *entail* the verdict, not merely relate to it. | `result-verifier` (a MODE of `evaluator`, ≠ judge) |
36
+ | **L3 Ground absence** | "X didn't happen" needs a POSITIVE check of the field where X would appear — absence is a finding, not a default. | `lint-grounding` |
37
+ | **L4 Grounded ≠ confident** | Groundedness sets the verdict TYPE (pass / fail / indeterminate); confidence is a scalar ON an already-decided verdict. The two are orthogonal. | verdict **schema** (`OutcomeVerdict` + `confidence` + `blockedBy`) |
38
+ | **L5 Abstain on silence** | Abstain when the INPUTS cannot decide (underdetermined); decide when only YOU are unsure. | the **ternary** (pass / fail / indeterminate) + the litmus |
39
+
40
+ ### The two switches (where you lose to assumptions)
41
+
42
+ Each input can be flawless; soundness lives in the edges.
43
+
44
+ 1. **criterion → situation (the binding edge).** The criterion is valid in the abstract, but a term
45
+ it presupposes has no referent here. *Example:* criterion "copy is on-topic with **the
46
+ advertiser's product**"; situation = blank brief ⇒ "the advertiser's product" has NO referent ⇒
47
+ **indeterminate (factual · unbound)**, not a fail.
48
+ 2. **claim → verdict (the entailment edge · the master switch).** A sourced, verifiable claim proves
49
+ the **claim** — never the **verdict**. *Example:* ref ✓ sourced; claim ✓ "the copy is about tax
50
+ software" (true); verdict ✗ "therefore off-topic" ← the leap. The hidden premise ("tax software ≠
51
+ advertiser's product") is unsourced. The verifier downgrades this to indeterminate.
52
+
53
+ ---
54
+
55
+ ## The verdict lattice
56
+
57
+ Three verdict types. Indeterminate is `OutcomeVerdict.Uncertain` **REUSED** (not a 4th enum), plus
58
+ an optional `blockedBy:{kind,text}`.
59
+
60
+ | Verdict | When | Routes |
61
+ |---------|------|--------|
62
+ | **pass** | Entailed by criterion ∧ grounded evidence — every premise stated or sourced. | → CRYSTALLIZE / suite |
63
+ | **fail** | Entailed the other way — a grounded defect, no inferential leap. | → LOCALIZE → diagnostics (EV-051) |
64
+ | **indeterminate(`blockedBy`)** | Underdetermined by the inputs. Never gates; routes to the calibration loop. | by `blockedBy.kind` (below) |
65
+
66
+ `blockedBy.kind` decides where the calibration loop routes the block:
67
+
68
+ | `kind` | Meaning | Routes to |
69
+ |--------|---------|-----------|
70
+ | `factual-intent` | a fact / intent missing from the trace | **calibrate** — re-ground from the trace |
71
+ | `normative` | a value judgment the operator owns | **operator** — ratify the norm |
72
+ | `scope` | the criterion does not apply to this route | **re-scope** — narrow / retire / human-verify |
73
+
74
+ ---
75
+
76
+ ## The procedure (the axiom floor)
77
+
78
+ One criterion × one situation (trace). Run the stages IN ORDER — nothing advances implicitly.
79
+
80
+ ```
81
+ BIND → GATHER → lint → CRITIQUE-before-verdict → DECIDE / ABSTAIN → VERIFY
82
+ ```
83
+
84
+ 1. **BIND** *(L1)* — resolve every criterion TERM to a grounded referent in this situation. Any
85
+ unbound term ⇒ stop here: **indeterminate (factual · unbound referent)**. Do not fail; do not
86
+ improvise a referent.
87
+ 2. **GATHER** — cite RESOLVABLE refs for the claim AND for any absence claim. A ref is structured
88
+ `{obs, path, value}`: the observation/trace id, the field path, and the EXACT cited value — it
89
+ must re-resolve by whitespace-normalized exact match.
90
+ 3. **lint (deterministic floor)** — `lint-grounding` checks the cheap, mechanical floor BEFORE any
91
+ judgement: tokens present, every cited ref resolves, code-class rows carry no free-text leap,
92
+ absence claims carry a positive field check *(L3)*. Lint is **fail-new, warn-old** (strictness
93
+ applies to newly minted artifacts; pre-existing ones warn).
94
+ 4. **CRITIQUE-before-verdict** — write the critique FIRST, then run the **litmus**: name the
95
+ *minimal* premise `P` such that `(criterion ∧ situation ∧ P) ⊢ V`. If every such `P` is grounded
96
+ or inside the deterministic floor → proceed to DECIDE. If some `P` is ungroundable → surface it as
97
+ a TYPED assumption (`factual-intent` / `normative` / `scope`) and emit **indeterminate
98
+ (`blockedBy{kind}`)**.
99
+ 5. **DECIDE / ABSTAIN** *(L5)* — pass or fail (+ a confidence scalar, L4) when the litmus premises
100
+ hold; ABSTAIN (indeterminate) when the inputs cannot decide.
101
+ 6. **VERIFY** *(L2)* — an INDEPENDENT pass (`result-verifier`, ≠ the judge, **downgrade-only**) asks
102
+ the single question: *does the claim entail the verdict?* If it finds an inferential leap, it
103
+ downgrades the verdict to **indeterminate (residual assumption)**. It can never upgrade.
104
+
105
+ Every indeterminate exit (unbound term · ungroundable premise · residual leap) feeds the
106
+ **calibration loop**, not the gate.
107
+
108
+ ---
109
+
110
+ ## Observed-eligibility (GA-11 — the diff-discriminate cut)
111
+
112
+ A criterion is **OBSERVED** only when it actually discriminates: it must fire on a BROKEN trace ∧
113
+ NOT fire on a HEALTHY one (`diff-discriminate`). This is the honesty cut that stops a good-practice
114
+ guard from being laundered into an "observed" failure.
115
+
116
+ | Situation | Result |
117
+ |-----------|--------|
118
+ | fires on broken ∧ not on healthy | **observed** — gate-eligible (cites refs + honest k/n prevalence) |
119
+ | no healthy trace available | **graceful single-trace fallback** — diff SKIPPED, honest prevalence, TAGGED; never a hard fail |
120
+ | no discriminating diff | **inferred** — kept in the suite as a guard, NOT gate-eligible |
121
+
122
+ `grounding` is the three-tier honesty ladder: `observed` (a failure was actually seen, with refs +
123
+ k/n) · `inferred` (a guard with no observed failure yet) · `hypothesis-pending` (a hypothesis
124
+ awaiting evidence, the weakest tier). OBSERVED ⇒ non-empty `refs` ∧ `k > 0` (the evidence-first
125
+ gate `parseMinedCriterion` enforces).
126
+
127
+ ---
128
+
129
+ ## The elimination / calibration loop
130
+
131
+ Indeterminate is not a dead end — it is the on-ramp to calibration, which re-enters ADJUDICATE once
132
+ the blocking assumption is grounded, ratified, or verified, or RETIRES the criterion.
133
+
134
+ ```
135
+ indeterminate → CALIBRATE → re-enter ADJUDICATE (or RETIRE)
136
+ ```
137
+
138
+ | From CALIBRATE | Guard | To |
139
+ |----------------|-------|-----|
140
+ | re-ground | the missing fact is found in the trace | → ADJUDICATE (re-enter) |
141
+ | operator-ratify | a `normative` assumption is ratified by the operator | → ADJUDICATE (re-enter) |
142
+ | re-scope | the criterion is narrowed / scoped out | → ADJUDICATE (re-enter) |
143
+ | human-verify | a human verifies the assumption directly | → SUITE (the criterion graduates) |
144
+ | retire | persistent human disagreement (assumption-poisoned) | → RETIRE the criterion |
145
+
146
+ Assumption lifecycle: `hypothesis → unverified → verified` (graduate) **or** `→ eliminated` (the
147
+ calibration-loop terminal state: disproven / retired, not merely verified). A criterion whose
148
+ blocking assumption is eliminated is re-adjudicable.
149
+
150
+ ---
151
+
152
+ ## The gate (run level) — `fail ▸ incomplete ▸ pass`
153
+
154
+ The gate is the one intentional behavior delta GA introduces — it kills the latent **false-green**.
155
+
156
+ - A component is **incomplete** iff a CRIT/HIGH criterion adjudicated **uncertain / indeterminate**
157
+ and no positive path re-grounded it.
158
+ - A component **fails** iff a CRIT/HIGH criterion **failed**.
159
+ - Otherwise the component **passes**.
160
+ - `runVerdict = fail ▸ incomplete ▸ pass` (the run takes the worst component state).
161
+
162
+ ```
163
+ component fail iff ≥1 CRIT/HIGH criterion FAILED
164
+ component incomplete iff (no CRIT/HIGH fail) ∧ ≥1 CRIT/HIGH INDETERMINATE
165
+ component pass otherwise
166
+ runVerdict = fail ▸ incomplete ▸ pass
167
+ ```
168
+
169
+ `RunVerdict.Incomplete` is a RUN-level rollup state distinct from the per-criterion
170
+ `OutcomeVerdict`. Before GA, a CRIT/HIGH `uncertain` silently PASSED; after GA it surfaces as
171
+ `incomplete` — the gate refuses to certify what it could not adjudicate. `*evaluate` may now return
172
+ `incomplete`; this is the single caller-visible delta of GA (the 8-command / 3-subagent surface is
173
+ otherwise frozen).
174
+
175
+ ### Grandfather rules (won't break existing evals)
176
+
177
+ 1. **missing `grounding` ⇒ inferred** — legacy lightweight criteria default to `inferred`, never
178
+ rejected; the hard gate fires only on `observed`. Coexist, upgrade lazily.
179
+ 2. **no healthy trace ⇒ graceful** — `*discover-evals` falls back to single-trace + honest prevalence
180
+ (diff skipped, tagged), never a hard fail.
181
+ 3. **lint: fail-new, warn-old** — strictness applies to newly minted artifacts; pre-existing ones
182
+ warn. No retroactive voiding.
183
+
184
+ Reusing `uncertain` (not a 4th enum) means the ~17 verdict consumers compile unchanged; the only
185
+ intentional behavior delta is **false-green → incomplete** (a fix).
186
+
187
+ ---
188
+
189
+ ## The two invariant corrections
190
+
191
+ 1. **`first_thing_wrong_only` → root-not-symptom (judged).** The old rule conflated DETECTION with
192
+ LOCALIZATION: the first *visible* wrong is often downstream of the real root, and a single-cascade
193
+ assumption drops independent causes. **KEEP** one criterion per ROOT (dedup the cascade). **FIX:**
194
+ trace to the root with JUDGEMENT, not the first symptom — multiple INDEPENDENT roots ⇒ multiple
195
+ criteria; a causal-link claim must be GROUNDED (cite the edge) or SURFACED as an assumption
196
+ (= indeterminate localization); deep recursive-why routes to diagnostics.
197
+ 2. **code/agent hybrid at the COMMAND level (mirrors diagnostics).** Code-before-judge applies not
198
+ just per-criterion but per-WORKFLOW: a deterministic skeleton, with the LLM only at the leaf where
199
+ judgement is irreducible.
200
+
201
+ | Side | Steps |
202
+ |------|-------|
203
+ | **CODE** (deterministic) | sample · `resolve-ref` · `diff-discriminate` · `lint-grounding` · aggregate · gate · code-class criteria |
204
+ | **JUDGE** (LLM leaf) | determine · critique · adjudicate · verify · localize · judge-class criteria |
205
+
206
+ Mirrors diagnostics: slicer / tier0 (code) + analyzers (LLM).
207
+
208
+ ---
209
+
210
+ ## Law → guard quick reference
211
+
212
+ | Law | Guard | Kind |
213
+ |-----|-------|------|
214
+ | L1 Bind | `resolve-ref` (criterion terms) | new script (code) |
215
+ | L2 Entail | `result-verify` — a MODE of `evaluator`, downgrade-only | new script + judge mode |
216
+ | L3 Ground absence | `lint-grounding` | new script (code) |
217
+ | L4 Grounded ≠ confident | verdict schema (`OutcomeVerdict` + `confidence` + `blockedBy`) | contract |
218
+ | L5 Abstain on silence | the ternary (pass / fail / indeterminate) + litmus | contract + judge |
219
+
220
+ > GA changes INTERNALS only. The command surface, the subagent roster, and the v1 `*audit` world are
221
+ > untouched; `result-verify` is a MODE of the existing `evaluator` cell, not a new registered agent.
@@ -0,0 +1,65 @@
1
+ # AutoMemory — project-level operator-feedback + system self-learning
2
+
3
+ > **Mirror (parity).** This is the SHARED AutoMemory standard for the ADL lifecycle
4
+ > skills. The diagnostics + evaluator skills carry a BYTE-PARITY copy (a parity test
5
+ > asserts they don't drift). The subject is **the TOOL + operator preferences — NOT
6
+ > the diagnosed/evaluated agent.** ONE project-level store for the whole lifecycle.
7
+
8
+ ## Location + shape — Claude-Code AutoMemory format (verbatim)
9
+
10
+ ```
11
+ .mutagent/memory/ ← project-level, COMMITTED
12
+ MEMORY.md ← index: `- [Title](<slug>.md) — <hook>` one line/entry
13
+ <slug>.md ← one FACT per file
14
+ ```
15
+
16
+ Each `<slug>.md` entry:
17
+
18
+ ```markdown
19
+ ---
20
+ name: <short-kebab-case-slug>
21
+ description: <one-line summary — used to decide relevance during recall>
22
+ metadata:
23
+ type: user | feedback | project | reference # Claude Code's four types
24
+ lifecycle: spec|build|evaluate|diagnose|improve|general # ADL extension
25
+ created: YYYY-MM-DD # REQUIRED · every memory is DATED (stale-pruning)
26
+ ---
27
+
28
+ <the fact. For feedback/project: **Why:** + **How to apply:** lines. Link with [[their-name]].>
29
+ ```
30
+
31
+ - **Every entry DATED** (`metadata.created`). `MEMORY.md` = index only.
32
+ - **Dedupe on append** (update the existing entry + refresh its date; never a second file for the same slug).
33
+ - **Lifecycle-tagged.** A run READS entries whose `lifecycle ∈ {this-stage, general}`. For the
34
+ evaluator, `this-stage = evaluate` → read `lifecycle ∈ {evaluate, general}`.
35
+
36
+ ## Feedback → type CLASSIFICATION rubric (at append)
37
+
38
+ Decision order — **first match wins**:
39
+
40
+ | # | Feedback about… | → type | Signals | Body |
41
+ |---|---|---|---|---|
42
+ | 1 | external resource | `reference` | URL · dashboard · ticket · dataset path | pointer + what it's for |
43
+ | 2 | who the operator is | `user` | "I'm the lead" · standing preference | the trait |
44
+ | 3 | how the tool should behave | `feedback` | "stop surfacing X" · "too verbose" · "next time…" | fact + **Why:** + **How to apply:** |
45
+ | 4 | ongoing work/goals/constraints | `project` | "migrating to…" · "don't touch Z until…" | fact + **Why:** + **How to apply:** |
46
+
47
+ **Do NOT save:** already-in-code/config/git · ephemeral-to-one-run · subject findings (those go to the
48
+ living-suite / class-memory library, NOT here).
49
+
50
+ ## Why AutoMemory is separate from the other memory subsystems
51
+
52
+ These do NOT compete — they have different SUBJECTS:
53
+
54
+ | Subsystem | Subject | Content | Write trigger | Location |
55
+ |---|---|---|---|---|
56
+ | **Living suite** (eval) | the evaluated subject | accumulated eval criteria | per discover run | `.mutagent/evaluator/living-suite/` |
57
+ | **Class-memory library** (diag) | the diagnosed entity | journal + patterns + ledger | operator-APPROVED findings | `.mutagent/diagnostics/library/…` · gitignored |
58
+ | **AutoMemory** (this) | the tool + operator | usage-feedback + lessons (dated, classified) | operator feedback | `.mutagent/memory/` · committed |
59
+
60
+ ## Evaluator wiring
61
+
62
+ - **READ at run START** (`cli/prep.ts` + the run start): load `.mutagent/memory/` filtered by
63
+ `lifecycle ∈ {evaluate, general}` and inject as operator-preference context.
64
+ - **APPEND at run END** on operator feedback: classify → dated + lifecycle-tagged entry → dedupe → index line.
65
+ - **COMMITTED** — no subject-private data ever lands here.
@@ -0,0 +1,201 @@
1
+ # Evaluator Methodology — distilled determinism-control reference
2
+
3
+ > **Taken IN (distilled), not referenced on disk.** This is the generic
4
+ > methodology + determinism-control vocabulary the evaluator operates by,
5
+ > distilled from the Variance & Operational Behavioral Deviance Reduction
6
+ > Operational Manual + the mdiag-master-audit lens. The evaluator does NOT read
7
+ > any file under `.mutagent/diagnostics/audits/` at runtime — everything it needs
8
+ > is here.
9
+ >
10
+ > **NDA:** synthetic identifiers only. No production dataset is named.
11
+
12
+ ---
13
+
14
+ ## 0. The 6-stage Agent-Outcome Evaluation backbone
15
+
16
+ > The human evaluation flow as the **backbone**; Grounded Adjudication as the
17
+ > Adjudicate core; the binary code/judge suite-construction kept; the calibration
18
+ > loop wrapping it. Each stage declares whether it is **code** (deterministic) or
19
+ > **judge** (LLM leaf) — the same code/agent-hybrid split Diagnostics uses
20
+ > (slicer/tier-0 = code · analyzers = LLM). See `grounded-adjudication.md` for the
21
+ > full doctrine (the 5 Laws, the verdict lattice, the two switches).
22
+
23
+ A **scenario = an intent ROUTE** the agent handles on its decision tree (system
24
+ prompt + skills). A human judges *per route*: establish the frame, read the
25
+ trajectory, detect the three failure kinds, adjudicate, root-cause, crystallize.
26
+
27
+ | # | Stage | code/judge | What it does |
28
+ |---|-------|-----------|--------------|
29
+ | ① | **CONTEXT** | judge | Establish the frame: the harness model (sysprompt · tools · skills · decision tree) + the INPUT's intent ROUTE → its intended success condition. The BIND target. |
30
+ | ② | **TRAJECTORY** | code | Parse the tool / decision sequence the agent actually took (deterministic). |
31
+ | ③ | **DETECT** | mixed | The 3 lenses — **drift/off-path** (judge) · **tool-output failure** (code/fixable) · **missing-context** (BIND / code). Emit candidate signals (≥0). |
32
+ | ④ | **ADJUDICATE** | judge (guard) | Grounded Adjudication: **BIND · GATHER · CRITIQUE · DECIDE/ABSTAIN · VERIFY** → `pass · fail · indeterminate`. The core. |
33
+ | ⑤ | **LOCALIZE** | judge | On a fail: **root-not-symptom** (§3a) — causal chain + locus (prompt · tool · context · skill). Deep RCA → diagnostics. |
34
+ | ⑥ | **CRYSTALLIZE** | judge→code | Turn each root into a binary, actionable **CODE | JUDGE** criterion → the expanding eval suite + dataset. |
35
+
36
+ ### Transition conditions (every edge has a guard — nothing advances implicitly)
37
+
38
+ | From | Transition condition (guard) | To |
39
+ |------|------------------------------|----|
40
+ | CONTEXT | route resolved ∧ route-intent bound | TRAJECTORY |
41
+ | CONTEXT | route unresolvable / no intent | → CALIBRATE (indeterminate · scope) |
42
+ | TRAJECTORY | parsed (deterministic) | DETECT |
43
+ | DETECT | candidate signals emitted (≥0) | ADJUDICATE |
44
+ | ADJUDICATE | **pass** ∧ verifier confirms claim ⊨ verdict | CRYSTALLIZE |
45
+ | ADJUDICATE | **fail** ∧ verifier confirms claim ⊨ verdict | LOCALIZE |
46
+ | ADJUDICATE | unbound term ∨ ungroundable premise ∨ residual leap | → CALIBRATE (indeterminate) |
47
+ | LOCALIZE | root found ∧ causal edge grounded | CRYSTALLIZE |
48
+ | LOCALIZE | causal edge ungroundable | → CALIBRATE (indeterminate localization) |
49
+ | LOCALIZE | deep recursive-why required | ⤳ diagnostics (handoff) + continue |
50
+ | CRYSTALLIZE | binary ∧ actionable ∧ observed (broken∧¬healthy diff ✓) | SUITE (gate-eligible) |
51
+ | CRYSTALLIZE | no diff discriminate / single-trace | SUITE as **inferred** (guard, not gate) |
52
+ | CALIBRATE | re-ground (fact found) ∨ normative ratified by operator | → ADJUDICATE (re-enter) |
53
+ | CALIBRATE | human verifies the assumption | SUITE (criterion graduates) |
54
+ | CALIBRATE | persistent human disagreement | RETIRE (assumption-poisoned) |
55
+ | SUITE | all criteria adjudicated | GATE → **fail ▸ incomplete ▸ pass** |
56
+
57
+ **Indeterminate is not a dead end** — it is the on-ramp to the calibration loop,
58
+ which re-enters ADJUDICATE once the blocking assumption is grounded, ratified, or
59
+ verified, or retires the criterion. Reusing `OutcomeVerdict.Uncertain` (+ a typed
60
+ `blockedBy`) IS the indeterminate state — **not** a 4th enum value.
61
+
62
+ ---
63
+
64
+ ## 1. MECE scope model (root-cause locus, not symptom site)
65
+
66
+ Every defect/criterion is assigned to **exactly one** scope by the **locus of the
67
+ root cause**, not where the symptom appears:
68
+
69
+ - **COMMAND** — a code bug or a missing runnable code deliverable. Fix = a code
70
+ change (guard, reorder, new script, schema loader). Locus = a `.ts` file (or a
71
+ script that should exist). Owner = engineer.
72
+ - **SKILL** — a missing, ambiguous, or under-specified **specification**:
73
+ protocol prose, a contract document, a schema description, or a mandate that a
74
+ script be called. Fix = author/tighten the spec.
75
+ - **AGENT** — runtime **behavior**: a discretionary judgment, improvisation,
76
+ hand-shaping, protocol deviation, or reactive fix. Fix via **cure-the-twin** —
77
+ an AGENT deviance is cured by landing its SKILL/COMMAND twin (removing the
78
+ ambiguity/bug that forced the improvisation).
79
+
80
+ **three-locus spawn:** a single root cause spawns **at most one** COMMAND + one
81
+ SKILL + one AGENT defect.
82
+
83
+ ---
84
+
85
+ ## 2. Three-dimension MECE coverage per component
86
+
87
+ Every component is graded on three dimensions (omit a dimension only when it has
88
+ no checkable surface there — never to pad):
89
+
90
+ - **operation-correctness** — sequence right + each op did its job (R1).
91
+ - **data-correctness** — input AND output contracts per component (R2).
92
+ - **operational-deviation** — expected-vs-observed trajectory (R3).
93
+
94
+ ---
95
+
96
+ ## 3. Severity by variance-impact (not code size)
97
+
98
+ - **CRIT** — flips a headline/primary signal, crashes render, blocks the
99
+ deliverable, OR is a dominant inter-run variance driver (missing model/temp
100
+ pin, cwd/config-root unpinned, latency short-circuit, OOM ingest).
101
+ - **HIGH** — materially changes sample composition / finding count / coverage
102
+ honesty.
103
+ - **MED / LOW** — interpretation / capability / escalation gaps.
104
+
105
+ ---
106
+
107
+ ## 3a. root-not-symptom (the LOCALIZE invariant · GA)
108
+
109
+ The localization stage (⑤) obeys **root-not-symptom**, which REPLACES the prior
110
+ `first_thing_wrong_only` rule (it conflated detection with localization — the first
111
+ *visible* wrong is usually downstream of the real root, and its single-cascade
112
+ assumption silently drops independent causes):
113
+
114
+ - **KEEP** one criterion per **ROOT** — dedup the cascade (matches §1's "locus of
115
+ the root cause, not where the symptom appears").
116
+ - **FIX** — trace to the root with **judgement**, not the first symptom.
117
+ - **Multiple INDEPENDENT roots ⇒ multiple criteria** (the cascade assumption is
118
+ dropped).
119
+ - A **causal-link claim** (root → symptom) must be **GROUNDED** (cite the edge via a
120
+ ref) OR surfaced as a **typed assumption** → an **INDETERMINATE localization** (not
121
+ a fail).
122
+ - **Deep recursive-why → `mutagent-diagnostics`.** The evaluator localizes (locus:
123
+ prompt · tool · context · skill); it does not run full RCA.
124
+
125
+ See `references/error-analysis.md` (the 3 detection lenses + root-not-symptom) and
126
+ `grounded-adjudication.md` (the doctrine).
127
+
128
+ ---
129
+
130
+ ## 4. Determinism-control vocabulary
131
+
132
+ Every remedy is framed as the specific **Determinism Control** that converts an
133
+ improvised/stochastic path into a reproducible one:
134
+
135
+ | Control | Converts |
136
+ |---------|----------|
137
+ | **C-SCRIPT** | improvisation → a MANDATED runnable script (streaming ingest, assemble-runmeta, …). |
138
+ | **C-SCHEMA** | guessing → FULL types/enums/examples embedded in the contract. |
139
+ | **C-GATE** | a partial gate → one that covers the FULL dereference surface and fails-loud ONCE with all gaps. |
140
+ | **C-GUARD** | a throw-on-absence → an undefined/shape guard in code. |
141
+ | **C-PIN** | a stochastic/environmental variable → pinned AND recorded into runMeta (model id, temperature = 0, seed, runId-namespace, configRoot, injected `--generated-at`). Honors **model-intent-sacred**: no silent swaps. |
142
+
143
+ **Class taxonomy** (8): `code-bug` · `missing-determinism` · `schema-contract-gap`
144
+ · `gate-coverage-gap` · `capability-gap` · `skill-forced-improvisation` ·
145
+ `agent-discretion` · `reactive-improvisation`.
146
+
147
+ **Named root causes (RC-\*):** RC-INGEST · RC-ENV · RC-LLM-PIN · RC-RUNMETA ·
148
+ RC-LATENCY · RC-SCHEMA · RC-SAMPLE · RC-GATE · RC-CONFIG. The **dominant triads**
149
+ twin-coupling enforces are RC-INGEST / RC-ENV / RC-LLM-PIN / RC-RUNMETA.
150
+
151
+ **Variance Mechanism** — the per-defect statement of HOW the gap causes two runs
152
+ to diverge (the causal chain from gap → divergence). Mandatory per criterion.
153
+
154
+ ---
155
+
156
+ ## 5. Byte-identity masking contract
157
+
158
+ "Byte-identical across runs" is only testable **AFTER masking** the declared
159
+ injected fields. Run the pipeline twice on byte-identical source (back-to-back,
160
+ then a second machine), mask `runId` / timestamps / abs-paths (the **versioned
161
+ masking set**, `scripts/mask.ts`), then diff each artifact. The **variance
162
+ score** = count of differing scorecard dimensions — that number (not vibes) is
163
+ the determinism signal.
164
+
165
+ ---
166
+
167
+ ## 6. The re-audit + 15-dimension determinism scorecard
168
+
169
+ Re-auditing measures variance reduction over time against a **fixed** scorecard.
170
+ Two layers:
171
+
172
+ - **Per-defect verification** — every tracked defect carries an explicit,
173
+ executable pass condition ("run 3× → byte-identical artifact"; "the gate fails
174
+ listing all gaps in one pass, fixed input passes"; "two runs → same findingId
175
+ set"). A fix is verified only when its stated criterion passes against HEAD.
176
+ - **Whole-run scorecard** — the fixed 15 dimensions (headline latency p50,
177
+ render crashes, gate fail-loud completeness, (n, analyzerCount), primary
178
+ signal, finding-id set, remedy ranking, slice plan, sampling buckets, coverage
179
+ confidence, tier-0 signals, entity identity, caps firstToTrip, awareness-fire,
180
+ heatmap cells). Each has a Measure + a per-Phase Target; a run-pair is scored
181
+ by masked diff per dimension. See `scripts/variance-compare.ts`.
182
+
183
+ ---
184
+
185
+ ## 7. Two-track rollup + twin-coupling
186
+
187
+ - **Track-1 GATE** — binary, severity-gated. Component PASS iff 0 CRIT/HIGH
188
+ fail. Run PASS iff all components pass. Advisory.
189
+ - **Track-2 TREND** — the 15-dim variance score, SEPARATE, never merged.
190
+ - **Twin-coupling (inner → outer)** — the agent is graded on its OWN behavior
191
+ first; inner-OK ⇒ functional even if the skill-link is defective (defect →
192
+ SKILL scope). Coupling enforced only on the dominant triads (RC-INGEST / ENV /
193
+ LLM-PIN / RUNMETA).
194
+
195
+ ---
196
+
197
+ ## 8. Reviewer ≠ executor; coordinator ≠ executor
198
+
199
+ The audit never grades a run it produced. The variance **coordinator** (who
200
+ compares the two variants) is a role distinct from the audit **executors**. The
201
+ audit itself obeys C-PIN so it is as deterministic as the thing it audits.