@polymorphism-tech/morph-spec 9.0.0 → 9.2.0
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.md +8 -9
- package/README.md +38 -36
- package/bin/morph-spec.js +11 -63
- package/bin/validate.js +1 -39
- package/claude-plugin.json +1 -1
- package/docs/CHEATSHEET.md +1 -1
- package/docs/QUICKSTART.md +1 -1
- package/framework/CLAUDE.md +2 -1
- package/framework/MORPH.md +3 -3
- package/framework/agents.json +19 -11
- package/framework/commands/morph-apply.md +1 -1
- package/framework/commands/morph-status.md +1 -1
- package/framework/docs/CLI.md +22 -31
- package/framework/evals/review-checklist.md +12 -2
- package/framework/hooks/README.md +8 -44
- package/framework/hooks/claude-code/core/block-destructive-worktree-removal.js +6 -49
- package/framework/hooks/claude-code/core/block-raw-worktree-add.js +2 -35
- package/framework/hooks/claude-code/core/chain.js +4 -65
- package/framework/hooks/claude-code/core/comment-guard.js +2 -16
- package/framework/hooks/claude-code/core/enforce-phase-writes.js +6 -50
- package/framework/hooks/claude-code/core/gate-guard.js +7 -67
- package/framework/hooks/claude-code/core/graph-refresh-kick.js +3 -24
- package/framework/hooks/claude-code/core/heavy-gate.js +3 -21
- package/framework/hooks/claude-code/core/heavy-release.js +2 -13
- package/framework/hooks/claude-code/core/loop-detect.js +2 -31
- package/framework/hooks/claude-code/core/pre-bash-denylist.js +0 -4
- package/framework/hooks/claude-code/core/protect-spec-files.js +7 -67
- package/framework/hooks/claude-code/core/state-sync.js +12 -68
- package/framework/hooks/claude-code/core/telemetry-log.js +12 -93
- package/framework/hooks/claude-code/core/validate-completion.js +11 -57
- package/framework/hooks/claude-code/core/warn-bash-source-write.js +1 -9
- package/framework/hooks/claude-code/core/worktree-context.js +10 -110
- package/framework/hooks/claude-code/core/worktree-create.js +6 -70
- package/framework/hooks/claude-code/core/worktree-env-inject.js +5 -56
- package/framework/hooks/claude-code/core/worktree-remove.js +5 -31
- package/framework/hooks/claude-code/statusline.sh +11 -11
- package/framework/hooks/shared/activity-logger.js +9 -89
- package/framework/hooks/shared/agent-reap.js +2 -17
- package/framework/hooks/shared/build-check.js +6 -75
- package/framework/hooks/shared/claim-registry.js +9 -119
- package/framework/hooks/shared/command-tokens.js +6 -51
- package/framework/hooks/shared/comment-rules.js +5 -20
- package/framework/hooks/shared/comment-scanner.js +6 -25
- package/framework/hooks/shared/comment-stripper.js +11 -85
- package/framework/hooks/shared/e2e-check.js +0 -0
- package/framework/hooks/shared/errata.js +2 -15
- package/framework/hooks/shared/feature-locator.js +11 -95
- package/framework/hooks/shared/frontend-locations.js +1 -3
- package/framework/hooks/shared/gate-question.js +1 -7
- package/framework/hooks/shared/git-exclude.js +3 -20
- package/framework/hooks/shared/git-paths.js +8 -104
- package/framework/hooks/shared/graph-freshness.js +22 -166
- package/framework/hooks/shared/graph-refresh.js +21 -149
- package/framework/hooks/shared/heavy-command.js +4 -12
- package/framework/hooks/shared/hook-response.js +8 -83
- package/framework/hooks/shared/morph-cli.js +8 -52
- package/framework/hooks/shared/payload-utils.js +10 -132
- package/framework/hooks/shared/phase-utils.js +1 -42
- package/framework/hooks/shared/redact-secrets.js +4 -15
- package/framework/hooks/shared/reparse-scan.js +6 -66
- package/framework/hooks/shared/slice-progress.js +4 -23
- package/framework/hooks/shared/source-files.js +4 -17
- package/framework/hooks/shared/state-reader.js +13 -183
- package/framework/hooks/shared/state-writer.js +8 -52
- package/framework/hooks/shared/stdin-reader.js +1 -11
- package/framework/hooks/shared/telemetry-logger.js +7 -67
- package/framework/hooks/shared/transcript-usage.js +7 -29
- package/framework/hooks/shared/worktree-root.js +7 -29
- package/framework/rules/csharp-standards.md +1 -1
- package/framework/rules/frontend-standards.md +1 -0
- package/framework/rules/hangfire-standards.md +1 -1
- package/framework/rules/neon-standards.md +1 -1
- package/framework/rules/nextjs-standards.md +1 -1
- package/framework/skills/core/create-umbraco-lp/SKILL.md +1 -1
- package/framework/skills/core/migrate-lp-to-umbraco/SKILL.md +1 -1
- package/framework/skills/core/morph-apply/SKILL.md +4 -4
- package/framework/skills/core/morph-hotfix/SKILL.md +3 -3
- package/framework/skills/core/morph-machine/SKILL.md +1 -1
- package/framework/skills/core/morph-media/SKILL.md +1 -1
- package/framework/skills/core/morph-plan/SKILL.md +9 -7
- package/framework/skills/core/morph-review/SKILL.md +9 -6
- package/framework/skills/core/morph-standards/SKILL.md +1 -1
- package/framework/skills/core/morph-uiux/SKILL.md +29 -12
- package/framework/standards/STANDARDS.json +36 -14
- package/framework/standards/STANDARDS.meta.json +16 -2
- package/framework/standards/ai-agents/agent-archetypes.md +2 -2
- package/framework/standards/ai-agents/agent-session.md +1 -1
- package/framework/standards/ai-agents/conversational-agent-with-phases.md +4 -4
- package/framework/standards/ai-agents/durable-workflows-hitl.md +3 -3
- package/framework/standards/ai-agents/guardrails.md +1 -1
- package/framework/standards/ai-agents/multi-agent-patterns.md +2 -2
- package/framework/standards/ai-agents/observability-patterns.md +1 -1
- package/framework/standards/ai-agents/production.md +1 -1
- package/framework/standards/ai-agents/prompt-sources.md +2 -2
- package/framework/standards/ai-agents/providers/model-registry.md +1 -1
- package/framework/standards/ai-agents/rag-custom-pgvector.md +2 -2
- package/framework/standards/ai-agents/setup.md +2 -2
- package/framework/standards/ai-agents/sweet-spot.md +2 -2
- package/framework/standards/ai-agents/tool-adapters.md +0 -2
- package/framework/standards/ai-agents/vector-data-extensions.md +4 -4
- package/framework/standards/ai-agents/workflows.md +1 -1
- package/framework/standards/architecture/code-comments.md +1 -1
- package/framework/standards/architecture/vertical-slice/vertical-slice.md +1 -1
- package/framework/standards/backend/api/validation.md +1 -1
- package/framework/standards/backend/dotnet/testing.md +10 -4
- package/framework/standards/backend/dotnet/vsa-handler-patterns.md +5 -5
- package/framework/standards/backend/integrations/hangfire/hangfire-jobs.md +1 -1
- package/framework/standards/backend/integrations/neon-auth/neon-auth.md +2 -2
- package/framework/standards/data/nosql/cache/redis.md +1 -1
- package/framework/standards/data/nosql/cosmos-db.md +3 -3
- package/framework/standards/frontend/admin-app/forms.md +1 -1
- package/framework/standards/frontend/design-system/art-direction.md +88 -0
- package/framework/standards/frontend/design-system/premium-finish.md +77 -2
- package/framework/standards/frontend/nextjs/testing.md +10 -6
- package/framework/standards/infrastructure/neon/neon-pgvector.md +5 -5
- package/framework/templates/.idea/morph-templates.xml +92 -0
- package/framework/templates/.vscode/morph-templates.code-snippets +186 -0
- package/framework/templates/CLAUDE.md.core.template +3 -3
- package/framework/templates/IDE-SNIPPETS.md +262 -262
- package/framework/templates/REGISTRY.json +9 -9
- package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -7
- package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -4
- package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -4
- package/framework/templates/code/sql/ai-agents/pgvector-embeddings-migration.sql.template +91 -91
- package/framework/templates/docs/plan.md +3 -1
- package/framework/templates/docs/ui-mockups.md +4 -0
- package/framework/templates/frontend/nextjs/client-component.tsx.hbs +26 -26
- package/framework/templates/frontend/nextjs/feature-form.tsx.hbs +56 -56
- package/framework/templates/frontend/nextjs/tsconfig.json.hbs +26 -26
- package/framework/templates/infrastructure/docker/Dockerfile.template +58 -58
- package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -38
- package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -48
- package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -45
- package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -27
- package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -59
- package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -39
- package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -76
- package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -100
- package/framework/templates/state.template.json +17 -17
- package/framework/templates/ui/design-system.css +226 -226
- package/package.json +1 -1
- package/src/commands/context/context-refresh.js +0 -16
- package/src/commands/dashboard/dashboard.js +2 -8
- package/src/commands/e2e/e2e.js +17 -104
- package/src/commands/graph/affected.js +0 -14
- package/src/commands/graph/build.js +11 -50
- package/src/commands/graph/explain.js +0 -16
- package/src/commands/graph/status.js +1 -12
- package/src/commands/mcp/mcp-setup.js +4 -62
- package/src/commands/observability/cost.js +5 -57
- package/src/commands/observability/telemetry.js +1 -14
- package/src/commands/project/branch.js +4 -45
- package/src/commands/project/claim.js +4 -48
- package/src/commands/project/doctor.js +48 -302
- package/src/commands/project/env.js +1 -27
- package/src/commands/project/fleet.js +3 -32
- package/src/commands/project/init.js +4 -68
- package/src/commands/project/install-plugin-cmd.js +0 -1
- package/src/commands/project/standards.js +1 -62
- package/src/commands/project/status.js +0 -53
- package/src/commands/project/update.js +31 -239
- package/src/commands/project/worktree.js +108 -882
- package/src/commands/scaffold/scaffold.js +0 -25
- package/src/commands/state/advance.js +14 -85
- package/src/commands/state/approve.js +15 -97
- package/src/commands/state/archive.js +12 -64
- package/src/commands/state/auto-approval.js +2 -5
- package/src/commands/state/create.js +22 -109
- package/src/commands/state/delete.js +11 -63
- package/src/commands/state/finish.js +98 -475
- package/src/commands/state/gate-check.js +22 -132
- package/src/commands/state/gate-decision.js +3 -39
- package/src/commands/state/handoff.js +3 -30
- package/src/commands/state/list.js +14 -84
- package/src/commands/state/report-check.js +8 -58
- package/src/commands/state/retype.js +4 -26
- package/src/commands/validation/index.js +0 -3
- package/src/commands/validation/mutate.js +11 -11
- package/src/commands/validation/plan-check.js +4 -2
- package/src/commands/validation/tests-audit.js +7 -0
- package/src/commands/validation/validate-feature.js +10 -97
- package/src/commands/validation/verify.js +30 -113
- package/src/core/paths/output-schema.js +2 -101
- package/src/core/state/feature-identity.js +1 -25
- package/src/core/state/gate-order.js +0 -27
- package/src/core/state/lifecycle-audit.js +8 -100
- package/src/core/state/state-manager.js +22 -304
- package/src/core/templates/template-registry.js +2 -97
- package/src/core/templates/template-renderer.js +13 -93
- package/src/core/templates/template-seed.js +0 -1
- package/src/core/work-types.js +1 -36
- package/src/dashboard/app/App.jsx +1 -8
- package/src/dashboard/app/components/ActivityFeed.jsx +0 -5
- package/src/dashboard/app/components/CommandPalette.jsx +0 -7
- package/src/dashboard/app/components/DetailPanel.jsx +1 -5
- package/src/dashboard/app/components/EntityLink.jsx +0 -12
- package/src/dashboard/app/components/ErrorBoundary.jsx +1 -8
- package/src/dashboard/app/components/KnowledgeMarkdown.jsx +0 -11
- package/src/dashboard/app/components/Markdown.jsx +0 -9
- package/src/dashboard/app/components/PhaseRail.jsx +0 -11
- package/src/dashboard/app/components/SearchFilter.jsx +0 -4
- package/src/dashboard/app/components/Sidebar.jsx +0 -5
- package/src/dashboard/app/hooks/useMorphQuery.js +1 -11
- package/src/dashboard/app/hooks/usePref.js +1 -5
- package/src/dashboard/app/lib/format.js +0 -2
- package/src/dashboard/app/lib/phases.js +1 -5
- package/src/dashboard/app/lib/project.js +0 -12
- package/src/dashboard/app/main.jsx +13 -13
- package/src/dashboard/app/pages/AgentMap.jsx +1 -8
- package/src/dashboard/app/pages/FeatureDetail.jsx +1 -5
- package/src/dashboard/app/pages/Features.jsx +1 -8
- package/src/dashboard/app/pages/Guide.jsx +0 -1
- package/src/dashboard/app/pages/HookInspector.jsx +2 -23
- package/src/dashboard/app/pages/PhasePipeline.jsx +0 -3
- package/src/dashboard/app/pages/Portfolio.jsx +0 -1
- package/src/dashboard/app/pages/RulesMap.jsx +1 -16
- package/src/dashboard/app/pages/SkillsLibrary.jsx +1 -16
- package/src/dashboard/app/pages/Standards.jsx +2 -17
- package/src/dashboard/scanner/activity-scanner.js +10 -69
- package/src/dashboard/scanner/agents-scanner.js +1 -23
- package/src/dashboard/scanner/docs-scanner.js +0 -6
- package/src/dashboard/scanner/feature-status.js +2 -5
- package/src/dashboard/scanner/features-scanner.js +10 -66
- package/src/dashboard/scanner/hooks-scanner.js +5 -28
- package/src/dashboard/scanner/index.js +0 -4
- package/src/dashboard/scanner/portfolio.js +5 -29
- package/src/dashboard/scanner/project-api.js +8 -54
- package/src/dashboard/scanner/rules-scanner.js +1 -2
- package/src/dashboard/scanner/skills-scanner.js +2 -12
- package/src/dashboard/scanner/standards-scanner.js +2 -6
- package/src/dashboard/vite-plugin-morph-data.js +5 -19
- package/src/dashboard/vite.config.js +24 -24
- package/src/lib/ai/ai-checks.js +7 -52
- package/src/lib/ai/ai-project-scan.js +14 -108
- package/src/lib/ai/code-audit.js +7 -63
- package/src/lib/ai/pin-drift.js +8 -51
- package/src/lib/ai/registry-audit.js +11 -90
- package/src/lib/ci/ci-verify.js +4 -19
- package/src/lib/ci/github-ci.js +9 -37
- package/src/lib/ci/workflow-scaffold.js +14 -10
- package/src/lib/detectors/claude-config-detector.js +13 -74
- package/src/lib/detectors/index.js +4 -50
- package/src/lib/e2e/applicability.js +37 -0
- package/src/lib/e2e/compose-env.js +5 -66
- package/src/lib/e2e/stack-teardown.js +6 -40
- package/src/lib/generators/architecture-scanner.js +18 -156
- package/src/lib/generators/handoff-generator.js +9 -53
- package/src/lib/generators/scaffold-generator.js +5 -101
- package/src/lib/generators/settings-generator.js +4 -37
- package/src/lib/git/branch-classifier.js +11 -84
- package/src/lib/git/default-branch.js +14 -169
- package/src/lib/git/evidence-staleness.js +1 -0
- package/src/lib/git/gh.js +2 -17
- package/src/lib/git/pending-prs.js +6 -37
- package/src/lib/git/pr-files.js +3 -28
- package/src/lib/git/pr-index.js +3 -34
- package/src/lib/git/tree-fingerprint.js +3 -15
- package/src/lib/git/tree-state.js +6 -33
- package/src/lib/graph/god-nodes.js +2 -22
- package/src/lib/graph/graph-health.js +3 -24
- package/src/lib/graph/graph-loader.js +5 -56
- package/src/lib/graph/graphify-runtime.js +7 -37
- package/src/lib/graph/graphifyignore.js +8 -74
- package/src/lib/graph/sanitize.js +16 -136
- package/src/lib/heavy/cleanup.js +1 -1
- package/src/lib/installers/effects.js +8 -93
- package/src/lib/installers/mcp-installer.js +9 -169
- package/src/lib/installers/memory-installer.js +4 -27
- package/src/lib/installers/templates-reconcile.js +5 -60
- package/src/lib/mutation/adapters.js +6 -17
- package/src/lib/mutation/dotnet-introspection.js +20 -106
- package/src/lib/mutation/runner.js +23 -75
- package/src/lib/mutation/subset.js +1 -4
- package/src/lib/mutation/trx.js +0 -1
- package/src/lib/plan/artifact-vocabulary.js +5 -25
- package/src/lib/plan/checks.js +34 -33
- package/src/lib/plan/plan-parser.js +7 -8
- package/src/lib/projects/registry.js +7 -44
- package/src/lib/review-reports.js +11 -26
- package/src/lib/risk-detector.js +41 -173
- package/src/lib/specs/adr-index.js +6 -34
- package/src/lib/specs/frontmatter.js +2 -15
- package/src/lib/specs/gfm-table.js +1 -7
- package/src/lib/specs/revocations.js +1 -14
- package/src/lib/specs/screen-checklist.js +47 -124
- package/src/lib/stack/dotnet-build-ignores.js +2 -6
- package/src/lib/stack/stack-profile.js +1 -28
- package/src/lib/stack/stack-scan.js +1 -8
- package/src/lib/stack-filter.js +4 -27
- package/src/lib/standards/registry.js +1 -7
- package/src/lib/standards/sections.js +2 -13
- package/src/lib/standards/verified-against.js +19 -191
- package/src/lib/tasks/eval-node.js +21 -169
- package/src/lib/tasks/linux-runner.js +18 -142
- package/src/lib/tasks/test-nodes.js +43 -240
- package/src/lib/tasks/test-runner.js +43 -341
- package/src/lib/telemetry/metrics.js +7 -36
- package/src/lib/telemetry/telemetry-reader.js +13 -125
- package/src/lib/telemetry/verify-event.js +2 -30
- package/src/lib/tests-audit/audit.js +96 -0
- package/src/lib/validators/code-budget/code-budget-validator.js +4 -44
- package/src/lib/validators/code-budget/index.js +0 -7
- package/src/lib/validators/contracts/contract-compliance-validator.js +2 -24
- package/src/lib/validators/contracts/index.js +0 -6
- package/src/lib/validators/nextjs/index.js +0 -5
- package/src/lib/validators/nextjs/next-component-validator.js +4 -81
- package/src/lib/validators/packages/index.js +0 -6
- package/src/lib/validators/packages/package-validator.js +6 -56
- package/src/lib/validators/reuse/index.js +0 -8
- package/src/lib/validators/reuse/reuse-validator.js +11 -101
- package/src/lib/validators/reuse/symbol-scanner.js +6 -62
- package/src/lib/validators/traceability-check.js +5 -63
- package/src/lib/validators/validation-runner.js +21 -158
- package/src/lib/validators/verify-runner.js +85 -376
- package/src/lib/work-type-detector.js +5 -67
- package/src/lib/worktree/docker-audit.js +17 -136
- package/src/lib/worktree/env-allocator.js +10 -98
- package/src/lib/worktree/feature-truth.js +12 -115
- package/src/lib/worktree/finish-backup.js +32 -242
- package/src/lib/worktree/fleet-scanner.js +13 -95
- package/src/lib/worktree/ignored-triage.js +15 -91
- package/src/lib/worktree/vscode-settings.js +2 -3
- package/src/lib/worktree/worktree-audit.js +21 -213
- package/src/lib/worktree/worktree-include.js +3 -5
- package/src/scripts/global-install.js +3 -9
- package/src/scripts/install-plugin.js +1 -13
- package/src/scripts/setup-infra.js +17 -147
- package/src/utils/agents-installer.js +29 -276
- package/src/utils/banner.js +4 -25
- package/src/utils/claude-md-injector.js +1 -37
- package/src/utils/claude-settings-manager.js +1 -52
- package/src/utils/file-copier.js +11 -95
- package/src/utils/hooks-installer.js +21 -298
- package/src/utils/skills-installer.js +4 -101
- package/src/utils/version-checker.js +4 -83
- package/framework/commands/morph-proposal.md +0 -9
- package/framework/hooks/git/commit-msg/conventional-commits.sh +0 -33
- package/framework/hooks/git/pre-commit/agents.sh +0 -25
- package/framework/hooks/git/pre-commit/orchestrator.sh +0 -64
- package/framework/hooks/git/pre-push/run-tests.sh +0 -44
- package/src/commands/utils/index.js +0 -3
- package/src/lib/detectors/design-system-detector.js +0 -188
- package/src/lib/generators/design-system-generator.js +0 -508
- package/src/lib/specs/old-format.js +0 -68
- package/src/utils/agent-id-mapper.js +0 -11
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
# Fusion Aggregator — {{SESSION_ID}}
|
|
2
|
-
|
|
3
|
-
You are the **Fusion Aggregator** — you select the best result from {{THREAD_COUNT}} competing implementations.
|
|
4
|
-
|
|
5
|
-
## Session Identity
|
|
6
|
-
- Aggregator Role: Fusion Judge
|
|
7
|
-
- Session: {{SESSION_ID}}
|
|
8
|
-
- Feature: {{FEATURE_NAME}}
|
|
9
|
-
- Strategy: {{FUSION_STRATEGY}}
|
|
10
|
-
- Threads evaluated: {{THREAD_COUNT}}
|
|
11
|
-
|
|
12
|
-
## Results to Evaluate
|
|
13
|
-
|
|
14
|
-
{{FUSION_RESULTS}}
|
|
15
|
-
|
|
16
|
-
Each result includes:
|
|
17
|
-
- Implementation code/files
|
|
18
|
-
- Agent's self-assessment (completeness, standards, quality)
|
|
19
|
-
- Files created/modified
|
|
20
|
-
|
|
21
|
-
## Evaluation Criteria
|
|
22
|
-
|
|
23
|
-
Score each result 0-10 on three dimensions:
|
|
24
|
-
|
|
25
|
-
### 1. Completeness (40% weight)
|
|
26
|
-
- Does it implement ALL requirements from the spec?
|
|
27
|
-
- Are edge cases handled?
|
|
28
|
-
- Are deliverables complete (no TODOs, no stubs)?
|
|
29
|
-
|
|
30
|
-
### 2. Standards Compliance (30% weight)
|
|
31
|
-
- Architecture patterns correct (DI, async/await, layer separation)?
|
|
32
|
-
- Security requirements met (no secrets, input validation)?
|
|
33
|
-
- Code follows project conventions?
|
|
34
|
-
|
|
35
|
-
### 3. Code Quality (30% weight)
|
|
36
|
-
- Is the code readable and maintainable?
|
|
37
|
-
- Is it appropriately simple (not over-engineered)?
|
|
38
|
-
- Naming conventions followed?
|
|
39
|
-
- No obvious bugs or anti-patterns?
|
|
40
|
-
|
|
41
|
-
## Aggregation Strategy
|
|
42
|
-
|
|
43
|
-
{{#if STRATEGY == "best-of-n"}}
|
|
44
|
-
### Best-of-N Strategy
|
|
45
|
-
Select the single highest-scoring result. Use it as-is (do not merge).
|
|
46
|
-
|
|
47
|
-
Tiebreaker: prefer the result with higher standards compliance score.
|
|
48
|
-
{{/if}}
|
|
49
|
-
|
|
50
|
-
{{#if STRATEGY == "consensus"}}
|
|
51
|
-
### Consensus Strategy
|
|
52
|
-
Identify elements that appear in 2+ results (majority vote). Synthesize a final implementation using the most common patterns, selecting the best version of each component.
|
|
53
|
-
|
|
54
|
-
Structure your output as a synthesized implementation, not a selection.
|
|
55
|
-
{{/if}}
|
|
56
|
-
|
|
57
|
-
{{#if STRATEGY == "manual-select"}}
|
|
58
|
-
### Manual Select Strategy
|
|
59
|
-
Present all results with your scoring to the user. Do NOT make a final selection — let the user choose.
|
|
60
|
-
{{/if}}
|
|
61
|
-
|
|
62
|
-
## Your Output
|
|
63
|
-
|
|
64
|
-
### Scoring Table
|
|
65
|
-
```
|
|
66
|
-
| Thread | Agent | Completeness | Standards | Quality | TOTAL |
|
|
67
|
-
|--------|-------|-------------|-----------|---------|-------|
|
|
68
|
-
| T-001 | {{AGENT_1}} | X/10 | X/10 | X/10 | XX/30 |
|
|
69
|
-
| T-002 | {{AGENT_2}} | X/10 | X/10 | X/10 | XX/30 |
|
|
70
|
-
| T-003 | {{AGENT_3}} | X/10 | X/10 | X/10 | XX/30 |
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Winner Selection
|
|
74
|
-
```
|
|
75
|
-
FUSION RESULT
|
|
76
|
-
Session: {{SESSION_ID}}
|
|
77
|
-
Winner: Thread {{WINNING_THREAD}} (Agent: {{WINNING_AGENT}})
|
|
78
|
-
Score: {{WINNING_SCORE}}/30
|
|
79
|
-
Strategy: {{FUSION_STRATEGY}}
|
|
80
|
-
|
|
81
|
-
Key strengths of winning implementation:
|
|
82
|
-
- [reason 1]
|
|
83
|
-
- [reason 2]
|
|
84
|
-
|
|
85
|
-
Areas where other implementations excelled:
|
|
86
|
-
- [any cross-thread insights worth preserving]
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Final Implementation
|
|
90
|
-
[Include the winning implementation in full, or merged implementation for consensus strategy]
|
|
91
|
-
|
|
92
|
-
### Files to Apply
|
|
93
|
-
```
|
|
94
|
-
- [each file from winning/merged result]
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Important Notes
|
|
98
|
-
- Be objective — don't favor any particular agent
|
|
99
|
-
- If all results are poor (< 15/30), flag for human review rather than selecting
|
|
100
|
-
- Note any elements from non-winning results worth cherry-picking
|
|
1
|
+
# Fusion Aggregator — {{SESSION_ID}}
|
|
2
|
+
|
|
3
|
+
You are the **Fusion Aggregator** — you select the best result from {{THREAD_COUNT}} competing implementations.
|
|
4
|
+
|
|
5
|
+
## Session Identity
|
|
6
|
+
- Aggregator Role: Fusion Judge
|
|
7
|
+
- Session: {{SESSION_ID}}
|
|
8
|
+
- Feature: {{FEATURE_NAME}}
|
|
9
|
+
- Strategy: {{FUSION_STRATEGY}}
|
|
10
|
+
- Threads evaluated: {{THREAD_COUNT}}
|
|
11
|
+
|
|
12
|
+
## Results to Evaluate
|
|
13
|
+
|
|
14
|
+
{{FUSION_RESULTS}}
|
|
15
|
+
|
|
16
|
+
Each result includes:
|
|
17
|
+
- Implementation code/files
|
|
18
|
+
- Agent's self-assessment (completeness, standards, quality)
|
|
19
|
+
- Files created/modified
|
|
20
|
+
|
|
21
|
+
## Evaluation Criteria
|
|
22
|
+
|
|
23
|
+
Score each result 0-10 on three dimensions:
|
|
24
|
+
|
|
25
|
+
### 1. Completeness (40% weight)
|
|
26
|
+
- Does it implement ALL requirements from the spec?
|
|
27
|
+
- Are edge cases handled?
|
|
28
|
+
- Are deliverables complete (no TODOs, no stubs)?
|
|
29
|
+
|
|
30
|
+
### 2. Standards Compliance (30% weight)
|
|
31
|
+
- Architecture patterns correct (DI, async/await, layer separation)?
|
|
32
|
+
- Security requirements met (no secrets, input validation)?
|
|
33
|
+
- Code follows project conventions?
|
|
34
|
+
|
|
35
|
+
### 3. Code Quality (30% weight)
|
|
36
|
+
- Is the code readable and maintainable?
|
|
37
|
+
- Is it appropriately simple (not over-engineered)?
|
|
38
|
+
- Naming conventions followed?
|
|
39
|
+
- No obvious bugs or anti-patterns?
|
|
40
|
+
|
|
41
|
+
## Aggregation Strategy
|
|
42
|
+
|
|
43
|
+
{{#if STRATEGY == "best-of-n"}}
|
|
44
|
+
### Best-of-N Strategy
|
|
45
|
+
Select the single highest-scoring result. Use it as-is (do not merge).
|
|
46
|
+
|
|
47
|
+
Tiebreaker: prefer the result with higher standards compliance score.
|
|
48
|
+
{{/if}}
|
|
49
|
+
|
|
50
|
+
{{#if STRATEGY == "consensus"}}
|
|
51
|
+
### Consensus Strategy
|
|
52
|
+
Identify elements that appear in 2+ results (majority vote). Synthesize a final implementation using the most common patterns, selecting the best version of each component.
|
|
53
|
+
|
|
54
|
+
Structure your output as a synthesized implementation, not a selection.
|
|
55
|
+
{{/if}}
|
|
56
|
+
|
|
57
|
+
{{#if STRATEGY == "manual-select"}}
|
|
58
|
+
### Manual Select Strategy
|
|
59
|
+
Present all results with your scoring to the user. Do NOT make a final selection — let the user choose.
|
|
60
|
+
{{/if}}
|
|
61
|
+
|
|
62
|
+
## Your Output
|
|
63
|
+
|
|
64
|
+
### Scoring Table
|
|
65
|
+
```
|
|
66
|
+
| Thread | Agent | Completeness | Standards | Quality | TOTAL |
|
|
67
|
+
|--------|-------|-------------|-----------|---------|-------|
|
|
68
|
+
| T-001 | {{AGENT_1}} | X/10 | X/10 | X/10 | XX/30 |
|
|
69
|
+
| T-002 | {{AGENT_2}} | X/10 | X/10 | X/10 | XX/30 |
|
|
70
|
+
| T-003 | {{AGENT_3}} | X/10 | X/10 | X/10 | XX/30 |
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Winner Selection
|
|
74
|
+
```
|
|
75
|
+
FUSION RESULT
|
|
76
|
+
Session: {{SESSION_ID}}
|
|
77
|
+
Winner: Thread {{WINNING_THREAD}} (Agent: {{WINNING_AGENT}})
|
|
78
|
+
Score: {{WINNING_SCORE}}/30
|
|
79
|
+
Strategy: {{FUSION_STRATEGY}}
|
|
80
|
+
|
|
81
|
+
Key strengths of winning implementation:
|
|
82
|
+
- [reason 1]
|
|
83
|
+
- [reason 2]
|
|
84
|
+
|
|
85
|
+
Areas where other implementations excelled:
|
|
86
|
+
- [any cross-thread insights worth preserving]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Final Implementation
|
|
90
|
+
[Include the winning implementation in full, or merged implementation for consensus strategy]
|
|
91
|
+
|
|
92
|
+
### Files to Apply
|
|
93
|
+
```
|
|
94
|
+
- [each file from winning/merged result]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Important Notes
|
|
98
|
+
- Be objective — don't favor any particular agent
|
|
99
|
+
- If all results are poor (< 15/30), flag for human review rather than selecting
|
|
100
|
+
- Note any elements from non-winning results worth cherry-picking
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "3.0.0",
|
|
3
|
-
"project": {
|
|
4
|
-
"name": "{{PROJECT_NAME}}",
|
|
5
|
-
"type": "{{PROJECT_TYPE}}",
|
|
6
|
-
"createdAt": "{{TIMESTAMP}}",
|
|
7
|
-
"updatedAt": "{{TIMESTAMP}}"
|
|
8
|
-
},
|
|
9
|
-
"features": {},
|
|
10
|
-
"threads": {},
|
|
11
|
-
"metadata": {
|
|
12
|
-
"totalFeatures": 0,
|
|
13
|
-
"completedFeatures": 0,
|
|
14
|
-
"totalTimeSpent": 0,
|
|
15
|
-
"lastUpdated": "{{TIMESTAMP}}"
|
|
16
|
-
}
|
|
17
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": "3.0.0",
|
|
3
|
+
"project": {
|
|
4
|
+
"name": "{{PROJECT_NAME}}",
|
|
5
|
+
"type": "{{PROJECT_TYPE}}",
|
|
6
|
+
"createdAt": "{{TIMESTAMP}}",
|
|
7
|
+
"updatedAt": "{{TIMESTAMP}}"
|
|
8
|
+
},
|
|
9
|
+
"features": {},
|
|
10
|
+
"threads": {},
|
|
11
|
+
"metadata": {
|
|
12
|
+
"totalFeatures": 0,
|
|
13
|
+
"completedFeatures": 0,
|
|
14
|
+
"totalTimeSpent": 0,
|
|
15
|
+
"lastUpdated": "{{TIMESTAMP}}"
|
|
16
|
+
}
|
|
17
|
+
}
|