@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,123 @@
|
|
|
1
|
+
# write-judge-prompt — design a binary LLM-as-judge for one criterion
|
|
2
|
+
|
|
3
|
+
> **Source:** absorbed from `mutagent-system/.memory/features/evals-skills-source/skills/write-judge-prompt/SKILL.md`.
|
|
4
|
+
> **Loaded by:** `*build-evals` (EV-043), executed by `assets/agents/evaluator.md` (`#mode-judge-criterion`; the trajectory axis loads it too). Load on demand.
|
|
5
|
+
> **Sibling refs:** `error-analysis.md` (mine the criterion) · `validate-evaluator.md` (calibrate the judge) · `grounded-adjudication.md` (the GA doctrine: bind · gather refs · typed assumptions · abstain · verify).
|
|
6
|
+
|
|
7
|
+
Design ONE binary Pass/Fail LLM-as-judge for ONE failure mode. Each judge checks exactly one thing.
|
|
8
|
+
Use a judge ONLY for criteria a code-based check cannot handle — exhaust code-based options first
|
|
9
|
+
(many "subjective" criteria reduce to keyword / regex / API checks once you understand the domain).
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- Error analysis complete; the failure mode is identified (`*discover-evals`).
|
|
14
|
+
- Human-labeled traces for this mode (≥20 Pass + ≥20 Fail).
|
|
15
|
+
- A code-based evaluator genuinely cannot check it.
|
|
16
|
+
|
|
17
|
+
## The 4 components (every judge prompt has exactly these)
|
|
18
|
+
|
|
19
|
+
### 1. Task and evaluation criterion
|
|
20
|
+
State what the judge evaluates — ONE failure mode per judge. Not "evaluate whether the email is
|
|
21
|
+
good", not "rate quality 1-5". E.g. *"You are an evaluator assessing whether the agent respected the
|
|
22
|
+
outbound-guard: when `<outbound_guard>` is present and the event is non-critical, it must NOT send."*
|
|
23
|
+
|
|
24
|
+
### 2. Pass/Fail definitions
|
|
25
|
+
Strictly **binary** — no Likert, no letter grades, no partial credit. Define exactly what
|
|
26
|
+
constitutes Pass and Fail, drawn from the error-analysis failure-mode description. List concrete
|
|
27
|
+
FAIL examples (e.g. "sent a routine nudge while `consecutive_outbound=11` and guard=CRITICAL").
|
|
28
|
+
|
|
29
|
+
### 3. Few-shot examples
|
|
30
|
+
Include labeled Pass + Fail examples — at least one clear Pass, one clear Fail, and one **borderline**
|
|
31
|
+
case (borderline teaches the most nuance).
|
|
32
|
+
- **Draw ONLY from the TRAIN split** (10-20% of labeled data set aside for this). Any example used
|
|
33
|
+
in the prompt MUST be excluded from dev/test — using dev/test examples is **data leakage**.
|
|
34
|
+
- 2-4 examples is typical; performance plateaus after 4-8.
|
|
35
|
+
|
|
36
|
+
### 4. Structured output — critique BEFORE verdict
|
|
37
|
+
Enforce schema (provider `response_format` / tool definitions; or specify the JSON schema inline).
|
|
38
|
+
The output puts the **critique first, verdict second** — this forces the judge to articulate its
|
|
39
|
+
assessment before committing. Under Grounded Adjudication the verdict is **ternary** and carries the
|
|
40
|
+
structured grounding it rests on:
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"critique": "string — detailed assessment vs the criterion, citing concrete evidence from the trace",
|
|
45
|
+
"refs": [{ "obs": "trace/observation id", "path": "field path", "value": "EXACT cited value" }],
|
|
46
|
+
"assumptions": [{ "text": "premise the trace did not establish", "kind": "factual-intent | normative | scope", "status": "hypothesis" }],
|
|
47
|
+
"result": "pass | fail | uncertain",
|
|
48
|
+
"confidence": 0.0,
|
|
49
|
+
"blockedBy": { "kind": "factual-intent | normative | scope", "text": "the unbound term / ungroundable premise" }
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
- `result` is **ternary**: `pass` · `fail` · `uncertain`. `uncertain` (carrying a `blockedBy`) IS
|
|
54
|
+
the **indeterminate** state — it reuses `OutcomeVerdict.Uncertain`, **not** a 4th enum value.
|
|
55
|
+
- `blockedBy` is REQUIRED whenever `result === "uncertain"` (an `uncertain` with no `blockedBy` is an
|
|
56
|
+
unrouted abstain — `lint-grounding` flags it).
|
|
57
|
+
- `refs` are STRUCTURED + **re-resolvable** (`scripts/resolve-ref.ts` re-resolves each by
|
|
58
|
+
whitespace-normalized EXACT value match); cite one for the claim AND for any absence.
|
|
59
|
+
|
|
60
|
+
Critiques must be detailed, not terse — the critiques in your few-shot examples set the bar for the
|
|
61
|
+
detail the judge produces.
|
|
62
|
+
|
|
63
|
+
## Grounded Adjudication — bind, gather, abstain, verify
|
|
64
|
+
|
|
65
|
+
> Full doctrine in `references/grounded-adjudication.md` (the 5 Laws · the verdict lattice · the two
|
|
66
|
+
> switches). The load-bearing additions for every judge prompt:
|
|
67
|
+
|
|
68
|
+
- **BIND before you judge (L1).** Before rendering a verdict, every **TERM** the criterion
|
|
69
|
+
presupposes must resolve to a grounded referent IN THIS situation
|
|
70
|
+
(`scripts/resolve-ref.ts` `bindCriterionTerms` / `bindBeforeJudge`). An **unbound term** (a
|
|
71
|
+
referent the situation never established — e.g. *"on-topic with the advertiser's product"* over a
|
|
72
|
+
**blank brief**) ⇒ `result: uncertain` + `blockedBy: {kind: "factual-intent"}` — **ABSTAIN, never
|
|
73
|
+
fail.** A valid-yet-unbound criterion is not a defect of the trajectory. Refs check what you DID
|
|
74
|
+
cite; binding checks what the criterion NEEDED.
|
|
75
|
+
- **GATHER grounded evidence (L2/L3).** Cite a structured `ref {obs, path, value}` for the claim AND
|
|
76
|
+
for any **absence** claim ("did not" / "never" / "no X" needs a positive field check, never
|
|
77
|
+
inferred from silence).
|
|
78
|
+
- **The litmus.** State the **minimal premise P** such that `criterion ∧ situation ∧ P ⊢ V`. If P is
|
|
79
|
+
fully grounded (or in the deterministic floor), DECIDE. If P is ungroundable, **surface it as a
|
|
80
|
+
TYPED assumption** (`factual-intent` · `normative` · `scope`) and abstain (`uncertain` +
|
|
81
|
+
`blockedBy`). The leap from "claim is true" to "therefore fail" is exactly where the assumption
|
|
82
|
+
hides — a sourced claim proves the **claim**, never the **verdict**.
|
|
83
|
+
- **Abstain on silence (L5).** `uncertain` when the **inputs** can't decide (indeterminate, routes
|
|
84
|
+
to the calibration loop) — not merely when YOU are unsure. Decide when the world establishes the
|
|
85
|
+
premises and only you were uncertain.
|
|
86
|
+
- **The verdict is independently VERIFIED (L2 / GA-5).** After you decide, a DISTINCT reviewer
|
|
87
|
+
(`#mode-verify` — never the judge that decided; `scripts/result-verify.ts`) re-resolves your refs
|
|
88
|
+
and checks claim ⊨ verdict. On a dead ref or an inferential leap it **downgrades**
|
|
89
|
+
`pass/fail → uncertain(blockedBy)` — **downgrade-only**; it never flips `pass↔fail` and never
|
|
90
|
+
fixes (EV-051).
|
|
91
|
+
|
|
92
|
+
## Choosing what to pass to the judge
|
|
93
|
+
|
|
94
|
+
Feed only what the judge needs — for long inputs, the relevant snippet, not the whole document:
|
|
95
|
+
|
|
96
|
+
| Failure mode | What the judge needs |
|
|
97
|
+
|--------------|----------------------|
|
|
98
|
+
| Tone mismatch | Client persona + generated message |
|
|
99
|
+
| Answer faithfulness | Retrieved context + generated answer |
|
|
100
|
+
| Instruction following | System-prompt rules + generated response |
|
|
101
|
+
| Tool-call justification | Conversation history + tool call + tool result |
|
|
102
|
+
| **Outbound-guard compliance (sample C1)** | Input prompt (guard + event) + tool trajectory + response |
|
|
103
|
+
| **Goal-attainment (sample C2)** | Input event + full trajectory + outputs |
|
|
104
|
+
|
|
105
|
+
## Model selection + C-PIN
|
|
106
|
+
|
|
107
|
+
Start with the most capable model available (the same model as the main task works — the judge does
|
|
108
|
+
a narrower task); optimize cost later, once alignment is confirmed. **Pin the model id + temperature=0**
|
|
109
|
+
and record both on the scorecard (C-PIN) so reruns are byte-identical; re-validate on any model change.
|
|
110
|
+
In this skill the judge call mirrors the proven `@langchain/google-genai` shape (lazy import, temp 0,
|
|
111
|
+
model = `config.models.default`/`--model`, THROW on missing creds — model-intent-sacred).
|
|
112
|
+
|
|
113
|
+
## Anti-patterns
|
|
114
|
+
|
|
115
|
+
- **Vague criteria** ("is this helpful?") — target a specific observable failure mode.
|
|
116
|
+
- **Holistic judge for the whole trace** — produces unactionable verdicts. One judge, one criterion.
|
|
117
|
+
- **No few-shot examples** — the model won't know what counts as a failure in your application.
|
|
118
|
+
- **Dev/test examples as few-shot** — data leakage.
|
|
119
|
+
- **Likert scales** — scores that sound precise but can't be calibrated; binary forces a clear
|
|
120
|
+
decision boundary. Capture severity via MULTIPLE binary judges, not one ordinal scale.
|
|
121
|
+
- **Skipping validation** — measure alignment with `validate-evaluator.md` before trusting the judge.
|
|
122
|
+
- **Judges for specification failures without fixing the prompt first** — if the prompt never asked
|
|
123
|
+
for the behavior, that's a fix (route to diagnostics), not an eval.
|
package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/behavior-tree.schema.yaml
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# schemas/behavior-tree.schema.yaml
|
|
2
|
+
# ============================================================================
|
|
3
|
+
# The SHAPE of a behavior-tree: the GOLDEN behavioral spec for the pinned judge.
|
|
4
|
+
#
|
|
5
|
+
# Nodes = decision points carrying the EXPECTED decision per scenario
|
|
6
|
+
# (signal-tier · confidence-basis · focus). Edges = forks. This enables the
|
|
7
|
+
# generic engine's core comparison: at every known decision node, the judge
|
|
8
|
+
# compares expected-decision vs observed-decision and expected-scenario vs
|
|
9
|
+
# observed-scenario. Diagnostics' signal-selection / confidence / focus
|
|
10
|
+
# (MR-7/8/9) are the concrete instances; any audited agent is judged the same.
|
|
11
|
+
# ============================================================================
|
|
12
|
+
$id: mutagent-evaluator/behavior-tree
|
|
13
|
+
title: Subject Behavior Tree
|
|
14
|
+
type: object
|
|
15
|
+
required: [subject, version, generatedAt, root, nodes]
|
|
16
|
+
properties:
|
|
17
|
+
subject: { type: string, description: synthetic subject name (NDA) }
|
|
18
|
+
version: { type: string }
|
|
19
|
+
generatedAt: { type: string, description: injected; masked for byte-identity }
|
|
20
|
+
root:
|
|
21
|
+
type: string
|
|
22
|
+
description: nodeId of the entry decision node
|
|
23
|
+
nodes:
|
|
24
|
+
type: array
|
|
25
|
+
items:
|
|
26
|
+
type: object
|
|
27
|
+
required: [nodeId, label, decisionType, scenarios, edges]
|
|
28
|
+
properties:
|
|
29
|
+
nodeId: { type: string }
|
|
30
|
+
label:
|
|
31
|
+
type: string
|
|
32
|
+
description: the protocol decision point (e.g. "Step 3a scope-pick", "Step 4.5 double-zero", "Step 6 analyzer-count", "copy-back")
|
|
33
|
+
decisionType:
|
|
34
|
+
enum: [signal-tier, confidence-basis, focus, scope-pick, gate, dispatch-count, approval, stage-selection, content-decision, output-shape, tool-choice]
|
|
35
|
+
description: >-
|
|
36
|
+
what kind of sub-decision this node represents. The first set (signal-tier … approval) is
|
|
37
|
+
DIAGNOSTICS-shaped (MR-7/8/9 instances). SF-3 additive: stage-selection | content-decision |
|
|
38
|
+
output-shape | tool-choice generalize the vocab for GENERATION-shaped subjects (a multi-stage
|
|
39
|
+
content pipeline), per subject kind — the engine's expected-vs-observed decision comparison is
|
|
40
|
+
identical regardless of which vocab a node uses.
|
|
41
|
+
scenarios:
|
|
42
|
+
type: array
|
|
43
|
+
description: one entry per distinct situation the agent could be in; the EXPECTED decision per scenario
|
|
44
|
+
items:
|
|
45
|
+
type: object
|
|
46
|
+
required: [scenarioId, when, expectedDecision]
|
|
47
|
+
properties:
|
|
48
|
+
scenarioId: { type: string }
|
|
49
|
+
when:
|
|
50
|
+
type: string
|
|
51
|
+
description: the condition that selects this scenario (tier-0 signals + brief state)
|
|
52
|
+
expectedDecision:
|
|
53
|
+
type: string
|
|
54
|
+
description: what the methodology expects the agent to decide GIVEN this scenario
|
|
55
|
+
expectedFork:
|
|
56
|
+
type: string
|
|
57
|
+
description: which outgoing edge target the expected decision should take (optional)
|
|
58
|
+
rationale:
|
|
59
|
+
type: string
|
|
60
|
+
description: why this is the expected decision (the methodology's reasoning)
|
|
61
|
+
edges:
|
|
62
|
+
type: array
|
|
63
|
+
description: the forks out of this node
|
|
64
|
+
items:
|
|
65
|
+
type: object
|
|
66
|
+
required: [edgeId, to, condition]
|
|
67
|
+
properties:
|
|
68
|
+
edgeId: { type: string }
|
|
69
|
+
to: { type: string, description: target nodeId, or "TERMINAL" }
|
|
70
|
+
condition: { type: string, description: the fork condition }
|
|
71
|
+
deadOrRare:
|
|
72
|
+
type: boolean
|
|
73
|
+
description: MR-1 flag — is this fork dead / rarely-useful (advisory)?
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# schemas/dataset.schema.yaml
|
|
2
|
+
# ============================================================================
|
|
3
|
+
# The SHAPE a generated/derived eval DATASET must conform to (EV-046 build +
|
|
4
|
+
# EV-047 derive + EV-053 living-suite append target).
|
|
5
|
+
#
|
|
6
|
+
# A dataset is the subject's growing set of test CASES: each case is one
|
|
7
|
+
# combination of dimension values (a tuple) plus a realistic natural-language
|
|
8
|
+
# query. Cases come from three sources: user-confirmed SEED tuples (the HITL
|
|
9
|
+
# interview), SYNTHETIC extension (the dataset-builder agent), or DERIVED from a
|
|
10
|
+
# past trace (*derive-dataset). The set is APPEND-ONLY (monotonic growth — the
|
|
11
|
+
# suite never shrinks).
|
|
12
|
+
#
|
|
13
|
+
# Subject-agnostic (EV-002): dimensions + values are DATA carried here, never
|
|
14
|
+
# hard-coded engine constants. This is a human-readable shape contract; the
|
|
15
|
+
# executable validator lives in scripts/contracts/dataset.ts (TypeBox), kept in
|
|
16
|
+
# lockstep with this file.
|
|
17
|
+
# ============================================================================
|
|
18
|
+
$id: mutagent-evaluator/dataset
|
|
19
|
+
title: Subject Eval Dataset
|
|
20
|
+
type: object
|
|
21
|
+
required: [subject, dimensions, cases, version]
|
|
22
|
+
properties:
|
|
23
|
+
subject:
|
|
24
|
+
type: string
|
|
25
|
+
description: synthetic subject name (from the subject profile); NEVER a production dataset name (NDA)
|
|
26
|
+
dimensions:
|
|
27
|
+
type: array
|
|
28
|
+
description: the axes of variation (generate-synthetic-data Step 1); target failure-prone regions
|
|
29
|
+
items:
|
|
30
|
+
type: object
|
|
31
|
+
required: [name, values]
|
|
32
|
+
properties:
|
|
33
|
+
name: { type: string }
|
|
34
|
+
description: { type: string }
|
|
35
|
+
values:
|
|
36
|
+
type: array
|
|
37
|
+
minItems: 1
|
|
38
|
+
items: { type: string }
|
|
39
|
+
description: the discrete values this dimension can take
|
|
40
|
+
cases:
|
|
41
|
+
type: array
|
|
42
|
+
description: the test cases (append-only; monotonic-growth enforced by living-suite EV-053)
|
|
43
|
+
items:
|
|
44
|
+
type: object
|
|
45
|
+
required: [id, tuple, query, source]
|
|
46
|
+
properties:
|
|
47
|
+
id:
|
|
48
|
+
type: string
|
|
49
|
+
description: content-derived stable id (caseId = fnv1a(tupleKey::query)); re-builds collide -> dedup
|
|
50
|
+
tuple:
|
|
51
|
+
type: object
|
|
52
|
+
description: dimension name -> chosen value (≥1 assignment); canonicalized by tupleKey for dedup
|
|
53
|
+
additionalProperties: { type: string }
|
|
54
|
+
query:
|
|
55
|
+
type: string
|
|
56
|
+
description: the natural-language query realizing this tuple (from the dataset-builder agent)
|
|
57
|
+
source:
|
|
58
|
+
enum: [seed, synthetic, derived]
|
|
59
|
+
description: seed = user-confirmed HITL tuple | synthetic = LLM-generated | derived = distilled from a past trace
|
|
60
|
+
originTraceId:
|
|
61
|
+
type: string
|
|
62
|
+
description: for derived cases — the past trace this case distills from
|
|
63
|
+
version:
|
|
64
|
+
type: integer
|
|
65
|
+
minimum: 0
|
|
66
|
+
description: monotonically-increasing version, bumped on every append
|
package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/edd-change-request.schema.yaml
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# schemas/edd-change-request.schema.yaml
|
|
2
|
+
# ============================================================================
|
|
3
|
+
# F18 — EDD CLOSURE: the evaluator → ai-engineer change-request contract.
|
|
4
|
+
#
|
|
5
|
+
# The evaluator is JUDGE-ONLY (EV-051): it never fixes the subject. To close the
|
|
6
|
+
# Eval-Driven-Development loop it REQUESTS the AI-Engineer (the *build ACTOR from
|
|
7
|
+
# the SPEC stage) to amend the Agent / AgentSpec — wired over the `SendMessage`
|
|
8
|
+
# tool both agents carry. This file is the HUMAN-readable shape; the executable
|
|
9
|
+
# companion is scripts/edd/edd-types.ts (TypeBox) + scripts/edd/change-request.ts
|
|
10
|
+
# (the validators + the bounded loop controller). Kept in lockstep.
|
|
11
|
+
#
|
|
12
|
+
# evaluator --(EddChangeRequest)--> ai-engineer
|
|
13
|
+
# ai-engineer --(ChangeRequestResponse)--> evaluator
|
|
14
|
+
# evaluator re-evaluates → loop until full green OR a bounded STOP.
|
|
15
|
+
# ============================================================================
|
|
16
|
+
$id: mutagent-evaluator/edd-change-request
|
|
17
|
+
title: EDD Change-Request Contract (F18)
|
|
18
|
+
|
|
19
|
+
definitions:
|
|
20
|
+
FailingCaseRef:
|
|
21
|
+
type: object
|
|
22
|
+
description: >
|
|
23
|
+
One failing/uncertain case the evaluator hands the engineer. GROUNDED —
|
|
24
|
+
carries the verbatim critique + ≥1 structured ref {obs,path,value}, the
|
|
25
|
+
SAME machine-checkable evidence the judge already emitted (GA-1). An
|
|
26
|
+
ungrounded ask (refs empty) is a DEFECT — the evaluator never asks for a
|
|
27
|
+
fix it cannot ground.
|
|
28
|
+
required: [caseId, criterionId, critique, refs]
|
|
29
|
+
additionalProperties: false
|
|
30
|
+
properties:
|
|
31
|
+
caseId: { type: string, minLength: 1 }
|
|
32
|
+
criterionId: { type: string, minLength: 1 }
|
|
33
|
+
critique: { type: string, minLength: 1, description: verbatim from the verdict }
|
|
34
|
+
refs:
|
|
35
|
+
type: array
|
|
36
|
+
minItems: 1
|
|
37
|
+
items:
|
|
38
|
+
type: object
|
|
39
|
+
required: [obs, path, value]
|
|
40
|
+
additionalProperties: false
|
|
41
|
+
properties:
|
|
42
|
+
obs: { type: string, description: trace/observation id }
|
|
43
|
+
path: { type: string, description: field path within the observation }
|
|
44
|
+
value: { type: string, description: the EXACT cited string }
|
|
45
|
+
|
|
46
|
+
EddChangeRequest:
|
|
47
|
+
type: object
|
|
48
|
+
description: the evaluator → ai-engineer request (the SendMessage payload).
|
|
49
|
+
required: [requestId, swing, subject, remedyTarget, failingCases, proposedRemedy, status]
|
|
50
|
+
additionalProperties: false
|
|
51
|
+
properties:
|
|
52
|
+
requestId: { type: string, minLength: 1 }
|
|
53
|
+
swing:
|
|
54
|
+
type: integer
|
|
55
|
+
minimum: 1
|
|
56
|
+
description: 1-based EDD swing index (the Nth evaluator→engineer→re-eval cycle)
|
|
57
|
+
subject: { type: string, minLength: 1 }
|
|
58
|
+
remedyTarget:
|
|
59
|
+
enum: [agentspec, impl]
|
|
60
|
+
description: >
|
|
61
|
+
WHERE the engineer should fix — the evaluator PROPOSES, never patches.
|
|
62
|
+
agentspec = the DEFINITION (system_prompt / jobs / sop / criteria); the
|
|
63
|
+
def→impl cascade means the engineer re-runs *build after editing.
|
|
64
|
+
impl = the IMPLEMENTATION scaffold only (a wiring/faithfulness defect
|
|
65
|
+
that does NOT change the spec).
|
|
66
|
+
failingCases:
|
|
67
|
+
type: array
|
|
68
|
+
minItems: 1
|
|
69
|
+
items: { $ref: "#/definitions/FailingCaseRef" }
|
|
70
|
+
proposedRemedy:
|
|
71
|
+
type: string
|
|
72
|
+
minLength: 1
|
|
73
|
+
description: the proposed remedy in NL — a HYPOTHESIS for the engineer, not a mandate
|
|
74
|
+
status:
|
|
75
|
+
const: requested
|
|
76
|
+
description: the evaluator always emits `requested`
|
|
77
|
+
|
|
78
|
+
ChangeRequestResponse:
|
|
79
|
+
type: object
|
|
80
|
+
description: the ai-engineer → evaluator reply after consuming a request.
|
|
81
|
+
required: [requestId, status, note]
|
|
82
|
+
additionalProperties: false
|
|
83
|
+
properties:
|
|
84
|
+
requestId: { type: string, minLength: 1 }
|
|
85
|
+
status:
|
|
86
|
+
enum: [amended, rejected]
|
|
87
|
+
description: >
|
|
88
|
+
amended = the named target was edited (and, for an agentspec target,
|
|
89
|
+
*build was re-run to cascade def→impl) → a re-eval is warranted.
|
|
90
|
+
rejected = the engineer declined WITH a reason (wrong target / not
|
|
91
|
+
reproducible) → NO re-eval of an unchanged subject.
|
|
92
|
+
amendedTarget:
|
|
93
|
+
enum: [agentspec, impl]
|
|
94
|
+
description: which artifact was actually amended (echoes the request target)
|
|
95
|
+
rebuilt:
|
|
96
|
+
type: boolean
|
|
97
|
+
description: for an agentspec amend — was *build re-run to cascade def→impl?
|
|
98
|
+
note:
|
|
99
|
+
type: string
|
|
100
|
+
minLength: 1
|
|
101
|
+
description: human summary of the amendment OR the rejection reason (ALWAYS present)
|
|
102
|
+
|
|
103
|
+
# ── Loop control (the afkloop-legal terminator — scripts/edd/change-request.ts) ─
|
|
104
|
+
# The EDD loop is NEVER infinite. Termination gate, success-first:
|
|
105
|
+
# 1. full-green — varianceStable AND accuracyMet ⇒ DONE
|
|
106
|
+
# 2. max-swings — swing ≥ budget.maxSwings ⇒ STOPPED (+ convergence delta)
|
|
107
|
+
# 3. max-wallclock — elapsedMs ≥ budget.maxWallclockMs ⇒ STOPPED
|
|
108
|
+
# 4. no-improvement-streak — N consecutive swings w/ no improvement ⇒ STOPPED
|
|
109
|
+
# Defaults: maxSwings 6 · maxWallclockMs 30min · noImprovementStreakLimit 2.
|
|
110
|
+
# F19 ordering is preserved in the CONTINUE branch: not-stable ⇒ variance phase,
|
|
111
|
+
# stable ⇒ accuracy phase (variance precedes accuracy, always).
|
|
112
|
+
loopControl:
|
|
113
|
+
phases: [build, variance, accuracy, done, stopped]
|
|
114
|
+
stopReasons: [full-green, max-swings, max-wallclock, no-improvement-streak]
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# schemas/eval-matrix.schema.yaml
|
|
2
|
+
# ============================================================================
|
|
3
|
+
# The SHAPE a subject eval-matrix must conform to.
|
|
4
|
+
# A subject profile (subjects/<name>/eval-matrix.yaml) is a master checklist:
|
|
5
|
+
# every component (agent / skill-orchestrator-step / star-command / script)
|
|
6
|
+
# graded on a 3-dimension MECE coverage, with a per-criterion checkMethod that
|
|
7
|
+
# determines whether the row runs DETERMINISTICALLY or under the PINNED JUDGE.
|
|
8
|
+
#
|
|
9
|
+
# This is a human-readable shape contract. The executable validator lives in
|
|
10
|
+
# scripts/contracts/eval-matrix.ts (TypeBox), kept in lockstep with this file.
|
|
11
|
+
# ============================================================================
|
|
12
|
+
$id: mutagent-evaluator/eval-matrix
|
|
13
|
+
title: Subject Eval Matrix
|
|
14
|
+
type: object
|
|
15
|
+
required: [subject, version, generatedAt, designPrinciples, components]
|
|
16
|
+
properties:
|
|
17
|
+
subject:
|
|
18
|
+
type: string
|
|
19
|
+
description: synthetic subject name (e.g. sample-agent); NEVER a production dataset name (NDA, design decision #10)
|
|
20
|
+
version:
|
|
21
|
+
type: string
|
|
22
|
+
description: matrix version (e.g. v1); Mode B regenerates/extends as vN
|
|
23
|
+
generatedAt:
|
|
24
|
+
type: string
|
|
25
|
+
description: injected ISO timestamp; masked for byte-identity
|
|
26
|
+
designPrinciples:
|
|
27
|
+
type: array
|
|
28
|
+
items: { type: string }
|
|
29
|
+
description: the load-bearing design principles the matrix encodes
|
|
30
|
+
components:
|
|
31
|
+
type: array
|
|
32
|
+
items:
|
|
33
|
+
type: object
|
|
34
|
+
required: [componentId, componentName, componentType, criteria]
|
|
35
|
+
properties:
|
|
36
|
+
componentId: { type: string }
|
|
37
|
+
componentName: { type: string }
|
|
38
|
+
componentType:
|
|
39
|
+
enum: [agent, skill-orchestrator-step, star-command, script, gate, feature, pipeline-stage]
|
|
40
|
+
description: >-
|
|
41
|
+
drives the color-coded tint; ordered top-bound first (skill -> agents -> commands -> scripts -> gates).
|
|
42
|
+
SF-1 additive: feature | pipeline-stage for a multi-stage generation subject (a CHAIN of stages, §6a).
|
|
43
|
+
criteria:
|
|
44
|
+
type: array
|
|
45
|
+
items:
|
|
46
|
+
type: object
|
|
47
|
+
required: [dimension, statement, checkMethod, passCondition, severity, existingCoverage]
|
|
48
|
+
properties:
|
|
49
|
+
dimension:
|
|
50
|
+
enum: [operation-correctness, data-correctness, operational-deviation]
|
|
51
|
+
description: the 3-dimension MECE coverage (R1 / R2 / R3)
|
|
52
|
+
statement:
|
|
53
|
+
type: string
|
|
54
|
+
description: the conformance assertion for this row
|
|
55
|
+
checkMethod:
|
|
56
|
+
enum: [deterministic-script, typebox-schema, gate, trace-cross-ref, trajectory-diff, llm-judge]
|
|
57
|
+
description: >-
|
|
58
|
+
deterministic-script | typebox-schema | gate -> DETERMINISTIC track (no model)
|
|
59
|
+
trace-cross-ref | trajectory-diff | llm-judge -> PINNED-JUDGE track (model id + temp=0)
|
|
60
|
+
SF-2 additive (DEC-16): llm-judge = a generic content judge (not only the diagnostics-specific
|
|
61
|
+
trace-cross-ref / trajectory-diff). The v2 MinedCriterion carries its own 3-value check_method
|
|
62
|
+
router (deterministic | llm-judge | hybrid, eval-types.ts); the two coexist.
|
|
63
|
+
passCondition:
|
|
64
|
+
type: string
|
|
65
|
+
description: the concrete, binary pass condition
|
|
66
|
+
severity:
|
|
67
|
+
enum: [CRIT, HIGH, MED, LOW]
|
|
68
|
+
description: by VARIANCE IMPACT, not code size; CRIT/HIGH gate the component
|
|
69
|
+
existingCoverage:
|
|
70
|
+
enum: [covered, partial, none]
|
|
71
|
+
description: honest declaration vs the actual test+gate inventory
|
|
72
|
+
evidenceSource:
|
|
73
|
+
type: string
|
|
74
|
+
description: mandatory traceability — a cited intended behavior or observed deviation (no-filler rule)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# schemas/flow-graph.schema.yaml — EV-032 information-flow graph (human-readable mirror)
|
|
2
|
+
#
|
|
3
|
+
# The deterministic structure `scripts/flow-graph.ts` produces from one trace.
|
|
4
|
+
# Kept in lockstep with the TypeBox contract in `scripts/contracts/flow-graph.ts`
|
|
5
|
+
# (that file is the SINGLE SOURCE OF TRUTH; this YAML documents the shape for
|
|
6
|
+
# subject authors + reviewers). SUBJECT-AGNOSTIC: nodes are named by the trace's
|
|
7
|
+
# OWN observation names; no subject vocabulary is baked in here.
|
|
8
|
+
title: FlowGraph
|
|
9
|
+
type: object
|
|
10
|
+
additionalProperties: false
|
|
11
|
+
required: [traceId, nodes, edges, unthreadedOutputs]
|
|
12
|
+
properties:
|
|
13
|
+
traceId:
|
|
14
|
+
type: string
|
|
15
|
+
description: The id of the trace this graph was built from.
|
|
16
|
+
nodes:
|
|
17
|
+
type: array
|
|
18
|
+
description: One node per trace observation, viewed as a producer/consumer.
|
|
19
|
+
items:
|
|
20
|
+
type: object
|
|
21
|
+
additionalProperties: false
|
|
22
|
+
required: [id, index, type, name, produces, consumes, isHandoff]
|
|
23
|
+
properties:
|
|
24
|
+
id: { type: string, description: "Stable node id by position (n0, n1, …)." }
|
|
25
|
+
index: { type: integer, minimum: 0 }
|
|
26
|
+
type: { type: string, description: "The observation type (TOOL / GENERATION / EVENT / AGENT / …)." }
|
|
27
|
+
name: { type: string, description: "The observation name (tool/step name) — may be empty." }
|
|
28
|
+
produces:
|
|
29
|
+
type: array
|
|
30
|
+
items: { type: string }
|
|
31
|
+
description: "Top-level output slot keys (primitive payload → the _value sentinel)."
|
|
32
|
+
consumes:
|
|
33
|
+
type: array
|
|
34
|
+
items: { type: string }
|
|
35
|
+
description: "Top-level input slot keys (primitive payload → the _text sentinel)."
|
|
36
|
+
isHandoff:
|
|
37
|
+
type: boolean
|
|
38
|
+
description: "True iff name ∈ the SUPPLIED dispatchToolNames (a sub-agent dispatch, EV-029)."
|
|
39
|
+
edges:
|
|
40
|
+
type: array
|
|
41
|
+
description: >-
|
|
42
|
+
Data-handoff edges. An edge means a producer slot's value string reached a
|
|
43
|
+
LATER consumer's serialized input (deterministic content-overlap, EV-028).
|
|
44
|
+
items:
|
|
45
|
+
type: object
|
|
46
|
+
additionalProperties: false
|
|
47
|
+
required: [from, to, slot, kind]
|
|
48
|
+
properties:
|
|
49
|
+
from: { type: string, description: "Producer node id." }
|
|
50
|
+
to: { type: string, description: "Consumer node id." }
|
|
51
|
+
slot: { type: string, description: "The producer slot whose value threaded." }
|
|
52
|
+
kind:
|
|
53
|
+
type: string
|
|
54
|
+
enum: [threaded, handoff]
|
|
55
|
+
description: "threaded = plain tool-result (EV-028); handoff = sub-agent dispatch context (EV-029)."
|
|
56
|
+
unthreadedOutputs:
|
|
57
|
+
type: array
|
|
58
|
+
description: >-
|
|
59
|
+
Producer slots whose value NEVER reached a downstream consumer — the EV-028
|
|
60
|
+
candidate leaks the context-flow judge then adjudicates (severity is NOT
|
|
61
|
+
decided here).
|
|
62
|
+
items:
|
|
63
|
+
type: object
|
|
64
|
+
additionalProperties: false
|
|
65
|
+
required: [node, name, slot]
|
|
66
|
+
properties:
|
|
67
|
+
node: { type: string }
|
|
68
|
+
name: { type: string }
|
|
69
|
+
slot: { type: string }
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# schemas/flow-profile.schema.yaml — EV-037 expected-flow profile (human-readable mirror)
|
|
2
|
+
#
|
|
3
|
+
# The agent-shaped expected-flow the context-flow audit (EV-028/029) + the
|
|
4
|
+
# trajectory variance (EV-054) diff the ACTUAL flow-graph against. Carried on the
|
|
5
|
+
# subject profile (`profile-subject.ts` → SubjectProfile.expectedFlow). Kept in
|
|
6
|
+
# lockstep with the TypeBox `ExpectedFlow` in `scripts/contracts/flow-graph.ts`
|
|
7
|
+
# (that file is the SINGLE SOURCE OF TRUTH).
|
|
8
|
+
#
|
|
9
|
+
# SUBJECT-AGNOSTIC: every name here is the subject's OWN tool/step/slot name,
|
|
10
|
+
# supplied via auto-gen (EV-049: the modal observed threadings) or AUTHORED (the
|
|
11
|
+
# canonical path for the semantic fields the trace alone can't carry). NO subject
|
|
12
|
+
# vocabulary is baked into the engine.
|
|
13
|
+
title: ExpectedFlow
|
|
14
|
+
type: object
|
|
15
|
+
additionalProperties: false
|
|
16
|
+
required: [dispatchToolNames, edges, expectedUiSlots]
|
|
17
|
+
properties:
|
|
18
|
+
dispatchToolNames:
|
|
19
|
+
type: array
|
|
20
|
+
items: { type: string, minLength: 1 }
|
|
21
|
+
description: >-
|
|
22
|
+
Which tool/step names are sub-agent DISPATCHES (EV-029). A flow-graph node
|
|
23
|
+
with one of these names produces a context HANDOFF rather than a plain tool
|
|
24
|
+
result. Auto-gen leaves this empty (TODO) — supply it AUTHORED.
|
|
25
|
+
edges:
|
|
26
|
+
type: array
|
|
27
|
+
description: >-
|
|
28
|
+
The producer→consumer threadings the subject SHOULD exhibit (a regression
|
|
29
|
+
baseline). Auto-gen (EV-049) seeds these from the modal observed
|
|
30
|
+
data-handoffs across the trace sample.
|
|
31
|
+
items:
|
|
32
|
+
type: object
|
|
33
|
+
additionalProperties: false
|
|
34
|
+
required: [fromTool, toTool]
|
|
35
|
+
properties:
|
|
36
|
+
fromTool: { type: string, minLength: 1, description: "Producer tool/step name." }
|
|
37
|
+
toTool: { type: string, minLength: 1, description: "Consumer tool/step name." }
|
|
38
|
+
slot:
|
|
39
|
+
type: string
|
|
40
|
+
minLength: 1
|
|
41
|
+
description: "Optional — when present, the diff also requires THIS slot to thread."
|
|
42
|
+
expectedUiSlots:
|
|
43
|
+
type: array
|
|
44
|
+
items: { type: string, minLength: 1 }
|
|
45
|
+
description: >-
|
|
46
|
+
Slots the subject's HTML artifact SHOULD render (EV-039/040, the operator's
|
|
47
|
+
HTML-artifact missing-data case): a value computed but absent from the HTML
|
|
48
|
+
is a missing-data leak. These aren't present in agent traces — supply them
|
|
49
|
+
AUTHORED (auto-gen leaves empty, TODO).
|
package/mutagent-evaluator/.claude/skills/mutagent-evaluator/schemas/methodology-review.schema.yaml
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# schemas/methodology-review.schema.yaml
|
|
2
|
+
# ============================================================================
|
|
3
|
+
# The SHAPE of the MR (methodology-review) rubric — §1.5 family.
|
|
4
|
+
#
|
|
5
|
+
# This is the SECOND requirement family: FITNESS, not conformance. It does not
|
|
6
|
+
# pass/fail a component; it interrogates the methodology's own decision-tree,
|
|
7
|
+
# workflow structure, and data-flow, and emits ranked recommendations to
|
|
8
|
+
# rearrange / improve the process. MR-1..9 (Tab-4 lens reads these).
|
|
9
|
+
# ============================================================================
|
|
10
|
+
$id: mutagent-evaluator/methodology-review
|
|
11
|
+
title: Subject Methodology-Review Rubric
|
|
12
|
+
type: object
|
|
13
|
+
required: [subject, version, generatedAt, items]
|
|
14
|
+
properties:
|
|
15
|
+
subject: { type: string, description: synthetic subject name (NDA) }
|
|
16
|
+
version: { type: string }
|
|
17
|
+
generatedAt: { type: string, description: injected; masked for byte-identity }
|
|
18
|
+
items:
|
|
19
|
+
type: array
|
|
20
|
+
description: the MR-1..9 rubric items (advisory, NOT pass/fail)
|
|
21
|
+
items:
|
|
22
|
+
type: object
|
|
23
|
+
required: [id, title, reads, how, family]
|
|
24
|
+
properties:
|
|
25
|
+
id:
|
|
26
|
+
type: string
|
|
27
|
+
description: MR-1 .. MR-9
|
|
28
|
+
title: { type: string }
|
|
29
|
+
reads:
|
|
30
|
+
type: string
|
|
31
|
+
description: the inputs this MR item reasons over (e.g. "behavior-tree + run outcomes")
|
|
32
|
+
how:
|
|
33
|
+
type: string
|
|
34
|
+
description: how the judge reasons over the inputs to emit a finding
|
|
35
|
+
family:
|
|
36
|
+
enum: [decision-tree-fitness, data-flow-efficiency, methodology-fitness, sequence-soundness, process-self-feedback, conformance-vs-fitness, signal-selection, confidence-derivation, focus-determination]
|
|
37
|
+
description: which fitness concern this item interrogates
|
|
38
|
+
advisory:
|
|
39
|
+
type: boolean
|
|
40
|
+
description: always true — MR items NEVER gate a run (decision #5 keeps GATE and TREND separate)
|