codex-genesis-harness 0.1.0 → 0.1.4
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/.codebase/API_CONTRACTS.md +12 -0
- package/.codebase/ARCHITECTURE.md +6 -0
- package/.codebase/ARCHITECTURE_REVIEW_COMPLETE.md +216 -0
- package/.codebase/CURRENT_STATE.md +8 -0
- package/.codebase/DEPENDENCY_GRAPH.md +14 -0
- package/.codebase/DOMAIN_MODELS.md +10 -0
- package/.codebase/EVOLUTION_PLAN.md +35 -0
- package/.codebase/FILE_NAMING_CLARIFICATION.md +161 -0
- package/.codebase/HARNESS_COMPLETENESS_AUDIT.md +613 -0
- package/.codebase/IMPLEMENTATION_COMPLETE.md +429 -0
- package/.codebase/IMPLEMENTATION_HANDOFF.md +351 -0
- package/.codebase/IMPROVEMENTS_SUMMARY.md +419 -0
- package/.codebase/KNOWN_PROBLEMS.md +6 -0
- package/.codebase/MODULE_INDEX.md +13 -0
- package/.codebase/PHASE3_SKILLS_NAMING_COMPLETE.md +292 -0
- package/.codebase/PHASE_DEPENDENCY_MAP.md +486 -0
- package/.codebase/PIPELINE_FLOW.md +14 -0
- package/.codebase/QUICK_START_SPEC_IMPACT.md +456 -0
- package/.codebase/README.md +139 -0
- package/.codebase/RECOVERY_POINTS.md +438 -0
- package/.codebase/TEST_MATRIX.md +11 -0
- package/.codebase/UI_ROUTES.md +4 -0
- package/.codebase/context/backend-summary.md +4 -0
- package/.codebase/context/frontend-summary.md +4 -0
- package/.codebase/context/pipeline-summary.md +4 -0
- package/.codebase/context/providers-summary.md +4 -0
- package/.codebase/context/render-summary.md +4 -0
- package/.codebase/context/tests-summary.md +4 -0
- package/.codex/skills/genesis-ai-provider/SKILL.md +46 -0
- package/.codex/skills/genesis-ai-provider/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-ai-provider/checklists/checklist.md +9 -0
- package/.codex/skills/genesis-ai-provider/examples/example.md +4 -0
- package/.codex/skills/genesis-ai-provider/templates/provider-contract-template.md +9 -0
- package/.codex/skills/genesis-api-contract/SKILL.md +46 -0
- package/.codex/skills/genesis-api-contract/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-api-contract/checklists/checklist.md +8 -0
- package/.codex/skills/genesis-api-contract/examples/example.md +4 -0
- package/.codex/skills/genesis-api-contract/templates/api-contract-template.md +4 -0
- package/.codex/skills/genesis-api-sync/SKILL.md +354 -0
- package/.codex/skills/genesis-api-sync/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-api-sync/checklists/api-sync-checklist.md +101 -0
- package/.codex/skills/genesis-api-sync/examples/example.md +68 -0
- package/.codex/skills/genesis-api-sync/templates/api-change-template.md +257 -0
- package/.codex/skills/genesis-architecture/SKILL.md +46 -0
- package/.codex/skills/genesis-architecture/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-architecture/checklists/checklist.md +8 -0
- package/.codex/skills/genesis-architecture/examples/example.md +4 -0
- package/.codex/skills/genesis-architecture/templates/architecture-decision-template.md +14 -0
- package/.codex/skills/genesis-codebase-map/SKILL.md +46 -0
- package/.codex/skills/genesis-codebase-map/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-codebase-map/checklists/checklist.md +7 -0
- package/.codex/skills/genesis-codebase-map/examples/example.md +4 -0
- package/.codex/skills/genesis-codebase-map/templates/map-update-template.md +8 -0
- package/.codex/skills/genesis-debug-guide/SKILL.md +479 -0
- package/.codex/skills/genesis-debug-guide/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-debug-guide/checklists/flaky-test-investigation.md +339 -0
- package/.codex/skills/genesis-debug-guide/checklists/production-bug-debug.md +210 -0
- package/.codex/skills/genesis-debug-guide/checklists/test-failure-debug.md +158 -0
- package/.codex/skills/genesis-debug-guide/examples/example.md +48 -0
- package/.codex/skills/genesis-debug-guide/observability/debug-commands.md +365 -0
- package/.codex/skills/genesis-debug-guide/playbooks/unit-test-failures.md +289 -0
- package/.codex/skills/genesis-debug-guide/templates/debug-investigation-log.md +288 -0
- package/.codex/skills/genesis-design-spec/SKILL.md +46 -0
- package/.codex/skills/genesis-design-spec/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-design-spec/checklists/checklist.md +7 -0
- package/.codex/skills/genesis-design-spec/examples/example.md +4 -0
- package/.codex/skills/genesis-design-spec/templates/design-spec-template.md +9 -0
- package/.codex/skills/genesis-docs/SKILL.md +46 -0
- package/.codex/skills/genesis-docs/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-docs/checklists/checklist.md +7 -0
- package/.codex/skills/genesis-docs/examples/example.md +4 -0
- package/.codex/skills/genesis-docs/templates/docs-update-template.md +8 -0
- package/.codex/skills/genesis-docs-automation/SKILL.md +1003 -0
- package/.codex/skills/genesis-docs-automation/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-docs-automation/checklists/docs-validation.md +359 -0
- package/.codex/skills/genesis-docs-automation/checklists/spec-alignment.md +312 -0
- package/.codex/skills/genesis-docs-automation/examples/example.md +59 -0
- package/.codex/skills/genesis-docs-automation/observability/docs-tracking.md +382 -0
- package/.codex/skills/genesis-docs-automation/playbooks/auto-update-flow.md +851 -0
- package/.codex/skills/genesis-docs-automation/playbooks/changelog-generation.md +491 -0
- package/.codex/skills/genesis-docs-automation/templates/changelog-entry-template.md +187 -0
- package/.codex/skills/genesis-docs-automation/templates/handoff-template.md +297 -0
- package/.codex/skills/genesis-harness/SKILL.md +1418 -0
- package/.codex/skills/genesis-harness/agents/openai.yaml +9 -0
- package/.codex/skills/genesis-harness/checklists/bug-fix-qa.md +169 -0
- package/.codex/skills/genesis-harness/checklists/checklist.md +10 -0
- package/.codex/skills/genesis-harness/checklists/new-feature-qa.md +157 -0
- package/.codex/skills/genesis-harness/checklists/refactor-qa.md +216 -0
- package/.codex/skills/genesis-harness/checklists/requirements-validation.md +211 -0
- package/.codex/skills/genesis-harness/examples/example.md +4 -0
- package/.codex/skills/genesis-harness/resources/change-impact-matrix-template.md +204 -0
- package/.codex/skills/genesis-harness/resources/foundation-phase-template.md +131 -0
- package/.codex/skills/genesis-harness/resources/phase-00-foundation-template.md +76 -0
- package/.codex/skills/genesis-harness/resources/post-implementation-guide.md +347 -0
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/check-architecture-boundaries.sh +23 -23
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/check-docs-sync.sh +24 -24
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/check-no-debug-logs.sh +21 -21
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/check-required-planning-files.sh +46 -46
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/check-spec-changelog.sh +24 -24
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/check-task-tracking.sh +25 -25
- package/.codex/skills/genesis-harness/scripts/compact-context.sh +54 -0
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/create-adr.sh +74 -74
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/create-bug.sh +160 -160
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/create-feature.sh +217 -217
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/detect-stack.sh +26 -26
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/init-planning.sh +750 -719
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/list-changed-files.sh +12 -12
- package/.codex/skills/genesis-harness/scripts/offload-log.sh +72 -0
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/run-verification.sh +47 -47
- package/.codex/skills/genesis-harness/scripts/run-verify-loop.sh +75 -0
- package/.codex/skills/{project-genesis-harness → genesis-harness}/scripts/update-state.sh +33 -33
- package/.codex/skills/genesis-harness/templates/harness-workflow-template.md +10 -0
- package/.codex/skills/genesis-harness-engineering/SKILL.md +159 -0
- package/.codex/skills/genesis-harness-engineering/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-harness-engineering/checklists/checklist.md +48 -0
- package/.codex/skills/genesis-harness-engineering/examples/example.md +57 -0
- package/.codex/skills/genesis-harness-engineering/playbooks/harness-evolution.md +99 -0
- package/.codex/skills/genesis-harness-engineering/templates/harness-change-template.md +37 -0
- package/.codex/skills/genesis-new-design/SKILL.md +95 -0
- package/.codex/skills/genesis-new-design/agents/openai.yaml +4 -0
- package/.codex/skills/genesis-new-design/checklists/checklist.md +8 -0
- package/.codex/skills/genesis-new-design/examples/example.md +4 -0
- package/.codex/skills/genesis-new-design/templates/new-design-template.md +9 -0
- package/.codex/skills/genesis-observability-automation/SKILL.md +382 -0
- package/.codex/skills/genesis-observability-automation/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-observability-automation/examples/example.md +86 -0
- package/.codex/skills/genesis-performance-profiling/SKILL.md +510 -0
- package/.codex/skills/genesis-performance-profiling/agents/openai.yaml +6 -0
- package/.codex/skills/genesis-performance-profiling/checklists/optimization-verification.md +199 -0
- package/.codex/skills/genesis-performance-profiling/checklists/performance-baseline.md +183 -0
- package/.codex/skills/genesis-performance-profiling/examples/example.md +234 -0
- package/.codex/skills/genesis-performance-profiling/observability/performance-tracking.md +202 -0
- package/.codex/skills/genesis-performance-profiling/playbooks/load-testing-orchestration.md +593 -0
- package/.codex/skills/genesis-performance-profiling/playbooks/profiling-playbook.md +601 -0
- package/.codex/skills/genesis-performance-profiling/templates/load-test-config-template.md +428 -0
- package/.codex/skills/genesis-performance-profiling/templates/performance-report-template.md +238 -0
- package/.codex/skills/genesis-pipeline-orchestration/SKILL.md +46 -0
- package/.codex/skills/genesis-pipeline-orchestration/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-pipeline-orchestration/checklists/checklist.md +12 -0
- package/.codex/skills/genesis-pipeline-orchestration/examples/example.md +4 -0
- package/.codex/skills/genesis-pipeline-orchestration/templates/orchestration-template.md +12 -0
- package/.codex/skills/genesis-planning/SKILL.md +46 -0
- package/.codex/skills/genesis-planning/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-planning/checklists/checklist.md +8 -0
- package/.codex/skills/genesis-planning/examples/example.md +4 -0
- package/.codex/skills/genesis-planning/templates/plan-template.md +11 -0
- package/.codex/skills/genesis-release/SKILL.md +46 -0
- package/.codex/skills/genesis-release/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-release/checklists/checklist.md +8 -0
- package/.codex/skills/genesis-release/examples/example.md +4 -0
- package/.codex/skills/genesis-release/templates/release-checklist-template.md +9 -0
- package/.codex/skills/genesis-release-orchestration/SKILL.md +653 -0
- package/.codex/skills/genesis-release-orchestration/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-release-orchestration/checklists/post-deployment-verification.md +274 -0
- package/.codex/skills/genesis-release-orchestration/checklists/pre-release-validation.md +220 -0
- package/.codex/skills/genesis-release-orchestration/examples/example.md +78 -0
- package/.codex/skills/genesis-release-orchestration/observability/release-tracking.md +253 -0
- package/.codex/skills/genesis-release-orchestration/playbooks/canary-deployment-orchestration.md +472 -0
- package/.codex/skills/genesis-release-orchestration/playbooks/semantic-versioning-automation.md +494 -0
- package/.codex/skills/genesis-release-orchestration/templates/deployment-strategy-template.md +303 -0
- package/.codex/skills/genesis-release-orchestration/templates/release-runbook-template.md +420 -0
- package/.codex/skills/genesis-research/SKILL.md +46 -0
- package/.codex/skills/genesis-research/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-research/checklists/checklist.md +7 -0
- package/.codex/skills/genesis-research/examples/example.md +4 -0
- package/.codex/skills/genesis-research/templates/research-note-template.md +9 -0
- package/.codex/skills/genesis-research-first/SKILL.md +237 -0
- package/.codex/skills/genesis-research-first/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-research-first/examples/example.md +85 -0
- package/.codex/skills/genesis-spec-propagation/SKILL.md +534 -0
- package/.codex/skills/genesis-spec-propagation/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-spec-propagation/checklists/phase-update-verification.md +384 -0
- package/.codex/skills/genesis-spec-propagation/checklists/spec-change-detection.md +257 -0
- package/.codex/skills/genesis-spec-propagation/examples/example.md +63 -0
- package/.codex/skills/genesis-spec-propagation/observability/propagation-tracking.md +373 -0
- package/.codex/skills/genesis-spec-propagation/playbooks/breaking-change-propagation.md +692 -0
- package/.codex/skills/genesis-spec-propagation/playbooks/feature-change-propagation.md +434 -0
- package/.codex/skills/genesis-spec-propagation/templates/migration-guide-template.md +407 -0
- package/.codex/skills/genesis-upgrade-design/SKILL.md +97 -0
- package/.codex/skills/genesis-upgrade-design/agents/openai.yaml +4 -0
- package/.codex/skills/genesis-upgrade-design/checklists/checklist.md +8 -0
- package/.codex/skills/genesis-upgrade-design/examples/example.md +4 -0
- package/.codex/skills/genesis-upgrade-design/templates/upgrade-design-template.md +9 -0
- package/.codex/skills/spec-impact-engine/SKILL.md +504 -0
- package/.codex/skills/spec-impact-engine/agents/openai.yaml +7 -0
- package/.codex/skills/spec-impact-engine/detect-spec-changes.sh +262 -0
- package/.codex/skills/spec-impact-engine/examples/example.md +98 -0
- package/.codex/skills/spec-impact-engine/templates/impact-report.md +248 -0
- package/.codex/skills/spec-impact-engine/templates/migration-guide.md +223 -0
- package/.codex/skills/ui-ux-test-skill/SKILL.md +46 -0
- package/.codex/skills/ui-ux-test-skill/agents/openai.yaml +7 -0
- package/.codex/skills/ui-ux-test-skill/checklists/checklist.md +8 -0
- package/.codex/skills/ui-ux-test-skill/examples/example.md +4 -0
- package/.codex/skills/ui-ux-test-skill/templates/playwright-test-template.md +4 -0
- package/.codex-plugin/plugin.json +13 -11
- package/README.EN.md +719 -0
- package/README.VI.md +712 -0
- package/README.md +318 -181
- package/VERSION +1 -1
- package/bin/genesis-harness.js +133 -79
- package/contracts/agents/CharacterBibleAgent/error.json +1 -0
- package/contracts/agents/CharacterBibleAgent/example.json +1 -0
- package/contracts/agents/CharacterBibleAgent/request.json +1 -0
- package/contracts/agents/CharacterBibleAgent/response.json +1 -0
- package/contracts/agents/CharacterBibleAgent/schema.json +1 -0
- package/contracts/agents/ImageGenerationAgent/error.json +1 -0
- package/contracts/agents/ImageGenerationAgent/example.json +1 -0
- package/contracts/agents/ImageGenerationAgent/request.json +1 -0
- package/contracts/agents/ImageGenerationAgent/response.json +1 -0
- package/contracts/agents/ImageGenerationAgent/schema.json +1 -0
- package/contracts/agents/PipelineOrchestrator/error.json +1 -0
- package/contracts/agents/PipelineOrchestrator/example.json +1 -0
- package/contracts/agents/PipelineOrchestrator/request.json +1 -0
- package/contracts/agents/PipelineOrchestrator/response.json +1 -0
- package/contracts/agents/PipelineOrchestrator/schema.json +1 -0
- package/contracts/agents/PromptGenerationAgent/error.json +1 -0
- package/contracts/agents/PromptGenerationAgent/example.json +1 -0
- package/contracts/agents/PromptGenerationAgent/request.json +1 -0
- package/contracts/agents/PromptGenerationAgent/response.json +1 -0
- package/contracts/agents/PromptGenerationAgent/schema.json +1 -0
- package/contracts/agents/RenderAgent/error.json +1 -0
- package/contracts/agents/RenderAgent/example.json +1 -0
- package/contracts/agents/RenderAgent/request.json +1 -0
- package/contracts/agents/RenderAgent/response.json +1 -0
- package/contracts/agents/RenderAgent/schema.json +1 -0
- package/contracts/agents/ScenePlanningAgent/error.json +1 -0
- package/contracts/agents/ScenePlanningAgent/example.json +1 -0
- package/contracts/agents/ScenePlanningAgent/request.json +1 -0
- package/contracts/agents/ScenePlanningAgent/response.json +1 -0
- package/contracts/agents/ScenePlanningAgent/schema.json +1 -0
- package/contracts/agents/ScreenplayAgent/error.json +1 -0
- package/contracts/agents/ScreenplayAgent/example.json +1 -0
- package/contracts/agents/ScreenplayAgent/request.json +1 -0
- package/contracts/agents/ScreenplayAgent/response.json +1 -0
- package/contracts/agents/ScreenplayAgent/schema.json +1 -0
- package/contracts/agents/StoryAnalysisAgent/error.json +1 -0
- package/contracts/agents/StoryAnalysisAgent/example.json +1 -0
- package/contracts/agents/StoryAnalysisAgent/request.json +1 -0
- package/contracts/agents/StoryAnalysisAgent/response.json +1 -0
- package/contracts/agents/StoryAnalysisAgent/schema.json +1 -0
- package/contracts/agents/SubtitleGenerationAgent/error.json +1 -0
- package/contracts/agents/SubtitleGenerationAgent/example.json +1 -0
- package/contracts/agents/SubtitleGenerationAgent/request.json +1 -0
- package/contracts/agents/SubtitleGenerationAgent/response.json +1 -0
- package/contracts/agents/SubtitleGenerationAgent/schema.json +1 -0
- package/contracts/agents/VoiceGenerationAgent/error.json +1 -0
- package/contracts/agents/VoiceGenerationAgent/example.json +1 -0
- package/contracts/agents/VoiceGenerationAgent/request.json +1 -0
- package/contracts/agents/VoiceGenerationAgent/response.json +1 -0
- package/contracts/agents/VoiceGenerationAgent/schema.json +1 -0
- package/contracts/api/README.md +4 -0
- package/contracts/api/endpoint-template/error.json +7 -0
- package/contracts/api/endpoint-template/example.json +11 -0
- package/contracts/api/endpoint-template/request.json +7 -0
- package/contracts/api/endpoint-template/response.json +6 -0
- package/contracts/api/endpoint-template/schema.json +9 -0
- package/contracts/events/README.md +4 -0
- package/contracts/events/event-template/error.json +4 -0
- package/contracts/events/event-template/example.json +6 -0
- package/contracts/events/event-template/request.json +6 -0
- package/contracts/events/event-template/response.json +3 -0
- package/contracts/events/event-template/schema.json +8 -0
- package/contracts/ui/README.md +4 -0
- package/contracts/ui/screen-template/error.json +4 -0
- package/contracts/ui/screen-template/example.json +7 -0
- package/contracts/ui/screen-template/request.json +4 -0
- package/contracts/ui/screen-template/response.json +4 -0
- package/contracts/ui/screen-template/schema.json +8 -0
- package/fixtures/agents/agent-fixture-template.md +14 -0
- package/fixtures/api/api-fixture-template.md +14 -0
- package/fixtures/images/image-fixture-template.md +14 -0
- package/fixtures/pipeline/pipeline-fixture-template.md +14 -0
- package/fixtures/render/render-fixture-template.md +14 -0
- package/fixtures/tts/tts-fixture-template.md +14 -0
- package/fixtures/videos/video-fixture-template.md +14 -0
- package/observability/agent-runs/agent-run-template.md +22 -0
- package/observability/decision-logs/decision-log-template.md +18 -0
- package/observability/failures/failure-template.md +18 -0
- package/package.json +8 -2
- package/playwright/e2e/e2e-template.md +4 -0
- package/playwright/fixtures/ui-fixture-template.md +4 -0
- package/playwright/smoke/smoke-template.md +4 -0
- package/playwright/visual/visual-regression-template.md +4 -0
- package/scripts/README.md +342 -0
- package/scripts/compact-context.sh +54 -0
- package/scripts/detect-changes.sh +152 -0
- package/scripts/install.sh +103 -69
- package/scripts/offload-log.sh +72 -0
- package/scripts/run-evals.sh +118 -52
- package/scripts/run-verify-loop.sh +75 -0
- package/scripts/uninstall.sh +81 -52
- package/scripts/verify.sh +380 -109
- package/tests/contracts/contract-template.test.md +10 -0
- package/tests/fixtures/fixture-index.md +4 -0
- package/tests/integration/integration-template.test.md +4 -0
- package/tests/unit/unit-template.test.md +4 -0
- package/.codex/skills/project-genesis-harness/SKILL.md +0 -727
- package/.codex/skills/project-genesis-harness/agents/openai.yaml +0 -9
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/references/planning-schema.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/references/quality-rubric.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/references/research-rubric.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/references/workflows.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/agents-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/api-docs-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/architecture-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/audit-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/bug-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/check-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/conventions-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/decision-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/design-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/escalation-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/feature-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/integrations-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/journeys-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/lessons-learned-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/observability-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/phase-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/pitfalls-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/planning-tree-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/project-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/quality-score-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/requirements-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/research-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/review-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/spec-changelog-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/stack-template.md +0 -0
- /package/.codex/skills/{project-genesis-harness → genesis-harness}/resources/verification-template.md +0 -0
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
# Recovery Points
|
|
2
|
+
|
|
3
|
+
**Purpose**: Document where implementation can be paused and resumed without losing context or creating inconsistencies.
|
|
4
|
+
|
|
5
|
+
**Use When**: Work needs to be paused, passed to another developer, or interrupted by higher priority work.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Quick Reference: Current Recovery Points
|
|
10
|
+
|
|
11
|
+
| Phase | Status | Resumption File | Last Updated |
|
|
12
|
+
|-------|--------|-----------------|--------------|
|
|
13
|
+
| Planning | ✓ Complete | `.codebase/CURRENT_STATE.md` | _date_ |
|
|
14
|
+
| Design | ✓ Complete | IMPLEMENTATION_HANDOFF.md | _date_ |
|
|
15
|
+
| Contracts | ✓ Complete | `.codebase/API_CONTRACTS.md` | _date_ |
|
|
16
|
+
| Tests | ⏸️ In Progress | `tests/auth.test.ts` | _date_ |
|
|
17
|
+
| Implementation | ⏸️ In Progress | `src/auth/` | _date_ |
|
|
18
|
+
| Documentation | ⏸️ Pending | `docs/AUTH.md` | _date_ |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Phase: Planning
|
|
23
|
+
|
|
24
|
+
**Status**: ✓ Complete
|
|
25
|
+
**Start Date**: _date_
|
|
26
|
+
**End Date**: _date_
|
|
27
|
+
**Resumption**: Not needed
|
|
28
|
+
|
|
29
|
+
### What Happened
|
|
30
|
+
|
|
31
|
+
All requirements gathered, validated, and documented.
|
|
32
|
+
|
|
33
|
+
### To Resume (If Needed)
|
|
34
|
+
|
|
35
|
+
Not applicable - planning is complete and locked.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Phase: Design & Architecture
|
|
40
|
+
|
|
41
|
+
**Status**: ✓ Complete
|
|
42
|
+
**Start Date**: _date_
|
|
43
|
+
**End Date**: _date_
|
|
44
|
+
**Resumption**: Not needed
|
|
45
|
+
|
|
46
|
+
### What Happened
|
|
47
|
+
|
|
48
|
+
System design completed, contracts defined, technology choices made.
|
|
49
|
+
|
|
50
|
+
### Artifacts
|
|
51
|
+
|
|
52
|
+
- `.codebase/ARCHITECTURE.md` - Final design
|
|
53
|
+
- `.codebase/API_CONTRACTS.md` - API specifications
|
|
54
|
+
- `IMPLEMENTATION_HANDOFF.md` - Design decisions
|
|
55
|
+
|
|
56
|
+
### To Resume (If Needed)
|
|
57
|
+
|
|
58
|
+
Not applicable - design is frozen and approved.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Phase: Test Contracts & Fixtures
|
|
63
|
+
|
|
64
|
+
**Status**: ✓ Complete
|
|
65
|
+
**Start Date**: _date_
|
|
66
|
+
**End Date**: _date_
|
|
67
|
+
**Resumption**: Not needed
|
|
68
|
+
|
|
69
|
+
### What Happened
|
|
70
|
+
|
|
71
|
+
Test contracts created, fixtures built, test infrastructure ready.
|
|
72
|
+
|
|
73
|
+
### Artifacts
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
tests/
|
|
77
|
+
├── contracts/
|
|
78
|
+
│ ├── auth-api.contract.json
|
|
79
|
+
│ └── session-manager.contract.json
|
|
80
|
+
├── fixtures/
|
|
81
|
+
│ ├── oauth-responses.json
|
|
82
|
+
│ └── user-data.json
|
|
83
|
+
└── setup/
|
|
84
|
+
├── test-db-init.sql
|
|
85
|
+
└── mock-providers.ts
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### To Resume (If Needed)
|
|
89
|
+
|
|
90
|
+
Not applicable - test infrastructure is ready.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Phase: Core Implementation (CURRENT PAUSE POINT)
|
|
95
|
+
|
|
96
|
+
**Status**: ⏸️ In Progress (50% complete)
|
|
97
|
+
**Start Date**: _date_
|
|
98
|
+
**Current Date**: _YYYY-MM-DD_
|
|
99
|
+
**Estimated Completion**: _date_
|
|
100
|
+
|
|
101
|
+
### What Was Done (Completed)
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
✓ src/auth/oauth-provider.ts
|
|
105
|
+
- OAuth 2.0 flow implementation
|
|
106
|
+
- Provider callback handling
|
|
107
|
+
- Token management
|
|
108
|
+
|
|
109
|
+
✓ src/db/migrations/
|
|
110
|
+
- New users table fields
|
|
111
|
+
- oauth_provider, oauth_id columns
|
|
112
|
+
|
|
113
|
+
✓ tests/auth.test.ts
|
|
114
|
+
- 15 tests written and passing
|
|
115
|
+
- 90% coverage of oauth-provider.ts
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### What Remains (To Do)
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
⏳ src/auth/session-manager.ts
|
|
122
|
+
- Session creation and validation
|
|
123
|
+
- Session timeout handling
|
|
124
|
+
- Concurrent session management
|
|
125
|
+
|
|
126
|
+
⏳ src/ui/pages/
|
|
127
|
+
- Login component
|
|
128
|
+
- Registration component
|
|
129
|
+
- Error handling UI
|
|
130
|
+
|
|
131
|
+
⏳ API endpoints
|
|
132
|
+
- POST /auth/login
|
|
133
|
+
- POST /auth/register
|
|
134
|
+
- POST /auth/logout
|
|
135
|
+
|
|
136
|
+
⏳ Integration tests
|
|
137
|
+
- End-to-end OAuth flow
|
|
138
|
+
- Database state consistency
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Pause State
|
|
142
|
+
|
|
143
|
+
**What's Safe to Pause Here:**
|
|
144
|
+
|
|
145
|
+
The OAuth provider module is isolated and complete. Can pause safely at this point.
|
|
146
|
+
|
|
147
|
+
**Before Pausing:**
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# 1. Commit current progress
|
|
151
|
+
git add -A
|
|
152
|
+
git commit -m "feat: OAuth provider implementation (50% complete)"
|
|
153
|
+
|
|
154
|
+
# 2. Verify tests pass
|
|
155
|
+
npm test
|
|
156
|
+
|
|
157
|
+
# 3. Document pause point
|
|
158
|
+
# (You are reading this file!)
|
|
159
|
+
|
|
160
|
+
# 4. Create recovery checklist
|
|
161
|
+
# (See section below)
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### To Resume From Here
|
|
165
|
+
|
|
166
|
+
**Step 1: Environment Setup** (5 min)
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Pull latest changes
|
|
170
|
+
git pull origin main
|
|
171
|
+
|
|
172
|
+
# Verify you're on the right branch
|
|
173
|
+
git branch -v
|
|
174
|
+
|
|
175
|
+
# Install dependencies
|
|
176
|
+
npm install
|
|
177
|
+
|
|
178
|
+
# Check database is migrated
|
|
179
|
+
npm run db:status
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Step 2: Verify Previous Work** (5 min)
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# Run existing tests
|
|
186
|
+
npm test -- auth.test.ts
|
|
187
|
+
# Expected: 15 passing
|
|
188
|
+
|
|
189
|
+
# Check module compiles
|
|
190
|
+
npm run build
|
|
191
|
+
|
|
192
|
+
# Verify no uncommitted changes
|
|
193
|
+
git status
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Step 3: Review What's Next** (10 min)
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# Read the handoff document
|
|
200
|
+
cat IMPLEMENTATION_HANDOFF.md
|
|
201
|
+
|
|
202
|
+
# Check what was planned next
|
|
203
|
+
cat .codebase/CURRENT_STATE.md
|
|
204
|
+
|
|
205
|
+
# Review test contract
|
|
206
|
+
cat tests/contracts/auth-api.contract.json
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Step 4: Resume Implementation** (30 min+)
|
|
210
|
+
|
|
211
|
+
Start with session-manager.ts:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Create new branch (if needed)
|
|
215
|
+
git checkout -b continue/auth-session
|
|
216
|
+
|
|
217
|
+
# Open the next module
|
|
218
|
+
code src/auth/session-manager.ts
|
|
219
|
+
|
|
220
|
+
# Reference the test contract
|
|
221
|
+
code tests/contracts/session-manager.contract.json
|
|
222
|
+
|
|
223
|
+
# Start implementing...
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Phase: Session Management (NEXT PHASE)
|
|
229
|
+
|
|
230
|
+
**Status**: ⏳ Ready to start
|
|
231
|
+
**Estimated Start**: _date_
|
|
232
|
+
**Estimated Duration**: 4-6 hours
|
|
233
|
+
**Estimator**: Original developer
|
|
234
|
+
|
|
235
|
+
### What Needs to Happen
|
|
236
|
+
|
|
237
|
+
1. **Implement session-manager.ts**
|
|
238
|
+
- Create session on login
|
|
239
|
+
- Validate session on requests
|
|
240
|
+
- Handle timeout
|
|
241
|
+
|
|
242
|
+
2. **Write session tests**
|
|
243
|
+
- Session creation tests
|
|
244
|
+
- Validation tests
|
|
245
|
+
- Timeout tests
|
|
246
|
+
- Concurrent session tests
|
|
247
|
+
|
|
248
|
+
3. **Update database**
|
|
249
|
+
- Add sessions table migration
|
|
250
|
+
- Add indexes for performance
|
|
251
|
+
|
|
252
|
+
### Acceptance Criteria
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
- [ ] Session manager module complete
|
|
256
|
+
- [ ] 12+ session tests written and passing
|
|
257
|
+
- [ ] Coverage ≥ 85%
|
|
258
|
+
- [ ] No performance regressions
|
|
259
|
+
- [ ] Integrated with OAuth provider
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Dependencies
|
|
263
|
+
|
|
264
|
+
- ✓ OAuth provider complete (already done)
|
|
265
|
+
- ✓ Database migrations (already done)
|
|
266
|
+
- ⏳ Needs: Node.js session library installed
|
|
267
|
+
|
|
268
|
+
### Blockers
|
|
269
|
+
|
|
270
|
+
None identified. Ready to proceed.
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Phase: UI Components (AFTER SESSION)
|
|
275
|
+
|
|
276
|
+
**Status**: ⏳ Ready to start
|
|
277
|
+
**Estimated Start**: _date_ (after session phase)
|
|
278
|
+
**Estimated Duration**: 6-8 hours
|
|
279
|
+
|
|
280
|
+
### What Needs to Happen
|
|
281
|
+
|
|
282
|
+
1. **Build Login Page**
|
|
283
|
+
- OAuth provider buttons
|
|
284
|
+
- Error messaging
|
|
285
|
+
- Loading states
|
|
286
|
+
|
|
287
|
+
2. **Build Register Page**
|
|
288
|
+
- Form validation
|
|
289
|
+
- Provider linking
|
|
290
|
+
- Success messaging
|
|
291
|
+
|
|
292
|
+
3. **Update Layout**
|
|
293
|
+
- Add auth header
|
|
294
|
+
- Add logout button
|
|
295
|
+
- Add user menu
|
|
296
|
+
|
|
297
|
+
### Files to Modify
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
src/ui/pages/
|
|
301
|
+
├── login.tsx (new)
|
|
302
|
+
├── register.tsx (new)
|
|
303
|
+
└── layout.tsx (modify)
|
|
304
|
+
|
|
305
|
+
src/ui/components/
|
|
306
|
+
├── oauth-button.tsx (new)
|
|
307
|
+
├── auth-error.tsx (new)
|
|
308
|
+
└── user-menu.tsx (modify)
|
|
309
|
+
|
|
310
|
+
styles/
|
|
311
|
+
├── auth.css (new)
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Acceptance Criteria
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
- [ ] Login page working
|
|
318
|
+
- [ ] Register page working
|
|
319
|
+
- [ ] OAuth provider flow works E2E
|
|
320
|
+
- [ ] Error messages display correctly
|
|
321
|
+
- [ ] Mobile responsive
|
|
322
|
+
- [ ] Browser compatibility tested
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## Phase: Documentation & Testing (FINAL PHASE)
|
|
328
|
+
|
|
329
|
+
**Status**: ⏳ Ready to start
|
|
330
|
+
**Estimated Start**: _date_ (after UI phase)
|
|
331
|
+
**Estimated Duration**: 4 hours
|
|
332
|
+
|
|
333
|
+
### What Needs to Happen
|
|
334
|
+
|
|
335
|
+
1. **Update Documentation**
|
|
336
|
+
- README auth section
|
|
337
|
+
- Setup guide
|
|
338
|
+
- API documentation
|
|
339
|
+
- Troubleshooting guide
|
|
340
|
+
|
|
341
|
+
2. **Final Testing**
|
|
342
|
+
- Full E2E test suite
|
|
343
|
+
- Performance testing
|
|
344
|
+
- Security testing
|
|
345
|
+
- Browser compatibility
|
|
346
|
+
|
|
347
|
+
3. **Code Review & QA**
|
|
348
|
+
- Team code review
|
|
349
|
+
- QA testing
|
|
350
|
+
- Security review
|
|
351
|
+
|
|
352
|
+
### Acceptance Criteria
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
- [ ] All documentation complete
|
|
356
|
+
- [ ] All E2E tests passing
|
|
357
|
+
- [ ] Code review approved
|
|
358
|
+
- [ ] No security issues
|
|
359
|
+
- [ ] Performance acceptable
|
|
360
|
+
- [ ] Ready for production
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## Rollback Points
|
|
366
|
+
|
|
367
|
+
### If Implementation Gets Stuck
|
|
368
|
+
|
|
369
|
+
**Rollback Level 1: Last Commit**
|
|
370
|
+
```bash
|
|
371
|
+
git reset --hard HEAD
|
|
372
|
+
npm install
|
|
373
|
+
npm test # Should pass
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
**Rollback Level 2: Before This Feature**
|
|
377
|
+
```bash
|
|
378
|
+
git checkout main
|
|
379
|
+
npm install
|
|
380
|
+
npm test
|
|
381
|
+
# Verify everything works on main
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
**Rollback Level 3: Database Rollback**
|
|
385
|
+
```bash
|
|
386
|
+
npm run db:rollback -- auth-v1
|
|
387
|
+
# Removes auth tables/fields
|
|
388
|
+
# App reverts to state before auth changes
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
## Checklist: Before Pausing Work
|
|
394
|
+
|
|
395
|
+
- [ ] All current tests passing
|
|
396
|
+
- [ ] Code builds without errors
|
|
397
|
+
- [ ] No uncommitted changes
|
|
398
|
+
- [ ] Commit message written (describe state)
|
|
399
|
+
- [ ] This Recovery Points file updated
|
|
400
|
+
- [ ] Next developer notified
|
|
401
|
+
- [ ] Slack message sent with status
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## Checklist: When Resuming Work
|
|
406
|
+
|
|
407
|
+
- [ ] Pull latest git changes
|
|
408
|
+
- [ ] Run `npm install` (if dependencies changed)
|
|
409
|
+
- [ ] Run existing tests (verify they still pass)
|
|
410
|
+
- [ ] Read IMPLEMENTATION_HANDOFF.md
|
|
411
|
+
- [ ] Read this Recovery Points file
|
|
412
|
+
- [ ] Update status in this file (what phase are you on?)
|
|
413
|
+
- [ ] Begin implementation from current phase
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Known Issues That Might Affect Resumption
|
|
418
|
+
|
|
419
|
+
| Issue | Severity | Workaround | Fixed? |
|
|
420
|
+
|-------|----------|-----------|--------|
|
|
421
|
+
| OAuth token refresh timing | Low | Add 5s buffer | ⏳ TODO |
|
|
422
|
+
| Database connection pooling | Medium | Use pool size 10 | ✓ Fixed |
|
|
423
|
+
| Rate limiting missing | Low | Not blocking | ⏳ TODO |
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
## Contact For Questions
|
|
428
|
+
|
|
429
|
+
**Original Developer**: _Name_ (_email_)
|
|
430
|
+
**Current Owner**: _Name_ (_email_)
|
|
431
|
+
**Slack Channel**: #auth-feature
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
**Last Updated**: _YYYY-MM-DD HH:MM_
|
|
436
|
+
**Updated By**: _Name_
|
|
437
|
+
**Next Review**: _YYYY-MM-DD_
|
|
438
|
+
**Paused At**: _Phase: Core Implementation_
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Test Matrix
|
|
2
|
+
|
|
3
|
+
Required checks:
|
|
4
|
+
|
|
5
|
+
- `scripts/verify.sh`: repository harness structure, skill metadata, contracts, fixtures, and harness smoke test.
|
|
6
|
+
- `scripts/run-evals.sh`: install/verify/uninstall regression checks.
|
|
7
|
+
- `npm run pack:check`: package contents dry-run.
|
|
8
|
+
- Skill validation: run `quick_validate.py` for changed skills when available.
|
|
9
|
+
|
|
10
|
+
Feature rule: add or update fixtures and expected output before implementation.
|
|
11
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-provider-skill
|
|
3
|
+
description: Define reliable AI provider harnesses with mock providers, schemas, retries, invalid JSON recovery, persistence tests, and provider contracts. Use for LLM, image, voice, subtitle, render, and pipeline provider work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI Provider Skill
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
Make AI provider behavior deterministic under tests and recoverable under failures.
|
|
10
|
+
|
|
11
|
+
## When to use
|
|
12
|
+
Use before adding or changing AI providers, provider adapters, retry logic, schema parsing, or persistence.
|
|
13
|
+
|
|
14
|
+
## When NOT to use
|
|
15
|
+
Do not use for purely static documentation changes.
|
|
16
|
+
|
|
17
|
+
## Inputs required
|
|
18
|
+
Provider name, request shape, expected response, error modes, retry policy, and persistence target.
|
|
19
|
+
|
|
20
|
+
## Outputs required
|
|
21
|
+
Provider contract, mock provider fixture, schema validation, retry test, invalid JSON recovery test, and persistence test.
|
|
22
|
+
|
|
23
|
+
## Required tests
|
|
24
|
+
Mock success, provider error, retry, invalid JSON recovery, and persistence tests.
|
|
25
|
+
|
|
26
|
+
## Required fixtures
|
|
27
|
+
Create provider fixtures under `fixtures/agents`, `fixtures/images`, `fixtures/tts`, or related directories.
|
|
28
|
+
|
|
29
|
+
## Required contract updates
|
|
30
|
+
Update `contracts/agents/` or provider-specific contracts.
|
|
31
|
+
|
|
32
|
+
## Required codebase map updates
|
|
33
|
+
Update providers summary, pipeline flow, and test matrix.
|
|
34
|
+
|
|
35
|
+
## Token saving rules
|
|
36
|
+
Read provider summary and contract before provider code.
|
|
37
|
+
|
|
38
|
+
## Acceptance criteria
|
|
39
|
+
Provider output is schema-validated and failure recovery is tested.
|
|
40
|
+
|
|
41
|
+
## Common mistakes
|
|
42
|
+
Trusting raw model JSON, skipping retry tests, and using live provider calls in normal tests.
|
|
43
|
+
|
|
44
|
+
## Recovery workflow
|
|
45
|
+
If provider output is invalid, capture fixture, add parser recovery test, then patch parser or contract.
|
|
46
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-contract-skill
|
|
3
|
+
description: Create and verify API contracts before endpoint implementation. Use for API routes, service interfaces, validation rules, error shapes, snapshots, and endpoint tests.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# API Contract Skill
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
Ensure API behavior is defined by contracts, fixtures, and tests before code.
|
|
10
|
+
|
|
11
|
+
## When to use
|
|
12
|
+
Use before adding or changing endpoints, request schemas, response schemas, auth, errors, or persistence behavior.
|
|
13
|
+
|
|
14
|
+
## When NOT to use
|
|
15
|
+
Do not use for UI-only changes that do not touch API behavior.
|
|
16
|
+
|
|
17
|
+
## Inputs required
|
|
18
|
+
Endpoint path, method, auth, request body, success response, error cases, and persistence effects.
|
|
19
|
+
|
|
20
|
+
## Outputs required
|
|
21
|
+
Contract folder, fixture, success test, validation error test, not found test, and schema validation.
|
|
22
|
+
|
|
23
|
+
## Required tests
|
|
24
|
+
Create contract, integration, and unit tests as appropriate.
|
|
25
|
+
|
|
26
|
+
## Required fixtures
|
|
27
|
+
Create API fixtures for success and failure cases.
|
|
28
|
+
|
|
29
|
+
## Required contract updates
|
|
30
|
+
Update `contracts/api/` with request, response, schema, example, and error JSON.
|
|
31
|
+
|
|
32
|
+
## Required codebase map updates
|
|
33
|
+
Update `.codebase/API_CONTRACTS.md` and `TEST_MATRIX.md`.
|
|
34
|
+
|
|
35
|
+
## Token saving rules
|
|
36
|
+
Load endpoint contract before source files. Open only route and validator modules named by the contract.
|
|
37
|
+
|
|
38
|
+
## Acceptance criteria
|
|
39
|
+
Contract tests fail before implementation and pass after the minimum endpoint change.
|
|
40
|
+
|
|
41
|
+
## Common mistakes
|
|
42
|
+
Implementing validation before schema, changing error shape without a contract, and testing only success.
|
|
43
|
+
|
|
44
|
+
## Recovery workflow
|
|
45
|
+
If endpoint behavior is ambiguous, freeze implementation and create the missing contract first.
|
|
46
|
+
|