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