@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
package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/report.html.tpl
ADDED
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" data-theme="dark">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<title>{{TITLE}}</title>
|
|
6
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
7
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
8
|
+
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
|
9
|
+
<style>
|
|
10
|
+
:root{--bg:#0a0a12;--bg2:#14141d;--bg3:#1a1a25;--surf:#14141d;--surf-r:#1a1a25;--surf-e:#22222f;--surf-h:#22222f;--text:#eef1f6;--muted:#a6a2b4;--dim:#6a6678;--border:rgba(255,255,255,0.09);--bstr:rgba(255,255,255,0.16);--p:#b794f4;--p-strong:#7E47D7;--c:#45b8cc;--g:#43c39a;--y:#e8a64d;--r:#e06666;--m:#c9a8e6;--recommend:#67a0aa;--recommend-bg:rgba(103,160,170,0.05);--glow:rgba(126,71,215,0.15);--gglow:rgba(69,184,204,0.15);--fs:'Space Grotesk',system-ui,sans-serif;--fm:'IBM Plex Mono',ui-monospace,monospace;}
|
|
11
|
+
*{box-sizing:border-box;}body{margin:0;font-family:var(--fs);color:var(--text);background:var(--bg);font-size:14px;line-height:1.55;}
|
|
12
|
+
header.banner{background:var(--bg2);border-bottom:1px solid var(--bstr);padding:20px 32px;position:relative;}
|
|
13
|
+
header.banner::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--p-strong),var(--c),transparent);opacity:0.55;}
|
|
14
|
+
.brand{display:flex;align-items:baseline;gap:14px;margin-bottom:6px;}
|
|
15
|
+
.logo{font-family:var(--fs);font-weight:700;font-size:22px;letter-spacing:0.18em;background:linear-gradient(135deg,var(--primary-soft,var(--p)) 0%,var(--c) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
|
|
16
|
+
.product{font-size:14px;font-weight:500;color:var(--muted);letter-spacing:0.04em;}
|
|
17
|
+
.meta{font-size:11.5px;font-family:var(--fm);color:var(--muted);letter-spacing:0.02em;}
|
|
18
|
+
.meta .mk{color:var(--c);font-weight:600;}.meta .mv{color:var(--text);font-weight:600;}.meta .sep{color:var(--dim);margin:0 6px;}
|
|
19
|
+
/* tabs — ported from the evaluator report's unified-brand treatment: void background,
|
|
20
|
+
NO box-shadow (restrained brand), --fs-xs(12px) floor, subtle surf hover, and the
|
|
21
|
+
active tab underlines in the STRONG primary (--p-strong) for clear affordance. */
|
|
22
|
+
nav.tabs{background:var(--bg);border-bottom:1px solid var(--border);padding:0 12px;position:sticky;top:0;z-index:100;overflow-x:auto;white-space:nowrap;}
|
|
23
|
+
nav.tabs button{background:none;border:none;padding:10px 12px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;transition:all 0.15s;font-family:inherit;letter-spacing:0.01em;text-decoration:none;}
|
|
24
|
+
nav.tabs button:hover{color:var(--text);background:var(--surf);}
|
|
25
|
+
nav.tabs button.active{color:var(--p);border-bottom-color:var(--p-strong);font-weight:600;}
|
|
26
|
+
nav.tabs button.internal{color:var(--c);} nav.tabs button.internal.active{border-bottom-color:var(--c);}
|
|
27
|
+
nav.tabs button .sev-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle;}
|
|
28
|
+
.sev-crit{background:var(--r);}.sev-high{background:var(--y);}.sev-med{background:var(--c);}.sev-info{background:var(--dim);}
|
|
29
|
+
main{max-width:1200px;margin:0 auto;padding:28px 32px 140px 32px;}
|
|
30
|
+
.panel{display:none;}.panel.active{display:block;animation:fade 0.2s ease-out;}
|
|
31
|
+
@keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
|
|
32
|
+
h2{font-size:22px;font-weight:600;margin:0 0 8px 0;padding-bottom:10px;border-bottom:1px solid var(--bstr);color:var(--text);}
|
|
33
|
+
.sub{color:var(--muted);font-size:13px;margin-bottom:24px;}
|
|
34
|
+
h3{font-size:16px;font-weight:600;margin-top:24px;color:var(--p);}
|
|
35
|
+
h4{font-size:13px;font-weight:600;margin-top:14px;color:var(--text);text-transform:uppercase;letter-spacing:0.04em;font-family:var(--fm);}
|
|
36
|
+
p{line-height:1.6;color:var(--muted);}strong{color:var(--text);}
|
|
37
|
+
table{border-collapse:collapse;margin:12px 0;font-size:12px;width:100%;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
|
|
38
|
+
th,td{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top;color:var(--muted);}
|
|
39
|
+
th{background:var(--surf-r);font-weight:600;color:var(--text);}tr:nth-child(even) td{background:var(--bg3);}
|
|
40
|
+
code{background:var(--bg);color:var(--m);padding:2px 6px;border-radius:4px;font-size:max(11px,0.88em);font-family:var(--fm);border:1px solid var(--border);}
|
|
41
|
+
.crit{background:rgba(224,102,102,0.08);border-left:3px solid var(--r);padding:14px 18px;margin:14px 0;}.crit strong{color:var(--r);}
|
|
42
|
+
.warn{background:rgba(232,166,77,0.08);border-left:3px solid var(--y);padding:14px 18px;margin:14px 0;}.warn strong{color:var(--y);}
|
|
43
|
+
.alert{background:rgba(67,195,154,0.08);border-left:3px solid var(--g);padding:14px 18px;margin:14px 0;}.alert strong{color:var(--g);}
|
|
44
|
+
.internal-banner{background:rgba(69,184,204,0.08);border:1px dashed rgba(69,184,204,0.45);padding:10px 16px;margin:0 0 18px 0;font-family:var(--fm);font-size:11px;color:var(--c);letter-spacing:0.03em;}
|
|
45
|
+
.badge{display:inline-block;padding:2px 6px;font-size:11px;border-radius:3px;font-weight:600;letter-spacing:0.04em;font-family:var(--fm);margin-right:4px;}
|
|
46
|
+
.b-crit{background:rgba(224,102,102,0.18);color:var(--r);border:1px solid rgba(224,102,102,0.35);}
|
|
47
|
+
.b-high{background:rgba(232,166,77,0.18);color:var(--y);border:1px solid rgba(232,166,77,0.35);}
|
|
48
|
+
.b-med{background:rgba(69,184,204,0.18);color:var(--c);border:1px solid rgba(69,184,204,0.35);}
|
|
49
|
+
.b-info{background:rgba(112,112,136,0.18);color:var(--dim);border:1px solid rgba(112,112,136,0.35);}
|
|
50
|
+
.b-tool{background:rgba(201,168,230,0.15);color:var(--m);border:1px solid rgba(201,168,230,0.3);padding:2px 7px;border-radius:3px;font-family:var(--fm);font-size:11px;margin:2px;display:inline-block;}
|
|
51
|
+
.taxonomy{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px 0;}
|
|
52
|
+
.tax-chip{font-family:var(--fm);font-size:11px;padding:4px 8px;border-radius:4px;background:var(--surf-r);border:1px solid var(--border);color:var(--muted);}
|
|
53
|
+
.tax-chip strong{color:var(--p);font-weight:600;}
|
|
54
|
+
.whychain{margin:10px 0;padding:0;list-style:none;}
|
|
55
|
+
.whychain li{position:relative;padding:8px 0 8px 18px;font-size:13px;color:var(--muted);border-left:2px solid var(--border);margin-left:8px;}
|
|
56
|
+
.whychain li.origin{border-left-color:var(--r);color:var(--text);}
|
|
57
|
+
.whychain li.origin::after{content:'← ORIGIN';font-family:var(--fm);font-size:11px;color:var(--r);margin-left:8px;font-weight:600;letter-spacing:0.04em;}
|
|
58
|
+
.whychain li em{display:block;font-style:normal;color:var(--dim);font-size:11px;font-family:var(--fm);margin-top:3px;}
|
|
59
|
+
/* EV-1: trace narration line — "trace <id> — <whatHappened> «example»" */
|
|
60
|
+
.ev-narration{font-size:13px;color:var(--muted);}
|
|
61
|
+
.ev-narration code{font-family:var(--fm);font-size:11px;color:var(--p);}
|
|
62
|
+
.ev-example{display:block;margin-top:4px;font-style:normal;color:var(--dim);font-size:11px;font-family:var(--fm);quotes:none;}
|
|
63
|
+
.whychain li em .ev-example{margin-top:2px;}
|
|
64
|
+
.assumptions{background:rgba(232,166,77,0.06);border:1px solid rgba(232,166,77,0.25);border-radius:6px;padding:10px 14px;margin:12px 0;}
|
|
65
|
+
.assumptions h4{margin-top:0;color:var(--y);}
|
|
66
|
+
.assumptions li{font-size:12px;color:var(--muted);margin:4px 0;}
|
|
67
|
+
.assumptions .verified{color:var(--g);font-family:var(--fm);font-size:11px;}
|
|
68
|
+
.assumptions .unverified{color:var(--r);font-family:var(--fm);font-size:11px;}
|
|
69
|
+
.assumptions .hypothesis-pending{color:var(--y);font-family:var(--fm);font-size:11px;}
|
|
70
|
+
.remedy{background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:12px 14px;margin:10px 0;display:flex;align-items:flex-start;gap:12px;position:relative;}
|
|
71
|
+
.remedy.recommended{border:1px solid var(--recommend);border-left:3px solid var(--recommend);background:var(--recommend-bg);}
|
|
72
|
+
.remedy.recommended::before{content:'★ RECOMMENDED';position:absolute;top:-9px;left:12px;background:var(--recommend);color:var(--bg);font-family:var(--fm);font-size:11px;font-weight:700;letter-spacing:0.06em;padding:2px 8px;}
|
|
73
|
+
.remedy-cb{accent-color:var(--p);cursor:pointer;flex-shrink:0;margin-top:3px;}
|
|
74
|
+
.remedy.recommended .remedy-cb{accent-color:var(--g);}
|
|
75
|
+
.remedy-id{font-family:var(--fm);font-weight:700;color:var(--c);font-size:11px;min-width:95px;padding-top:1px;}
|
|
76
|
+
.remedy.recommended .remedy-id{color:var(--g);}
|
|
77
|
+
.remedy-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}.remedy-what{font-weight:500;color:var(--text);font-size:13px;line-height:1.5;}
|
|
78
|
+
.remedy-meta{font-family:var(--fm);font-size:11px;color:var(--dim);margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
|
|
79
|
+
.rank-pill{font-family:var(--fm);font-size:11px;font-weight:700;padding:1px 7px;border-radius:3px;background:var(--surf-e);color:var(--muted);border:1px solid var(--bstr);}
|
|
80
|
+
.apply-pill{font-family:var(--fm);font-size:11px;padding:1px 7px;border-radius:3px;}
|
|
81
|
+
.apply-code{background:rgba(224,102,102,0.15);color:var(--r);border:1px solid rgba(224,102,102,0.3);}
|
|
82
|
+
.apply-prompt{background:rgba(126,71,215,0.15);color:var(--p);border:1px solid rgba(126,71,215,0.3);}
|
|
83
|
+
.apply-config{background:rgba(69,184,204,0.15);color:var(--c);border:1px solid rgba(69,184,204,0.3);}
|
|
84
|
+
.apply-none{background:rgba(112,112,136,0.15);color:var(--dim);border:1px solid rgba(112,112,136,0.3);}
|
|
85
|
+
.b-cost-low{background:rgba(67,195,154,0.18);color:var(--g);border:1px solid rgba(67,195,154,0.35);padding:1px 6px;border-radius:3px;}
|
|
86
|
+
.b-cost-med{background:rgba(232,166,77,0.18);color:var(--y);border:1px solid rgba(232,166,77,0.35);padding:1px 6px;border-radius:3px;}
|
|
87
|
+
.b-cost-high{background:rgba(224,102,102,0.18);color:var(--r);border:1px solid rgba(224,102,102,0.35);padding:1px 6px;border-radius:3px;}
|
|
88
|
+
.entity{background:var(--surf-r);border:1px solid var(--bstr);border-radius:10px;padding:18px 20px;margin:16px 0;}
|
|
89
|
+
.entity-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;}
|
|
90
|
+
.entity-name{font-size:18px;font-weight:700;color:var(--text);}
|
|
91
|
+
.entity-grid{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:13px;}
|
|
92
|
+
.entity-grid .k{color:var(--dim);font-family:var(--fm);font-size:11px;text-transform:uppercase;letter-spacing:0.04em;padding-top:3px;}
|
|
93
|
+
.entity-grid .v{color:var(--muted);}
|
|
94
|
+
.access-yes{color:var(--g);font-weight:600;}.access-no{color:var(--r);font-weight:600;}
|
|
95
|
+
details.expand{margin-top:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg2);}
|
|
96
|
+
details.expand summary{cursor:pointer;padding:9px 12px;font-family:var(--fm);font-size:11px;color:var(--c);font-weight:600;list-style:none;}
|
|
97
|
+
details.expand summary::-webkit-details-marker{display:none;}
|
|
98
|
+
details.expand summary::before{content:'▶ ';color:var(--dim);}details.expand[open] summary::before{content:'▼ ';}
|
|
99
|
+
details.expand pre{margin:0;padding:12px;background:#0a0a14;color:#c4c4d4;font-family:var(--fm);font-size:11px;white-space:pre-wrap;word-break:break-word;border-top:1px solid var(--border);max-height:340px;overflow:auto;border-radius:0 0 6px 6px;}
|
|
100
|
+
.f-desc{margin:10px 0;font-size:13px;color:var(--muted);line-height:1.6;}
|
|
101
|
+
.f-desc strong{color:var(--text);}
|
|
102
|
+
.big-stat{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0;}
|
|
103
|
+
.big-stat .s{background:var(--surf-r);border:1px solid var(--border);border-radius:8px;padding:12px 16px;min-width:96px;}
|
|
104
|
+
.big-stat .v{font-size:22px;font-weight:700;font-family:var(--fm);}
|
|
105
|
+
.big-stat .l{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:0.06em;margin-top:2px;}
|
|
106
|
+
/* scan-coverage funnel */
|
|
107
|
+
.funnel{display:flex;align-items:stretch;gap:0;margin:14px 0;border-radius:8px;overflow:hidden;border:1px solid var(--border);}
|
|
108
|
+
.funnel .seg{padding:12px 16px;display:flex;flex-direction:column;justify-content:center;position:relative;}
|
|
109
|
+
.funnel .seg .fv{font-family:var(--fm);font-weight:700;font-size:20px;}
|
|
110
|
+
.funnel .seg .fl{font-size:11px;text-transform:uppercase;letter-spacing:0.05em;margin-top:2px;}
|
|
111
|
+
.funnel .seg .fp{font-family:var(--fm);font-size:11px;opacity:0.7;margin-top:2px;}
|
|
112
|
+
.funnel .s-total{background:var(--surf-r);flex:3;}
|
|
113
|
+
.funnel .s-code{background:rgba(69,184,204,0.10);flex:3;border-left:1px solid var(--border);}
|
|
114
|
+
.funnel .s-llm{background:rgba(126,71,215,0.12);flex:1;border-left:1px solid var(--border);}
|
|
115
|
+
.funnel .s-total .fv{color:var(--text);}.funnel .s-code .fv{color:var(--c);}.funnel .s-llm .fv{color:var(--p);}
|
|
116
|
+
/* heatmap */
|
|
117
|
+
.heat{display:flex;flex-wrap:wrap;gap:3px;margin:12px 0;}
|
|
118
|
+
.heat .cell{width:42px;height:42px;border-radius:5px;border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--fm);cursor:default;}
|
|
119
|
+
.heat .cell .ch{font-size:11px;color:rgba(255,255,255,0.55);}
|
|
120
|
+
.heat .cell .cn{font-size:11px;font-weight:600;color:#fff;}
|
|
121
|
+
.heat-legend{display:flex;gap:10px;align-items:center;font-family:var(--fm);font-size:11px;color:var(--dim);margin-top:6px;}
|
|
122
|
+
.heat-legend .sw{width:14px;height:14px;border-radius:3px;display:inline-block;vertical-align:middle;margin-right:3px;}
|
|
123
|
+
.l0{background:rgba(67,195,154,0.25);}.l1{background:rgba(232,166,77,0.28);}.l2{background:rgba(232,166,77,0.40);}.l3{background:rgba(224,102,102,0.42);}.l4{background:rgba(224,102,102,0.58);}
|
|
124
|
+
.mermaid{background:var(--surf-r);border:1px solid var(--bstr);border-radius:8px;padding:18px;margin:14px 0;text-align:center;overflow-x:auto;}
|
|
125
|
+
.action-bar{position:fixed;bottom:24px;right:24px;display:flex;gap:10px;z-index:1000;}
|
|
126
|
+
.action-bar button{padding:11px 18px;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,0.35);font-family:var(--fs);}
|
|
127
|
+
.action-bar button#reset-all{background:var(--surf-e);color:var(--muted);border:1px solid var(--bstr);}
|
|
128
|
+
/* D2: the Copy-decisions CTA is the PRIMARY action of the Decisions panel — it lives
|
|
129
|
+
INSIDE that panel (renderDecisionsTab) and sticks to the panel's top-right edge just
|
|
130
|
+
below the sticky tab bar. The transparent bar lets content scroll under it on the
|
|
131
|
+
left while the opaque purple button covers it on the right. */
|
|
132
|
+
.decisions-cta-bar{position:sticky;top:44px;z-index:50;display:flex;justify-content:flex-end;margin:-8px 0 14px 0;pointer-events:none;}
|
|
133
|
+
.decisions-cta-bar button#copy-decisions{pointer-events:auto;background:var(--p-strong);color:#fff;border:1px solid var(--p);padding:11px 18px;cursor:pointer;font-size:13px;font-weight:600;box-shadow:0 2px 10px rgba(0,0,0,0.45);font-family:var(--fs);}
|
|
134
|
+
.decisions-cta-bar button#copy-decisions:hover{filter:brightness(1.08);}
|
|
135
|
+
.approved-count{position:fixed;bottom:24px;left:24px;background:var(--surf-e);border:1px solid var(--bstr);border-radius:8px;padding:9px 16px;font-family:var(--fm);font-size:12px;color:var(--muted);z-index:1000;}
|
|
136
|
+
.approved-count strong{color:var(--p);font-weight:700;}
|
|
137
|
+
.remedy-notes{width:100%;margin-top:8px;min-height:40px;padding:7px 10px;font-family:var(--fm);font-size:11px;background:#0a0a14;color:var(--text);border:1px solid var(--bstr);border-radius:4px;resize:vertical;line-height:1.45;}
|
|
138
|
+
.remedy-notes::placeholder{color:var(--dim);font-style:italic;}
|
|
139
|
+
.remedy-notes:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 2px rgba(126,71,215,0.15);}
|
|
140
|
+
.gfeedback{background:var(--surf-e);border:1px solid var(--bstr);border-radius:10px;padding:18px 20px;margin:16px 0;}
|
|
141
|
+
.gfeedback h4{margin:0 0 8px 0;color:var(--p);font-size:12px;text-transform:uppercase;letter-spacing:0.06em;font-family:var(--fm);}
|
|
142
|
+
.gfeedback textarea{width:100%;min-height:120px;padding:11px 14px;font-family:var(--fm);font-size:13px;background:#0a0a14;color:var(--text);border:1px solid var(--bstr);border-radius:8px;resize:vertical;line-height:1.6;}
|
|
143
|
+
.gfeedback textarea::placeholder{color:var(--dim);font-style:italic;}
|
|
144
|
+
.gfeedback textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 2px rgba(126,71,215,0.15);}
|
|
145
|
+
/* Wave-6 R2.5 — coverage proof */
|
|
146
|
+
.coverage-proof{margin:16px 0;}
|
|
147
|
+
/* PRD-CC-05 — canonical remedy card anatomy (D1/D3/D4/D5/D6) */
|
|
148
|
+
.remedy-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
|
|
149
|
+
.remedy-rank-id{display:flex;align-items:center;gap:6px;flex-shrink:0;}
|
|
150
|
+
.r-rationale{background:rgba(126,71,215,0.10);border-left:3px solid var(--p);padding:10px 14px;margin:10px 0;}
|
|
151
|
+
.r-why-works{background:rgba(69,184,204,0.10);border-left:3px solid var(--c);padding:10px 14px;margin:10px 0;}
|
|
152
|
+
.r-rationale p,.r-why-works p{margin:4px 0 0 0;font-size:13px;color:var(--muted);line-height:1.55;}
|
|
153
|
+
.r-block-label{font-family:var(--fm);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--dim);}
|
|
154
|
+
.r-rationale .r-block-label{color:var(--p);}
|
|
155
|
+
.r-why-works .r-block-label{color:var(--c);}
|
|
156
|
+
.r-target{border:1px dashed var(--border);border-radius:5px;padding:7px 12px;margin:8px 0;display:flex;align-items:center;gap:8px;font-size:12px;}
|
|
157
|
+
.r-target-label{font-family:var(--fm);font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--dim);flex-shrink:0;}
|
|
158
|
+
.r-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0;}
|
|
159
|
+
.diff-col{display:flex;flex-direction:column;}
|
|
160
|
+
.diff-col pre{margin:0;padding:10px;background:#0a0a14;color:#c4c4d4;font-family:var(--fm);font-size:11px;white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);border-radius:0 0 5px 5px;flex:1;}
|
|
161
|
+
.diff-label{padding:4px 10px;font-family:var(--fm);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border-radius:5px 5px 0 0;}
|
|
162
|
+
.diff-label.label-before{background:rgba(224,102,102,0.18);color:var(--r);}
|
|
163
|
+
.diff-label.label-after{background:rgba(67,195,154,0.18);color:var(--g);}
|
|
164
|
+
/* W12-08: source-not-found caveat shown in place of the Before/After grid (PR-052 proposed). */
|
|
165
|
+
.r-diff-caveat{border:1px dashed var(--y);border-radius:5px;padding:10px 12px;margin:10px 0;background:rgba(232,166,77,0.07);}
|
|
166
|
+
.r-diff-caveat-label{font-family:var(--fm);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--y);margin-bottom:5px;}
|
|
167
|
+
.r-diff-caveat p{margin:0;font-size:12px;color:var(--dim);}
|
|
168
|
+
.r-apply-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0;}
|
|
169
|
+
.apply-col{background:var(--surf-e);border:1px solid var(--border);border-radius:6px;padding:12px 14px;}
|
|
170
|
+
.apply-col-empty{opacity:0.6;}
|
|
171
|
+
.apply-col-label{font-family:var(--fm);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--c);margin-bottom:6px;}
|
|
172
|
+
.r-apply-plan,.r-apply-instr{margin:6px 0;padding-left:16px;font-size:12px;color:var(--muted);}
|
|
173
|
+
.r-apply-plan li,.r-apply-instr li{margin:3px 0;}
|
|
174
|
+
.r-verify-label{font-family:var(--fm);font-size:11px;text-transform:uppercase;color:var(--dim);margin-top:6px;}
|
|
175
|
+
.r-acceptance{font-size:12px;color:var(--g);margin-top:6px;font-style:italic;}
|
|
176
|
+
.r-commit{font-size:11px;color:var(--dim);margin-top:4px;}
|
|
177
|
+
.r-line-range{color:var(--dim);font-size:11px;}
|
|
178
|
+
.r-muted{font-size:12px;color:var(--dim);margin:4px 0 0 0;}
|
|
179
|
+
.r-count{font-family:var(--fm);font-size:11px;color:var(--dim);font-weight:400;}
|
|
180
|
+
/* PRD-CC-05 — feedback block (D5/D9 — no emojis) */
|
|
181
|
+
.feedback-list{margin:12px 0;}
|
|
182
|
+
.feedback-list h3{margin-top:0;color:var(--c);}
|
|
183
|
+
.fb-item{border-radius:6px;padding:10px 14px;margin:8px 0;border-left:3px solid var(--border);}
|
|
184
|
+
.fb-item blockquote{margin:6px 0 0 0;font-size:13px;color:var(--muted);border-left:none;padding:0;}
|
|
185
|
+
.fb-item.fb-chat{border-left-color:var(--c);background:rgba(69,184,204,0.07);}
|
|
186
|
+
.fb-item.fb-trace-score{border-left-color:var(--y);background:rgba(232,166,77,0.07);}
|
|
187
|
+
.fb-item.fb-external{border-left-color:var(--p);background:rgba(126,71,215,0.07);}
|
|
188
|
+
.fb-head{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
|
|
189
|
+
.fb-source-type{font-family:var(--fm);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;}
|
|
190
|
+
.fb-item.fb-chat .fb-source-type{color:var(--c);}
|
|
191
|
+
.fb-item.fb-trace-score .fb-source-type{color:var(--y);}
|
|
192
|
+
.fb-item.fb-external .fb-source-type{color:var(--p);}
|
|
193
|
+
.fb-score-note{font-family:var(--fm);font-size:11px;color:var(--dim);}
|
|
194
|
+
/* PRD-CC-05 — targetClass + changeType pills */
|
|
195
|
+
.tclass-pill{font-family:var(--fm);font-size:11px;padding:1px 7px;border-radius:3px;}
|
|
196
|
+
.tclass-local-agent{background:rgba(126,71,215,0.15);color:var(--p);border:1px solid rgba(126,71,215,0.3);}
|
|
197
|
+
.tclass-local-code-construct{background:rgba(69,184,204,0.15);color:var(--c);border:1px solid rgba(69,184,204,0.3);}
|
|
198
|
+
.tclass-remote{background:rgba(232,166,77,0.15);color:var(--y);border:1px solid rgba(232,166,77,0.3);}
|
|
199
|
+
.ctype-pill{font-family:var(--fm);font-size:11px;padding:1px 7px;border-radius:3px;}
|
|
200
|
+
.ctype-add{background:rgba(67,195,154,0.15);color:var(--g);border:1px solid rgba(67,195,154,0.3);}
|
|
201
|
+
.ctype-modify{background:rgba(69,184,204,0.15);color:var(--c);border:1px solid rgba(69,184,204,0.3);}
|
|
202
|
+
.ctype-replace{background:rgba(126,71,215,0.15);color:var(--p);border:1px solid rgba(126,71,215,0.3);}
|
|
203
|
+
.ctype-delete{background:rgba(224,102,102,0.15);color:var(--r);border:1px solid rgba(224,102,102,0.3);}
|
|
204
|
+
/* PRD-CC-05 — correctness badge */
|
|
205
|
+
.b-correctness-low{background:rgba(224,102,102,0.18);color:var(--r);border:1px solid rgba(224,102,102,0.35);padding:1px 6px;border-radius:3px;}
|
|
206
|
+
.b-correctness-med{background:rgba(232,166,77,0.18);color:var(--y);border:1px solid rgba(232,166,77,0.35);padding:1px 6px;border-radius:3px;}
|
|
207
|
+
.b-correctness-high{background:rgba(67,195,154,0.18);color:var(--g);border:1px solid rgba(67,195,154,0.35);padding:1px 6px;border-radius:3px;}
|
|
208
|
+
/* PRD-CC-06 — live preview textarea in Decisions panel */
|
|
209
|
+
.live-preview{background:var(--surf-e);border:1px solid var(--bstr);border-radius:8px;padding:14px 16px;margin:16px 0;}
|
|
210
|
+
.lp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
|
|
211
|
+
.lp-label{font-family:var(--fm);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--c);}
|
|
212
|
+
.lp-meta{font-family:var(--fm);font-size:11px;color:var(--dim);}
|
|
213
|
+
.lp-body{width:100%;min-height:160px;padding:10px 12px;font-family:var(--fm);font-size:11px;background:#0a0a14;color:#c4c4d4;border:1px solid var(--bstr);border-radius:6px;resize:vertical;line-height:1.5;}
|
|
214
|
+
/* PRD-SD-06 — decisions subject row */
|
|
215
|
+
.decisions-subject-row{font-family:var(--fm);font-size:12px;color:var(--dim);margin:8px 0;padding:6px 10px;background:var(--surf-r);border-radius:5px;display:flex;gap:8px;align-items:center;}
|
|
216
|
+
/* Wave-6 R2.4 — methodology widgets (tier pie · selection cards · trace) */
|
|
217
|
+
.pie-legend{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 4px 0;font-size:12px;font-family:var(--fm);}
|
|
218
|
+
.pie-leg{display:inline-flex;align-items:center;gap:6px;color:var(--muted);}
|
|
219
|
+
.pie-sw{display:inline-block;width:12px;height:12px;border-radius:3px;}
|
|
220
|
+
.sel-cards{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0;}
|
|
221
|
+
.sel-card{flex:1 1 220px;background:var(--surf-e);border:1px solid var(--bstr);border-radius:8px;padding:12px 14px;}
|
|
222
|
+
.sel-card-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
|
|
223
|
+
.sel-card-body{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;}
|
|
224
|
+
.sel-k{text-transform:uppercase;letter-spacing:0.05em;font-size:11px;color:var(--dim);font-family:var(--fm);}
|
|
225
|
+
/* D3: richer dataset-candidate detail rows — each links the discovered signal to its
|
|
226
|
+
finding's RCA narrative (scenario · edge-case · why-failed · why-high-value · prevents). */
|
|
227
|
+
.sel-detail{font-size:12px;color:var(--muted);line-height:1.5;margin-top:7px;width:100%;}
|
|
228
|
+
.sel-detail .sel-k{display:block;margin-bottom:1px;color:var(--c);}
|
|
229
|
+
.sel-detail.sel-prevents .sel-k{color:var(--g);}
|
|
230
|
+
.sel-detail.sel-value .sel-k{color:var(--p);}
|
|
231
|
+
/* design-system: SHARP corners (radius 0) is the brand — enforce across every element,
|
|
232
|
+
including inline-styled nodes emitted by render.ts and the structured-report template. */
|
|
233
|
+
*,*::before,*::after{border-radius:0!important;}
|
|
234
|
+
</style></head><body>
|
|
235
|
+
<header class="banner">
|
|
236
|
+
<div class="brand"><div class="logo">MUTAGENT</div><div class="product">{{HEADER_TITLE}}</div></div>
|
|
237
|
+
<div class="meta">{{HEADER_META}}</div>
|
|
238
|
+
</header>
|
|
239
|
+
{{INTERNAL_BANNER_FORCE}}
|
|
240
|
+
|
|
241
|
+
<nav class="tabs" id="tabnav">{{TAB_NAV_HTML}}</nav>
|
|
242
|
+
|
|
243
|
+
<main>
|
|
244
|
+
{{INTERNAL_BANNER_HTML}}
|
|
245
|
+
{{METHODOLOGY_PANEL_HTML}}
|
|
246
|
+
{{OVERVIEW_PANEL_HTML}}
|
|
247
|
+
{{FUNNEL_HEATMAP_HTML}}
|
|
248
|
+
{{FINDING_PANELS_HTML}}
|
|
249
|
+
{{DECISIONS_PANEL_HTML}}
|
|
250
|
+
</main>
|
|
251
|
+
|
|
252
|
+
<div class="approved-count">Selected: <strong id="approved-count">0</strong> of {{APPROVED_COUNT_DENOMINATOR}}</div>
|
|
253
|
+
<div class="action-bar"><button id="reset-all">Reset all</button></div>
|
|
254
|
+
|
|
255
|
+
<!-- generated: {{GENERATED_AT}} -->
|
|
256
|
+
{{FINDINGS_JSONLD}}
|
|
257
|
+
{{MERMAID_SCRIPT_HTML}}
|
|
258
|
+
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
|
259
|
+
<script>
|
|
260
|
+
try { mermaid.initialize({ startOnLoad: true, theme: 'dark', themeVariables: { primaryColor:'#1a1a25', primaryTextColor:'#eef1f6', primaryBorderColor:'#7E47D7', lineColor:'#b794f4', actorBkg:'#1a1a25', actorBorder:'#7E47D7', actorTextColor:'#eef1f6', noteBkgColor:'#22222f', noteTextColor:'#a6a2b4', noteBorderColor:'#45b8cc' }, securityLevel:'loose' }); } catch(e) {}
|
|
261
|
+
document.querySelectorAll('nav.tabs button').forEach(function(btn){
|
|
262
|
+
btn.addEventListener('click', function(){
|
|
263
|
+
var t = btn.dataset.tab;
|
|
264
|
+
document.querySelectorAll('nav.tabs button').forEach(function(b){ b.classList.remove('active'); });
|
|
265
|
+
btn.classList.add('active');
|
|
266
|
+
document.querySelectorAll('.panel').forEach(function(p){ p.classList.remove('active'); });
|
|
267
|
+
var panel = document.getElementById(t);
|
|
268
|
+
if (panel) panel.classList.add('active');
|
|
269
|
+
window.scrollTo({top:0,behavior:'instant'});
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
// inject per-remedy notes textareas (idempotent — W12-04 restored the
|
|
273
|
+
// `.remedy-body` wrapper, and renderRemedyCard now emits its own `.remedy-notes`
|
|
274
|
+
// inside it; skip injection when one already exists to avoid double textareas)
|
|
275
|
+
document.querySelectorAll('.remedy').forEach(function(r){
|
|
276
|
+
var body = r.querySelector('.remedy-body'); if (!body) return;
|
|
277
|
+
if (body.querySelector('.remedy-notes')) return;
|
|
278
|
+
var ta = document.createElement('textarea');
|
|
279
|
+
ta.className = 'remedy-notes';
|
|
280
|
+
ta.placeholder = 'Notes / conditions on this remedy — voice-dump welcome (overrides, caveats, why-not)…';
|
|
281
|
+
body.appendChild(ta);
|
|
282
|
+
});
|
|
283
|
+
function updateApprovedCount(){ document.getElementById('approved-count').textContent = document.querySelectorAll('.remedy-cb:checked').length; }
|
|
284
|
+
document.querySelectorAll('.remedy-cb').forEach(function(cb){ cb.addEventListener('change', updateApprovedCount); });
|
|
285
|
+
updateApprovedCount();
|
|
286
|
+
var _copyBtn0 = document.getElementById('copy-decisions');
|
|
287
|
+
if (_copyBtn0) _copyBtn0.addEventListener('click', function(){
|
|
288
|
+
var txt=function(e){return e?e.textContent.trim().replace(/\s+/g,' '):'';};
|
|
289
|
+
var lines = ['# Approved Remedies (handoff)','','Generated: ' + new Date().toISOString(),'','---',''];
|
|
290
|
+
var checked = Array.from(document.querySelectorAll('.remedy-cb:checked'));
|
|
291
|
+
if (checked.length === 0) { lines.push('_No remedies selected._'); }
|
|
292
|
+
else { checked.forEach(function(cb){
|
|
293
|
+
var card = cb.closest('.remedy'); var panel = cb.closest('.panel');
|
|
294
|
+
var rid = cb.dataset.id || '?'; var fid = cb.dataset.finding || '?';
|
|
295
|
+
var rec = card.classList.contains('recommended') ? ' ★RECOMMENDED' : '';
|
|
296
|
+
var apply = card.querySelector('.apply-pill') ? card.querySelector('.apply-pill').textContent.trim() : '';
|
|
297
|
+
var cost=''; card.querySelectorAll('.remedy-meta span').forEach(function(s){ if(/cost:/.test(s.textContent)) cost=s.textContent.trim(); });
|
|
298
|
+
var what = txt(card.querySelector('.remedy-what'));
|
|
299
|
+
var fhead = panel ? txt(panel.querySelector('h2')) : '';
|
|
300
|
+
var tax = panel ? Array.from(panel.querySelectorAll('.taxonomy .tax-chip')).map(function(c){return txt(c);}).join(' · ') : '';
|
|
301
|
+
var evid = panel ? txt(panel.querySelector('h3 + p')) : '';
|
|
302
|
+
var origin = panel ? txt(panel.querySelector('.whychain li.origin')) : '';
|
|
303
|
+
var assume = panel ? Array.from(panel.querySelectorAll('.assumptions li')).map(function(l){return txt(l);}) : [];
|
|
304
|
+
lines.push('## ' + rid + ' (' + fid + ')' + rec + ' [' + apply + (cost?' · '+cost:'') + ']');
|
|
305
|
+
lines.push('**Remedy:** ' + what);
|
|
306
|
+
if (fhead) lines.push('**Finding:** ' + fhead);
|
|
307
|
+
if (tax) lines.push('**Taxonomy:** ' + tax);
|
|
308
|
+
if (origin) lines.push('**Root cause (origin):** ' + origin);
|
|
309
|
+
if (evid) lines.push('**Evidence:** ' + evid);
|
|
310
|
+
if (assume.length){ lines.push('**Assumptions:**'); assume.forEach(function(a){ lines.push('- ' + a); }); }
|
|
311
|
+
var note = card.querySelector('.remedy-notes');
|
|
312
|
+
if (note && note.value.trim()) { lines.push('**Operator notes:**'); note.value.trim().split(/\r?\n/).forEach(function(ln){ lines.push('> ' + ln); }); }
|
|
313
|
+
lines.push('');
|
|
314
|
+
}); }
|
|
315
|
+
var rejected = Array.from(document.querySelectorAll('.remedy-cb:not(:checked)')).filter(function(cb){ var t=cb.closest('.remedy').querySelector('.remedy-notes'); return t && t.value.trim(); });
|
|
316
|
+
if (rejected.length){ lines.push('---'); lines.push(''); lines.push('## Not selected (with rationale)'); lines.push(''); rejected.forEach(function(cb){
|
|
317
|
+
var card=cb.closest('.remedy'); var rid=cb.dataset.id||'?'; var fid=cb.dataset.finding||'?';
|
|
318
|
+
lines.push('- [ ] `'+rid+'` ('+fid+') — '+txt(card.querySelector('.remedy-what'))); card.querySelector('.remedy-notes').value.trim().split(/\r?\n/).forEach(function(ln){ lines.push(' > '+ln); });
|
|
319
|
+
}); lines.push(''); }
|
|
320
|
+
var gf = document.getElementById('general-feedback');
|
|
321
|
+
if (gf && gf.value.trim()){ lines.push('---'); lines.push(''); lines.push('## General feedback'); lines.push(''); lines.push(gf.value.trim()); lines.push(''); }
|
|
322
|
+
var text = lines.join('\n');
|
|
323
|
+
navigator.clipboard.writeText(text).then(function(){ var b=document.getElementById('copy-decisions'),o=b.textContent; b.textContent='Copied ✓ — paste in chat'; setTimeout(function(){b.textContent=o;},2200); }).catch(function(){ window.prompt('Copy:', text); });
|
|
324
|
+
});
|
|
325
|
+
document.getElementById('reset-all').addEventListener('click', function(){ if(!confirm('Reset all selections + notes?'))return; document.querySelectorAll('.remedy-cb').forEach(function(cb){cb.checked=false;}); document.querySelectorAll('.remedy-notes').forEach(function(t){t.value='';}); var gf=document.getElementById('general-feedback'); if(gf)gf.value=''; updateApprovedCount(); });
|
|
326
|
+
</script>
|
|
327
|
+
</body></html>
|
package/mutagent-diagnostics/.claude/skills/mutagent-diagnostics/assets/templates/shared/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Bundled shared templates (self-contained)
|
|
2
|
+
|
|
3
|
+
These install-time-copy templates were historically distributed via the peer
|
|
4
|
+
package `@mutagent/templates`. As of the npm public release of
|
|
5
|
+
`@mutagent/diagnostics`, they are **bundled directly into this package** so the
|
|
6
|
+
skill ships fully self-contained — `init` works offline from the package alone,
|
|
7
|
+
with **no peer-install and no dependency on `@mutagent/templates`**.
|
|
8
|
+
|
|
9
|
+
| File | Purpose |
|
|
10
|
+
|------|---------|
|
|
11
|
+
| `self-diagnosis-contract.v0.1.0.yaml.tpl` | Frozen v0.1.0 contract schema a target repo declares to opt into structured 10-category reports |
|
|
12
|
+
| `spec.yaml.tpl` | afkloop goal + termination-gate spec scaffold |
|
|
13
|
+
| `team.yaml.tpl` | actor/verifier team scaffold |
|
|
14
|
+
| `iter-N-handover.md.tpl` | per-iteration dispatch-brief scaffold |
|
|
15
|
+
| `wave-N-dashboard.html.tpl` | operator-facing wave dashboard scaffold |
|
|
16
|
+
|
|
17
|
+
## Resolution
|
|
18
|
+
|
|
19
|
+
Runtime code locates this directory via `sharedTemplatesDir()` in
|
|
20
|
+
`scripts/cli/shared-templates.ts` (canonical path
|
|
21
|
+
`<skill-root>/assets/templates/shared/`), mirroring how `report/render.ts`
|
|
22
|
+
resolves `assets/templates/report.html.tpl`. Because the directory lives inside
|
|
23
|
+
the shipped skill tree, the cross-platform installer (`init`) copies it as part
|
|
24
|
+
of the normal skill-directory copy — no separate fetch step is required.
|
|
25
|
+
|
|
26
|
+
> Tier-2 runtime asset. Ships with the package. Do NOT move under `internal/`
|
|
27
|
+
> (that path is stripped on publish).
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# iter-{{N}}-handover.md — {{wave_id}} {{phase_label}}
|
|
2
|
+
|
|
3
|
+
> **MANDATORY PRE-READ** for Actor + Verifier of `{{wave_id}}-iter-{{N}}`.
|
|
4
|
+
> Pre-staged during autonomous burn. Read in entirety BEFORE editing.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## §0 — One-line summary
|
|
9
|
+
|
|
10
|
+
{{summary_one_liner}}
|
|
11
|
+
|
|
12
|
+
> **Predecessor**: {{predecessor_ref}}.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## §1 — Environment + Hard constraints
|
|
17
|
+
|
|
18
|
+
| Setting | Value |
|
|
19
|
+
|---|---|
|
|
20
|
+
| **Worktree path** | `{{worktree_path}}` |
|
|
21
|
+
| **Branch** | `{{branch}}` |
|
|
22
|
+
| **Trunk PR** | {{trunk_pr_ref}} — OPEN, do NOT merge to main |
|
|
23
|
+
| **Baseline HEAD** | `{{baseline_sha}}` ({{baseline_note}}) |
|
|
24
|
+
|
|
25
|
+
**Hard constraints (UNCHANGED):**
|
|
26
|
+
- ❌ Do NOT merge to `main`.
|
|
27
|
+
- ❌ Do NOT touch `.github/workflows/`, `Dockerfile`, `tsconfig*.json`, `bunfig.toml`, root checkout.
|
|
28
|
+
- ❌ Do NOT skip pre-commit hooks (`--no-verify` FORBIDDEN per `feedback_correctness_discipline`).
|
|
29
|
+
- ❌ Do NOT add `process.env.DISABLE_*` / `ENABLE_*` rollback knobs.
|
|
30
|
+
{{additional_hard_constraints}}
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## §2 — In-scope work
|
|
35
|
+
|
|
36
|
+
{{in_scope_table_or_prose}}
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## §3 — Cross-dependency callout
|
|
41
|
+
|
|
42
|
+
{{cross_dep_callout}}
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## §4 — Within-phase ordering (suggested)
|
|
47
|
+
|
|
48
|
+
{{ordering_steps}}
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## §5 — Acceptance commands
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
{{acceptance_commands}}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## §6 — Final-Status PR comment (template Actor fills + posts)
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
## 🏁 {{phase_label}} — Final Status
|
|
64
|
+
|
|
65
|
+
### Decisions table
|
|
66
|
+
|
|
67
|
+
| Decision | Choice | WHY |
|
|
68
|
+
|---|---|---|
|
|
69
|
+
{{decisions_table_rows}}
|
|
70
|
+
|
|
71
|
+
### Commit chain
|
|
72
|
+
|
|
73
|
+
{{commit_chain_summary}}
|
|
74
|
+
|
|
75
|
+
### Status
|
|
76
|
+
|
|
77
|
+
{{final_status_summary}}
|
|
78
|
+
|
|
79
|
+
**DO NOT merge {{trunk_pr_ref}} to main** until operator green-lights.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## §7 — Verifier-only ground-truth probes
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
{{verifier_probes}}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## §8 — Known gotchas
|
|
93
|
+
|
|
94
|
+
{{known_gotchas_table}}
|
|
95
|
+
|
|
96
|
+
### Carried forward (from prior iterations)
|
|
97
|
+
|
|
98
|
+
{{carried_forward_gotchas}}
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## §9 — Memory rules in force
|
|
103
|
+
|
|
104
|
+
{{memory_rules_list}}
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## §10 — Exit criteria (PASS)
|
|
109
|
+
|
|
110
|
+
All of:
|
|
111
|
+
{{exit_criteria_bullets}}
|
|
112
|
+
|
|
113
|
+
On PASS → {{on_pass_next_step}}.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## §11 — Failure modes
|
|
118
|
+
|
|
119
|
+
| Symptom | Verdict |
|
|
120
|
+
|---|---|
|
|
121
|
+
{{failure_modes_table_rows}}
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
End of iter-{{N}}-handover.md. After this iteration: {{post_iter_next_action}}.
|