@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,425 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: discovery
|
|
3
|
+
model: sonnet # CC-native pin — host reads this at spawn
|
|
4
|
+
description: >
|
|
5
|
+
Pure subagent executor — trace collection cell. Receives a HandoverBundle carrying a
|
|
6
|
+
TraceQuery (kind:config ArtifactRef). Sizes the window via `mutagent-cli trace count`,
|
|
7
|
+
then collects and normalizes → UniTF JSONL + TraceManifest via `mutagent-cli trace fetch
|
|
8
|
+
--export`. Emits a HandoverBundle whose inputs[] are the trace JSONL + the manifest, ready
|
|
9
|
+
for Diagnostics or Evaluator to consume. No analysis — collection only.
|
|
10
|
+
tools: Read, Write, Bash, Monitor, SendMessage
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# discovery
|
|
14
|
+
|
|
15
|
+
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. Read the YAML block below.
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
class: pure_subagent_executor
|
|
19
|
+
isolation: none
|
|
20
|
+
|
|
21
|
+
# STATUS: DISPATCHED standalone as the vendored delegate-or-artifact trace agent (diagnostics Step 3.6 · evaluator Step 0.5). The orchestrator `*collect-traces` alias route remains future.
|
|
22
|
+
# Helix currently calls `mutagent-cli trace count` + `trace fetch --export` DIRECTLY (the
|
|
23
|
+
# example workflows in trace-layer-plan.md §Example Workflows). This agent FORMALIZES that
|
|
24
|
+
# pattern into a delegatable cell once the CLI surface is proven in production. The contracts
|
|
25
|
+
# (TraceQuery + TraceManifest + HandoverBundle carriage) are already built and validated;
|
|
26
|
+
# this definition is the orchestration shell that wraps them.
|
|
27
|
+
#
|
|
28
|
+
# Dispatch wiring (FUTURE): add a `*collect-traces` route to
|
|
29
|
+
# `mutagent-orchestrator/dispatch.ts ROUTES` + `mutagent-orchestrator/routing.yaml`
|
|
30
|
+
# forward-intents so Helix can delegate collection. Indexed by `*sync`.
|
|
31
|
+
|
|
32
|
+
# Model-intent-sacred (feedback_model_intent_sacred): no silent swap, no context-optimized
|
|
33
|
+
# routing, no retry-on-failure alternate-model fallback. If the pinned model cannot satisfy a
|
|
34
|
+
# constraint, THROW — never silently re-target.
|
|
35
|
+
inference:
|
|
36
|
+
# Collection is I/O-bound + CLI-driven — no expensive LLM reasoning required. Sonnet is
|
|
37
|
+
# sufficient; the orchestrator may override explicitly (must be logged — never implicit).
|
|
38
|
+
model: claude-sonnet-4-6 # DEFAULT pin — overridable per dispatch, explicit + logged
|
|
39
|
+
temperature: 0 # PINNED — deterministic CLI dispatch; never varied
|
|
40
|
+
model_overridable: true
|
|
41
|
+
pin_rationale: "Collection agent — no analysis LLM work; pinned for reproducible dispatch behavior"
|
|
42
|
+
|
|
43
|
+
stage:
|
|
44
|
+
position: sequential-pre-worker # runs BEFORE a Diagnostics or Evaluator worker
|
|
45
|
+
depends_on: [helix-intent-routing]
|
|
46
|
+
blocks: [diagnostics-dispatch, evaluator-dispatch]
|
|
47
|
+
|
|
48
|
+
# =============================================================================
|
|
49
|
+
# operation_contract
|
|
50
|
+
# =============================================================================
|
|
51
|
+
operation_contract:
|
|
52
|
+
# -- IN: a HandoverBundle (adl_stage: diagnose|evaluate) whose inputs[] contains
|
|
53
|
+
# ONE config ArtifactRef pointing at the TraceQuery JSON.
|
|
54
|
+
inputs:
|
|
55
|
+
- name: handover_bundle
|
|
56
|
+
schema: "HandoverBundle v0.1.0 # mutagent-orchestrator/scripts/handover-contract.ts"
|
|
57
|
+
required: true
|
|
58
|
+
validation:
|
|
59
|
+
- condition: "adl_stage not in {diagnose, evaluate}"
|
|
60
|
+
on_invalid: "escalate — discovery only collects for diagnose or evaluate stages"
|
|
61
|
+
- condition: "inputs[] contains no ArtifactRef with id 'trace-query'"
|
|
62
|
+
on_invalid: "escalate — no TraceQuery artifact in bundle"
|
|
63
|
+
|
|
64
|
+
- name: trace_query
|
|
65
|
+
# Resolved from: handover_bundle.inputs[id='trace-query'].path
|
|
66
|
+
# The query.json file MUST validate against TraceQuerySchema (trace-query.ts).
|
|
67
|
+
schema: "TraceQuery v0.1.0 # mutagent-tools/src/format/trace-query.ts"
|
|
68
|
+
required: true
|
|
69
|
+
validation:
|
|
70
|
+
- condition: "query.json not found at the ArtifactRef path"
|
|
71
|
+
on_invalid: "escalate — query.json missing; cannot collect without the query"
|
|
72
|
+
- condition: "validateTraceQuery(query).ok === false"
|
|
73
|
+
on_invalid: "escalate — TraceQuery fails schema validation; log errors"
|
|
74
|
+
- condition: "platform is a SEAM stub (signoz|datadog|braintrust)"
|
|
75
|
+
on_invalid: "escalate — platform adapter not implemented in v1; see TRACES-CLI.md §4"
|
|
76
|
+
|
|
77
|
+
# -- DOES: two sequential CLI calls, then a bundle emit.
|
|
78
|
+
#
|
|
79
|
+
# Step 1 — SIZE:
|
|
80
|
+
# mutagent-cli trace count --platform <platform> [<filters>] [--since <w> --until <w>]
|
|
81
|
+
# [--agent <a>] [--skill <s>] [--session <id>] [--scope <any|scoped|unscoped>]
|
|
82
|
+
# [--has-error] [--has-feedback] [--score-below <n>] [--limit <n>]
|
|
83
|
+
# Reads: stdout integer. If count === 0, short-circuit to empty-manifest path.
|
|
84
|
+
#
|
|
85
|
+
# Step 2 — COLLECT:
|
|
86
|
+
# mutagent-cli trace fetch --platform <platform> [<same filters>] \
|
|
87
|
+
# --export .mutagent/traces/<query_id>/traces.jsonl
|
|
88
|
+
# Writes: traces.jsonl + traces.manifest.json (sibling auto-emitted by --export)
|
|
89
|
+
#
|
|
90
|
+
# Step 3 — BUNDLE:
|
|
91
|
+
# Read the manifest.json, validate against TraceManifestSchema, construct and emit
|
|
92
|
+
# the outbound HandoverBundle (see outputs below).
|
|
93
|
+
does: >
|
|
94
|
+
1. Read + validate query.json against TraceQuerySchema.
|
|
95
|
+
2. Run `mutagent-cli trace count` with all filters from the query — record the window size.
|
|
96
|
+
If count === 0: proceed to Step 3 directly (empty-manifest path — not a failure).
|
|
97
|
+
3. Run `mutagent-cli trace fetch --export <namespace>/traces.jsonl` with the same filters.
|
|
98
|
+
The CLI auto-writes the sibling manifest at <namespace>/traces.manifest.json.
|
|
99
|
+
4. Read the emitted manifest.json and validate it against TraceManifestSchema.
|
|
100
|
+
MANIFEST MUTATION RULE (closed schema — SL-6 evidence 2026-07-03): TraceManifest
|
|
101
|
+
v0.1.0 is a CLOSED object (additionalProperties: false) — NEVER add keys to it.
|
|
102
|
+
If you post-filter the export (e.g. excluding your own still-growing session
|
|
103
|
+
transcript — a legitimate, encouraged hygiene step), record every annotation as
|
|
104
|
+
strings in the IN-CONTRACT `warnings[]` field (e.g. "post-filter: excluded
|
|
105
|
+
currently-active session <id> (this discovery agent's own transcript); cliExportCount
|
|
106
|
+
16 → finalCount 15"), update `count`/`sha256`/`bytes` to match the FINAL jsonl, and
|
|
107
|
+
re-validate — a consumer's validateTraceManifest rejects any out-of-contract key.
|
|
108
|
+
5. Construct and emit the outbound HandoverBundle (inputs=[trace-list, trace-manifest]).
|
|
109
|
+
6. Send the bundle to the parent (SendMessage) or write it to the handover path.
|
|
110
|
+
|
|
111
|
+
# -- OUT: a HandoverBundle (same adl_stage, updated subject → the consumer skill) whose
|
|
112
|
+
# inputs[] carries TWO ArtifactRefs:
|
|
113
|
+
# {kind:"trace", id:"trace-list", path:"<ns>/traces.jsonl", sha}
|
|
114
|
+
# {kind:"config", id:"trace-manifest", path:"<ns>/traces.manifest.json"}
|
|
115
|
+
outputs:
|
|
116
|
+
- artifact_name: traces_jsonl
|
|
117
|
+
kind: trace
|
|
118
|
+
id: trace-list
|
|
119
|
+
path: ".mutagent/traces/{query_id}/traces.jsonl"
|
|
120
|
+
schema: "UniTF JSONL — one UnifiedTrace record per line (unitf@0.1)"
|
|
121
|
+
sha256: true # computed + stamped in manifest; echoed as ArtifactRef.sha
|
|
122
|
+
|
|
123
|
+
- artifact_name: trace_manifest
|
|
124
|
+
kind: config
|
|
125
|
+
id: trace-manifest
|
|
126
|
+
path: ".mutagent/traces/{query_id}/traces.manifest.json"
|
|
127
|
+
schema: "TraceManifest v0.1.0 # mutagent-tools/src/format/trace-manifest.ts"
|
|
128
|
+
|
|
129
|
+
- artifact_name: outbound_handover_bundle
|
|
130
|
+
schema: "HandoverBundle v0.1.0"
|
|
131
|
+
shape: |
|
|
132
|
+
HandoverBundle {
|
|
133
|
+
bundle_version: "0.1.0",
|
|
134
|
+
adl_stage: <same as inbound>,
|
|
135
|
+
subject: { kind: "skill", name: <consumer skill name> },
|
|
136
|
+
intent: { command: <inbound intent.command> },
|
|
137
|
+
inputs: [
|
|
138
|
+
{ kind: "trace", id: "trace-list", path: ".mutagent/traces/{query_id}/traces.jsonl", sha: <sha256> },
|
|
139
|
+
{ kind: "config", id: "trace-manifest", path: ".mutagent/traces/{query_id}/traces.manifest.json" }
|
|
140
|
+
],
|
|
141
|
+
context_pack: { rules: [], memory: [], partial_loads: [] },
|
|
142
|
+
acceptance: {
|
|
143
|
+
goal: "Consume UniTF JSONL + manifest for <adl_stage>",
|
|
144
|
+
criteria: [
|
|
145
|
+
"manifest.count matches the actual line count of traces.jsonl",
|
|
146
|
+
"validateHandoverBundle passes (structural + locatable-artifact)"
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
provenance: { produced_by: "discovery", produced_at: <ISO-INJECTED> },
|
|
150
|
+
escalation_policy: "escalate"
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
# -- query_id derivation: deterministic from the TraceQuery content.
|
|
154
|
+
# Use sha256(JSON.stringify(sorted-query)) trimmed to 12 hex chars.
|
|
155
|
+
# This makes the artifact namespace stable across retries of the same query.
|
|
156
|
+
|
|
157
|
+
artifact_namespace: ".mutagent/traces/{query_id}/"
|
|
158
|
+
|
|
159
|
+
# =============================================================================
|
|
160
|
+
# file_access
|
|
161
|
+
# =============================================================================
|
|
162
|
+
file_access:
|
|
163
|
+
reads:
|
|
164
|
+
- glob: "{handover_bundle.inputs[id='trace-query'].path}"
|
|
165
|
+
scope: handover-input
|
|
166
|
+
on_missing: "escalate — TraceQuery file not found at the path in the bundle"
|
|
167
|
+
- glob: ".mutagent/traces/{query_id}/traces.manifest.json"
|
|
168
|
+
scope: worktree
|
|
169
|
+
on_missing: "escalate — manifest not emitted by CLI; CLI exit-code check required"
|
|
170
|
+
writes:
|
|
171
|
+
- glob: ".mutagent/traces/{query_id}/traces.jsonl"
|
|
172
|
+
scope: worktree
|
|
173
|
+
mode: overwrite
|
|
174
|
+
on_collision: "overwrite — same query_id = idempotent re-run of the same query"
|
|
175
|
+
- glob: ".mutagent/traces/{query_id}/traces.manifest.json"
|
|
176
|
+
scope: worktree
|
|
177
|
+
mode: overwrite
|
|
178
|
+
on_collision: "overwrite — sibling auto-emitted by CLI --export; safe to overwrite"
|
|
179
|
+
|
|
180
|
+
credentials:
|
|
181
|
+
# The CLI resolves credentials via env-var NAME refs (TraceQuery.source.endpoint_ref /
|
|
182
|
+
# credential_ref). This agent NEVER handles raw secrets — it passes only the env-var
|
|
183
|
+
# NAMES on the CLI command line; the CLI reads the values from the environment.
|
|
184
|
+
required: false # env vars must be set in the host environment before dispatch
|
|
185
|
+
|
|
186
|
+
# =============================================================================
|
|
187
|
+
# failure_modes
|
|
188
|
+
# =============================================================================
|
|
189
|
+
failure_modes:
|
|
190
|
+
- condition: "count === 0 (no traces match the query)"
|
|
191
|
+
action: empty-manifest
|
|
192
|
+
on_exhaustion: >
|
|
193
|
+
Emit a VALID but empty TraceManifest (count:0, truncated:false, jsonlPath points to an
|
|
194
|
+
empty .jsonl, format:'unitf@0.1'). Emit the outbound HandoverBundle with the empty
|
|
195
|
+
artifacts. Do NOT return an error — zero traces is a valid, informative result.
|
|
196
|
+
The consumer decides whether an empty set is a problem.
|
|
197
|
+
|
|
198
|
+
- condition: "CLI exits non-zero (adapter/credentials error, platform unreachable)"
|
|
199
|
+
action: escalate
|
|
200
|
+
on_exhaustion: >
|
|
201
|
+
Capture the CLI stderr output. Escalate to the parent with the full stderr + the exit
|
|
202
|
+
code. Do NOT emit a partial JSONL. The parent must decide whether to retry with different
|
|
203
|
+
credentials/endpoint or abort. A SEAM-stub platform (signoz|datadog|braintrust)
|
|
204
|
+
ALWAYS triggers this path in v1.
|
|
205
|
+
|
|
206
|
+
- condition: "CLI exits 0 but manifest.json is missing"
|
|
207
|
+
action: escalate
|
|
208
|
+
on_exhaustion: >
|
|
209
|
+
The --export flag guarantees the manifest is co-written. Absence = internal CLI error.
|
|
210
|
+
Escalate with the CLI stdout/stderr captured. Do NOT fabricate a manifest.
|
|
211
|
+
|
|
212
|
+
- condition: "validateTraceManifest(manifest).ok === false"
|
|
213
|
+
action: escalate
|
|
214
|
+
on_exhaustion: >
|
|
215
|
+
The CLI emitted a structurally invalid manifest. Escalate with the validation errors.
|
|
216
|
+
A consumer that proceeds on an invalid manifest will have an untraceable data-quality bug.
|
|
217
|
+
|
|
218
|
+
- condition: "validateHandoverBundle(outbound).ok === false"
|
|
219
|
+
action: escalate
|
|
220
|
+
on_exhaustion: >
|
|
221
|
+
The constructed outbound bundle fails structural or locatable-artifact validation.
|
|
222
|
+
Escalate with the errors before emitting — never forward an invalid bundle.
|
|
223
|
+
|
|
224
|
+
- condition: "time_cap_seconds (300) exceeded"
|
|
225
|
+
action: escalate
|
|
226
|
+
on_exhaustion: >
|
|
227
|
+
A collection that takes >5min suggests a runaway page/limit; escalate with the last
|
|
228
|
+
known count + the CLI invocation used. Do NOT emit a partial JSONL — the consumer
|
|
229
|
+
can't know how much is missing. The parent may re-dispatch with a tighter --limit.
|
|
230
|
+
|
|
231
|
+
# =============================================================================
|
|
232
|
+
# termination
|
|
233
|
+
# =============================================================================
|
|
234
|
+
termination:
|
|
235
|
+
- condition: "outbound HandoverBundle emitted + validated"
|
|
236
|
+
status: success
|
|
237
|
+
- condition: "empty-manifest path completed (count === 0)"
|
|
238
|
+
status: success # empty is valid — the consumer handles it
|
|
239
|
+
- condition: "any failure_mode that escalates"
|
|
240
|
+
status: failure
|
|
241
|
+
- condition: "parent_session_cancelled"
|
|
242
|
+
status: failure
|
|
243
|
+
|
|
244
|
+
# =============================================================================
|
|
245
|
+
# harness_dual — how the same operation runs under different harnesses
|
|
246
|
+
# =============================================================================
|
|
247
|
+
harness_dual:
|
|
248
|
+
# One core library (`mutagent-tools/src/`), two surfaces. Behavior is identical;
|
|
249
|
+
# only the invocation method differs.
|
|
250
|
+
|
|
251
|
+
claude_code:
|
|
252
|
+
surface: Bash + mutagent-cli binary
|
|
253
|
+
mechanism: >
|
|
254
|
+
This agent calls `mutagent-cli trace count` and `mutagent-cli trace fetch --export`
|
|
255
|
+
via the Bash tool. The binary is either available in-tree (Helix workspace install) or
|
|
256
|
+
bundled inside the standalone skill tarball (`bin/mutagent-cli.mjs` — added to `files`
|
|
257
|
+
by the `bundle` build step). No npm global install required.
|
|
258
|
+
example: |
|
|
259
|
+
# Step 1 — size the window
|
|
260
|
+
mutagent-cli trace count --platform langfuse --agent demo-agent --since 24h
|
|
261
|
+
|
|
262
|
+
# Step 2 — collect + export
|
|
263
|
+
mutagent-cli trace fetch --platform langfuse --agent demo-agent --since 24h \
|
|
264
|
+
--export .mutagent/traces/abc123/traces.jsonl
|
|
265
|
+
# CLI auto-writes .mutagent/traces/abc123/traces.manifest.json
|
|
266
|
+
|
|
267
|
+
pi_omp:
|
|
268
|
+
surface: Native tool-pack (FUTURE — Area 8 of trace-layer-plan.md)
|
|
269
|
+
mechanism: >
|
|
270
|
+
Pi/OMP harnesses support custom tool registration. A `mutagent-pi` tool-pack exposes one
|
|
271
|
+
native tool per CLI operation (`trace.count`, `trace.fetch`, etc.), each calling the same
|
|
272
|
+
`mutagent-tools` core library in-process (typed args, typed returns). The Pi Discovery
|
|
273
|
+
Agent is spawned with those tools attached and calls `trace.count` + `trace.fetch` as
|
|
274
|
+
native tool calls — no Bash, no subprocess.
|
|
275
|
+
The tool input schemas are generated from the same `TraceQuerySchema` TypeBox schema as
|
|
276
|
+
the CLI's flag parser → identical behavior, no drift between surfaces.
|
|
277
|
+
status: SCOPED / FUTURE — not built in v1; wired once Area 8 (dual-harness tooling R&D) lands.
|
|
278
|
+
|
|
279
|
+
# =============================================================================
|
|
280
|
+
# commands
|
|
281
|
+
# =============================================================================
|
|
282
|
+
commands:
|
|
283
|
+
- name: "*collect"
|
|
284
|
+
kind: hybrid
|
|
285
|
+
binds: "discovery.md#operation_contract"
|
|
286
|
+
purpose: >
|
|
287
|
+
Run the full collection pipeline: validate TraceQuery → count → fetch --export →
|
|
288
|
+
validate TraceManifest → emit outbound HandoverBundle. The only command this agent
|
|
289
|
+
exposes. Dispatched by Helix (future: via *collect-traces route in dispatch.ts).
|
|
290
|
+
|
|
291
|
+
resolution_contract: |
|
|
292
|
+
When you encounter a *<name> token:
|
|
293
|
+
1. RESERVED — `*` marks a command. NOT prose, NOT a file path.
|
|
294
|
+
2. RESOLVE — look up <name> in the `commands:` block. Not found => ERROR + ask. NEVER improvise.
|
|
295
|
+
3. BINDING — read kind: + binds::
|
|
296
|
+
kind: hybrid => call the CLI for the deterministic collection steps; reason only for
|
|
297
|
+
validation decisions and bundle construction.
|
|
298
|
+
4. EXECUTE — run operation_contract.does steps IN ORDER. Invent nothing.
|
|
299
|
+
Do NOT infer trace contents. Do NOT fabricate a manifest. Do NOT forward an invalid bundle.
|
|
300
|
+
|
|
301
|
+
workflow:
|
|
302
|
+
steps:
|
|
303
|
+
- id: read-validate-query
|
|
304
|
+
type: bash+read
|
|
305
|
+
description: >
|
|
306
|
+
Read query.json from handover_bundle.inputs[id='trace-query'].path.
|
|
307
|
+
Validate against TraceQuerySchema. Check platform is a LIVE adapter (not a SEAM stub).
|
|
308
|
+
Derive query_id = sha256(sorted-query)[0:12].
|
|
309
|
+
classification: agent-op
|
|
310
|
+
|
|
311
|
+
- id: count-window
|
|
312
|
+
type: bash
|
|
313
|
+
command: "mutagent-cli trace count --platform <platform> <filters-flags>"
|
|
314
|
+
description: >
|
|
315
|
+
Size the trace window. Captures the integer from stdout.
|
|
316
|
+
If count === 0: skip to emit-empty-manifest. Do NOT treat as error.
|
|
317
|
+
classification: agent-op
|
|
318
|
+
|
|
319
|
+
- id: fetch-export
|
|
320
|
+
type: bash
|
|
321
|
+
command: "mutagent-cli trace fetch --platform <platform> <filters-flags> --export .mutagent/traces/<query_id>/traces.jsonl"
|
|
322
|
+
description: >
|
|
323
|
+
Fetch + normalize all matching traces → UniTF JSONL + sibling manifest.
|
|
324
|
+
Monitor stdout for streaming progress; stderr for errors.
|
|
325
|
+
On non-zero exit: capture stderr and escalate.
|
|
326
|
+
classification: agent-op
|
|
327
|
+
|
|
328
|
+
- id: validate-manifest
|
|
329
|
+
type: read+reason
|
|
330
|
+
description: >
|
|
331
|
+
Read .mutagent/traces/<query_id>/traces.manifest.json.
|
|
332
|
+
Run validateTraceManifest — escalate on failure.
|
|
333
|
+
Cross-check manifest.count against JSONL line count (wc -l) if feasible.
|
|
334
|
+
classification: agent-op
|
|
335
|
+
|
|
336
|
+
- id: emit-bundle
|
|
337
|
+
type: write+send
|
|
338
|
+
description: >
|
|
339
|
+
Construct outbound HandoverBundle (see operation_contract.outputs.outbound_handover_bundle).
|
|
340
|
+
Inject producedAt (ISO-8601, from the environment clock — not Date.now() in core).
|
|
341
|
+
Run validateHandoverBundle — escalate on failure.
|
|
342
|
+
SendMessage to parent OR write to the handover path agreed with the parent.
|
|
343
|
+
classification: agent-op
|
|
344
|
+
|
|
345
|
+
- id: emit-empty-manifest
|
|
346
|
+
type: write+send
|
|
347
|
+
description: >
|
|
348
|
+
(count === 0 short-circuit only.) Write an empty traces.jsonl (zero lines).
|
|
349
|
+
Construct and write a valid TraceManifest with count:0, truncated:false.
|
|
350
|
+
Proceed to emit-bundle with the empty artifacts. Not a failure.
|
|
351
|
+
classification: agent-op
|
|
352
|
+
|
|
353
|
+
budget:
|
|
354
|
+
time_cap_seconds: 300
|
|
355
|
+
on_cap_exceed: escalate (no partial JSONL — see failure_modes)
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
You are a **discovery** agent. You collect agent traces on behalf of Helix (or another
|
|
359
|
+
orchestrator) and hand the result to a downstream skill (Diagnostics or Evaluator). You do
|
|
360
|
+
NOT analyze traces — you only **collect, normalize, and validate** them.
|
|
361
|
+
|
|
362
|
+
> **STATUS.** The vendored agent IS dispatched standalone today (diagnostics Step 3.6 · evaluator Step 0.5) as the delegate-or-artifact trace agent; only the `*collect-traces` orchestrator route remains future. The contract below was written ahead so it was locked and
|
|
363
|
+
> the handoff chain is fully specified. Helix currently calls `mutagent-cli` directly (the
|
|
364
|
+
> example workflows in `trace-layer-plan.md`). This agent formalizes that into a delegatable
|
|
365
|
+
> cell once the CLI surface is proven in production. Dispatch wiring (`*collect-traces` route
|
|
366
|
+
> in `dispatch.ts` + `routing.yaml`) is the follow-on step.
|
|
367
|
+
|
|
368
|
+
## What you do (one paragraph)
|
|
369
|
+
|
|
370
|
+
Read the `TraceQuery` from the inbound `HandoverBundle`. Run `mutagent-cli trace count` to
|
|
371
|
+
size the window. If count > 0, run `mutagent-cli trace fetch --export` to collect + normalize
|
|
372
|
+
all matching traces to UniTF JSONL. Validate the emitted `TraceManifest`. Construct the
|
|
373
|
+
outbound `HandoverBundle` with the JSONL + manifest as `inputs[]`. Escalate on any CLI or
|
|
374
|
+
validation error. Return an empty-but-valid manifest when count === 0 — that is a success, not
|
|
375
|
+
a failure.
|
|
376
|
+
|
|
377
|
+
## The one command: `*collect`
|
|
378
|
+
|
|
379
|
+
Resolve `*collect` to the `operation_contract.does` workflow (steps 1–5 above). No other
|
|
380
|
+
commands exist. Do not self-dispatch, do not call AskUserQuestion, do not analyze the traces.
|
|
381
|
+
|
|
382
|
+
## CLI invocation pattern
|
|
383
|
+
|
|
384
|
+
Reconstruct the CLI flags from the `TraceQuery` fields:
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
# Step 1 — count (cheap, no bodies)
|
|
388
|
+
mutagent-cli trace count \
|
|
389
|
+
--platform <query.platform> \
|
|
390
|
+
[--since <query.window.since>] [--until <query.window.until>] \
|
|
391
|
+
[--agent <query.filters.agentName>] [--skill <query.filters.skillId>] \
|
|
392
|
+
[--session <query.filters.sessionId>] [--trace <query.filters.traceId>] \
|
|
393
|
+
[--scope <query.filters.scope>] \
|
|
394
|
+
[--has-error] [--has-feedback] [--score-below <query.filters.scoreBelow>] \
|
|
395
|
+
[--tag <query.filters.tags[]>...] \
|
|
396
|
+
[--limit <query.limit>] \
|
|
397
|
+
[--endpoint-ref <query.source.endpoint_ref>] \
|
|
398
|
+
[--credential-ref <query.source.credential_ref>] \
|
|
399
|
+
[--root <query.source.root>]
|
|
400
|
+
|
|
401
|
+
# Step 2 — fetch + export (only if count > 0)
|
|
402
|
+
mutagent-cli trace fetch \
|
|
403
|
+
--platform <query.platform> \
|
|
404
|
+
[<same filters + window + scope + limit flags>] \
|
|
405
|
+
--export .mutagent/traces/<query_id>/traces.jsonl
|
|
406
|
+
# CLI auto-writes .mutagent/traces/<query_id>/traces.manifest.json
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
Flags sourced from `query.source.*` are env-var NAME refs — never raw secrets. The CLI
|
|
410
|
+
resolves the values from the environment.
|
|
411
|
+
|
|
412
|
+
## Empty result (count === 0)
|
|
413
|
+
|
|
414
|
+
A zero-count result is not an error. Write an empty `traces.jsonl` (zero lines), construct a
|
|
415
|
+
`TraceManifest` with `count:0, truncated:false`, and emit the outbound bundle. The consumer
|
|
416
|
+
(Diagnostics/Evaluator) decides whether an empty trace set is meaningful.
|
|
417
|
+
|
|
418
|
+
## What you NEVER do
|
|
419
|
+
|
|
420
|
+
- Analyze, interpret, or judge any trace content.
|
|
421
|
+
- Fabricate trace records or a manifest.
|
|
422
|
+
- Forward an invalid `HandoverBundle` (always run `validateHandoverBundle` before emitting).
|
|
423
|
+
- Handle raw secrets (only env-var NAME refs pass through the CLI).
|
|
424
|
+
- Emit a partial JSONL on time-cap (escalate instead — a partial JSONL is worse than none).
|
|
425
|
+
- Call `Date.now()` or any self-read clock — `producedAt` is injected from the environment.
|
package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/audit.json.tpl
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"auditId": "{{AUDIT_ID}}",
|
|
3
|
+
"generatedAt": "{{GENERATED_AT}}",
|
|
4
|
+
"skillVersion": "{{SKILL_VERSION}}",
|
|
5
|
+
"sourcePlatform": "{{SOURCE_PLATFORM}}",
|
|
6
|
+
"targetPlatform": "{{TARGET_PLATFORM}}",
|
|
7
|
+
"targetClass": "{{TARGET_CLASS}}",
|
|
8
|
+
"remedyType": "{{REMEDY_TYPE}}",
|
|
9
|
+
"diagnosedAtHash": "{{DIAGNOSED_AT_HASH}}",
|
|
10
|
+
"appliedAtHash": "{{APPLIED_AT_HASH}}",
|
|
11
|
+
"idempotencyKey": "{{IDEMPOTENCY_KEY}}",
|
|
12
|
+
"staleCheck": {
|
|
13
|
+
"status": "{{STALE_STATUS}}",
|
|
14
|
+
"checkedAt": "{{GENERATED_AT}}"
|
|
15
|
+
},
|
|
16
|
+
"findings": {{FINDINGS_JSON_ARRAY}},
|
|
17
|
+
"before": {{BEFORE_STATE_JSON}},
|
|
18
|
+
"after": {{AFTER_STATE_JSON}},
|
|
19
|
+
"lintPassed": {{LINT_PASSED}},
|
|
20
|
+
"typecheckPassed": {{TYPECHECK_PASSED}},
|
|
21
|
+
"prUrl": "{{PR_URL}}",
|
|
22
|
+
"branch": "{{BRANCH}}",
|
|
23
|
+
"notes": "{{NOTES}}"
|
|
24
|
+
}
|
package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/audit.md.tpl
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Diagnostics Audit — {{AUDIT_ID}}
|
|
2
|
+
|
|
3
|
+
**Generated**: {{GENERATED_AT}}
|
|
4
|
+
**Skill version**: mutagent-diagnostics v{{SKILL_VERSION}}
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
|
|
8
|
+
| Field | Value |
|
|
9
|
+
|-------|-------|
|
|
10
|
+
| Source platform | `{{SOURCE_PLATFORM}}` |
|
|
11
|
+
| Target platform | `{{TARGET_PLATFORM}}` |
|
|
12
|
+
| Target class | `{{TARGET_CLASS}}` |
|
|
13
|
+
| Remedy type | `{{REMEDY_TYPE}}` |
|
|
14
|
+
| Diagnosed at hash | `{{DIAGNOSED_AT_HASH}}` |
|
|
15
|
+
| Applied at hash | `{{APPLIED_AT_HASH}}` |
|
|
16
|
+
| Stale check | {{STALE_STATUS}} |
|
|
17
|
+
|
|
18
|
+
## Findings Applied
|
|
19
|
+
|
|
20
|
+
{{FINDINGS_TABLE}}
|
|
21
|
+
|
|
22
|
+
## Before State
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{{BEFORE_STATE_JSON}}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## After State
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{{AFTER_STATE_JSON}}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Idempotency Key
|
|
35
|
+
|
|
36
|
+
`{{IDEMPOTENCY_KEY}}`
|
|
37
|
+
|
|
38
|
+
## PR / Branch
|
|
39
|
+
|
|
40
|
+
{{PR_LINK}}
|
|
41
|
+
|
|
42
|
+
## Lint + Typecheck Gate
|
|
43
|
+
|
|
44
|
+
- Lint: {{LINT_STATUS}}
|
|
45
|
+
- Typecheck: {{TYPECHECK_STATUS}}
|
|
46
|
+
|
|
47
|
+
## Notes
|
|
48
|
+
|
|
49
|
+
{{NOTES}}
|
package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/config.yaml.tpl
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# mutagent unified configuration (.mutagent/config.yaml)
|
|
2
|
+
# Generated by: pnpx @mutagent/diagnostics init
|
|
3
|
+
# Generated at: {{GENERATED_AT}}
|
|
4
|
+
# Skill version: {{SKILL_VERSION}}
|
|
5
|
+
#
|
|
6
|
+
# CONFIG SHAPE: v0.2.0 (config-shape break — see references/config-migration.md).
|
|
7
|
+
# ONE config drives the whole ADL lifecycle. Three top-level blocks:
|
|
8
|
+
# global — framework-wide shared resources (providers, workspace, models,
|
|
9
|
+
# context links, the SOURCES + TARGETS catalogs).
|
|
10
|
+
# lifecycle — per-skill behavior, keyed by skill name. Diagnostics reads
|
|
11
|
+
# `lifecycle.diagnostics`.
|
|
12
|
+
# triggers — the future monitor (per stage, ships DISABLED). Absorbs the old
|
|
13
|
+
# diagnostics schedule / trigger_rules / heartbeat.
|
|
14
|
+
#
|
|
15
|
+
# Full field docs: references/config-migration.md + the orchestrator's
|
|
16
|
+
# references/config-migration.md.
|
|
17
|
+
|
|
18
|
+
config_version: "0.2.0"
|
|
19
|
+
|
|
20
|
+
# ══ GLOBAL — framework-wide shared resources ══════════════════════════════════
|
|
21
|
+
global:
|
|
22
|
+
# SOURCES catalog — where traces live. The diagnostics skill binds one BY ROLE
|
|
23
|
+
# (source-consumer). One entry ⇒ auto-bound; more than one ⇒ disambiguate.
|
|
24
|
+
sources:
|
|
25
|
+
- name: primary # catalog id (referenced by role)
|
|
26
|
+
platform: "{{SOURCE_PLATFORM}}" # langfuse | otel | local-jsonl | claude-code | codex
|
|
27
|
+
# project: my-project # platform namespace/dataset (langfuse)
|
|
28
|
+
# endpoint: "https://cloud.langfuse.com" # self-hosted URL; omit ⇒ default CLI/env auth
|
|
29
|
+
# credential_ref: LANGFUSE_SECRET_KEY # env-var NAME (never the secret) — or {env, path}
|
|
30
|
+
# paths: ["traces/*.jsonl"] # file sources (mutually exclusive with endpoint)
|
|
31
|
+
# format: langfuse-export # normalizer hint: langfuse-export | claude-code | codex | raw
|
|
32
|
+
# agent_field: agentId # JSON field naming the agent in a record
|
|
33
|
+
# latency_unit: auto # auto | ms | s
|
|
34
|
+
|
|
35
|
+
# TARGETS catalog — where fixes are applied. The diagnostics-apply role binds one.
|
|
36
|
+
# For a report-only run you may OMIT targets entirely (see lifecycle.diagnostics.apply).
|
|
37
|
+
targets:
|
|
38
|
+
- name: agents # catalog id (referenced by role)
|
|
39
|
+
platform: "{{TARGET_PLATFORM}}" # local-claude | local-codex | ... | cloud-rest | report-only
|
|
40
|
+
mode: local # local (worktree file edits) | remote (REST PUT)
|
|
41
|
+
root: ".claude/agents/" # root dir for local targets
|
|
42
|
+
# rest_base_url: "https://api.example.com" # remote targets
|
|
43
|
+
# repo_url: "https://github.com/org/repo" # code-pr targets (gh CLI access)
|
|
44
|
+
# code_refs: # precise links to the agent/tooling definition files
|
|
45
|
+
# - { path: ".claude/agents/x.md", why: "the agent definition to patch" }
|
|
46
|
+
# credential_ref: REST_API_TOKEN # env-var NAME for REST auth
|
|
47
|
+
apply:
|
|
48
|
+
kind: markdown # code-pr | markdown | cloud-deploy | report-only
|
|
49
|
+
# pr: true # open a PR vs commit directly
|
|
50
|
+
# versioning: true # version the deploy (cloud-deploy)
|
|
51
|
+
|
|
52
|
+
# PROJECT-WIDE context links (every skill loads these at run start). Optional.
|
|
53
|
+
# context:
|
|
54
|
+
# - path: docs/product-context.md
|
|
55
|
+
# what: product overview
|
|
56
|
+
# why: grounds the domain the diagnosed agent operates in
|
|
57
|
+
# when: always, at run start
|
|
58
|
+
|
|
59
|
+
# ══ LIFECYCLE — per-skill behavior (diagnostics reads its own section) ═════════
|
|
60
|
+
lifecycle:
|
|
61
|
+
diagnostics:
|
|
62
|
+
# report-only ⇒ produce the report + SKIP the apply gate (no target needed).
|
|
63
|
+
# Any other value ⇒ the apply gate runs (needs a resolvable global target).
|
|
64
|
+
apply: report-only
|
|
65
|
+
|
|
66
|
+
# Stage-specific context links (the triage runbook). Loaded at run start
|
|
67
|
+
# alongside global.context[]. Optional.
|
|
68
|
+
# context:
|
|
69
|
+
# - path: docs/triage-runbook.md
|
|
70
|
+
# what: triage runbook
|
|
71
|
+
# why: how we classify failure modes for this project
|
|
72
|
+
# when: at diagnose start
|
|
73
|
+
|
|
74
|
+
# Which host tool asks the operator questions (auto-detected by cli/init.ts).
|
|
75
|
+
ask_tool:
|
|
76
|
+
runtime: "{{ASK_RUNTIME}}" # claude-code | codex | cursor | opencode | generic
|
|
77
|
+
# native_tool: AskUserQuestion
|
|
78
|
+
# fallback: chat-multi-choice
|
|
79
|
+
|
|
80
|
+
# Audience for the rendered report when no explicit --audience flag is passed.
|
|
81
|
+
# client — client-stripped report (internal nodes NODE-STRIPPED). DEFAULT.
|
|
82
|
+
# internal — full report (Methodology + Trajectory + internal banners).
|
|
83
|
+
# NOTE: self-diagnosis reports are ALWAYS internal regardless of this (PR-022).
|
|
84
|
+
default_audience: "client"
|
|
85
|
+
|
|
86
|
+
# Default tags applied to every diagnostic run (filtering history). Optional.
|
|
87
|
+
# run_tags: ["production"]
|
|
88
|
+
|
|
89
|
+
# [INTERNAL · MAINTAINER-only] self-RCA. Clients ship disabled. On-demand only.
|
|
90
|
+
self_diagnostics:
|
|
91
|
+
enabled: false
|
|
92
|
+
|
|
93
|
+
# ══ TRIGGERS — the future monitor (per stage, ships DISABLED) ══════════════════
|
|
94
|
+
# Absorbs the old diagnostics schedule / trigger_rules / heartbeat. On-demand only.
|
|
95
|
+
triggers:
|
|
96
|
+
diagnose:
|
|
97
|
+
enabled: false
|
|
98
|
+
rules: []
|
|
99
|
+
# schedule: { mode: on-demand }
|
|
100
|
+
# heartbeat: { notify_on_matches: true, max_diagnostics_per_day: 3 }
|
package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/pr-body.md.tpl
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
## Problem
|
|
2
|
+
|
|
3
|
+
{{PROBLEM_DESCRIPTION}}
|
|
4
|
+
|
|
5
|
+
Diagnosed from: `{{SOURCE_PLATFORM}}` traces ({{TRACE_COUNT}} analyzed).
|
|
6
|
+
Trigger: {{TRIGGER_DESCRIPTION}}
|
|
7
|
+
|
|
8
|
+
## Solution
|
|
9
|
+
|
|
10
|
+
{{SOLUTION_DESCRIPTION}}
|
|
11
|
+
|
|
12
|
+
Remedy type: `{{REMEDY_TYPE}}`
|
|
13
|
+
Target platform: `{{TARGET_PLATFORM}}`
|
|
14
|
+
Target class: `{{TARGET_CLASS}}`
|
|
15
|
+
|
|
16
|
+
## Key Decisions
|
|
17
|
+
|
|
18
|
+
| Decision | Choice | Rationale |
|
|
19
|
+
|----------|--------|-----------|
|
|
20
|
+
{{KEY_DECISIONS_ROWS}}
|
|
21
|
+
|
|
22
|
+
## Changes
|
|
23
|
+
|
|
24
|
+
| File | Purpose |
|
|
25
|
+
|------|---------|
|
|
26
|
+
{{CHANGES_ROWS}}
|
|
27
|
+
|
|
28
|
+
## Key Links
|
|
29
|
+
|
|
30
|
+
{{KEY_LINKS}}
|
|
31
|
+
|
|
32
|
+
## Diagnostics Evidence
|
|
33
|
+
|
|
34
|
+
| Finding ID | Severity | What | Why (root cause) | Where |
|
|
35
|
+
|------------|----------|------|------------------|-------|
|
|
36
|
+
{{FINDINGS_EVIDENCE_ROWS}}
|
|
37
|
+
|
|
38
|
+
**Full report**: {{REPORT_PATH}}
|
|
39
|
+
|
|
40
|
+
## Testing
|
|
41
|
+
|
|
42
|
+
- TDD loop passed: {{TDD_PASSED}}
|
|
43
|
+
- Lint: {{LINT_STATUS}}
|
|
44
|
+
- Typecheck: {{TYPECHECK_STATUS}}
|
|
45
|
+
|
|
46
|
+
## Shortcuts Loaded
|
|
47
|
+
|
|
48
|
+
{{SHORTCUTS_LOADED_LIST}}
|
|
49
|
+
|
|
50
|
+
## Risks & Limitations
|
|
51
|
+
|
|
52
|
+
{{RISKS_AND_LIMITATIONS}}
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
*Generated by mutagent-diagnostics v{{SKILL_VERSION}} — {{GENERATED_AT}}*
|
|
56
|
+
{{INTERNAL_TAG}}
|