claude-flow-novice 2.15.11 → 2.16.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/cfn-extras/agents/cfn-v3-coordinator.md +517 -0
- package/.claude/commands/cfn-loop-cli.md +158 -464
- package/.claude/commands/cfn-loop-trigger.md +114 -0
- package/.claude/hooks/cfn-invoke-post-edit-ts.sh +100 -0
- package/.claude/hooks/cfn-invoke-post-edit-ts.sh.backup +78 -0
- package/.claude/hooks/cfn-invoke-post-edit.sh +22 -0
- package/.claude/hooks/cfn-invoke-post-edit.sh.backup +87 -0
- package/.claude/hooks/cfn-invoke-pre-edit-ts.sh +116 -0
- package/.claude/hooks/cfn-invoke-pre-edit-ts.sh.backup +94 -0
- package/.claude/hooks/cfn-invoke-pre-edit.sh +22 -0
- package/.claude/hooks/cfn-invoke-pre-edit.sh.backup +88 -0
- package/.claude/skills/cfn-agent-spawning/SKILL.md +48 -1
- package/.claude/skills/cfn-agent-spawning/SKILL.md.backup +135 -0
- package/.claude/skills/cfn-agent-spawning/TYPESCRIPT_MIGRATION.md +567 -0
- package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +22 -0
- package/.claude/skills/{cfn-redis-coordination/check-dependencies.sh → cfn-agent-spawning/check-dependencies.sh.backup} +3 -5
- package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -0
- package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh.backup +127 -0
- package/.claude/skills/cfn-agent-spawning/parse-agent-provider.sh +22 -0
- package/.claude/skills/cfn-agent-spawning/parse-agent-provider.sh.backup +59 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent-wrapper.sh +63 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent-wrapper.sh.backup +41 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +26 -1
- package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +22 -0
- package/.claude/skills/cfn-agent-spawning/spawn-templates.sh.backup +613 -0
- package/.claude/skills/cfn-agent-spawning/spawn-worker.sh +22 -0
- package/.claude/skills/cfn-agent-spawning/spawn-worker.sh.backup +176 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/metadata.json +8 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/original +271 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/revert.sh +7 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/metadata.json +8 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/original +325 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/revert.sh +7 -0
- package/.claude/skills/cfn-loop-orchestration/CLI_IMPLEMENTATION_SUMMARY.md +330 -0
- package/.claude/skills/cfn-loop-orchestration/CONFIGURATION_IMPROVEMENTS.md +318 -0
- package/.claude/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_MIGRATION.md +308 -0
- package/.claude/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_QUICK_START.md +378 -0
- package/.claude/skills/cfn-loop-orchestration/E2E_VALIDATION_REPORT.md +262 -0
- package/.claude/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +319 -519
- package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_E2E_REPORT.md +299 -0
- package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_EXECUTION_SUMMARY.md +403 -0
- package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +323 -0
- package/.claude/skills/cfn-loop-orchestration/SKILL.md +159 -48
- package/.claude/skills/cfn-loop-orchestration/SPAWN_AGENTS_IMPLEMENTATION.md +188 -0
- package/.claude/skills/cfn-loop-orchestration/TEST_COVERAGE_REPORT.md +335 -0
- package/.claude/skills/cfn-loop-orchestration/TEST_COVERAGE_SUMMARY.md +456 -0
- package/.claude/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_REPORT.md +709 -0
- package/.claude/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_SUMMARY.md +257 -0
- package/.claude/skills/cfn-loop-orchestration/VALIDATION_REPORT.md +572 -0
- package/.claude/skills/cfn-loop-orchestration/VALIDATION_SUMMARY.txt +196 -0
- package/.claude/skills/cfn-loop-orchestration/VALIDATOR_MODULE_GUIDE.md +526 -0
- package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/README.md +167 -0
- package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate-enhanced.sh +548 -0
- package/{claude-assets/skills/cfn-loop-orchestration → .claude/skills/cfn-loop-orchestration/archive/legacy-bash}/orchestrate-wrapper.sh +11 -1
- package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate.sh +182 -0
- package/.claude/skills/cfn-loop-orchestration/e2e-validation-fixed.js +240 -0
- package/.claude/skills/cfn-loop-orchestration/e2e-validation.js +213 -0
- package/.claude/skills/cfn-loop-orchestration/package-lock.json +3 -0
- package/.claude/skills/cfn-loop-orchestration/package.json +4 -0
- package/.claude/skills/cfn-loop-orchestration/run-north-star-e2e.ts +210 -0
- package/.claude/skills/cfn-loop-orchestration/src/cli/orchestrator-cli.ts +396 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR.md +564 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR_QUICK_REF.md +241 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_IMPLEMENTATION.md +375 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_QUICK_REFERENCE.md +362 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_README.md +307 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_USAGE_GUIDE.md +508 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/confidence-aggregator.ts +473 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/consensus.ts +1 -1
- package/.claude/skills/cfn-loop-orchestration/src/helpers/context-injector.ts +349 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/context-lookup.ts +486 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +6 -2
- package/.claude/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +1 -1
- package/.claude/skills/cfn-loop-orchestration/src/helpers/product-owner-decision.ts +316 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/spawn-agents.ts +357 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/validator.ts +276 -0
- package/.claude/skills/cfn-loop-orchestration/src/index.ts +2 -0
- package/.claude/skills/cfn-loop-orchestration/src/orchestrate.ts +743 -2
- package/.claude/skills/cfn-loop-orchestration/src/types.ts +56 -0
- package/.claude/skills/cfn-loop-orchestration/test-cli.sh +92 -0
- package/.claude/skills/cfn-loop-orchestration/test-typescript-integration.sh +442 -0
- package/.claude/skills/cfn-loop-orchestration/tests/agent-spawner.test.ts +124 -0
- package/.claude/skills/cfn-loop-orchestration/tests/confidence-aggregator.test.ts +604 -0
- package/.claude/skills/cfn-loop-orchestration/tests/context-injector.test.ts +561 -0
- package/.claude/skills/cfn-loop-orchestration/tests/context-lookup.test.ts +661 -0
- package/.claude/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +2 -2
- package/.claude/skills/cfn-loop-orchestration/tests/gate-check-edge-cases.test.ts +422 -0
- package/.claude/skills/cfn-loop-orchestration/tests/gate-checker.test.ts +276 -0
- package/.claude/skills/cfn-loop-orchestration/tests/logger.test.ts +291 -0
- package/.claude/skills/cfn-loop-orchestration/tests/north-star-e2e.test.ts +334 -0
- package/.claude/skills/cfn-loop-orchestration/tests/redis-coordinator.test.ts +321 -0
- package/.claude/skills/cfn-loop-orchestration/tests/spawn-agents.test.ts +284 -0
- package/.claude/skills/cfn-loop-orchestration/tests/validator.test.ts +643 -0
- package/.claude/skills/cfn-loop-validation/IMPLEMENTATION_SUMMARY.md +672 -0
- package/.claude/skills/cfn-loop-validation/INDEX.md +531 -0
- package/.claude/skills/cfn-loop-validation/README_TYPESCRIPT.md +454 -0
- package/.claude/skills/cfn-loop-validation/SKILL.md +48 -1
- package/.claude/skills/cfn-loop-validation/SKILL.md.backup +353 -0
- package/.claude/skills/cfn-loop-validation/SKILL_TYPESCRIPT.md +782 -0
- package/.claude/skills/cfn-loop-validation/VAPOR_DETECTION_EXAMPLES.md +598 -0
- package/.claude/skills/cfn-loop-validation/check-dependencies.sh +22 -0
- package/{claude-assets/skills/cfn-redis-coordination/check-dependencies.sh → .claude/skills/cfn-loop-validation/check-dependencies.sh.backup} +4 -5
- package/.claude/skills/cfn-loop-validation/detect-vapor.sh +59 -0
- package/.claude/skills/cfn-loop-validation/detect-vapor.sh.backup +37 -0
- package/.claude/skills/cfn-loop-validation/dist/.tsbuildinfo +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts +14 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.js +185 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts +14 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.js +176 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts +19 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.js +123 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/types.d.ts +156 -0
- package/.claude/skills/cfn-loop-validation/dist/types.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/types.js +66 -0
- package/.claude/skills/cfn-loop-validation/dist/types.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/validator.d.ts +85 -0
- package/.claude/skills/cfn-loop-validation/dist/validator.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/validator.js +411 -0
- package/.claude/skills/cfn-loop-validation/dist/validator.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +22 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh.backup +252 -0
- package/.claude/skills/cfn-loop-validation/package.json +93 -0
- package/.claude/skills/cfn-loop-validation/src/cli/detect-vapor.ts +177 -0
- package/.claude/skills/cfn-loop-validation/src/cli/validate-deliverables.ts +161 -0
- package/.claude/skills/cfn-loop-validation/src/cli/validate-gate.ts +139 -0
- package/.claude/skills/cfn-loop-validation/src/types.ts +215 -0
- package/.claude/skills/cfn-loop-validation/src/validator.ts +503 -0
- package/.claude/skills/cfn-loop-validation/tests/validator.test.ts +537 -0
- package/.claude/skills/{cfn-redis-coordination → cfn-loop-validation}/tsconfig.json +34 -31
- package/.claude/skills/cfn-loop-validation/validate-deliverables.sh +59 -0
- package/.claude/skills/cfn-loop-validation/validate-deliverables.sh.backup +37 -0
- package/.claude/skills/cfn-loop-validation/validate-gate.sh +63 -0
- package/.claude/skills/cfn-loop-validation/validate-gate.sh.backup +41 -0
- package/.claude/skills/cfn-loop-validation/validate-iteration.sh +22 -0
- package/.claude/skills/cfn-loop-validation/validate-iteration.sh.backup +134 -0
- package/.claude/skills/cfn-product-owner-decision/SKILL.md +479 -147
- package/.claude/skills/cfn-product-owner-decision/TYPESCRIPT_IMPLEMENTATION.md +653 -0
- package/{claude-assets/skills/cfn-product-owner-decision → .claude/skills/cfn-product-owner-decision/archive/legacy-bash}/execute-decision.sh +24 -2
- package/.claude/skills/pre-edit-backup/SKILL.md +324 -0
- package/.claude/skills/pre-edit-backup/SKILL.md.backup +277 -0
- package/.claude/skills/pre-edit-backup/backup.sh +22 -0
- package/.claude/skills/pre-edit-backup/backup.sh.backup +107 -0
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +1 -0
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +1 -0
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +1 -0
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +1 -0
- package/claude-assets/agents/cfn-dev-team/dev-ops/devops-engineer.md +10 -0
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +56 -33
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +46 -36
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +9 -0
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +17 -17
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +40 -58
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +18 -20
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +19 -28
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +15 -19
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +15 -10
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +15 -10
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +15 -25
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +17 -21
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +17 -21
- package/claude-assets/agents/cfn-dev-team/product-owners/product-owner.md +1 -5
- package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +20 -51
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +22 -71
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +21 -64
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +22 -67
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +23 -67
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +7 -35
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +8 -37
- package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +16 -54
- package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +17 -55
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +9 -37
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +17 -55
- package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +17 -48
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +8 -37
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +7 -27
- package/claude-assets/agents/cfn-dev-team/utility/analyst.md +12 -28
- package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +13 -13
- package/claude-assets/agents/cfn-dev-team/utility/context-curator.md +7 -2
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +5 -10
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +120 -714
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +12 -21
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +146 -572
- package/claude-assets/agents/custom/cfn-docker-expert.md +102 -0
- package/claude-assets/agents/custom/cfn-loops-cli-expert.md +129 -0
- package/claude-assets/cfn-extras/agents/cfn-v3-coordinator.md +517 -0
- package/claude-assets/commands/cfn-loop-cli.md +158 -464
- package/claude-assets/commands/cfn-loop-trigger.md +114 -0
- package/claude-assets/hooks/SKILL.md +518 -0
- package/claude-assets/hooks/SKILL.md.backup +471 -0
- package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh +100 -0
- package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh.backup +78 -0
- package/claude-assets/hooks/cfn-invoke-post-edit.sh +22 -0
- package/claude-assets/hooks/cfn-invoke-post-edit.sh.backup +87 -0
- package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh +116 -0
- package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh.backup +94 -0
- package/claude-assets/hooks/cfn-invoke-pre-edit.sh +22 -0
- package/claude-assets/hooks/cfn-invoke-pre-edit.sh.backup +88 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/DELIVERABLES.md +409 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/IMPLEMENTATION_SUMMARY.md +396 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/INTEGRATION_GUIDE.md +308 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/QUICK_REFERENCE.md +239 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md +107 -1
- package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md.backup +302 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/TYPESCRIPT_MIGRATION.md +295 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/agent-selector.cjs +297 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/agent-selector.js +297 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/cli.cjs +96 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/cli.js +96 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents-ts.sh +45 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents-ts.sh.backup +23 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh +22 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh.backup +173 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/src/agent-selector.test.ts +357 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/src/agent-selector.ts +350 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/src/cli.ts +74 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh +22 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh.backup +71 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/tsconfig.json +18 -0
- package/claude-assets/skills/cfn-agent-spawning/SKILL.md +48 -1
- package/claude-assets/skills/cfn-agent-spawning/SKILL.md.backup +135 -0
- package/claude-assets/skills/cfn-agent-spawning/TYPESCRIPT_MIGRATION.md +567 -0
- package/claude-assets/skills/cfn-agent-spawning/check-dependencies.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/check-dependencies.sh.backup +30 -0
- package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh.backup +127 -0
- package/claude-assets/skills/cfn-agent-spawning/parse-agent-provider.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/parse-agent-provider.sh.backup +59 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent-wrapper.sh +63 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent-wrapper.sh.backup +41 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +26 -1
- package/claude-assets/skills/cfn-agent-spawning/spawn-templates.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-templates.sh.backup +613 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-worker.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-worker.sh.backup +176 -0
- package/claude-assets/skills/cfn-coordination/agent-completion.sh.backup +36 -0
- package/claude-assets/skills/cfn-coordination/coordination-signal.sh.backup +36 -0
- package/claude-assets/skills/cfn-coordination/coordination-wait.sh.backup +36 -0
- package/claude-assets/skills/cfn-dependency-ingestion/README.md +101 -0
- package/claude-assets/skills/cfn-dependency-ingestion/SKILL.md +369 -0
- package/claude-assets/skills/cfn-dependency-ingestion/build.sh +23 -0
- package/claude-assets/skills/cfn-dependency-ingestion/dist/ingest-dependencies.js +478 -0
- package/claude-assets/skills/cfn-dependency-ingestion/ingest-dependencies.sh +295 -0
- package/claude-assets/skills/cfn-dependency-ingestion/src/ingest-dependencies.ts +563 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/metadata.json +8 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/original +271 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/revert.sh +7 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/metadata.json +8 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/original +325 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/revert.sh +7 -0
- package/claude-assets/skills/cfn-loop-orchestration/CLI_IMPLEMENTATION_SUMMARY.md +330 -0
- package/claude-assets/skills/cfn-loop-orchestration/CONFIGURATION_IMPROVEMENTS.md +318 -0
- package/claude-assets/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_MIGRATION.md +308 -0
- package/claude-assets/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_QUICK_START.md +378 -0
- package/claude-assets/skills/cfn-loop-orchestration/E2E_VALIDATION_REPORT.md +262 -0
- package/claude-assets/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +319 -519
- package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_E2E_REPORT.md +299 -0
- package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_EXECUTION_SUMMARY.md +403 -0
- package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +323 -0
- package/claude-assets/skills/cfn-loop-orchestration/SKILL.md +159 -48
- package/claude-assets/skills/cfn-loop-orchestration/SPAWN_AGENTS_IMPLEMENTATION.md +188 -0
- package/claude-assets/skills/cfn-loop-orchestration/TEST_COVERAGE_REPORT.md +335 -0
- package/claude-assets/skills/cfn-loop-orchestration/TEST_COVERAGE_SUMMARY.md +456 -0
- package/claude-assets/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_REPORT.md +709 -0
- package/claude-assets/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_SUMMARY.md +257 -0
- package/claude-assets/skills/cfn-loop-orchestration/VALIDATION_REPORT.md +572 -0
- package/claude-assets/skills/cfn-loop-orchestration/VALIDATION_SUMMARY.txt +196 -0
- package/claude-assets/skills/cfn-loop-orchestration/VALIDATOR_MODULE_GUIDE.md +526 -0
- package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/README.md +167 -0
- package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate-enhanced.sh +548 -0
- package/{.claude/skills/cfn-loop-orchestration → claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash}/orchestrate-wrapper.sh +11 -1
- package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate.sh +182 -0
- package/claude-assets/skills/cfn-loop-orchestration/e2e-validation-fixed.js +240 -0
- package/claude-assets/skills/cfn-loop-orchestration/e2e-validation.js +213 -0
- package/claude-assets/skills/cfn-loop-orchestration/package-lock.json +3 -0
- package/claude-assets/skills/cfn-loop-orchestration/package.json +4 -0
- package/claude-assets/skills/cfn-loop-orchestration/run-north-star-e2e.ts +210 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/cli/orchestrator-cli.ts +396 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR.md +564 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR_QUICK_REF.md +241 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_IMPLEMENTATION.md +375 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_QUICK_REFERENCE.md +362 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_README.md +307 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_USAGE_GUIDE.md +508 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/confidence-aggregator.ts +473 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/consensus.ts +1 -1
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/context-injector.ts +349 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/context-lookup.ts +486 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +6 -2
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +1 -1
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/product-owner-decision.ts +316 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/spawn-agents.ts +357 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/validator.ts +276 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/index.ts +2 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/orchestrate.ts +743 -2
- package/claude-assets/skills/cfn-loop-orchestration/src/types.ts +56 -0
- package/claude-assets/skills/cfn-loop-orchestration/test-cli.sh +92 -0
- package/claude-assets/skills/cfn-loop-orchestration/test-typescript-integration.sh +442 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/agent-spawner.test.ts +124 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/confidence-aggregator.test.ts +604 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/context-injector.test.ts +561 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/context-lookup.test.ts +661 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +2 -2
- package/claude-assets/skills/cfn-loop-orchestration/tests/gate-check-edge-cases.test.ts +422 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/gate-checker.test.ts +276 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/logger.test.ts +291 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/north-star-e2e.test.ts +334 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/redis-coordinator.test.ts +321 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/spawn-agents.test.ts +284 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/validator.test.ts +643 -0
- package/claude-assets/skills/cfn-loop-output-processing/.eslintrc.json +33 -0
- package/claude-assets/skills/cfn-loop-output-processing/DELIVERY_SUMMARY.txt +462 -0
- package/claude-assets/skills/cfn-loop-output-processing/DEPRECATION_NOTICE.md +183 -0
- package/claude-assets/skills/cfn-loop-output-processing/EXAMPLES.md +609 -0
- package/claude-assets/skills/cfn-loop-output-processing/IMPLEMENTATION_SUMMARY.md +418 -0
- package/claude-assets/skills/cfn-loop-output-processing/INDEX.md +531 -0
- package/claude-assets/skills/cfn-loop-output-processing/MIGRATION.md +362 -0
- package/claude-assets/skills/cfn-loop-output-processing/README.md +114 -0
- package/claude-assets/skills/cfn-loop-output-processing/SKILL.md +633 -0
- package/{.claude/skills/cfn-docker-redis-coordination → claude-assets/skills/cfn-loop-output-processing}/jest.config.js +7 -15
- package/claude-assets/skills/cfn-loop-output-processing/package.json +50 -0
- package/claude-assets/skills/cfn-loop-output-processing/src/cli/process-loop2.ts +195 -0
- package/claude-assets/skills/cfn-loop-output-processing/src/cli/process-loop3.ts +157 -0
- package/claude-assets/skills/cfn-loop-output-processing/src/output-processor.ts +632 -0
- package/claude-assets/skills/cfn-loop-output-processing/tests/output-processor.test.ts +617 -0
- package/claude-assets/skills/{cfn-docker-redis-coordination → cfn-loop-output-processing}/tsconfig.json +16 -7
- package/claude-assets/skills/cfn-loop-validation/IMPLEMENTATION_SUMMARY.md +672 -0
- package/claude-assets/skills/cfn-loop-validation/INDEX.md +531 -0
- package/claude-assets/skills/cfn-loop-validation/README_TYPESCRIPT.md +454 -0
- package/claude-assets/skills/cfn-loop-validation/SKILL.md +48 -1
- package/claude-assets/skills/cfn-loop-validation/SKILL.md.backup +353 -0
- package/claude-assets/skills/cfn-loop-validation/SKILL_TYPESCRIPT.md +782 -0
- package/claude-assets/skills/cfn-loop-validation/VAPOR_DETECTION_EXAMPLES.md +598 -0
- package/claude-assets/skills/cfn-loop-validation/check-dependencies.sh +22 -0
- package/claude-assets/skills/cfn-loop-validation/check-dependencies.sh.backup +31 -0
- package/claude-assets/skills/cfn-loop-validation/detect-vapor.sh +59 -0
- package/claude-assets/skills/cfn-loop-validation/detect-vapor.sh.backup +37 -0
- package/claude-assets/skills/cfn-loop-validation/dist/.tsbuildinfo +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts +14 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.js +185 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts +14 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.js +176 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts +19 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.js +123 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/types.d.ts +156 -0
- package/claude-assets/skills/cfn-loop-validation/dist/types.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/types.js +66 -0
- package/claude-assets/skills/cfn-loop-validation/dist/types.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/validator.d.ts +85 -0
- package/claude-assets/skills/cfn-loop-validation/dist/validator.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/validator.js +411 -0
- package/claude-assets/skills/cfn-loop-validation/dist/validator.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +22 -0
- package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh.backup +252 -0
- package/claude-assets/skills/cfn-loop-validation/package.json +93 -0
- package/claude-assets/skills/cfn-loop-validation/src/cli/detect-vapor.ts +177 -0
- package/claude-assets/skills/cfn-loop-validation/src/cli/validate-deliverables.ts +161 -0
- package/claude-assets/skills/cfn-loop-validation/src/cli/validate-gate.ts +139 -0
- package/claude-assets/skills/cfn-loop-validation/src/types.ts +215 -0
- package/claude-assets/skills/cfn-loop-validation/src/validator.ts +503 -0
- package/claude-assets/skills/cfn-loop-validation/tests/validator.test.ts +537 -0
- package/claude-assets/skills/{cfn-redis-coordination → cfn-loop-validation}/tsconfig.json +34 -31
- package/claude-assets/skills/cfn-loop-validation/validate-deliverables.sh +59 -0
- package/claude-assets/skills/cfn-loop-validation/validate-deliverables.sh.backup +37 -0
- package/claude-assets/skills/cfn-loop-validation/validate-gate.sh +63 -0
- package/claude-assets/skills/cfn-loop-validation/validate-gate.sh.backup +41 -0
- package/claude-assets/skills/cfn-loop-validation/validate-iteration.sh +22 -0
- package/claude-assets/skills/cfn-loop-validation/validate-iteration.sh.backup +134 -0
- package/claude-assets/skills/cfn-product-owner-decision/SKILL.md +479 -147
- package/claude-assets/skills/cfn-product-owner-decision/TYPESCRIPT_IMPLEMENTATION.md +653 -0
- package/{.claude/skills/cfn-product-owner-decision → claude-assets/skills/cfn-product-owner-decision/archive/legacy-bash}/execute-decision.sh +24 -2
- package/claude-assets/skills/cfn-provider-routing/README.md +129 -0
- package/claude-assets/skills/cfn-provider-routing/SKILL.md +192 -0
- package/claude-assets/skills/cfn-provider-routing/resolve-provider-model.ts +223 -0
- package/claude-assets/skills/pre-edit-backup/SKILL.md +324 -0
- package/claude-assets/skills/pre-edit-backup/SKILL.md.backup +277 -0
- package/claude-assets/skills/pre-edit-backup/backup.sh +22 -0
- package/claude-assets/skills/pre-edit-backup/backup.sh.backup +107 -0
- package/dist/agents/agent-loader.js +146 -165
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/api/auth-endpoints.js +415 -0
- package/dist/api/auth-endpoints.js.map +1 -0
- package/dist/api/task-endpoints.js +562 -0
- package/dist/api/task-endpoints.js.map +1 -0
- package/dist/backend/server.js +418 -0
- package/dist/backend/server.js.map +1 -0
- package/dist/cfn-loop/product-owner/decision-parser.js +356 -0
- package/dist/cfn-loop/product-owner/decision-parser.js.map +1 -0
- package/dist/cfn-loop/product-owner/index.js +1 -0
- package/dist/cfn-loop/product-owner/index.js.map +1 -1
- package/dist/cli/agent-command.js +1 -1
- package/dist/cli/agent-command.js.map +1 -1
- package/dist/cli/agent-completion.js +273 -0
- package/dist/cli/agent-completion.js.map +1 -0
- package/dist/cli/agent-prompt-builder.js +83 -48
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawner.js +499 -0
- package/dist/cli/agent-spawner.js.map +1 -0
- package/dist/cli/anthropic-client.js +10 -3
- package/dist/cli/anthropic-client.js.map +1 -1
- package/dist/cli/config-manager.js +91 -109
- package/dist/cli/index.js +11 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/parse-decision-cli.js +268 -0
- package/dist/cli/parse-decision-cli.js.map +1 -0
- package/dist/cli/post-edit-hook.js +83 -0
- package/dist/cli/post-edit-hook.js.map +1 -0
- package/dist/cli/pre-edit-hook.js +77 -0
- package/dist/cli/pre-edit-hook.js.map +1 -0
- package/dist/cli/spawn-agent-cli.js +209 -0
- package/dist/cli/spawn-agent-cli.js.map +1 -0
- package/dist/coordination/coordination-wrapper.js +383 -0
- package/dist/coordination/coordination-wrapper.js.map +1 -0
- package/dist/coordination/store-success-criteria.js +68 -0
- package/dist/coordination/store-success-criteria.js.map +1 -0
- package/dist/coordination/store-task-context.js +65 -0
- package/dist/coordination/store-task-context.js.map +1 -0
- package/dist/hooks/backup-manager.js +273 -0
- package/dist/hooks/backup-manager.js.map +1 -0
- package/dist/hooks/post-edit-validator.js +388 -0
- package/dist/hooks/post-edit-validator.js.map +1 -0
- package/dist/integration/index.js +19 -0
- package/dist/integration/index.js.map +1 -0
- package/dist/integration/task-mode-adapter.js +297 -0
- package/dist/integration/task-mode-adapter.js.map +1 -0
- package/dist/integration/trigger-dev-client.js +253 -0
- package/dist/integration/trigger-dev-client.js.map +1 -0
- package/dist/integration/trigger-dev-webhooks.js +362 -0
- package/dist/integration/trigger-dev-webhooks.js.map +1 -0
- package/dist/lib/path-validator.js +14 -5
- package/dist/lib/path-validator.js.map +1 -1
- package/dist/lib/redis-queue-manager.js +5 -1
- package/dist/lib/redis-queue-manager.js.map +1 -1
- package/dist/middleware/authentication.js +317 -0
- package/dist/middleware/authentication.js.map +1 -0
- package/dist/services/authentication.js +669 -0
- package/dist/services/authentication.js.map +1 -0
- package/dist/services/session-management.js +436 -0
- package/dist/services/session-management.js.map +1 -0
- package/dist/services/skill-deployment.js +8 -6
- package/dist/services/skill-deployment.js.map +1 -1
- package/dist/services/user-service.js +710 -0
- package/dist/services/user-service.js.map +1 -0
- package/dist/types/trigger-dev-events.d.js +10 -0
- package/dist/types/trigger-dev-events.d.js.map +1 -0
- package/docs/README.md +240 -0
- package/package.json +13 -4
- package/scripts/compare-workflow-performance.sh +556 -0
- package/scripts/migrate-to-optimized-workflows.sh +438 -0
- package/scripts/organize-docs.sh +338 -0
- package/scripts/trigger-dev-setup.sh +267 -0
- package/.claude/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +0 -348
- package/.claude/skills/cfn-docker-redis-coordination/README.md +0 -294
- package/.claude/skills/cfn-docker-redis-coordination/SKILL.md +0 -435
- package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh +0 -650
- package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +0 -641
- package/.claude/skills/cfn-docker-redis-coordination/package-lock.json +0 -5259
- package/.claude/skills/cfn-docker-redis-coordination/package.json +0 -40
- package/.claude/skills/cfn-docker-redis-coordination/src/coordinator.ts +0 -801
- package/.claude/skills/cfn-docker-redis-coordination/src/index.ts +0 -42
- package/.claude/skills/cfn-docker-redis-coordination/src/types.ts +0 -351
- package/.claude/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +0 -1464
- package/.claude/skills/cfn-docker-redis-coordination/tsconfig.json +0 -30
- package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +0 -228
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +0 -104
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +0 -94
- package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +0 -142
- package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +0 -359
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +0 -123
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +0 -71
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +0 -56
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +0 -89
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +0 -87
- package/.claude/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +0 -104
- package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +0 -56
- package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +0 -290
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +0 -47
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +0 -51
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +0 -1345
- package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +0 -280
- package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
- package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +0 -319
- package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +0 -124
- package/.claude/skills/cfn-redis-coordination/config.json +0 -61
- package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +0 -82
- package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +0 -274
- package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -0
- package/.claude/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +0 -553
- package/.claude/skills/cfn-redis-coordination/jest.config.js +0 -23
- package/.claude/skills/cfn-redis-coordination/package-lock.json +0 -5272
- package/.claude/skills/cfn-redis-coordination/package.json +0 -45
- package/.claude/skills/cfn-redis-coordination/src/agent-logger.ts +0 -446
- package/.claude/skills/cfn-redis-coordination/src/agent-recovery.ts +0 -454
- package/.claude/skills/cfn-redis-coordination/src/completion-reporter.ts +0 -396
- package/.claude/skills/cfn-redis-coordination/src/context-manager.ts +0 -327
- package/.claude/skills/cfn-redis-coordination/src/index.ts +0 -82
- package/.claude/skills/cfn-redis-coordination/src/mode-detector.ts +0 -155
- package/.claude/skills/cfn-redis-coordination/src/redis/redis-client.ts +0 -305
- package/.claude/skills/cfn-redis-coordination/src/redis/redis-functions.ts +0 -283
- package/.claude/skills/cfn-redis-coordination/src/redis-client.ts +0 -654
- package/.claude/skills/cfn-redis-coordination/src/result-collector.ts +0 -437
- package/.claude/skills/cfn-redis-coordination/src/swarm-manager.ts +0 -494
- package/.claude/skills/cfn-redis-coordination/src/task-analyzer.ts +0 -404
- package/.claude/skills/cfn-redis-coordination/src/task-executor.ts +0 -423
- package/.claude/skills/cfn-redis-coordination/src/types.ts +0 -235
- package/.claude/skills/cfn-redis-coordination/src/waiting-coordinator.ts +0 -587
- package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +0 -85
- package/.claude/skills/cfn-redis-coordination/test-connection-attempts.js +0 -70
- package/.claude/skills/cfn-redis-coordination/test-mode-simple.js +0 -121
- package/.claude/skills/cfn-redis-coordination/test-redis-check.js +0 -84
- package/.claude/skills/cfn-redis-coordination/test-task-mode-redis.cjs +0 -391
- package/.claude/skills/cfn-redis-coordination/tests/coordination.test.ts +0 -788
- package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +0 -67
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +0 -980
- package/claude-assets/agents/typescript-specialist.md +0 -280
- package/claude-assets/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +0 -348
- package/claude-assets/skills/cfn-docker-redis-coordination/README.md +0 -294
- package/claude-assets/skills/cfn-docker-redis-coordination/SKILL.md +0 -435
- package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh +0 -650
- package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +0 -641
- package/claude-assets/skills/cfn-docker-redis-coordination/jest.config.js +0 -37
- package/claude-assets/skills/cfn-docker-redis-coordination/package-lock.json +0 -5259
- package/claude-assets/skills/cfn-docker-redis-coordination/package.json +0 -40
- package/claude-assets/skills/cfn-docker-redis-coordination/src/coordinator.ts +0 -801
- package/claude-assets/skills/cfn-docker-redis-coordination/src/index.ts +0 -42
- package/claude-assets/skills/cfn-docker-redis-coordination/src/types.ts +0 -351
- package/claude-assets/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +0 -1464
- package/claude-assets/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +0 -228
- package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +0 -104
- package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus.sh +0 -94
- package/claude-assets/skills/cfn-loop-orchestration/helpers/context-injection.sh +0 -142
- package/claude-assets/skills/cfn-loop-orchestration/helpers/context-lookup.sh +0 -359
- package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +0 -123
- package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +0 -71
- package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +0 -56
- package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +0 -89
- package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +0 -87
- package/claude-assets/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +0 -104
- package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +0 -56
- package/claude-assets/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +0 -290
- package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +0 -47
- package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +0 -51
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +0 -1345
- package/claude-assets/skills/cfn-redis-cleanup/cleanup-redis.sh +0 -130
- package/claude-assets/skills/cfn-redis-coordination/AGENT_LOGGING.md +0 -280
- package/claude-assets/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
- package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +0 -319
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +0 -124
- package/claude-assets/skills/cfn-redis-coordination/config.json +0 -61
- package/claude-assets/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +0 -82
- package/claude-assets/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +0 -274
- package/claude-assets/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -0
- package/claude-assets/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +0 -553
- package/claude-assets/skills/cfn-redis-coordination/jest.config.js +0 -23
- package/claude-assets/skills/cfn-redis-coordination/package-lock.json +0 -5272
- package/claude-assets/skills/cfn-redis-coordination/package.json +0 -45
- package/claude-assets/skills/cfn-redis-coordination/src/agent-logger.ts +0 -446
- package/claude-assets/skills/cfn-redis-coordination/src/agent-recovery.ts +0 -454
- package/claude-assets/skills/cfn-redis-coordination/src/completion-reporter.ts +0 -396
- package/claude-assets/skills/cfn-redis-coordination/src/context-manager.ts +0 -327
- package/claude-assets/skills/cfn-redis-coordination/src/index.ts +0 -82
- package/claude-assets/skills/cfn-redis-coordination/src/mode-detector.ts +0 -155
- package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-client.ts +0 -305
- package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-functions.ts +0 -283
- package/claude-assets/skills/cfn-redis-coordination/src/redis-client.ts +0 -654
- package/claude-assets/skills/cfn-redis-coordination/src/result-collector.ts +0 -437
- package/claude-assets/skills/cfn-redis-coordination/src/swarm-manager.ts +0 -494
- package/claude-assets/skills/cfn-redis-coordination/src/task-analyzer.ts +0 -404
- package/claude-assets/skills/cfn-redis-coordination/src/task-executor.ts +0 -423
- package/claude-assets/skills/cfn-redis-coordination/src/types.ts +0 -235
- package/claude-assets/skills/cfn-redis-coordination/src/waiting-coordinator.ts +0 -587
- package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +0 -85
- package/claude-assets/skills/cfn-redis-coordination/test-connection-attempts.js +0 -70
- package/claude-assets/skills/cfn-redis-coordination/test-mode-simple.js +0 -121
- package/claude-assets/skills/cfn-redis-coordination/test-redis-check.js +0 -84
- package/claude-assets/skills/cfn-redis-coordination/test-task-mode-redis.cjs +0 -391
- package/claude-assets/skills/cfn-redis-coordination/tests/coordination.test.ts +0 -788
- package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +0 -67
- package/claude-assets/skills/cfn-redis-data-extraction/SKILL.md +0 -442
- package/claude-assets/skills/cfn-redis-data-extraction/extract.sh +0 -306
- package/dist/coordination/index.js +0 -25
- package/dist/coordination/index.js.map +0 -1
- package/docs/BUG_19_MEMORY_LEAK_TASK_MODE.md +0 -405
- package/docs/MEMORY_CLEANUP_GUIDE.md +0 -358
- package/docs/MEMORY_LEAK_FIX_SUMMARY.md +0 -322
- package/docs/REDIS_CLEANUP_EXECUTIVE_SUMMARY.md +0 -319
- package/docs/REDIS_CLEANUP_VERIFICATION_REPORT.md +0 -574
- /package/.claude/skills/cfn-loop-orchestration/{inject-loop-context.sh → archive/legacy-bash/inject-loop-context.sh} +0 -0
- /package/.claude/skills/cfn-loop-orchestration/{monitor-execution.sh → archive/legacy-bash/monitor-execution.sh} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{agent-log.sh → agent-log.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{agent-recovery.sh → agent-recovery.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{analyze-task-complexity.sh → analyze-task-complexity.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/bash-wrappers/{store-context.sh → store-context.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{cancel-swarm.sh → cancel-swarm.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{cfn-loop-exec.sh → cfn-loop-exec.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{cfn-loop-relaunch.sh → cfn-loop-relaunch.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{collect-confidence-scores.sh → collect-confidence-scores.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{collect-results.sh → collect-results.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{complete-swarm.sh → complete-swarm.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{get-context.sh → get-context.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{get-success-criteria.sh → get-success-criteria.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{invoke-waiting-mode.sh → invoke-waiting-mode.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{redis-cli-wrapper.sh → redis-cli-wrapper.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{redis-functions.sh → redis-functions.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{report-completion.sh → report-completion.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{store-context.sh → store-context.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-loop-orchestration/{inject-loop-context.sh → archive/legacy-bash/inject-loop-context.sh} +0 -0
- /package/claude-assets/skills/cfn-loop-orchestration/{monitor-execution.sh → archive/legacy-bash/monitor-execution.sh} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{agent-log.sh → agent-log.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{agent-recovery.sh → agent-recovery.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{analyze-task-complexity.sh → analyze-task-complexity.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/bash-wrappers/{store-context.sh → store-context.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{cancel-swarm.sh → cancel-swarm.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{cfn-loop-exec.sh → cfn-loop-exec.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{cfn-loop-relaunch.sh → cfn-loop-relaunch.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{collect-confidence-scores.sh → collect-confidence-scores.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{collect-results.sh → collect-results.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{complete-swarm.sh → complete-swarm.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{get-context.sh → get-context.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{get-success-criteria.sh → get-success-criteria.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{invoke-waiting-mode.sh → invoke-waiting-mode.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{redis-cli-wrapper.sh → redis-cli-wrapper.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{redis-functions.sh → redis-functions.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{report-completion.sh → report-completion.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{store-context.sh → store-context.sh.backup} +0 -0
|
@@ -0,0 +1,782 @@
|
|
|
1
|
+
# CFN Loop Validation TypeScript Module
|
|
2
|
+
|
|
3
|
+
**Purpose:** Unified TypeScript validation framework for CFN Loop critical path with comprehensive type safety and vapor detection.
|
|
4
|
+
|
|
5
|
+
**Version:** 1.0.0
|
|
6
|
+
**Status:** Production Ready
|
|
7
|
+
**Coverage:** 90%+
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
The CFN Loop Validation module provides a complete TypeScript-based validation system that replaces bash validation scripts with type-safe, testable implementations. It covers:
|
|
14
|
+
|
|
15
|
+
- **Deliverable Validation:** Verify files exist and are accessible
|
|
16
|
+
- **Success Criteria Validation:** Verify custom success conditions met
|
|
17
|
+
- **Gate Validation:** Check test pass rates against thresholds
|
|
18
|
+
- **Consensus Validation:** Validate validator scores and consensus
|
|
19
|
+
- **Vapor Detection:** Prevent "consensus on vapor" anti-pattern
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Architecture
|
|
24
|
+
|
|
25
|
+
### Core Components
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
src/
|
|
29
|
+
├── types.ts # Type definitions (ExecutionMode, ValidationConfig, etc.)
|
|
30
|
+
├── validator.ts # Main CFNValidator class
|
|
31
|
+
└── cli/
|
|
32
|
+
├── validate-deliverables.ts # CLI: Check deliverables exist
|
|
33
|
+
├── validate-gate.ts # CLI: Check gate thresholds
|
|
34
|
+
└── detect-vapor.ts # CLI: Detect vapor claims
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Type System
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
// Execution modes with thresholds
|
|
41
|
+
type ExecutionMode = 'mvp' | 'standard' | 'enterprise';
|
|
42
|
+
|
|
43
|
+
// Validation configuration
|
|
44
|
+
interface ValidationConfig {
|
|
45
|
+
mode: ExecutionMode;
|
|
46
|
+
taskId: string;
|
|
47
|
+
agentId?: string;
|
|
48
|
+
timeout?: number;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Unified result containing all validations
|
|
52
|
+
interface ValidationResult {
|
|
53
|
+
taskId: string;
|
|
54
|
+
passed: boolean;
|
|
55
|
+
deliverables?: DeliverableValidationResult;
|
|
56
|
+
successCriteria?: SuccessCriteriaValidationResult;
|
|
57
|
+
gate?: GateValidationResult;
|
|
58
|
+
consensus?: ConsensusValidationResult;
|
|
59
|
+
vapor?: VaporDetectionResult;
|
|
60
|
+
errors: ValidationError[];
|
|
61
|
+
warnings: string[];
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Mode-Specific Thresholds
|
|
66
|
+
|
|
67
|
+
| Mode | Gate Threshold | Consensus Threshold | Use Case |
|
|
68
|
+
|------|----------------|-------------------|----------|
|
|
69
|
+
| MVP | 0.70 (70%) | 0.80 (80%) | Prototyping, POCs |
|
|
70
|
+
| Standard | 0.95 (95%) | 0.90 (90%) | Production features |
|
|
71
|
+
| Enterprise | 0.98 (98%) | 0.95 (95%) | Critical systems |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Installation & Setup
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Install dependencies
|
|
79
|
+
cd .claude/skills/cfn-loop-validation
|
|
80
|
+
npm install
|
|
81
|
+
|
|
82
|
+
# Build TypeScript
|
|
83
|
+
npm run build
|
|
84
|
+
|
|
85
|
+
# Run tests
|
|
86
|
+
npm test -- --coverage
|
|
87
|
+
|
|
88
|
+
# Type check only (no build)
|
|
89
|
+
npm run type-check
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Core Validator API
|
|
95
|
+
|
|
96
|
+
### Class: CFNValidator
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
import { CFNValidator } from '@cfn/loop-validation';
|
|
100
|
+
|
|
101
|
+
// Create validator with configuration
|
|
102
|
+
const validator = new CFNValidator({
|
|
103
|
+
mode: 'standard',
|
|
104
|
+
taskId: 'feature-auth-system',
|
|
105
|
+
agentId: 'coder-001'
|
|
106
|
+
});
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Validate Deliverables
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
// Check if files exist and are accessible
|
|
113
|
+
const result = await validator.validateDeliverables([
|
|
114
|
+
'src/auth.ts',
|
|
115
|
+
'tests/auth.test.ts',
|
|
116
|
+
'dist/auth.js'
|
|
117
|
+
]);
|
|
118
|
+
|
|
119
|
+
// Result includes:
|
|
120
|
+
// - exists: boolean for each file
|
|
121
|
+
// - sizeBytes: file size
|
|
122
|
+
// - lastModified: timestamp
|
|
123
|
+
// - mimeType: detected type
|
|
124
|
+
// - allExist: true if all files present
|
|
125
|
+
// - missingFiles: count of missing files
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Example:**
|
|
129
|
+
```typescript
|
|
130
|
+
const result = await validator.validateDeliverables([
|
|
131
|
+
'/path/to/implementation.ts',
|
|
132
|
+
'/path/to/tests.test.ts'
|
|
133
|
+
]);
|
|
134
|
+
|
|
135
|
+
if (!result.allExist) {
|
|
136
|
+
console.log(`Missing ${result.missingFiles} deliverables`);
|
|
137
|
+
for (const delivery of result.deliverables) {
|
|
138
|
+
if (!delivery.exists) {
|
|
139
|
+
console.log(` - ${delivery.path} (error: ${delivery.error})`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Validate Success Criteria
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
// Define criteria
|
|
149
|
+
const criteria: SuccessCriteria[] = [
|
|
150
|
+
{
|
|
151
|
+
description: 'Main implementation file exists',
|
|
152
|
+
type: 'file_exists',
|
|
153
|
+
condition: 'src/auth.ts must exist',
|
|
154
|
+
paths: ['src/auth.ts']
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
description: 'Tests pass',
|
|
158
|
+
type: 'test_pass',
|
|
159
|
+
condition: 'npm test must succeed',
|
|
160
|
+
command: 'npm test',
|
|
161
|
+
timeout: 30000
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
description: 'Build succeeds',
|
|
165
|
+
type: 'command_output',
|
|
166
|
+
condition: 'npm run build outputs success',
|
|
167
|
+
command: 'npm run build',
|
|
168
|
+
expected: 'Successfully'
|
|
169
|
+
}
|
|
170
|
+
];
|
|
171
|
+
|
|
172
|
+
// Check criteria
|
|
173
|
+
const result = await validator.checkSuccessCriteria(criteria);
|
|
174
|
+
|
|
175
|
+
// Result includes:
|
|
176
|
+
// - passed: true if all criteria met
|
|
177
|
+
// - passedCount: number of met criteria
|
|
178
|
+
// - failedCount: number of failed criteria
|
|
179
|
+
// - details: individual results with errors
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Validate Gate Pass Rate
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
// Check if pass rate meets threshold
|
|
186
|
+
const result = await validator.validateGatePass(0.96, 'standard');
|
|
187
|
+
|
|
188
|
+
// Result includes:
|
|
189
|
+
// - passed: boolean
|
|
190
|
+
// - passRate: 0.96
|
|
191
|
+
// - threshold: 0.95 (standard mode)
|
|
192
|
+
// - gap: 0.0 if passed, or threshold - passRate
|
|
193
|
+
// - reason: human-readable message
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Example - Integration with test results:**
|
|
197
|
+
```typescript
|
|
198
|
+
// After running tests
|
|
199
|
+
const passRate = passedTests / totalTests; // e.g., 96/100 = 0.96
|
|
200
|
+
|
|
201
|
+
const gateResult = await validator.validateGatePass(passRate, 'standard');
|
|
202
|
+
|
|
203
|
+
if (!gateResult.passed) {
|
|
204
|
+
// Failure details for iteration feedback
|
|
205
|
+
const gap = (gateResult.threshold - gateResult.passRate) * 100;
|
|
206
|
+
console.log(`Gap to threshold: ${gap.toFixed(2)}%`);
|
|
207
|
+
console.log(`Recommendation: Fix ${Math.ceil(gap)} more tests`);
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Validate Consensus
|
|
212
|
+
|
|
213
|
+
```typescript
|
|
214
|
+
// Multiple validators provide scores
|
|
215
|
+
const validatorScores = [0.97, 0.96, 0.98]; // 3 validators
|
|
216
|
+
|
|
217
|
+
const result = await validator.validateConsensus(validatorScores, 'standard');
|
|
218
|
+
|
|
219
|
+
// Result includes:
|
|
220
|
+
// - passed: consensus >= threshold
|
|
221
|
+
// - consensusScore: average of scores
|
|
222
|
+
// - threshold: 0.90 (standard mode)
|
|
223
|
+
// - validatorCount: 3
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Detect Consensus on Vapor
|
|
227
|
+
|
|
228
|
+
**Most Important:** Prevents agents claiming completion without deliverables.
|
|
229
|
+
|
|
230
|
+
```typescript
|
|
231
|
+
// Agent claims completion
|
|
232
|
+
const agentOutput = `
|
|
233
|
+
Task completed successfully.
|
|
234
|
+
Created files:
|
|
235
|
+
- implementation.ts
|
|
236
|
+
- tests.test.ts
|
|
237
|
+
`;
|
|
238
|
+
|
|
239
|
+
// Check against expected deliverables
|
|
240
|
+
const expected = [
|
|
241
|
+
'src/implementation.ts',
|
|
242
|
+
'tests/implementation.test.ts'
|
|
243
|
+
];
|
|
244
|
+
|
|
245
|
+
const result = await validator.detectConsensusOnVapor(agentOutput, expected);
|
|
246
|
+
|
|
247
|
+
// Returns:
|
|
248
|
+
// - detected: true if claims completion but files missing
|
|
249
|
+
// - claimsCompletion: true if output says "completed", "done", etc.
|
|
250
|
+
// - deliverablesMissing: true if some files don't exist
|
|
251
|
+
// - missingDeliverables: list of missing files
|
|
252
|
+
// - confidence: 0.0-1.0 based on missing ratio
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Example - Integration Loop 3 validation:**
|
|
256
|
+
```typescript
|
|
257
|
+
// After Loop 3 agents complete
|
|
258
|
+
const vaporResult = await validator.detectConsensusOnVapor(
|
|
259
|
+
agentOutput,
|
|
260
|
+
expectedDeliverables
|
|
261
|
+
);
|
|
262
|
+
|
|
263
|
+
if (vaporResult.detected) {
|
|
264
|
+
// CRITICAL: Prevent consensus on vapor
|
|
265
|
+
console.error('VAPOR DETECTED:');
|
|
266
|
+
console.error(` Agent claims: "${vaporResult.agentOutput.substring(0, 100)}..."`);
|
|
267
|
+
console.error(` Missing files: ${vaporResult.missingDeliverables.join(', ')}`);
|
|
268
|
+
console.error(` Confidence: ${(vaporResult.confidence * 100).toFixed(0)}%`);
|
|
269
|
+
|
|
270
|
+
// Feedback: Which files to create
|
|
271
|
+
for (const missing of vaporResult.missingDeliverables) {
|
|
272
|
+
console.log(` Create: ${missing}`);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
return 'ITERATE'; // Don't proceed to Loop 2
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Comprehensive Validation
|
|
280
|
+
|
|
281
|
+
```typescript
|
|
282
|
+
// Validate everything at once
|
|
283
|
+
const result = await validator.performValidation({
|
|
284
|
+
deliverables: ['src/auth.ts', 'dist/auth.js'],
|
|
285
|
+
successCriteria: [
|
|
286
|
+
{
|
|
287
|
+
description: 'Files exist',
|
|
288
|
+
type: 'file_exists',
|
|
289
|
+
condition: 'deliverables must exist',
|
|
290
|
+
paths: ['src/auth.ts', 'dist/auth.js']
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
passRate: 0.96,
|
|
294
|
+
consensusScores: [0.97, 0.98],
|
|
295
|
+
agentOutput: 'Task completed successfully'
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
// Single result with all validations
|
|
299
|
+
if (result.passed) {
|
|
300
|
+
console.log('All validations passed');
|
|
301
|
+
} else {
|
|
302
|
+
// Handle specific failures
|
|
303
|
+
if (result.vapor?.detected) {
|
|
304
|
+
console.error('Vapor detected - agent claims vs deliverables mismatch');
|
|
305
|
+
}
|
|
306
|
+
if (result.gate?.passed === false) {
|
|
307
|
+
console.error(`Gate failed: ${result.gate.gap.toFixed(2)}% gap to threshold`);
|
|
308
|
+
}
|
|
309
|
+
if (result.errors.length > 0) {
|
|
310
|
+
result.errors.forEach(err => {
|
|
311
|
+
console.error(`${err.code}: ${err.message}`);
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## CLI Usage
|
|
320
|
+
|
|
321
|
+
### Validate Deliverables
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# Simple path list
|
|
325
|
+
./validate-deliverables.sh --paths file1.js,file2.js
|
|
326
|
+
|
|
327
|
+
# From file
|
|
328
|
+
./validate-deliverables.sh --file-list deliverables.txt
|
|
329
|
+
|
|
330
|
+
# JSON output
|
|
331
|
+
./validate-deliverables.sh --paths file1.js,file2.js --json
|
|
332
|
+
|
|
333
|
+
# Exit codes:
|
|
334
|
+
# 0 = all files exist
|
|
335
|
+
# 1 = some files missing
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
**Example:**
|
|
339
|
+
```bash
|
|
340
|
+
# Check build artifacts
|
|
341
|
+
./validate-deliverables.sh \
|
|
342
|
+
--paths "dist/auth.js,dist/auth.d.ts,dist/auth.js.map" \
|
|
343
|
+
--mode standard \
|
|
344
|
+
--json | jq '.deliverables[] | select(.exists == false)'
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Validate Gate
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
# Check pass rate against standard threshold (0.95)
|
|
351
|
+
./validate-gate.sh --pass-rate 0.96 --mode standard
|
|
352
|
+
|
|
353
|
+
# Check against custom threshold
|
|
354
|
+
./validate-gate.sh --pass-rate 0.96 --threshold 0.90
|
|
355
|
+
|
|
356
|
+
# JSON output
|
|
357
|
+
./validate-gate.sh --pass-rate 0.96 --mode enterprise --json
|
|
358
|
+
|
|
359
|
+
# Exit codes:
|
|
360
|
+
# 0 = gate passed
|
|
361
|
+
# 1 = gate failed
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
**Example:**
|
|
365
|
+
```bash
|
|
366
|
+
# Typical test flow
|
|
367
|
+
PASS_RATE=$(npm test 2>&1 | grep -o '[0-9]\+/[0-9]\+' | awk -F/ '{print $1/$2}')
|
|
368
|
+
|
|
369
|
+
./validate-gate.sh --pass-rate "$PASS_RATE" --mode standard --json | \
|
|
370
|
+
jq '{passed: .passed, reason: .reason, gap: .gap}'
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### Detect Vapor
|
|
374
|
+
|
|
375
|
+
```bash
|
|
376
|
+
# Detect claims without deliverables
|
|
377
|
+
./detect-vapor.sh \
|
|
378
|
+
--output "Task completed successfully" \
|
|
379
|
+
--deliverables "src/auth.ts,tests/auth.test.ts"
|
|
380
|
+
|
|
381
|
+
# Load output from file
|
|
382
|
+
./detect-vapor.sh \
|
|
383
|
+
--output-file agent_output.log \
|
|
384
|
+
--deliverables "src/auth.ts,src/client.ts"
|
|
385
|
+
|
|
386
|
+
# JSON output
|
|
387
|
+
./detect-vapor.sh \
|
|
388
|
+
--output "Implementation complete" \
|
|
389
|
+
--deliverables "missing1.ts,missing2.ts" \
|
|
390
|
+
--json
|
|
391
|
+
|
|
392
|
+
# Exit codes:
|
|
393
|
+
# 0 = no vapor detected
|
|
394
|
+
# 1 = vapor detected
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
**Example:**
|
|
398
|
+
```bash
|
|
399
|
+
# Integration into orchestrator
|
|
400
|
+
VAPOR_RESULT=$(./.claude/skills/cfn-loop-validation/detect-vapor.sh \
|
|
401
|
+
--output "$AGENT_OUTPUT" \
|
|
402
|
+
--deliverables "$(echo $EXPECTED_FILES | tr ' ' ',')" \
|
|
403
|
+
--json)
|
|
404
|
+
|
|
405
|
+
if [ "$(echo "$VAPOR_RESULT" | jq '.detected')" = "true" ]; then
|
|
406
|
+
echo "ERROR: Consensus on vapor"
|
|
407
|
+
echo "$VAPOR_RESULT" | jq '.missingDeliverables'
|
|
408
|
+
exit 1
|
|
409
|
+
fi
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Vapor Detection Deep Dive
|
|
415
|
+
|
|
416
|
+
### What is Vapor?
|
|
417
|
+
|
|
418
|
+
**Consensus on Vapor** = Agent claims completion but deliverables don't exist.
|
|
419
|
+
|
|
420
|
+
```
|
|
421
|
+
Example: Loop 3 Agent Output
|
|
422
|
+
"Task completed successfully. Created:
|
|
423
|
+
- src/auth.ts
|
|
424
|
+
- tests/auth.test.ts
|
|
425
|
+
- dist/auth.js"
|
|
426
|
+
|
|
427
|
+
Reality: Files don't exist
|
|
428
|
+
=> Consensus on Vapor Detected!
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
### Why It Matters
|
|
432
|
+
|
|
433
|
+
Without vapor detection:
|
|
434
|
+
1. Agent claims completion
|
|
435
|
+
2. Loop 2 validators review "completed" task
|
|
436
|
+
3. Loop 2 reports consensus on non-existent work
|
|
437
|
+
4. Product Owner approves vapor
|
|
438
|
+
5. Task appears done but is actually failed
|
|
439
|
+
|
|
440
|
+
### Detection Algorithm
|
|
441
|
+
|
|
442
|
+
```typescript
|
|
443
|
+
// 1. Check if output claims completion
|
|
444
|
+
const claimsCompletion = /complete|done|finished|success|delivered|created/i.test(output);
|
|
445
|
+
|
|
446
|
+
// 2. Validate expected deliverables exist
|
|
447
|
+
const validation = await validateDeliverables(expectedDeliverables);
|
|
448
|
+
|
|
449
|
+
// 3. Calculate confidence
|
|
450
|
+
const confidence = missingCount / totalCount; // 0.0-1.0
|
|
451
|
+
|
|
452
|
+
// 4. Result
|
|
453
|
+
const detected = claimsCompletion && !validation.allExist;
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
### Confidence Scoring
|
|
457
|
+
|
|
458
|
+
```
|
|
459
|
+
Scenario 1: 1 of 3 files missing
|
|
460
|
+
Confidence: 33% (1/3)
|
|
461
|
+
=> Moderate confidence vapor detected
|
|
462
|
+
|
|
463
|
+
Scenario 2: 3 of 3 files missing
|
|
464
|
+
Confidence: 100% (3/3)
|
|
465
|
+
=> High confidence vapor detected
|
|
466
|
+
|
|
467
|
+
Scenario 3: 0 of 3 files missing
|
|
468
|
+
Confidence: 0% (0/3)
|
|
469
|
+
=> No vapor (all deliverables present)
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
### Recognized Completion Keywords
|
|
473
|
+
|
|
474
|
+
The validator recognizes these as completion claims:
|
|
475
|
+
- "complete", "completed"
|
|
476
|
+
- "done", "finished"
|
|
477
|
+
- "success", "successful"
|
|
478
|
+
- "delivered"
|
|
479
|
+
- "implemented", "created"
|
|
480
|
+
- "generated"
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## Integration Examples
|
|
485
|
+
|
|
486
|
+
### Loop 3 Agent Completion Pattern
|
|
487
|
+
|
|
488
|
+
```typescript
|
|
489
|
+
// At end of Loop 3 agent execution
|
|
490
|
+
const validator = new CFNValidator({
|
|
491
|
+
mode: 'standard',
|
|
492
|
+
taskId,
|
|
493
|
+
agentId: process.env.AGENT_ID
|
|
494
|
+
});
|
|
495
|
+
|
|
496
|
+
// Perform comprehensive validation
|
|
497
|
+
const result = await validator.performValidation({
|
|
498
|
+
deliverables: expectedFiles,
|
|
499
|
+
passRate: calculatePassRate(testResults),
|
|
500
|
+
agentOutput: executionLog,
|
|
501
|
+
successCriteria: successCriteria
|
|
502
|
+
});
|
|
503
|
+
|
|
504
|
+
if (!result.passed) {
|
|
505
|
+
if (result.vapor?.detected) {
|
|
506
|
+
// Provide detailed feedback for iteration
|
|
507
|
+
console.error('VAPOR DETECTED - Deliverables missing:');
|
|
508
|
+
for (const file of result.vapor.missingDeliverables) {
|
|
509
|
+
console.error(` - ${file}`);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
// Report confidence based on what actually passed
|
|
514
|
+
const confidence = result.gate?.passRate || 0.0;
|
|
515
|
+
reportConfidence(confidence, 'ITERATE');
|
|
516
|
+
process.exit(1);
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
reportConfidence(0.95, 'PROCEED');
|
|
520
|
+
process.exit(0);
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
### Orchestrator Vapor Detection
|
|
524
|
+
|
|
525
|
+
```bash
|
|
526
|
+
# After Loop 3 execution, before Loop 2
|
|
527
|
+
|
|
528
|
+
VAPOR_CHECK=$(./.claude/skills/cfn-loop-validation/detect-vapor.sh \
|
|
529
|
+
--output "$LOOP3_OUTPUT" \
|
|
530
|
+
--deliverables "$(echo ${EXPECTED_FILES[@]} | tr ' ' ',')" \
|
|
531
|
+
--json)
|
|
532
|
+
|
|
533
|
+
if [ "$(echo "$VAPOR_CHECK" | jq '.detected')" = "true" ]; then
|
|
534
|
+
log_error "Consensus on Vapor Detected"
|
|
535
|
+
echo "$VAPOR_CHECK" | jq '.missingDeliverables[]' | xargs -I {} echo " Missing: {}"
|
|
536
|
+
|
|
537
|
+
# Feedback for next iteration
|
|
538
|
+
echo "Feedback: Complete these deliverables:"
|
|
539
|
+
echo "$VAPOR_CHECK" | jq '.missingDeliverables[]'
|
|
540
|
+
|
|
541
|
+
# Skip Loop 2, retry Loop 3
|
|
542
|
+
PROCEED="false"
|
|
543
|
+
else
|
|
544
|
+
# Gate check passes, signal Loop 2
|
|
545
|
+
PROCEED="true"
|
|
546
|
+
fi
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
---
|
|
550
|
+
|
|
551
|
+
## Error Handling
|
|
552
|
+
|
|
553
|
+
### Custom Error Types
|
|
554
|
+
|
|
555
|
+
```typescript
|
|
556
|
+
import { ValidationError, ConsensusOnVaporError } from '@cfn/loop-validation';
|
|
557
|
+
|
|
558
|
+
try {
|
|
559
|
+
const result = await validator.detectConsensusOnVapor(output, files);
|
|
560
|
+
|
|
561
|
+
if (result.detected) {
|
|
562
|
+
throw new ConsensusOnVaporError(
|
|
563
|
+
'Agent claims completion but deliverables missing',
|
|
564
|
+
{
|
|
565
|
+
missingDeliverables: result.missingDeliverables,
|
|
566
|
+
confidence: result.confidence
|
|
567
|
+
}
|
|
568
|
+
);
|
|
569
|
+
}
|
|
570
|
+
} catch (error) {
|
|
571
|
+
if (error instanceof ConsensusOnVaporError) {
|
|
572
|
+
// Handle vapor-specific error
|
|
573
|
+
const missing = error.details?.missingDeliverables;
|
|
574
|
+
console.error(`Create: ${missing.join(', ')}`);
|
|
575
|
+
} else if (error instanceof ValidationError) {
|
|
576
|
+
// Handle general validation error
|
|
577
|
+
console.error(`${error.code}: ${error.message}`);
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
### Error Codes
|
|
583
|
+
|
|
584
|
+
| Code | Meaning | Action |
|
|
585
|
+
|------|---------|--------|
|
|
586
|
+
| `DELIVERABLE_VALIDATION_FAILED` | File check error | Check paths, permissions |
|
|
587
|
+
| `CRITERIA_VALIDATION_FAILED` | Success criteria check error | Review criteria syntax |
|
|
588
|
+
| `GATE_VALIDATION_FAILED` | Gate check error | Check pass rate value |
|
|
589
|
+
| `CONSENSUS_VALIDATION_FAILED` | Consensus check error | Provide validator scores |
|
|
590
|
+
| `CONSENSUS_ON_VAPOR` | Agent claims vs reality mismatch | Iterate on missing files |
|
|
591
|
+
| `INVALID_CRITERION` | Malformed success criteria | Check criteria structure |
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
## Testing
|
|
596
|
+
|
|
597
|
+
### Unit Tests
|
|
598
|
+
|
|
599
|
+
```bash
|
|
600
|
+
# Full test suite with coverage
|
|
601
|
+
npm test -- --coverage
|
|
602
|
+
|
|
603
|
+
# Watch mode for development
|
|
604
|
+
npm test -- --watch
|
|
605
|
+
|
|
606
|
+
# Specific test file
|
|
607
|
+
npm test -- validator.test.ts
|
|
608
|
+
|
|
609
|
+
# Specific test case
|
|
610
|
+
npm test -- --testNamePattern="detectConsensusOnVapor"
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
### Test Coverage
|
|
614
|
+
|
|
615
|
+
Current coverage targets:
|
|
616
|
+
- Lines: 90%+
|
|
617
|
+
- Statements: 90%+
|
|
618
|
+
- Functions: 90%+
|
|
619
|
+
- Branches: 85%+
|
|
620
|
+
|
|
621
|
+
### Example Test
|
|
622
|
+
|
|
623
|
+
```typescript
|
|
624
|
+
it('should detect vapor when completion claimed but files missing', async () => {
|
|
625
|
+
const agentOutput = 'Task completed successfully. All files created.';
|
|
626
|
+
const deliverables = [
|
|
627
|
+
'src/auth.ts',
|
|
628
|
+
'tests/auth.test.ts'
|
|
629
|
+
];
|
|
630
|
+
|
|
631
|
+
const result = await validator.detectConsensusOnVapor(
|
|
632
|
+
agentOutput,
|
|
633
|
+
deliverables
|
|
634
|
+
);
|
|
635
|
+
|
|
636
|
+
expect(result.detected).toBe(true);
|
|
637
|
+
expect(result.claimsCompletion).toBe(true);
|
|
638
|
+
expect(result.deliverablesMissing).toBe(true);
|
|
639
|
+
expect(result.missingDeliverables).toHaveLength(2);
|
|
640
|
+
expect(result.confidence).toBeGreaterThan(0.5);
|
|
641
|
+
});
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
---
|
|
645
|
+
|
|
646
|
+
## Performance
|
|
647
|
+
|
|
648
|
+
### Timing Benchmarks
|
|
649
|
+
|
|
650
|
+
| Operation | Time | Note |
|
|
651
|
+
|-----------|------|------|
|
|
652
|
+
| Validate 10 deliverables | <10ms | Local filesystem |
|
|
653
|
+
| Check 5 success criteria | <100ms | Depends on commands |
|
|
654
|
+
| Gate check | <1ms | Threshold math only |
|
|
655
|
+
| Consensus check | <1ms | Score math only |
|
|
656
|
+
| Vapor detection | <10ms | File I/O bound |
|
|
657
|
+
| Full validation | <200ms | Combined operations |
|
|
658
|
+
|
|
659
|
+
### Optimization Tips
|
|
660
|
+
|
|
661
|
+
```typescript
|
|
662
|
+
// Cache results if checking same files multiple times
|
|
663
|
+
const cached = await validator.validateDeliverables(paths);
|
|
664
|
+
|
|
665
|
+
// Use targeted validation, not full performValidation
|
|
666
|
+
const vaporOnly = await validator.detectConsensusOnVapor(output, deliverables);
|
|
667
|
+
|
|
668
|
+
// Batch file checks
|
|
669
|
+
const result = await validator.validateDeliverables([
|
|
670
|
+
'file1.ts',
|
|
671
|
+
'file2.ts',
|
|
672
|
+
'file3.ts'
|
|
673
|
+
// Single call faster than 3 separate calls
|
|
674
|
+
]);
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
---
|
|
678
|
+
|
|
679
|
+
## Migration from Bash
|
|
680
|
+
|
|
681
|
+
### Old vs New
|
|
682
|
+
|
|
683
|
+
**Old (Bash):**
|
|
684
|
+
```bash
|
|
685
|
+
# Deliverable validation (custom regex)
|
|
686
|
+
for file in file1.js file2.js; do
|
|
687
|
+
[ -f "$file" ] || exit 1
|
|
688
|
+
done
|
|
689
|
+
|
|
690
|
+
# Gate check (hardcoded thresholds)
|
|
691
|
+
[ $(echo "$PASS_RATE > 0.95" | bc) -eq 1 ] || exit 1
|
|
692
|
+
|
|
693
|
+
# No vapor detection available
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
**New (TypeScript):**
|
|
697
|
+
```typescript
|
|
698
|
+
// Typed deliverable validation
|
|
699
|
+
const result = await validator.validateDeliverables(['file1.js', 'file2.js']);
|
|
700
|
+
if (!result.allExist) throw new Error('Missing deliverables');
|
|
701
|
+
|
|
702
|
+
// Mode-aware gate checking
|
|
703
|
+
const gate = await validator.validateGatePass(passRate, 'standard');
|
|
704
|
+
if (!gate.passed) throw new Error(gate.reason);
|
|
705
|
+
|
|
706
|
+
// Comprehensive vapor detection
|
|
707
|
+
const vapor = await validator.detectConsensusOnVapor(output, expected);
|
|
708
|
+
if (vapor.detected) throw new ConsensusOnVaporError('...');
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
### Benefits
|
|
712
|
+
|
|
713
|
+
- Type safety (compile-time errors vs runtime surprises)
|
|
714
|
+
- Comprehensive testing (90%+ coverage)
|
|
715
|
+
- Better error handling (custom error types)
|
|
716
|
+
- Clearer intent (named functions, documented APIs)
|
|
717
|
+
- Reusable components (import and use in any project)
|
|
718
|
+
- Performance (optimized JS vs interpreted bash)
|
|
719
|
+
|
|
720
|
+
---
|
|
721
|
+
|
|
722
|
+
## Troubleshooting
|
|
723
|
+
|
|
724
|
+
### Build Issues
|
|
725
|
+
|
|
726
|
+
```bash
|
|
727
|
+
# Clean and rebuild
|
|
728
|
+
npm run clean && npm run build
|
|
729
|
+
|
|
730
|
+
# Type check without build
|
|
731
|
+
npm run type-check
|
|
732
|
+
|
|
733
|
+
# Show TypeScript errors
|
|
734
|
+
npx tsc --noEmit
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
### Test Failures
|
|
738
|
+
|
|
739
|
+
```bash
|
|
740
|
+
# Run tests with verbose output
|
|
741
|
+
npm test -- --verbose
|
|
742
|
+
|
|
743
|
+
# Check coverage gaps
|
|
744
|
+
npm test -- --coverage --collectCoverageFrom='src/**/*.ts'
|
|
745
|
+
|
|
746
|
+
# Debug specific test
|
|
747
|
+
npm test -- --testNamePattern="vapor" --verbose
|
|
748
|
+
```
|
|
749
|
+
|
|
750
|
+
### CLI Issues
|
|
751
|
+
|
|
752
|
+
```bash
|
|
753
|
+
# Ensure Node is installed
|
|
754
|
+
node --version
|
|
755
|
+
|
|
756
|
+
# Check TypeScript is compiled
|
|
757
|
+
ls -la dist/cli/
|
|
758
|
+
|
|
759
|
+
# Test with JSON output
|
|
760
|
+
./validate-deliverables.sh --paths "file.js" --json
|
|
761
|
+
|
|
762
|
+
# Manually run compiled JS
|
|
763
|
+
node dist/cli/validate-deliverables.js --paths "file.js"
|
|
764
|
+
```
|
|
765
|
+
|
|
766
|
+
---
|
|
767
|
+
|
|
768
|
+
## References
|
|
769
|
+
|
|
770
|
+
- **Types:** `/src/types.ts`
|
|
771
|
+
- **Validator:** `/src/validator.ts`
|
|
772
|
+
- **Tests:** `/tests/validator.test.ts`
|
|
773
|
+
- **Package:** `/package.json`
|
|
774
|
+
- **Config:** `/tsconfig.json`
|
|
775
|
+
|
|
776
|
+
---
|
|
777
|
+
|
|
778
|
+
## Related Documentation
|
|
779
|
+
|
|
780
|
+
- CFN Loop Architecture: `.claude/skills/cfn-loop-orchestration/SKILL.md`
|
|
781
|
+
- Gate Checker Details: `src/gate-checker/gate-checker.ts`
|
|
782
|
+
- Orchestrator Integration: `.claude/skills/cfn-loop-orchestration/orchestrate.sh`
|