gentyr 1.3.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/agents/antipattern-hunter.md +176 -0
- package/.claude/agents/code-reviewer.md +205 -0
- package/.claude/agents/code-writer.md +154 -0
- package/.claude/agents/deputy-cto.md +309 -0
- package/.claude/agents/feedback-agent.md +101 -0
- package/.claude/agents/investigator.md +136 -0
- package/.claude/agents/product-manager.md +97 -0
- package/.claude/agents/project-manager.md +116 -0
- package/.claude/agents/repo-hygiene-expert.md +626 -0
- package/.claude/agents/secret-manager.md +324 -0
- package/.claude/agents/test-writer.md +354 -0
- package/.claude/commands/configure-personas.md +144 -0
- package/.claude/commands/cto-report.md +36 -0
- package/.claude/commands/demo.md +89 -0
- package/.claude/commands/deputy-cto.md +345 -0
- package/.claude/commands/hotfix.md +31 -0
- package/.claude/commands/overdrive-gentyr.md +167 -0
- package/.claude/commands/product-manager.md +32 -0
- package/.claude/commands/push-migrations.md +86 -0
- package/.claude/commands/push-secrets.md +97 -0
- package/.claude/commands/services.json.example +30 -0
- package/.claude/commands/setup-gentyr.md +396 -0
- package/.claude/commands/show.md +42 -0
- package/.claude/commands/spawn-tasks.md +79 -0
- package/.claude/commands/toggle-automation-gentyr.md +75 -0
- package/.claude/commands/toggle-product-manager.md +19 -0
- package/.claude/commands/triage.md +69 -0
- package/.claude/hooks/README.md +686 -0
- package/.claude/hooks/__tests__/README.md +129 -0
- package/.claude/hooks/agent-tracker.js +434 -0
- package/.claude/hooks/antipattern-hunter-hook.js +401 -0
- package/.claude/hooks/api-key-watcher.js +289 -0
- package/.claude/hooks/block-no-verify.js +301 -0
- package/.claude/hooks/bypass-approval-hook.js +313 -0
- package/.claude/hooks/compliance-checker.js +1309 -0
- package/.claude/hooks/config-reader.js +143 -0
- package/.claude/hooks/credential-file-guard.js +1139 -0
- package/.claude/hooks/credential-health-check.js +168 -0
- package/.claude/hooks/credential-sync-hook.js +79 -0
- package/.claude/hooks/cto-notification-hook.js +656 -0
- package/.claude/hooks/feedback-launcher.js +424 -0
- package/.claude/hooks/feedback-orchestrator.js +367 -0
- package/.claude/hooks/gentyr-splash.js +47 -0
- package/.claude/hooks/gentyr-sync.js +389 -0
- package/.claude/hooks/hourly-automation.js +3340 -0
- package/.claude/hooks/key-sync.js +899 -0
- package/.claude/hooks/lib/approval-utils.js +731 -0
- package/.claude/hooks/lib/feature-branch-helper.js +102 -0
- package/.claude/hooks/lib/worktree-manager.js +330 -0
- package/.claude/hooks/mapping-validator.js +285 -0
- package/.claude/hooks/plan-executor.js +398 -0
- package/.claude/hooks/playwright-cli-guard.js +104 -0
- package/.claude/hooks/playwright-health-check.js +71 -0
- package/.claude/hooks/pre-commit-review.js +725 -0
- package/.claude/hooks/prompts/local-spec-enforcement.md +310 -0
- package/.claude/hooks/prompts/mapping-fix.md +92 -0
- package/.claude/hooks/prompts/mapping-review.md +140 -0
- package/.claude/hooks/prompts/schema-mapper.md +185 -0
- package/.claude/hooks/prompts/spec-enforcement.md +233 -0
- package/.claude/hooks/protected-action-approval-hook.js +336 -0
- package/.claude/hooks/protected-action-gate.js +562 -0
- package/.claude/hooks/protected-actions.json +208 -0
- package/.claude/hooks/protected-actions.json.template +122 -0
- package/.claude/hooks/quota-monitor.js +490 -0
- package/.claude/hooks/reporters/jest-failure-reporter.js +401 -0
- package/.claude/hooks/reporters/playwright-failure-reporter.js +446 -0
- package/.claude/hooks/reporters/vitest-failure-reporter.js +443 -0
- package/.claude/hooks/schema-mapper-hook.js +544 -0
- package/.claude/hooks/secret-leak-detector.js +216 -0
- package/.claude/hooks/session-reviver.js +514 -0
- package/.claude/hooks/slash-command-prefetch.js +1145 -0
- package/.claude/hooks/stale-work-detector.js +205 -0
- package/.claude/hooks/stop-continue-hook.js +414 -0
- package/.claude/hooks/todo-maintenance.js +522 -0
- package/.claude/hooks/todo-processing-prompt.md +75 -0
- package/.claude/hooks/usage-optimizer.js +791 -0
- package/.claude/mcp/README.md +246 -0
- package/.claude/settings.json.template +168 -0
- package/.mcp.json.template +207 -0
- package/CLAUDE.md +340 -0
- package/CLAUDE.md.gentyr-section +89 -0
- package/LICENSE +21 -0
- package/README.md +297 -0
- package/cli/commands/init.js +471 -0
- package/cli/commands/migrate.js +132 -0
- package/cli/commands/protect.js +271 -0
- package/cli/commands/scaffold.js +48 -0
- package/cli/commands/status.js +133 -0
- package/cli/commands/sync.js +101 -0
- package/cli/commands/uninstall.js +207 -0
- package/cli/index.js +111 -0
- package/cli/lib/config-gen.js +214 -0
- package/cli/lib/resolve-framework.js +97 -0
- package/cli/lib/state.js +140 -0
- package/cli/lib/symlinks.js +260 -0
- package/docs/AUTOMATION-SYSTEMS.md +484 -0
- package/docs/BINARY-PATCHING.md +212 -0
- package/docs/CHANGELOG.md +2830 -0
- package/docs/CREDENTIAL-DETECTION.md +151 -0
- package/docs/CTO-DASHBOARD.md +476 -0
- package/docs/DEPLOYMENT-FLOW.md +477 -0
- package/docs/DEVELOPER.md +116 -0
- package/docs/Executive.md +372 -0
- package/docs/SECRET-PATHS.md +77 -0
- package/docs/SETUP-GUIDE.md +419 -0
- package/docs/STACK.md +109 -0
- package/docs/TESTING.md +440 -0
- package/docs/assets/claude-logo.svg +3 -0
- package/docs/sessions/2026-01-24-spec-suite-implementation.md +190 -0
- package/docs/sessions/2026-02-15-feedback-e2e-audit.md +484 -0
- package/docs/sessions/2026-02-20-credential-rotation-experiments.md +340 -0
- package/docs/sessions/TEST-COVERAGE-REPORT-2026-02-20.md +168 -0
- package/docs/shared/EPHEMERAL-STATE-FILES.md +115 -0
- package/docs/shared/PROTECTION-SYSTEM.md +341 -0
- package/husky/post-commit +10 -0
- package/husky/pre-commit +40 -0
- package/husky/pre-push +94 -0
- package/package.json +43 -0
- package/packages/cto-dashboard/package-lock.json +3510 -0
- package/packages/cto-dashboard/package.json +41 -0
- package/packages/cto-dashboard/pnpm-lock.yaml +2168 -0
- package/packages/mcp-servers/dist/__testUtils__/fixtures.d.ts +220 -0
- package/packages/mcp-servers/dist/__testUtils__/fixtures.d.ts.map +1 -0
- package/packages/mcp-servers/dist/__testUtils__/fixtures.js +376 -0
- package/packages/mcp-servers/dist/__testUtils__/fixtures.js.map +1 -0
- package/packages/mcp-servers/dist/__testUtils__/index.d.ts +121 -0
- package/packages/mcp-servers/dist/__testUtils__/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/__testUtils__/index.js +180 -0
- package/packages/mcp-servers/dist/__testUtils__/index.js.map +1 -0
- package/packages/mcp-servers/dist/__testUtils__/schemas.d.ts +84 -0
- package/packages/mcp-servers/dist/__testUtils__/schemas.d.ts.map +1 -0
- package/packages/mcp-servers/dist/__testUtils__/schemas.js +309 -0
- package/packages/mcp-servers/dist/__testUtils__/schemas.js.map +1 -0
- package/packages/mcp-servers/dist/agent-reports/index.d.ts +7 -0
- package/packages/mcp-servers/dist/agent-reports/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/agent-reports/index.js +8 -0
- package/packages/mcp-servers/dist/agent-reports/index.js.map +1 -0
- package/packages/mcp-servers/dist/agent-reports/server.d.ts +22 -0
- package/packages/mcp-servers/dist/agent-reports/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/agent-reports/server.js +535 -0
- package/packages/mcp-servers/dist/agent-reports/server.js.map +1 -0
- package/packages/mcp-servers/dist/agent-reports/types.d.ts +258 -0
- package/packages/mcp-servers/dist/agent-reports/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/agent-reports/types.js +81 -0
- package/packages/mcp-servers/dist/agent-reports/types.js.map +1 -0
- package/packages/mcp-servers/dist/agent-tracker/index.d.ts +5 -0
- package/packages/mcp-servers/dist/agent-tracker/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/agent-tracker/index.js +5 -0
- package/packages/mcp-servers/dist/agent-tracker/index.js.map +1 -0
- package/packages/mcp-servers/dist/agent-tracker/server.d.ts +12 -0
- package/packages/mcp-servers/dist/agent-tracker/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/agent-tracker/server.js +919 -0
- package/packages/mcp-servers/dist/agent-tracker/server.js.map +1 -0
- package/packages/mcp-servers/dist/agent-tracker/types.d.ts +328 -0
- package/packages/mcp-servers/dist/agent-tracker/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/agent-tracker/types.js +128 -0
- package/packages/mcp-servers/dist/agent-tracker/types.js.map +1 -0
- package/packages/mcp-servers/dist/chrome-bridge/browser-tips.d.ts +27 -0
- package/packages/mcp-servers/dist/chrome-bridge/browser-tips.d.ts.map +1 -0
- package/packages/mcp-servers/dist/chrome-bridge/browser-tips.js +167 -0
- package/packages/mcp-servers/dist/chrome-bridge/browser-tips.js.map +1 -0
- package/packages/mcp-servers/dist/chrome-bridge/index.d.ts +6 -0
- package/packages/mcp-servers/dist/chrome-bridge/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/chrome-bridge/index.js +6 -0
- package/packages/mcp-servers/dist/chrome-bridge/index.js.map +1 -0
- package/packages/mcp-servers/dist/chrome-bridge/server.d.ts +13 -0
- package/packages/mcp-servers/dist/chrome-bridge/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/chrome-bridge/server.js +959 -0
- package/packages/mcp-servers/dist/chrome-bridge/server.js.map +1 -0
- package/packages/mcp-servers/dist/chrome-bridge/types.d.ts +41 -0
- package/packages/mcp-servers/dist/chrome-bridge/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/chrome-bridge/types.js +8 -0
- package/packages/mcp-servers/dist/chrome-bridge/types.js.map +1 -0
- package/packages/mcp-servers/dist/cloudflare/index.d.ts +8 -0
- package/packages/mcp-servers/dist/cloudflare/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/cloudflare/index.js +8 -0
- package/packages/mcp-servers/dist/cloudflare/index.js.map +1 -0
- package/packages/mcp-servers/dist/cloudflare/server.d.ts +16 -0
- package/packages/mcp-servers/dist/cloudflare/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/cloudflare/server.js +253 -0
- package/packages/mcp-servers/dist/cloudflare/server.js.map +1 -0
- package/packages/mcp-servers/dist/cloudflare/types.d.ts +141 -0
- package/packages/mcp-servers/dist/cloudflare/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/cloudflare/types.js +53 -0
- package/packages/mcp-servers/dist/cloudflare/types.js.map +1 -0
- package/packages/mcp-servers/dist/codecov/index.d.ts +7 -0
- package/packages/mcp-servers/dist/codecov/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/codecov/index.js +7 -0
- package/packages/mcp-servers/dist/codecov/index.js.map +1 -0
- package/packages/mcp-servers/dist/codecov/server.d.ts +21 -0
- package/packages/mcp-servers/dist/codecov/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/codecov/server.js +376 -0
- package/packages/mcp-servers/dist/codecov/server.js.map +1 -0
- package/packages/mcp-servers/dist/codecov/types.d.ts +269 -0
- package/packages/mcp-servers/dist/codecov/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/codecov/types.js +128 -0
- package/packages/mcp-servers/dist/codecov/types.js.map +1 -0
- package/packages/mcp-servers/dist/cto-report/index.d.ts +9 -0
- package/packages/mcp-servers/dist/cto-report/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/cto-report/index.js +9 -0
- package/packages/mcp-servers/dist/cto-report/index.js.map +1 -0
- package/packages/mcp-servers/dist/cto-report/server.d.ts +14 -0
- package/packages/mcp-servers/dist/cto-report/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/cto-report/server.js +859 -0
- package/packages/mcp-servers/dist/cto-report/server.js.map +1 -0
- package/packages/mcp-servers/dist/cto-report/types.d.ts +213 -0
- package/packages/mcp-servers/dist/cto-report/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/cto-report/types.js +29 -0
- package/packages/mcp-servers/dist/cto-report/types.js.map +1 -0
- package/packages/mcp-servers/dist/cto-reports/index.d.ts +7 -0
- package/packages/mcp-servers/dist/cto-reports/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/cto-reports/index.js +8 -0
- package/packages/mcp-servers/dist/cto-reports/index.js.map +1 -0
- package/packages/mcp-servers/dist/cto-reports/server.d.ts +20 -0
- package/packages/mcp-servers/dist/cto-reports/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/cto-reports/server.js +538 -0
- package/packages/mcp-servers/dist/cto-reports/server.js.map +1 -0
- package/packages/mcp-servers/dist/cto-reports/types.d.ts +236 -0
- package/packages/mcp-servers/dist/cto-reports/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/cto-reports/types.js +77 -0
- package/packages/mcp-servers/dist/cto-reports/types.js.map +1 -0
- package/packages/mcp-servers/dist/deputy-cto/index.d.ts +7 -0
- package/packages/mcp-servers/dist/deputy-cto/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/deputy-cto/index.js +8 -0
- package/packages/mcp-servers/dist/deputy-cto/index.js.map +1 -0
- package/packages/mcp-servers/dist/deputy-cto/server.d.ts +23 -0
- package/packages/mcp-servers/dist/deputy-cto/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/deputy-cto/server.js +1700 -0
- package/packages/mcp-servers/dist/deputy-cto/server.js.map +1 -0
- package/packages/mcp-servers/dist/deputy-cto/types.d.ts +439 -0
- package/packages/mcp-servers/dist/deputy-cto/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/deputy-cto/types.js +102 -0
- package/packages/mcp-servers/dist/deputy-cto/types.js.map +1 -0
- package/packages/mcp-servers/dist/elastic-logs/index.d.ts +5 -0
- package/packages/mcp-servers/dist/elastic-logs/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/elastic-logs/index.js +5 -0
- package/packages/mcp-servers/dist/elastic-logs/index.js.map +1 -0
- package/packages/mcp-servers/dist/elastic-logs/server.d.ts +18 -0
- package/packages/mcp-servers/dist/elastic-logs/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/elastic-logs/server.js +259 -0
- package/packages/mcp-servers/dist/elastic-logs/server.js.map +1 -0
- package/packages/mcp-servers/dist/elastic-logs/types.d.ts +107 -0
- package/packages/mcp-servers/dist/elastic-logs/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/elastic-logs/types.js +31 -0
- package/packages/mcp-servers/dist/elastic-logs/types.js.map +1 -0
- package/packages/mcp-servers/dist/feedback-explorer/index.d.ts +2 -0
- package/packages/mcp-servers/dist/feedback-explorer/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/feedback-explorer/index.js +2 -0
- package/packages/mcp-servers/dist/feedback-explorer/index.js.map +1 -0
- package/packages/mcp-servers/dist/feedback-explorer/server.d.ts +21 -0
- package/packages/mcp-servers/dist/feedback-explorer/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/feedback-explorer/server.js +580 -0
- package/packages/mcp-servers/dist/feedback-explorer/server.js.map +1 -0
- package/packages/mcp-servers/dist/feedback-explorer/types.d.ts +331 -0
- package/packages/mcp-servers/dist/feedback-explorer/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/feedback-explorer/types.js +40 -0
- package/packages/mcp-servers/dist/feedback-explorer/types.js.map +1 -0
- package/packages/mcp-servers/dist/feedback-reporter/index.d.ts +9 -0
- package/packages/mcp-servers/dist/feedback-reporter/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/feedback-reporter/index.js +9 -0
- package/packages/mcp-servers/dist/feedback-reporter/index.js.map +1 -0
- package/packages/mcp-servers/dist/feedback-reporter/server.d.ts +36 -0
- package/packages/mcp-servers/dist/feedback-reporter/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/feedback-reporter/server.js +392 -0
- package/packages/mcp-servers/dist/feedback-reporter/server.js.map +1 -0
- package/packages/mcp-servers/dist/feedback-reporter/types.d.ts +152 -0
- package/packages/mcp-servers/dist/feedback-reporter/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/feedback-reporter/types.js +67 -0
- package/packages/mcp-servers/dist/feedback-reporter/types.js.map +1 -0
- package/packages/mcp-servers/dist/github/index.d.ts +7 -0
- package/packages/mcp-servers/dist/github/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/github/index.js +7 -0
- package/packages/mcp-servers/dist/github/index.js.map +1 -0
- package/packages/mcp-servers/dist/github/server.d.ts +15 -0
- package/packages/mcp-servers/dist/github/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/github/server.js +686 -0
- package/packages/mcp-servers/dist/github/server.js.map +1 -0
- package/packages/mcp-servers/dist/github/types.d.ts +660 -0
- package/packages/mcp-servers/dist/github/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/github/types.js +209 -0
- package/packages/mcp-servers/dist/github/types.js.map +1 -0
- package/packages/mcp-servers/dist/index.d.ts +30 -0
- package/packages/mcp-servers/dist/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/index.js +32 -0
- package/packages/mcp-servers/dist/index.js.map +1 -0
- package/packages/mcp-servers/dist/makerkit-docs/index.d.ts +5 -0
- package/packages/mcp-servers/dist/makerkit-docs/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/makerkit-docs/index.js +5 -0
- package/packages/mcp-servers/dist/makerkit-docs/index.js.map +1 -0
- package/packages/mcp-servers/dist/makerkit-docs/server.d.ts +15 -0
- package/packages/mcp-servers/dist/makerkit-docs/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/makerkit-docs/server.js +252 -0
- package/packages/mcp-servers/dist/makerkit-docs/server.js.map +1 -0
- package/packages/mcp-servers/dist/makerkit-docs/types.d.ts +74 -0
- package/packages/mcp-servers/dist/makerkit-docs/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/makerkit-docs/types.js +20 -0
- package/packages/mcp-servers/dist/makerkit-docs/types.js.map +1 -0
- package/packages/mcp-servers/dist/onepassword/index.d.ts +2 -0
- package/packages/mcp-servers/dist/onepassword/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/onepassword/index.js +2 -0
- package/packages/mcp-servers/dist/onepassword/index.js.map +1 -0
- package/packages/mcp-servers/dist/onepassword/server.d.ts +2 -0
- package/packages/mcp-servers/dist/onepassword/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/onepassword/server.js +159 -0
- package/packages/mcp-servers/dist/onepassword/server.js.map +1 -0
- package/packages/mcp-servers/dist/onepassword/types.d.ts +55 -0
- package/packages/mcp-servers/dist/onepassword/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/onepassword/types.js +22 -0
- package/packages/mcp-servers/dist/onepassword/types.js.map +1 -0
- package/packages/mcp-servers/dist/playwright/helpers.d.ts +20 -0
- package/packages/mcp-servers/dist/playwright/helpers.d.ts.map +1 -0
- package/packages/mcp-servers/dist/playwright/helpers.js +31 -0
- package/packages/mcp-servers/dist/playwright/helpers.js.map +1 -0
- package/packages/mcp-servers/dist/playwright/index.d.ts +5 -0
- package/packages/mcp-servers/dist/playwright/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/playwright/index.js +5 -0
- package/packages/mcp-servers/dist/playwright/index.js.map +1 -0
- package/packages/mcp-servers/dist/playwright/server.d.ts +13 -0
- package/packages/mcp-servers/dist/playwright/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/playwright/server.js +1201 -0
- package/packages/mcp-servers/dist/playwright/server.js.map +1 -0
- package/packages/mcp-servers/dist/playwright/types.d.ts +216 -0
- package/packages/mcp-servers/dist/playwright/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/playwright/types.js +172 -0
- package/packages/mcp-servers/dist/playwright/types.js.map +1 -0
- package/packages/mcp-servers/dist/playwright-feedback/browser-manager.d.ts +39 -0
- package/packages/mcp-servers/dist/playwright-feedback/browser-manager.d.ts.map +1 -0
- package/packages/mcp-servers/dist/playwright-feedback/browser-manager.js +71 -0
- package/packages/mcp-servers/dist/playwright-feedback/browser-manager.js.map +1 -0
- package/packages/mcp-servers/dist/playwright-feedback/index.d.ts +5 -0
- package/packages/mcp-servers/dist/playwright-feedback/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/playwright-feedback/index.js +5 -0
- package/packages/mcp-servers/dist/playwright-feedback/index.js.map +1 -0
- package/packages/mcp-servers/dist/playwright-feedback/server.d.ts +34 -0
- package/packages/mcp-servers/dist/playwright-feedback/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/playwright-feedback/server.js +538 -0
- package/packages/mcp-servers/dist/playwright-feedback/server.js.map +1 -0
- package/packages/mcp-servers/dist/playwright-feedback/types.d.ts +305 -0
- package/packages/mcp-servers/dist/playwright-feedback/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/playwright-feedback/types.js +123 -0
- package/packages/mcp-servers/dist/playwright-feedback/types.js.map +1 -0
- package/packages/mcp-servers/dist/product-manager/server.d.ts +17 -0
- package/packages/mcp-servers/dist/product-manager/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/product-manager/server.js +690 -0
- package/packages/mcp-servers/dist/product-manager/server.js.map +1 -0
- package/packages/mcp-servers/dist/product-manager/types.d.ts +286 -0
- package/packages/mcp-servers/dist/product-manager/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/product-manager/types.js +99 -0
- package/packages/mcp-servers/dist/product-manager/types.js.map +1 -0
- package/packages/mcp-servers/dist/programmatic-feedback/index.d.ts +7 -0
- package/packages/mcp-servers/dist/programmatic-feedback/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/programmatic-feedback/index.js +7 -0
- package/packages/mcp-servers/dist/programmatic-feedback/index.js.map +1 -0
- package/packages/mcp-servers/dist/programmatic-feedback/sandbox.d.ts +19 -0
- package/packages/mcp-servers/dist/programmatic-feedback/sandbox.d.ts.map +1 -0
- package/packages/mcp-servers/dist/programmatic-feedback/sandbox.js +174 -0
- package/packages/mcp-servers/dist/programmatic-feedback/sandbox.js.map +1 -0
- package/packages/mcp-servers/dist/programmatic-feedback/server.d.ts +35 -0
- package/packages/mcp-servers/dist/programmatic-feedback/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/programmatic-feedback/server.js +465 -0
- package/packages/mcp-servers/dist/programmatic-feedback/server.js.map +1 -0
- package/packages/mcp-servers/dist/programmatic-feedback/types.d.ts +127 -0
- package/packages/mcp-servers/dist/programmatic-feedback/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/programmatic-feedback/types.js +80 -0
- package/packages/mcp-servers/dist/programmatic-feedback/types.js.map +1 -0
- package/packages/mcp-servers/dist/render/index.d.ts +8 -0
- package/packages/mcp-servers/dist/render/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/render/index.js +8 -0
- package/packages/mcp-servers/dist/render/index.js.map +1 -0
- package/packages/mcp-servers/dist/render/server.d.ts +15 -0
- package/packages/mcp-servers/dist/render/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/render/server.js +428 -0
- package/packages/mcp-servers/dist/render/server.js.map +1 -0
- package/packages/mcp-servers/dist/render/types.d.ts +273 -0
- package/packages/mcp-servers/dist/render/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/render/types.js +102 -0
- package/packages/mcp-servers/dist/render/types.js.map +1 -0
- package/packages/mcp-servers/dist/resend/index.d.ts +7 -0
- package/packages/mcp-servers/dist/resend/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/resend/index.js +7 -0
- package/packages/mcp-servers/dist/resend/index.js.map +1 -0
- package/packages/mcp-servers/dist/resend/server.d.ts +15 -0
- package/packages/mcp-servers/dist/resend/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/resend/server.js +298 -0
- package/packages/mcp-servers/dist/resend/server.js.map +1 -0
- package/packages/mcp-servers/dist/resend/types.d.ts +222 -0
- package/packages/mcp-servers/dist/resend/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/resend/types.js +58 -0
- package/packages/mcp-servers/dist/resend/types.js.map +1 -0
- package/packages/mcp-servers/dist/review-queue/index.d.ts +6 -0
- package/packages/mcp-servers/dist/review-queue/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/review-queue/index.js +6 -0
- package/packages/mcp-servers/dist/review-queue/index.js.map +1 -0
- package/packages/mcp-servers/dist/review-queue/server.d.ts +17 -0
- package/packages/mcp-servers/dist/review-queue/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/review-queue/server.js +348 -0
- package/packages/mcp-servers/dist/review-queue/server.js.map +1 -0
- package/packages/mcp-servers/dist/review-queue/types.d.ts +162 -0
- package/packages/mcp-servers/dist/review-queue/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/review-queue/types.js +56 -0
- package/packages/mcp-servers/dist/review-queue/types.js.map +1 -0
- package/packages/mcp-servers/dist/secret-sync/server.d.ts +19 -0
- package/packages/mcp-servers/dist/secret-sync/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/secret-sync/server.js +1139 -0
- package/packages/mcp-servers/dist/secret-sync/server.js.map +1 -0
- package/packages/mcp-servers/dist/secret-sync/types.d.ts +442 -0
- package/packages/mcp-servers/dist/secret-sync/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/secret-sync/types.js +113 -0
- package/packages/mcp-servers/dist/secret-sync/types.js.map +1 -0
- package/packages/mcp-servers/dist/session-events/index.d.ts +5 -0
- package/packages/mcp-servers/dist/session-events/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/session-events/index.js +5 -0
- package/packages/mcp-servers/dist/session-events/index.js.map +1 -0
- package/packages/mcp-servers/dist/session-events/server.d.ts +11 -0
- package/packages/mcp-servers/dist/session-events/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/session-events/server.js +290 -0
- package/packages/mcp-servers/dist/session-events/server.js.map +1 -0
- package/packages/mcp-servers/dist/session-events/types.d.ts +213 -0
- package/packages/mcp-servers/dist/session-events/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/session-events/types.js +69 -0
- package/packages/mcp-servers/dist/session-events/types.js.map +1 -0
- package/packages/mcp-servers/dist/session-restart/index.d.ts +9 -0
- package/packages/mcp-servers/dist/session-restart/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/session-restart/index.js +9 -0
- package/packages/mcp-servers/dist/session-restart/index.js.map +1 -0
- package/packages/mcp-servers/dist/session-restart/server.d.ts +20 -0
- package/packages/mcp-servers/dist/session-restart/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/session-restart/server.js +411 -0
- package/packages/mcp-servers/dist/session-restart/server.js.map +1 -0
- package/packages/mcp-servers/dist/session-restart/types.d.ts +26 -0
- package/packages/mcp-servers/dist/session-restart/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/session-restart/types.js +16 -0
- package/packages/mcp-servers/dist/session-restart/types.js.map +1 -0
- package/packages/mcp-servers/dist/setup-helper/index.d.ts +5 -0
- package/packages/mcp-servers/dist/setup-helper/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/setup-helper/index.js +5 -0
- package/packages/mcp-servers/dist/setup-helper/index.js.map +1 -0
- package/packages/mcp-servers/dist/setup-helper/server.d.ts +14 -0
- package/packages/mcp-servers/dist/setup-helper/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/setup-helper/server.js +454 -0
- package/packages/mcp-servers/dist/setup-helper/server.js.map +1 -0
- package/packages/mcp-servers/dist/setup-helper/types.d.ts +81 -0
- package/packages/mcp-servers/dist/setup-helper/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/setup-helper/types.js +41 -0
- package/packages/mcp-servers/dist/setup-helper/types.js.map +1 -0
- package/packages/mcp-servers/dist/shared/audited-server.d.ts +31 -0
- package/packages/mcp-servers/dist/shared/audited-server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/shared/audited-server.js +126 -0
- package/packages/mcp-servers/dist/shared/audited-server.js.map +1 -0
- package/packages/mcp-servers/dist/shared/constants.d.ts +26 -0
- package/packages/mcp-servers/dist/shared/constants.d.ts.map +1 -0
- package/packages/mcp-servers/dist/shared/constants.js +41 -0
- package/packages/mcp-servers/dist/shared/constants.js.map +1 -0
- package/packages/mcp-servers/dist/shared/index.d.ts +6 -0
- package/packages/mcp-servers/dist/shared/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/shared/index.js +6 -0
- package/packages/mcp-servers/dist/shared/index.js.map +1 -0
- package/packages/mcp-servers/dist/shared/readonly-db.d.ts +11 -0
- package/packages/mcp-servers/dist/shared/readonly-db.d.ts.map +1 -0
- package/packages/mcp-servers/dist/shared/readonly-db.js +47 -0
- package/packages/mcp-servers/dist/shared/readonly-db.js.map +1 -0
- package/packages/mcp-servers/dist/shared/resolve-framework.d.ts +20 -0
- package/packages/mcp-servers/dist/shared/resolve-framework.d.ts.map +1 -0
- package/packages/mcp-servers/dist/shared/resolve-framework.js +65 -0
- package/packages/mcp-servers/dist/shared/resolve-framework.js.map +1 -0
- package/packages/mcp-servers/dist/shared/server.d.ts +86 -0
- package/packages/mcp-servers/dist/shared/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/shared/server.js +291 -0
- package/packages/mcp-servers/dist/shared/server.js.map +1 -0
- package/packages/mcp-servers/dist/shared/types.d.ts +113 -0
- package/packages/mcp-servers/dist/shared/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/shared/types.js +36 -0
- package/packages/mcp-servers/dist/shared/types.js.map +1 -0
- package/packages/mcp-servers/dist/show/server.d.ts +12 -0
- package/packages/mcp-servers/dist/show/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/show/server.js +97 -0
- package/packages/mcp-servers/dist/show/server.js.map +1 -0
- package/packages/mcp-servers/dist/show/types.d.ts +19 -0
- package/packages/mcp-servers/dist/show/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/show/types.js +32 -0
- package/packages/mcp-servers/dist/show/types.js.map +1 -0
- package/packages/mcp-servers/dist/specs-browser/index.d.ts +5 -0
- package/packages/mcp-servers/dist/specs-browser/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/specs-browser/index.js +5 -0
- package/packages/mcp-servers/dist/specs-browser/index.js.map +1 -0
- package/packages/mcp-servers/dist/specs-browser/server.d.ts +13 -0
- package/packages/mcp-servers/dist/specs-browser/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/specs-browser/server.js +692 -0
- package/packages/mcp-servers/dist/specs-browser/server.js.map +1 -0
- package/packages/mcp-servers/dist/specs-browser/types.d.ts +337 -0
- package/packages/mcp-servers/dist/specs-browser/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/specs-browser/types.js +134 -0
- package/packages/mcp-servers/dist/specs-browser/types.js.map +1 -0
- package/packages/mcp-servers/dist/supabase/index.d.ts +10 -0
- package/packages/mcp-servers/dist/supabase/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/supabase/index.js +10 -0
- package/packages/mcp-servers/dist/supabase/index.js.map +1 -0
- package/packages/mcp-servers/dist/supabase/server.d.ts +20 -0
- package/packages/mcp-servers/dist/supabase/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/supabase/server.js +451 -0
- package/packages/mcp-servers/dist/supabase/server.js.map +1 -0
- package/packages/mcp-servers/dist/supabase/types.d.ts +196 -0
- package/packages/mcp-servers/dist/supabase/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/supabase/types.js +76 -0
- package/packages/mcp-servers/dist/supabase/types.js.map +1 -0
- package/packages/mcp-servers/dist/todo-db/index.d.ts +5 -0
- package/packages/mcp-servers/dist/todo-db/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/todo-db/index.js +5 -0
- package/packages/mcp-servers/dist/todo-db/index.js.map +1 -0
- package/packages/mcp-servers/dist/todo-db/server.d.ts +13 -0
- package/packages/mcp-servers/dist/todo-db/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/todo-db/server.js +649 -0
- package/packages/mcp-servers/dist/todo-db/server.js.map +1 -0
- package/packages/mcp-servers/dist/todo-db/types.d.ts +225 -0
- package/packages/mcp-servers/dist/todo-db/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/todo-db/types.js +69 -0
- package/packages/mcp-servers/dist/todo-db/types.js.map +1 -0
- package/packages/mcp-servers/dist/user-feedback/index.d.ts +7 -0
- package/packages/mcp-servers/dist/user-feedback/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/user-feedback/index.js +8 -0
- package/packages/mcp-servers/dist/user-feedback/index.js.map +1 -0
- package/packages/mcp-servers/dist/user-feedback/server.d.ts +25 -0
- package/packages/mcp-servers/dist/user-feedback/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/user-feedback/server.js +914 -0
- package/packages/mcp-servers/dist/user-feedback/server.js.map +1 -0
- package/packages/mcp-servers/dist/user-feedback/types.d.ts +415 -0
- package/packages/mcp-servers/dist/user-feedback/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/user-feedback/types.js +132 -0
- package/packages/mcp-servers/dist/user-feedback/types.js.map +1 -0
- package/packages/mcp-servers/dist/vercel/index.d.ts +9 -0
- package/packages/mcp-servers/dist/vercel/index.d.ts.map +1 -0
- package/packages/mcp-servers/dist/vercel/index.js +9 -0
- package/packages/mcp-servers/dist/vercel/index.js.map +1 -0
- package/packages/mcp-servers/dist/vercel/server.d.ts +17 -0
- package/packages/mcp-servers/dist/vercel/server.d.ts.map +1 -0
- package/packages/mcp-servers/dist/vercel/server.js +265 -0
- package/packages/mcp-servers/dist/vercel/server.js.map +1 -0
- package/packages/mcp-servers/dist/vercel/types.d.ts +189 -0
- package/packages/mcp-servers/dist/vercel/types.d.ts.map +1 -0
- package/packages/mcp-servers/dist/vercel/types.js +65 -0
- package/packages/mcp-servers/dist/vercel/types.js.map +1 -0
- package/packages/mcp-servers/package-lock.json +3765 -0
- package/packages/mcp-servers/package.json +64 -0
- package/packages/mcp-servers/test/reporters/test-failure-reporter.ts +372 -0
- package/packages/mcp-servers/vitest.config.ts +27 -0
- package/scripts/__tests__/README.md +163 -0
- package/scripts/apply-credential-hardening.sh +271 -0
- package/scripts/credential-providers/manual.js +56 -0
- package/scripts/credential-providers/onepassword.js +85 -0
- package/scripts/credential-providers/provider-interface.js +104 -0
- package/scripts/encrypt-credential.js +337 -0
- package/scripts/feedback-launcher.js +338 -0
- package/scripts/feedback-orchestrator.js +373 -0
- package/scripts/fix-mcp-launcher-issues.sh +97 -0
- package/scripts/force-spawn-tasks.js +651 -0
- package/scripts/force-triage-reports.js +560 -0
- package/scripts/generate-protected-actions-spec.js +142 -0
- package/scripts/generate-proxy-certs.sh +158 -0
- package/scripts/grant-chrome-ext-permissions.sh +242 -0
- package/scripts/mcp-launcher.js +125 -0
- package/scripts/merge-settings.cjs +167 -0
- package/scripts/patch-clawd.py +844 -0
- package/scripts/patch-credential-cache.py +313 -0
- package/scripts/patches/credential-file-guard-patched.mjs +573 -0
- package/scripts/patches/credential-file-guard.js.patched +573 -0
- package/scripts/patches/verify-tokenizer.mjs +132 -0
- package/scripts/protect-framework.sh +478 -0
- package/scripts/readme-chrome.template +12 -0
- package/scripts/reap-completed-agents.js +439 -0
- package/scripts/reinstall.sh +86 -0
- package/scripts/resign-node.sh +185 -0
- package/scripts/rotation-proxy.js +656 -0
- package/scripts/rotation-stress-monitor.mjs +862 -0
- package/scripts/setup-automation-service.sh +648 -0
- package/scripts/setup-check.js +251 -0
- package/scripts/watch-claude-version.js +142 -0
- package/specs/framework/CORE-INVARIANTS.md +161 -0
- package/specs/patterns/AGENT-PATTERNS.md +223 -0
- package/specs/patterns/HOOK-PATTERNS.md +242 -0
- package/specs/patterns/MCP-SERVER-PATTERNS.md +144 -0
- package/templates/config/gitignore.template +14 -0
- package/templates/config/merge-chain-check.yml.template +51 -0
- package/templates/config/package.json.template +18 -0
- package/templates/config/pnpm-workspace.yaml +5 -0
- package/templates/config/services.json.template +18 -0
- package/templates/config/tsconfig.base.json +17 -0
- package/templates/scaffold/integrations/_template/.gitkeep +0 -0
- package/templates/scaffold/packages/logger/package.json +17 -0
- package/templates/scaffold/packages/logger/src/logger.ts +44 -0
- package/templates/scaffold/packages/shared/package.json +17 -0
- package/templates/scaffold/packages/shared/src/errors.ts +43 -0
- package/templates/scaffold/products/_product/apps/backend/package.json +21 -0
- package/templates/scaffold/products/_product/apps/backend/src/index.ts +17 -0
- package/templates/scaffold/products/_product/apps/extension/.gitkeep +0 -0
- package/templates/scaffold/products/_product/apps/web/.gitkeep +0 -0
- package/templates/scaffold/specs/global/.gitkeep +0 -0
- package/templates/scaffold/specs/local/.gitkeep +0 -0
- package/templates/scaffold/specs/reference/.gitkeep +0 -0
- package/version.json +15 -0
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
# Enforce Local Specification Compliance - ODIN System
|
|
2
|
+
|
|
3
|
+
You are enforcing compliance with a local specification for the ODIN trading system.
|
|
4
|
+
|
|
5
|
+
## Your Assignment
|
|
6
|
+
|
|
7
|
+
**Specification**: {{SPEC_NAME}}
|
|
8
|
+
**Spec File Path**: `{{SPEC_PATH}}`
|
|
9
|
+
{{#if SUITE_ID}}
|
|
10
|
+
|
|
11
|
+
### Suite Context
|
|
12
|
+
|
|
13
|
+
**Suite**: `{{SUITE_ID}}`
|
|
14
|
+
**Suite Scope**: `{{SUITE_SCOPE}}`
|
|
15
|
+
|
|
16
|
+
This is a **suite exploratory spec**. You must ONLY explore files matching the scope pattern above.
|
|
17
|
+
{{/if}}
|
|
18
|
+
|
|
19
|
+
## Specification Content
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
{{SPEC_CONTENT}}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
Your task is to find the most relevant files in the codebase that should comply with this specification, then ensure they meet ALL requirements.
|
|
28
|
+
|
|
29
|
+
### What You Must Do
|
|
30
|
+
|
|
31
|
+
1. **Identify relevant files** - Use Glob/Grep to find files that should comply with this spec (up to 10 files)
|
|
32
|
+
2. **Read and analyze files** - Understand what they do and how they're structured
|
|
33
|
+
3. **Identify ALL violations** - Check against every rule in the spec
|
|
34
|
+
4. **Get code-reviewer recommendation** - BEFORE fixing, ask code-reviewer if we should fix code OR update spec
|
|
35
|
+
5. **Apply recommended fix** - Either update code OR update spec based on recommendation
|
|
36
|
+
6. **Add/update tests** - If code was changed, ensure tests cover the fixed code paths
|
|
37
|
+
7. **Verify compliance** - Double-check all fixes are correct
|
|
38
|
+
|
|
39
|
+
### CRITICAL: Finding Relevant Files (Rate Limit: 10 Files Max)
|
|
40
|
+
|
|
41
|
+
**You have freedom to explore the codebase** to find files that should comply with this spec, but you are limited to checking **up to 10 files maximum** per run to stay within rate limits.
|
|
42
|
+
|
|
43
|
+
{{#if SUITE_SCOPE}}
|
|
44
|
+
### Scope Constraint
|
|
45
|
+
|
|
46
|
+
⚠️ **You are enforcing this spec within suite `{{SUITE_ID}}`.**
|
|
47
|
+
|
|
48
|
+
**ONLY explore files matching this pattern:**
|
|
49
|
+
```
|
|
50
|
+
{{SUITE_SCOPE}}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Use `Glob("{{SUITE_SCOPE}}")` to find relevant files. Do NOT check files outside this scope.
|
|
54
|
+
{{/if}}
|
|
55
|
+
|
|
56
|
+
**Exploration Strategy**:
|
|
57
|
+
|
|
58
|
+
1. **Start Broad**: Use `Glob` to search by file patterns (e.g., `**/*Orchestrator*.js`){{#if SUITE_SCOPE}} - constrained to `{{SUITE_SCOPE}}`{{/if}}
|
|
59
|
+
2. **Narrow Down**: Use `Grep` to search by content patterns (e.g., class names, function signatures)
|
|
60
|
+
3. **Prioritize**: Read file names/paths to identify the most critical files
|
|
61
|
+
4. **Select Wisely**: Choose up to 10 files that are most likely to have violations
|
|
62
|
+
|
|
63
|
+
**Examples**:
|
|
64
|
+
- THOR.md spec → search for `Thor*`, `VirtualClock`, `InterceptionManager`
|
|
65
|
+
- BARDE.md spec → search for `Barde*`, `UniversalStopLossManager`, `paper_trading*`
|
|
66
|
+
- OVERSEER.md spec → search for `Overseer*`, `ML*`, `ensemble*`
|
|
67
|
+
|
|
68
|
+
**Priority Guidelines**:
|
|
69
|
+
- Core implementation files > utility/helper files
|
|
70
|
+
- Files that directly implement spec requirements > tangentially related files
|
|
71
|
+
- Files with high complexity > simple configuration files
|
|
72
|
+
|
|
73
|
+
**Important**: Focus on quality over quantity. It's better to thoroughly check 10 critical files than to superficially check 20 files.
|
|
74
|
+
|
|
75
|
+
### CRITICAL: Spec vs Code Decision
|
|
76
|
+
|
|
77
|
+
**BEFORE changing any code**, run the code-reviewer sub-agent to determine the correct action:
|
|
78
|
+
|
|
79
|
+
- **If spec is outdated**: Update the spec to match the intentional code behavior
|
|
80
|
+
- **If code is wrong**: Fix the code to match the spec
|
|
81
|
+
|
|
82
|
+
The code-reviewer will analyze whether:
|
|
83
|
+
1. The code pattern is intentional and the spec is outdated
|
|
84
|
+
2. The code depends on specific patterns (e.g., ID formats parsed by other code)
|
|
85
|
+
3. Changing code would break other parts of the system
|
|
86
|
+
4. The spec needs clarification or exceptions added
|
|
87
|
+
|
|
88
|
+
**Go with the code-reviewer's recommendation, even if that means updating the spec rather than the code.**
|
|
89
|
+
|
|
90
|
+
### Critical Rules (from CLAUDE.md)
|
|
91
|
+
|
|
92
|
+
In addition to the spec requirements, you MUST enforce these global invariants:
|
|
93
|
+
|
|
94
|
+
- **NO GRACEFUL FALLBACKS** - Fail hard and loud when something doesn't meet specification
|
|
95
|
+
- **NO MOCKS IN PRODUCTION CODE** - No `isMockMode`, `MOCK_MODE`, `mockMode`, `isSimulation` checks in `src/**/*.js`
|
|
96
|
+
- **MONETARY PRECISION** - All monetary values rounded to 2 decimal places (float dollars OK)
|
|
97
|
+
- **ISO 8601 TIMESTAMPS** - All timestamps in ISO 8601 format
|
|
98
|
+
- **UNIQUE IDENTIFIERS** - UUIDs v4 preferred, but timestamp-based IDs acceptable if code parses them
|
|
99
|
+
- **FAIL-HARD ON MISSING DATA** - Never silently return null/undefined/empty when data is expected
|
|
100
|
+
|
|
101
|
+
**Note**: These rules have documented exceptions in `specs/global/CORE-INVARIANTS.md`. Check the spec for acceptable patterns before flagging violations.
|
|
102
|
+
|
|
103
|
+
## Workflow
|
|
104
|
+
|
|
105
|
+
Use the standard sub-agent sequence per CLAUDE.md. The key difference here is that you explore the codebase to find relevant files, and code-reviewer runs BEFORE code-writer to decide the fix approach.
|
|
106
|
+
|
|
107
|
+
### 1. Investigator (batch up to 3)
|
|
108
|
+
|
|
109
|
+
**Task**: Find files that should comply with this spec, then identify ALL violations.
|
|
110
|
+
|
|
111
|
+
**Phase 1 - Discovery**:
|
|
112
|
+
- Use Glob to search for files by name patterns
|
|
113
|
+
- Use Grep to search for files by content patterns
|
|
114
|
+
- Read files to assess relevance to the spec
|
|
115
|
+
- Build a list of files that MUST comply
|
|
116
|
+
|
|
117
|
+
**Phase 2 - Violation Detection**:
|
|
118
|
+
- For each relevant file, check against ALL spec requirements
|
|
119
|
+
- Document violations with line numbers, code snippets, rules violated
|
|
120
|
+
|
|
121
|
+
**Output**:
|
|
122
|
+
- List of relevant files found
|
|
123
|
+
- For each file, list of violations with:
|
|
124
|
+
- Line numbers
|
|
125
|
+
- Code snippets
|
|
126
|
+
- Rule violated
|
|
127
|
+
- Severity (critical/high/medium/low)
|
|
128
|
+
- Suggested fix
|
|
129
|
+
|
|
130
|
+
**Important**: Be thorough in discovery. Don't miss files that should comply.
|
|
131
|
+
|
|
132
|
+
### 2. Code-Reviewer (DECISION PHASE - batch up to 3)
|
|
133
|
+
|
|
134
|
+
**Task**: For each identified violation, determine the correct fix approach.
|
|
135
|
+
|
|
136
|
+
**Analysis for each violation**:
|
|
137
|
+
1. Is this code pattern intentional? (Check commit history, related code)
|
|
138
|
+
2. Does other code depend on this pattern? (e.g., ID parsing, data formats)
|
|
139
|
+
3. Would changing this code break other parts of the system?
|
|
140
|
+
4. Is the spec outdated or missing an exception?
|
|
141
|
+
|
|
142
|
+
**Decision for each violation**:
|
|
143
|
+
- **FIX_CODE**: The code is wrong, fix it to match the spec
|
|
144
|
+
- **UPDATE_SPEC**: The code is correct, update the spec to document the pattern
|
|
145
|
+
- **ADD_EXCEPTION**: The code has a valid reason, add an exception to the spec
|
|
146
|
+
|
|
147
|
+
**Output**: For each violation, provide:
|
|
148
|
+
- Decision: FIX_CODE / UPDATE_SPEC / ADD_EXCEPTION
|
|
149
|
+
- Reasoning: Why this is the correct approach
|
|
150
|
+
- Impact: What would change with each option
|
|
151
|
+
|
|
152
|
+
**Important**: Your recommendation will be followed. Be thorough in your analysis.
|
|
153
|
+
|
|
154
|
+
### 3. Code-Writer (batch up to 3)
|
|
155
|
+
|
|
156
|
+
**Task**: Apply the recommended fixes from the code-reviewer.
|
|
157
|
+
|
|
158
|
+
**For FIX_CODE decisions**:
|
|
159
|
+
- Make minimal changes (only what's needed to fix violations)
|
|
160
|
+
- Preserve existing functionality
|
|
161
|
+
- Follow existing code style
|
|
162
|
+
- Add comments explaining non-obvious changes
|
|
163
|
+
|
|
164
|
+
**For UPDATE_SPEC or ADD_EXCEPTION decisions**:
|
|
165
|
+
- Edit the spec file at `{{SPEC_PATH}}` (provided in assignment above)
|
|
166
|
+
- Add clear documentation of the exception or pattern
|
|
167
|
+
- Include rationale for why this is acceptable
|
|
168
|
+
|
|
169
|
+
**Important**: Do NOT introduce new violations while fixing old ones. Double-check your changes.
|
|
170
|
+
|
|
171
|
+
### 4. Test-Writer (ONLY if code was changed - batch up to 3)
|
|
172
|
+
|
|
173
|
+
**Task**: Ensure tests cover any code changes made.
|
|
174
|
+
|
|
175
|
+
**When to run**:
|
|
176
|
+
- ALWAYS run if FIX_CODE was applied to any violation
|
|
177
|
+
- SKIP if only spec updates were made (no code changes)
|
|
178
|
+
|
|
179
|
+
**Requirements**:
|
|
180
|
+
- Add new tests if needed to cover fixes
|
|
181
|
+
- Update existing tests if they break
|
|
182
|
+
- Ensure tests verify spec compliance
|
|
183
|
+
- Follow test patterns in existing test files
|
|
184
|
+
|
|
185
|
+
**Important**: Tests should verify the spec requirements, not just that code doesn't crash.
|
|
186
|
+
|
|
187
|
+
### 5. Code-Reviewer (FINAL REVIEW - batch up to 3)
|
|
188
|
+
|
|
189
|
+
**Task**: Review all changes for correctness.
|
|
190
|
+
|
|
191
|
+
**Check**:
|
|
192
|
+
- ✅ All violations addressed per the decision phase recommendations
|
|
193
|
+
- ✅ No new violations introduced
|
|
194
|
+
- ✅ Tests pass and cover code changes (if any)
|
|
195
|
+
- ✅ Spec updates are clear and accurate (if any)
|
|
196
|
+
- ✅ No unintended side effects
|
|
197
|
+
|
|
198
|
+
**Important**: Be critical. If something looks wrong, flag it and have code-writer fix it.
|
|
199
|
+
|
|
200
|
+
### 6. Project-Manager (MANDATORY, ALWAYS LAST)
|
|
201
|
+
|
|
202
|
+
**Task**: Document all changes in the session report.
|
|
203
|
+
|
|
204
|
+
**Include**:
|
|
205
|
+
- Summary of files found that should comply
|
|
206
|
+
- Summary of violations found across all files
|
|
207
|
+
- For each violation: decision made (FIX_CODE/UPDATE_SPEC/ADD_EXCEPTION)
|
|
208
|
+
- Summary of code fixes applied
|
|
209
|
+
- Summary of spec updates made
|
|
210
|
+
- Test changes made (if any)
|
|
211
|
+
- Any remaining issues or concerns
|
|
212
|
+
|
|
213
|
+
**Important**: NEVER run project-manager in parallel. It must always be the final step.
|
|
214
|
+
|
|
215
|
+
## Batching Example
|
|
216
|
+
|
|
217
|
+
If you find 3 relevant files with 2 violations each (6 total violations):
|
|
218
|
+
|
|
219
|
+
- **Round 1**: 3 investigators identify relevant files + violations in files 1-3
|
|
220
|
+
- **Round 2**: 3 investigators identify violations in remaining files (if needed)
|
|
221
|
+
- **Round 3**: 3 code-reviewers analyze violations 1-3 (DECISION PHASE - FIX_CODE/UPDATE_SPEC/ADD_EXCEPTION)
|
|
222
|
+
- **Round 4**: 3 code-reviewers analyze violations 4-6 (DECISION PHASE)
|
|
223
|
+
- **Round 5**: 3 code-writers apply fixes for violations 1-3 (code OR spec, per reviewer decision)
|
|
224
|
+
- **Round 6**: 3 code-writers apply fixes for violations 4-6 (code OR spec, per reviewer decision)
|
|
225
|
+
- **Round 7**: 3 test-writers add/update tests (ONLY for FIX_CODE decisions)
|
|
226
|
+
- **Round 8**: 3 code-reviewers review all changes (FINAL REVIEW)
|
|
227
|
+
- **Round 9**: 1 project-manager documents everything (LAST, NEVER PARALLEL)
|
|
228
|
+
|
|
229
|
+
**Key Change**: Code-reviewer runs TWICE - once to decide the approach (step 3-4), and once to verify the changes (step 8).
|
|
230
|
+
|
|
231
|
+
## Output Format
|
|
232
|
+
|
|
233
|
+
Provide a compliance report at the end:
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
## Compliance Report: {{SPEC_NAME}}
|
|
237
|
+
|
|
238
|
+
### Exploration Phase
|
|
239
|
+
|
|
240
|
+
**Files Found**: [TOTAL COUNT]
|
|
241
|
+
**Files Checked**: [COUNT] (max 10 due to rate limits)
|
|
242
|
+
|
|
243
|
+
**Search Patterns Used**:
|
|
244
|
+
- Glob: [patterns]
|
|
245
|
+
- Grep: [keywords]
|
|
246
|
+
|
|
247
|
+
**Selected Files** (checked):
|
|
248
|
+
1. [path] - [reason for selection]
|
|
249
|
+
2. [path] - [reason for selection]
|
|
250
|
+
...
|
|
251
|
+
|
|
252
|
+
**Files Not Checked** (if total > 10):
|
|
253
|
+
- [path] - [reason for lower priority]
|
|
254
|
+
- ...
|
|
255
|
+
|
|
256
|
+
### Total Violations Found: [COUNT]
|
|
257
|
+
|
|
258
|
+
#### File: [path/to/file1.js]
|
|
259
|
+
|
|
260
|
+
**Violation 1**: [Rule ID] [Brief description]
|
|
261
|
+
- Location: Line [N]
|
|
262
|
+
- Code: `[snippet]`
|
|
263
|
+
- Severity: [critical/high/medium/low]
|
|
264
|
+
- Decision: FIX_CODE / UPDATE_SPEC / ADD_EXCEPTION
|
|
265
|
+
- Reasoning: [Why this decision was made]
|
|
266
|
+
- Status: RESOLVED / NEEDS_MANUAL_REVIEW
|
|
267
|
+
|
|
268
|
+
**Violation 2**: ...
|
|
269
|
+
|
|
270
|
+
#### File: [path/to/file2.js]
|
|
271
|
+
|
|
272
|
+
...
|
|
273
|
+
|
|
274
|
+
### Code Changes Made
|
|
275
|
+
|
|
276
|
+
- [File path]: [Description of code fix]
|
|
277
|
+
- [Impact on codebase]
|
|
278
|
+
|
|
279
|
+
### Spec Changes Made
|
|
280
|
+
|
|
281
|
+
- [Spec file]: [What was updated/added]
|
|
282
|
+
- [Reasoning for spec change]
|
|
283
|
+
|
|
284
|
+
### Tests Added/Modified (if any code was changed)
|
|
285
|
+
|
|
286
|
+
- [Test file]: [What was added/changed]
|
|
287
|
+
- [Coverage impact]
|
|
288
|
+
|
|
289
|
+
### Status: COMPLIANT / NEEDS_MANUAL_REVIEW
|
|
290
|
+
|
|
291
|
+
**Final Assessment**: [Brief statement on compliance status across all checked files]
|
|
292
|
+
|
|
293
|
+
**Remaining Issues**: [Any issues that couldn't be auto-fixed]
|
|
294
|
+
|
|
295
|
+
**Recommendation**: [If files not checked, recommend re-running compliance check on them]
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
## Important Notes
|
|
299
|
+
|
|
300
|
+
- **This is a TRADING SYSTEM** - Mistakes can cost money. Be thorough.
|
|
301
|
+
- **Rate limit: 10 files max** - Choose the most critical files for checking
|
|
302
|
+
- **You have freedom to explore** - Use Glob/Grep to find relevant files, but prioritize wisely
|
|
303
|
+
- **Quality over quantity** - Better to thoroughly check 10 critical files than superficially check 20
|
|
304
|
+
- **Spec updates are valid fixes** - If code is correct and spec is outdated, update the spec
|
|
305
|
+
- **Code-reviewer decides** - Follow the code-reviewer's recommendation for each violation
|
|
306
|
+
- **Test-writer follows code changes** - Always run test-writer after code is modified
|
|
307
|
+
- **Fail hard** - Per CLAUDE.md, never use graceful fallbacks or silent failures
|
|
308
|
+
- **NEVER run project-manager in parallel** - It must always be the final step
|
|
309
|
+
- **Document everything** - Future maintainers need to understand what changed and why
|
|
310
|
+
- **Document unchecked files** - If more than 10 relevant files found, list the ones not checked
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Fix Spec-File Mappings - Compliance Checker
|
|
2
|
+
|
|
3
|
+
You are fixing the `spec-file-mappings.json` file for the ODIN compliance checker system.
|
|
4
|
+
|
|
5
|
+
## Problem
|
|
6
|
+
|
|
7
|
+
The spec-file-mappings.json file has validation errors that must be fixed before the compliance enforcer can run.
|
|
8
|
+
|
|
9
|
+
## Validation Errors
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
{{VALIDATION_ERRORS}}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Current Mapping File Content
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{{CURRENT_MAPPINGS}}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Required Schema
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{{SCHEMA_CONTENT}}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Required Specs
|
|
28
|
+
|
|
29
|
+
Every spec in this list MUST have an entry in the mappings file:
|
|
30
|
+
|
|
31
|
+
{{REQUIRED_SPECS_LIST}}
|
|
32
|
+
|
|
33
|
+
## Instructions
|
|
34
|
+
|
|
35
|
+
1. **Read the validation errors carefully** - Understand each error before making changes
|
|
36
|
+
2. **Fix each error in the mapping file** - Address all critical errors
|
|
37
|
+
3. **Ensure the JSON is valid** - Proper syntax, no trailing commas
|
|
38
|
+
4. **Ensure every required spec has an entry** with:
|
|
39
|
+
- `description`: Brief explanation (10+ chars)
|
|
40
|
+
- `priority`: One of "critical", "high", "medium", "low"
|
|
41
|
+
- `files`: Array of file objects with `path` (must start with "src/" and end with ".js") and `lastVerified` (ISO timestamp or null)
|
|
42
|
+
- `rationale`: Explanation of why these files are mapped (20+ chars)
|
|
43
|
+
5. **Update `totalMappedFiles`** to reflect the sum of all files across all specs
|
|
44
|
+
6. **Update `lastReviewed`** to current ISO timestamp
|
|
45
|
+
7. **Update `lastReviewedBy`** to "claude-mapping-fixer"
|
|
46
|
+
|
|
47
|
+
## Agent Limit - CRITICAL
|
|
48
|
+
|
|
49
|
+
**The total number of files across ALL specs must not exceed {{MAX_AGENTS}}.**
|
|
50
|
+
|
|
51
|
+
- Current count: {{CURRENT_AGENT_COUNT}}
|
|
52
|
+
- Limit: {{MAX_AGENTS}}
|
|
53
|
+
- Excess: {{EXCESS_COUNT}}
|
|
54
|
+
|
|
55
|
+
If the current count exceeds the limit, you MUST remove at least {{EXCESS_COUNT}} files to bring the total under the limit.
|
|
56
|
+
|
|
57
|
+
**Prioritize removing:**
|
|
58
|
+
- Files from low-priority specs
|
|
59
|
+
- Files unlikely to have violations
|
|
60
|
+
- Duplicate or redundant coverage
|
|
61
|
+
- Peripheral files that don't directly implement spec requirements
|
|
62
|
+
|
|
63
|
+
## Workflow
|
|
64
|
+
|
|
65
|
+
Use the standard sub-agent sequence per CLAUDE.md:
|
|
66
|
+
|
|
67
|
+
1. **Investigator**: Analyze the errors and understand what needs fixing. Read the current mapping file, schema, and errors.
|
|
68
|
+
|
|
69
|
+
2. **Code-Writer**: Edit `.claude/hooks/spec-file-mappings.json` to fix all errors. Ensure:
|
|
70
|
+
- All required specs are present
|
|
71
|
+
- All file paths are valid (start with "src/", end with ".js")
|
|
72
|
+
- Total file count is within limit
|
|
73
|
+
- JSON is syntactically correct
|
|
74
|
+
- All required fields are present
|
|
75
|
+
|
|
76
|
+
3. **Test-Writer**: Skip (no tests for JSON config)
|
|
77
|
+
|
|
78
|
+
4. **Code-Reviewer**: Verify the fixed file:
|
|
79
|
+
- Valid JSON syntax
|
|
80
|
+
- All required specs present
|
|
81
|
+
- Total file count ≤ {{MAX_AGENTS}}
|
|
82
|
+
- All required fields present
|
|
83
|
+
- `totalMappedFiles` matches actual count
|
|
84
|
+
|
|
85
|
+
5. **Project-Manager** (MANDATORY, ALWAYS LAST): Document the fixes made in the session report
|
|
86
|
+
|
|
87
|
+
## Important Notes
|
|
88
|
+
|
|
89
|
+
- **NEVER run project-manager in parallel** - It must always be the final step
|
|
90
|
+
- **DO NOT add files without careful consideration** - Each file = 1 Claude agent = token cost
|
|
91
|
+
- **Be conservative** - Only map files with HIGH probability of spec violations
|
|
92
|
+
- **Fail hard if you cannot fix** - Per CLAUDE.md, never use graceful fallbacks
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Review Spec-File Mappings - Compliance Checker
|
|
2
|
+
|
|
3
|
+
You are reviewing the `spec-file-mappings.json` file for the ODIN compliance checker system.
|
|
4
|
+
|
|
5
|
+
## Current Status
|
|
6
|
+
|
|
7
|
+
The mapping file is **VALID** and passes all validation checks. Your task is to review whether the mappings are optimal and make improvements if needed.
|
|
8
|
+
|
|
9
|
+
## Current Mapping File
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
{{CURRENT_MAPPINGS}}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Agent Budget
|
|
16
|
+
|
|
17
|
+
| Metric | Value |
|
|
18
|
+
|--------|-------|
|
|
19
|
+
| Current Total Files | {{CURRENT_AGENT_COUNT}} |
|
|
20
|
+
| Maximum Allowed | {{MAX_AGENTS}} |
|
|
21
|
+
| Utilization | {{UTILIZATION_PERCENT}}% |
|
|
22
|
+
| Remaining Budget | {{REMAINING_BUDGET}} files |
|
|
23
|
+
|
|
24
|
+
## Per-Spec Breakdown
|
|
25
|
+
|
|
26
|
+
{{SPEC_BREAKDOWN_TABLE}}
|
|
27
|
+
|
|
28
|
+
## Your Task
|
|
29
|
+
|
|
30
|
+
Review the mappings with a **CONSERVATIVE** approach. Each mapped file spawns a Claude agent, which costs tokens.
|
|
31
|
+
|
|
32
|
+
### 1. Remove Files That Shouldn't Be Mapped
|
|
33
|
+
|
|
34
|
+
Look for:
|
|
35
|
+
- **Files unlikely to violate the spec** - Stable, well-tested, rarely-changing files
|
|
36
|
+
- **Low-risk or peripheral files** - Files that don't directly implement spec requirements
|
|
37
|
+
- **Duplicates** - Files already covered by other specs
|
|
38
|
+
- **Test files or fixtures** - Should not be in src/ anyway
|
|
39
|
+
|
|
40
|
+
### 2. Add Files That Should Be Mapped (Only if Clearly Needed)
|
|
41
|
+
|
|
42
|
+
Only add files if:
|
|
43
|
+
- **Known violators** - Check CLAUDE.md for Bug #145-148 mentions
|
|
44
|
+
- **Core components** - Files that directly implement spec requirements
|
|
45
|
+
- **Historical violations** - Files that have had compliance issues before
|
|
46
|
+
- **High-risk files** - Complex files likely to violate architectural constraints
|
|
47
|
+
|
|
48
|
+
### 3. Prioritize High-Impact Mappings
|
|
49
|
+
|
|
50
|
+
- **Critical/high priority specs** should have key files mapped
|
|
51
|
+
- **Low priority specs** might need fewer files
|
|
52
|
+
- Focus on files with HIGH probability of violations
|
|
53
|
+
|
|
54
|
+
## Conservative Guidance - READ THIS CAREFULLY
|
|
55
|
+
|
|
56
|
+
- **Lean toward FEWER entries**, not more
|
|
57
|
+
- **Each file = 1 Claude agent = significant token cost**
|
|
58
|
+
- **Only map files with HIGH probability of spec violations**
|
|
59
|
+
- **Peripheral or rarely-changing files can often be skipped**
|
|
60
|
+
- **When in doubt, DON'T add a file**
|
|
61
|
+
- **The goal is PRECISION, not COVERAGE** - We want to catch violations efficiently, not check everything
|
|
62
|
+
|
|
63
|
+
## Spec Reference
|
|
64
|
+
|
|
65
|
+
For reference, here are the specs and their key concerns:
|
|
66
|
+
|
|
67
|
+
| Spec | Key Concerns |
|
|
68
|
+
|------|--------------|
|
|
69
|
+
| **BARDE.md** | Paper trading, conservative bias (1% worse fills), 4 stop-loss types, object pooling, lock-free queues |
|
|
70
|
+
| **HEIMDALL.md** | 7 sensors, pre-flight tests, health monitoring, Thor integration, hourly reports |
|
|
71
|
+
| **HUGINN.md** | 75% confidence threshold, capital recycling ($10K per strategy), position lifecycle, REPLACES old veto system |
|
|
72
|
+
| **OVERSEER.md** | 150-dim feature vectors, [-1,1] normalization, 3-model ensemble, trains on strategy paper trades |
|
|
73
|
+
| **UNDERSEER.md** | 10 variations, fitness=(avgPnL*0.7 + winRate*0.3), 7-day cycles, 28-day epochs |
|
|
74
|
+
| **THOR.md** | 1:1 production parity, API interception, NO VirtualClock in production code, monkey-patching pattern |
|
|
75
|
+
| **SIGNALS.md** | 3-layer system (Asset→Position→Strategy), namespace isolation, fail-hard on missing signals |
|
|
76
|
+
| **CORE-INVARIANTS.md** | No mocks in production, fail-hard (no fallbacks), money as integers, ISO timestamps, UUIDs v4 |
|
|
77
|
+
|
|
78
|
+
## Known Violators (from CLAUDE.md)
|
|
79
|
+
|
|
80
|
+
These files are **CONFIRMED** violators and should be mapped to CORE-INVARIANTS.md:
|
|
81
|
+
|
|
82
|
+
- `src/money-management/core/MoneyManager.js` (Bug #145 - has `isMockMode`)
|
|
83
|
+
- `src/orchestration/scheduling/StrategyScheduler.js` (Bug #146 - has `isMockMode`)
|
|
84
|
+
- `src/orchestration/resource-management/ResourceManager.js` (Bug #147 - has `isMockMode`)
|
|
85
|
+
- `src/services/HistoricalDataCache.js` (Bug #148 - has `isMockMode`)
|
|
86
|
+
|
|
87
|
+
## Math Check - REQUIRED
|
|
88
|
+
|
|
89
|
+
Before finalizing, calculate:
|
|
90
|
+
- **New total file count** = sum of all files across all specs
|
|
91
|
+
- **Ensure new total ≤ {{MAX_AGENTS}}**
|
|
92
|
+
- **Report the delta** - How many files added/removed
|
|
93
|
+
|
|
94
|
+
## Output Format
|
|
95
|
+
|
|
96
|
+
After your review, if changes are needed:
|
|
97
|
+
|
|
98
|
+
1. Update the mapping file
|
|
99
|
+
2. Update `totalMappedFiles` to the new count
|
|
100
|
+
3. Update `lastReviewed` to current ISO timestamp
|
|
101
|
+
4. Update `lastReviewedBy` to "claude-mapping-reviewer"
|
|
102
|
+
5. Document all changes in your final report
|
|
103
|
+
|
|
104
|
+
## Workflow
|
|
105
|
+
|
|
106
|
+
Use the standard sub-agent sequence per CLAUDE.md. If there are multiple changes to make, batch agents (up to 3 at a time):
|
|
107
|
+
|
|
108
|
+
1. **Investigator** (batch up to 3):
|
|
109
|
+
- Explore the codebase to understand which files are most relevant
|
|
110
|
+
- Check for known violations in CLAUDE.md
|
|
111
|
+
- Analyze current mappings for appropriateness
|
|
112
|
+
- Identify files to add/remove
|
|
113
|
+
|
|
114
|
+
2. **Code-Writer** (batch up to 3):
|
|
115
|
+
- Update `.claude/hooks/spec-file-mappings.json` with your changes
|
|
116
|
+
- Update `totalMappedFiles` to reflect actual count
|
|
117
|
+
- Update `lastReviewed` to current ISO timestamp
|
|
118
|
+
- Update `lastReviewedBy` to "claude-mapping-reviewer"
|
|
119
|
+
|
|
120
|
+
3. **Test-Writer**: Skip (no tests for JSON config)
|
|
121
|
+
|
|
122
|
+
4. **Code-Reviewer** (batch up to 3):
|
|
123
|
+
- Verify the updated file is valid JSON
|
|
124
|
+
- Verify file count is accurate and within limit
|
|
125
|
+
- Verify all paths start with "src/" and end with ".js"
|
|
126
|
+
- Verify all required fields are present
|
|
127
|
+
|
|
128
|
+
5. **Project-Manager** (MANDATORY, ALWAYS LAST):
|
|
129
|
+
- Document all changes in session report
|
|
130
|
+
- List files removed with reasons
|
|
131
|
+
- List files added with reasons
|
|
132
|
+
- Report net change in file count
|
|
133
|
+
|
|
134
|
+
## Important Notes
|
|
135
|
+
|
|
136
|
+
- **NEVER run project-manager in parallel** - It must always be the final step
|
|
137
|
+
- **Be conservative** - Removing a file is often better than adding one
|
|
138
|
+
- **Each file has a cost** - Only add files with clear, compelling reasons
|
|
139
|
+
- **The system has 315 source files** - We cannot check them all
|
|
140
|
+
- **Current utilization: {{UTILIZATION_PERCENT}}%** - Is this appropriate? Consider reducing if high.
|