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,534 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: genesis-spec-propagation
|
|
3
|
+
description: "Automated specification propagation across project phases. Detects spec changes and automatically cascades updates to all affected downstream phases, preventing stale contracts, misaligned tests, and late-stage rework."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# genesis-spec-propagation
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Automate cascade propagation of spec changes across all project phases. When Phase 1 API changes, automatically detect affected phases (2-5), update downstream tests, contracts, client SDK types, and E2E scenarios, and generate migration guides for breaking changes. Reduces 45+ min manual update work to 5 min automated propagation.
|
|
11
|
+
|
|
12
|
+
## When to use
|
|
13
|
+
|
|
14
|
+
### Auto-Triggers
|
|
15
|
+
✅ After `/spec-change` command completes → Detects impact, auto-updates downstream phases
|
|
16
|
+
✅ After `/contract-update` for API/DB schema → Propagates to dependent contracts
|
|
17
|
+
✅ After SPEC_CHANGELOG.md entry created → Identifies affected phases (from notes)
|
|
18
|
+
✅ Before release/deployment → Validates all phases still aligned
|
|
19
|
+
|
|
20
|
+
## When NOT to use
|
|
21
|
+
|
|
22
|
+
- For documentation-only changes with no structural impact (field descriptions, examples only)
|
|
23
|
+
- When changing a single isolated file with no cross-phase dependencies
|
|
24
|
+
- For internal refactoring that preserves all public contracts
|
|
25
|
+
|
|
26
|
+
## Inputs required
|
|
27
|
+
|
|
28
|
+
- Path to changed spec file (e.g., `contracts/api/response.json`)
|
|
29
|
+
- Current `.codebase/PHASE_DEPENDENCY_MAP.md`
|
|
30
|
+
- Current `SPEC_CHANGELOG.md`
|
|
31
|
+
- Old vs new spec content (for diff analysis)
|
|
32
|
+
|
|
33
|
+
## Outputs required
|
|
34
|
+
|
|
35
|
+
- Updated downstream phase files (tests, contracts, SDK types, E2E scenarios)
|
|
36
|
+
- `SPEC_CHANGE_PROPAGATION.md` investigation log
|
|
37
|
+
- `SPEC_CHANGELOG.md` entry (auto-appended)
|
|
38
|
+
- Migration guide (for breaking changes only)
|
|
39
|
+
- Cross-phase validation report
|
|
40
|
+
|
|
41
|
+
## Required tests
|
|
42
|
+
|
|
43
|
+
- Each downstream phase's tests must pass after auto-update
|
|
44
|
+
- Cross-phase type consistency check (Phase 3 types ⊆ Phase 4 client types)
|
|
45
|
+
- Syntax validation of all updated files (JSON, TS, MD)
|
|
46
|
+
- Contract alignment test (Phase 3 response schema ⊂ Phase 4 type definitions)
|
|
47
|
+
|
|
48
|
+
## Required fixtures
|
|
49
|
+
|
|
50
|
+
- `fixtures/spec-propagation/` with before/after contract files
|
|
51
|
+
- Sample `SPEC_CHANGE_PROPAGATION.md` showing format
|
|
52
|
+
- Sample migration guide for a breaking field removal
|
|
53
|
+
|
|
54
|
+
## Required contract updates
|
|
55
|
+
|
|
56
|
+
- Update `contracts/api/*/response.json` when response schema changes
|
|
57
|
+
- Update `.codebase/API_CONTRACTS.md` with change record
|
|
58
|
+
- Update `SPEC_CHANGELOG.md` with propagation result
|
|
59
|
+
|
|
60
|
+
## Required codebase map updates
|
|
61
|
+
|
|
62
|
+
- `.codebase/CURRENT_STATE.md`: Mark spec propagation complete
|
|
63
|
+
- `.codebase/PHASE_DEPENDENCY_MAP.md`: Update if phase dependencies change
|
|
64
|
+
- `.codebase/KNOWN_PROBLEMS.md`: Document any propagation failures
|
|
65
|
+
|
|
66
|
+
## Token saving rules
|
|
67
|
+
|
|
68
|
+
- Cache PHASE_DEPENDENCY_MAP.md at session start (rarely changes)
|
|
69
|
+
- Show before/after diffs, not full file content
|
|
70
|
+
- Report "Phase 2,3,4,5 affected" summary, not full impact text
|
|
71
|
+
- When validating: report only failing checks, not passing ones
|
|
72
|
+
- Reuse dependency graph across multiple operations in same session
|
|
73
|
+
|
|
74
|
+
## Acceptance criteria
|
|
75
|
+
|
|
76
|
+
- All downstream phases identified (no phase missed)
|
|
77
|
+
- All affected files updated (mocks, types, assertions, E2E)
|
|
78
|
+
- All updated files syntactically valid
|
|
79
|
+
- Cross-phase validation passes
|
|
80
|
+
- SPEC_CHANGELOG.md entry created
|
|
81
|
+
- Migration guide present for all breaking changes
|
|
82
|
+
- Pre-commit gate passes
|
|
83
|
+
|
|
84
|
+
## Common mistakes
|
|
85
|
+
|
|
86
|
+
- Missing a downstream phase (only updating Phase 2 but not Phase 4 client SDK)
|
|
87
|
+
- Auto-updating Phase 5 E2E tests without semantic review (may require manual design)
|
|
88
|
+
- Forgetting to run tests in each updated phase after auto-update
|
|
89
|
+
- Treating non-breaking changes as breaking (causes unnecessary migration guides)
|
|
90
|
+
- Committing breaking changes without human approval
|
|
91
|
+
|
|
92
|
+
## Recovery workflow
|
|
93
|
+
|
|
94
|
+
If propagation breaks tests or introduces inconsistencies:
|
|
95
|
+
1. Run `git revert <propagation-commit>` to restore pre-propagation state
|
|
96
|
+
2. Identify which phase update caused the failure
|
|
97
|
+
3. Manually review the spec change requirements
|
|
98
|
+
4. Re-run propagation with `--dry-run` to preview changes first
|
|
99
|
+
5. Apply updates phase-by-phase, testing after each
|
|
100
|
+
6. Document edge case in `observability/` for future automation improvement
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 3-Phase Propagation Workflow
|
|
105
|
+
|
|
106
|
+
### Phase 1: Change Detection (5 min)
|
|
107
|
+
|
|
108
|
+
**Input**: Spec change location (e.g., `contracts/api/response.json`)
|
|
109
|
+
|
|
110
|
+
**Process**:
|
|
111
|
+
1. **Identify Change Type**
|
|
112
|
+
- Breaking change? (field removed, type changed, required added)
|
|
113
|
+
- Feature change? (new field, new endpoint, new validation rule)
|
|
114
|
+
- Non-impact change? (doc update, example update, no structural change)
|
|
115
|
+
|
|
116
|
+
2. **Parse Change Impact**
|
|
117
|
+
- Old spec vs new spec comparison
|
|
118
|
+
- Breaking: List removed/changed fields, endpoints, validations
|
|
119
|
+
- Feature: List added fields, endpoints, optional extensions
|
|
120
|
+
|
|
121
|
+
3. **Identify Affected Phases** (using PHASE_DEPENDENCY_MAP.md)
|
|
122
|
+
```
|
|
123
|
+
Phase 1 API spec change →
|
|
124
|
+
Phase 2 tests need API response type updates
|
|
125
|
+
Phase 3 backend implementation affected
|
|
126
|
+
Phase 4 client SDK needs updates
|
|
127
|
+
Phase 5 integration tests need new scenarios
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
4. **Record in SPEC_CHANGELOG.md** (auto-append if not done)
|
|
131
|
+
```
|
|
132
|
+
- 2026-05-31T14:32:00Z | BREAKING | API response field 'user.avatar' removed
|
|
133
|
+
Affected: Phase 2 (test mocks), Phase 3 (API contract), Phase 4 (client SDK), Phase 5 (e2e tests)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Output**: Change detection report (type, impact, affected phases)
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### Phase 2: Downstream Impact Analysis (10 min)
|
|
141
|
+
|
|
142
|
+
**Input**: Change detection report + PHASE_DEPENDENCY_MAP.md
|
|
143
|
+
|
|
144
|
+
**Process**:
|
|
145
|
+
|
|
146
|
+
1. **Build Dependency Graph**
|
|
147
|
+
```
|
|
148
|
+
Phase 1 (API Contract)
|
|
149
|
+
├─→ Phase 2 (Tests)
|
|
150
|
+
├─→ Phase 3 (Backend Implementation)
|
|
151
|
+
└─→ Phase 4 (Client SDK)
|
|
152
|
+
|
|
153
|
+
Phase 2 (Tests)
|
|
154
|
+
├─→ Phase 3 (Implementation must pass tests)
|
|
155
|
+
└─→ Phase 5 (E2E tests)
|
|
156
|
+
|
|
157
|
+
Phase 3 (Backend Implementation)
|
|
158
|
+
├─→ Phase 4 (Client SDK)
|
|
159
|
+
└─→ Phase 5 (E2E tests)
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
2. **Trace Propagation Path** (DFS from change point)
|
|
163
|
+
- Direct dependents: Phase 2, 3, 4
|
|
164
|
+
- Transitive dependents: Phase 5
|
|
165
|
+
- List order of updates needed (topological sort)
|
|
166
|
+
|
|
167
|
+
3. **Identify Update Type Per Phase**
|
|
168
|
+
- Phase 2: Update mocks, test data, assertions
|
|
169
|
+
- Phase 3: Update API handler, response builder, validation
|
|
170
|
+
- Phase 4: Update client method signatures, serialization
|
|
171
|
+
- Phase 5: Add new scenarios, update expectations
|
|
172
|
+
|
|
173
|
+
4. **Check for Conflicts**
|
|
174
|
+
- Does this breaking change conflict with Phase 3 implementation?
|
|
175
|
+
- Does Phase 4 client have workarounds we need to update?
|
|
176
|
+
- Are there Phase 5 tests that would break?
|
|
177
|
+
|
|
178
|
+
5. **Estimate Manual Work**
|
|
179
|
+
- Breaking change: 2-4 hours (requires design decisions)
|
|
180
|
+
- Feature change: 30-60 minutes
|
|
181
|
+
- Non-impact: 5-10 minutes
|
|
182
|
+
|
|
183
|
+
**Output**: Impact analysis (affected phases, update type per phase, conflict flags, time estimate)
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
### Phase 3: Automatic Phase Updates (15 min)
|
|
188
|
+
|
|
189
|
+
**Input**: Impact analysis + affected contract files
|
|
190
|
+
|
|
191
|
+
**Process**:
|
|
192
|
+
|
|
193
|
+
1. **Update Phase 2 (Tests)**
|
|
194
|
+
- Read current test files (e.g., `tests/api-mocks.test.js`)
|
|
195
|
+
- Update mock data to match new API spec
|
|
196
|
+
- Update assertions to match new field types/presence
|
|
197
|
+
- Update test descriptions for new scenarios
|
|
198
|
+
- Output: Updated test file + change summary
|
|
199
|
+
|
|
200
|
+
2. **Update Phase 3 (Backend Implementation)**
|
|
201
|
+
- Read current API contract (`contracts/api/response.json`)
|
|
202
|
+
- Update response schema to match API spec
|
|
203
|
+
- Add migration notes (if breaking change)
|
|
204
|
+
- Update backend handler docstring
|
|
205
|
+
- Output: Updated contract + handler docs
|
|
206
|
+
|
|
207
|
+
3. **Update Phase 4 (Client SDK)**
|
|
208
|
+
- Read current client types (`types/api.ts`)
|
|
209
|
+
- Update interface definitions
|
|
210
|
+
- Update serialization logic if needed
|
|
211
|
+
- Add deprecation warnings for removed fields
|
|
212
|
+
- Output: Updated types + deprecation notice
|
|
213
|
+
|
|
214
|
+
4. **Update Phase 5 (E2E Tests)**
|
|
215
|
+
- Read current e2e scenarios (`playwright/e2e/scenarios.md`)
|
|
216
|
+
- Add new test scenarios for new fields
|
|
217
|
+
- Update assertions for changed fields
|
|
218
|
+
- Output: Updated scenarios + new test cases
|
|
219
|
+
|
|
220
|
+
5. **Generate Migration Guide** (for breaking changes only)
|
|
221
|
+
- What changed & why
|
|
222
|
+
- Migration steps for downstream consumers
|
|
223
|
+
- Backward compatibility period (if any)
|
|
224
|
+
- Rollback procedure
|
|
225
|
+
|
|
226
|
+
**Automatic Updates**: Use text replacement templates to update files systematically
|
|
227
|
+
**Manual Review Point**: Breaking changes require human approval before commit
|
|
228
|
+
|
|
229
|
+
**Output**: Updated phase files + migration guide (if needed)
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Implementation Strategy
|
|
234
|
+
|
|
235
|
+
### Change Detection Logic
|
|
236
|
+
|
|
237
|
+
```javascript
|
|
238
|
+
// Pseudocode: Detect spec change type
|
|
239
|
+
function analyzeSpecChange(oldSpec, newSpec) {
|
|
240
|
+
const changes = {
|
|
241
|
+
breaking: [],
|
|
242
|
+
feature: [],
|
|
243
|
+
nonImpact: []
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
// Check for removed/modified fields (BREAKING)
|
|
247
|
+
for (const field in oldSpec.properties) {
|
|
248
|
+
if (!newSpec.properties[field]) {
|
|
249
|
+
changes.breaking.push(`Removed field: ${field}`);
|
|
250
|
+
} else if (oldSpec.properties[field].type !== newSpec.properties[field].type) {
|
|
251
|
+
changes.breaking.push(`Changed type: ${field}`);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// Check for new fields (FEATURE)
|
|
256
|
+
for (const field in newSpec.properties) {
|
|
257
|
+
if (!oldSpec.properties[field]) {
|
|
258
|
+
changes.feature.push(`Added field: ${field}`);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// Check for non-structural changes (NON-IMPACT)
|
|
263
|
+
if (oldSpec.description !== newSpec.description) {
|
|
264
|
+
changes.nonImpact.push(`Updated description`);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
return changes;
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Phase Dependency Mapping
|
|
272
|
+
|
|
273
|
+
**File**: `.codebase/PHASE_DEPENDENCY_MAP.md`
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
# Phase Dependency Map
|
|
277
|
+
|
|
278
|
+
## Direct Dependencies
|
|
279
|
+
- Phase 1 (Contracts) → Phase 2, 3, 4
|
|
280
|
+
- Phase 2 (Tests) → Phase 3, 5
|
|
281
|
+
- Phase 3 (Implementation) → Phase 4, 5
|
|
282
|
+
- Phase 4 (SDK) → Phase 5
|
|
283
|
+
- Phase 5 (E2E) → Release
|
|
284
|
+
|
|
285
|
+
## Change Impact Rules
|
|
286
|
+
- API contract change → Tests, Backend, Client, E2E
|
|
287
|
+
- DB schema change → Backend, Migrations, Tests
|
|
288
|
+
- UI spec change → Frontend, E2E tests
|
|
289
|
+
- Breaking change → Higher priority, requires review
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### Auto-Update Templates
|
|
293
|
+
|
|
294
|
+
**Pattern 1: Mock Data Update**
|
|
295
|
+
```javascript
|
|
296
|
+
// OLD
|
|
297
|
+
const mockUser = { id: 1, name: 'John', avatar: '/avatar.png' };
|
|
298
|
+
|
|
299
|
+
// AUTO-UPDATED (after avatar field removed)
|
|
300
|
+
const mockUser = { id: 1, name: 'John' };
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Pattern 2: Type Definition Update**
|
|
304
|
+
```typescript
|
|
305
|
+
// OLD
|
|
306
|
+
interface User {
|
|
307
|
+
id: number;
|
|
308
|
+
name: string;
|
|
309
|
+
avatar: string; // URL to user avatar
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
// AUTO-UPDATED
|
|
313
|
+
interface User {
|
|
314
|
+
id: number;
|
|
315
|
+
name: string;
|
|
316
|
+
// avatar field removed in API v2
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Pattern 3: Assertion Update**
|
|
321
|
+
```javascript
|
|
322
|
+
// OLD
|
|
323
|
+
expect(response.avatar).toBeDefined();
|
|
324
|
+
|
|
325
|
+
// AUTO-UPDATED (if field removed)
|
|
326
|
+
expect(response).not.toHaveProperty('avatar');
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Validation Workflow (After Auto-Update)
|
|
332
|
+
|
|
333
|
+
### Pre-Commit Validation (MANDATORY)
|
|
334
|
+
|
|
335
|
+
1. **Syntax Check**: All updated files are valid JSON/JS/TS
|
|
336
|
+
2. **Contract Alignment**: Updated contracts match actual changes
|
|
337
|
+
3. **Test Consistency**: Updated tests still make sense semantically
|
|
338
|
+
4. **Type Safety**: Types defined in Phase 4 match Phase 3 API contract
|
|
339
|
+
5. **Cross-Phase Validation**:
|
|
340
|
+
- Phase 3 types ⊆ Phase 4 client types ✓
|
|
341
|
+
- Phase 2 test data matches Phase 3 API contract ✓
|
|
342
|
+
- Phase 5 tests reference existing Phase 4 client methods ✓
|
|
343
|
+
|
|
344
|
+
### Validation Checklist
|
|
345
|
+
|
|
346
|
+
```markdown
|
|
347
|
+
## Spec Propagation Validation
|
|
348
|
+
|
|
349
|
+
- [ ] Change detection correct? (type identified)
|
|
350
|
+
- [ ] Affected phases identified? (no missing phases)
|
|
351
|
+
- [ ] Phase 2 tests updated?
|
|
352
|
+
- [ ] Mocks match new spec
|
|
353
|
+
- [ ] Assertions updated
|
|
354
|
+
- [ ] No broken assertions
|
|
355
|
+
- [ ] Phase 3 contract updated?
|
|
356
|
+
- [ ] Schema matches API spec
|
|
357
|
+
- [ ] Docstrings accurate
|
|
358
|
+
- [ ] Phase 4 SDK updated?
|
|
359
|
+
- [ ] Types match API contract
|
|
360
|
+
- [ ] No type mismatches
|
|
361
|
+
- [ ] Phase 5 E2E updated?
|
|
362
|
+
- [ ] Scenarios reference updated SDK
|
|
363
|
+
- [ ] No broken references
|
|
364
|
+
- [ ] Cross-phase validation passes?
|
|
365
|
+
- [ ] All files are syntactically valid
|
|
366
|
+
- [ ] No circular dependencies
|
|
367
|
+
- [ ] Migration guide complete (if breaking)
|
|
368
|
+
- [ ] SPEC_CHANGELOG.md entry added?
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
## Auto-Trigger Integration
|
|
374
|
+
|
|
375
|
+
### Hook: PreToolUse for `/spec-change`
|
|
376
|
+
|
|
377
|
+
**Location**: `.instructions.md` (PreToolUse Hook #5)
|
|
378
|
+
|
|
379
|
+
```yaml
|
|
380
|
+
BEFORE /spec-change executes:
|
|
381
|
+
1. Verify change is documented
|
|
382
|
+
2. Confirm change type (breaking/feature/non-impact)
|
|
383
|
+
3. Preview affected phases
|
|
384
|
+
|
|
385
|
+
AFTER /spec-change completes successfully:
|
|
386
|
+
→ Activate genesis-spec-propagation skill
|
|
387
|
+
|
|
388
|
+
1. Change Detection (5 min)
|
|
389
|
+
- Analyze spec difference
|
|
390
|
+
- Identify breaking vs feature
|
|
391
|
+
- Map affected phases
|
|
392
|
+
- Record in SPEC_CHANGELOG.md
|
|
393
|
+
|
|
394
|
+
2. Impact Analysis (10 min)
|
|
395
|
+
- Build dependency graph
|
|
396
|
+
- Trace propagation paths
|
|
397
|
+
- Identify update types
|
|
398
|
+
- Estimate effort
|
|
399
|
+
|
|
400
|
+
3. Auto-Update (15 min)
|
|
401
|
+
- Update Phase 2 tests
|
|
402
|
+
- Update Phase 3 backend contract
|
|
403
|
+
- Update Phase 4 client SDK
|
|
404
|
+
- Update Phase 5 E2E tests
|
|
405
|
+
- Generate migration guide
|
|
406
|
+
|
|
407
|
+
4. Validation (5 min)
|
|
408
|
+
- Syntax check all files
|
|
409
|
+
- Cross-phase validation
|
|
410
|
+
- Run affected test suites
|
|
411
|
+
- Confirm all phases aligned
|
|
412
|
+
|
|
413
|
+
5. Completion (2 min)
|
|
414
|
+
- Create SPEC_CHANGE_PROPAGATION.md log
|
|
415
|
+
- Update CURRENT_STATE.md
|
|
416
|
+
- Ready for commit
|
|
417
|
+
|
|
418
|
+
**CRITICAL**: No breaking change commits without review
|
|
419
|
+
**CRITICAL**: All downstream phases must be updated
|
|
420
|
+
**Non-optional**: Part of /spec-change completion criteria
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
## Integration with Other Skills
|
|
426
|
+
|
|
427
|
+
| Skill | Integration Point |
|
|
428
|
+
|-------|-------------------|
|
|
429
|
+
| **genesis-research** | Research best practices for API changes |
|
|
430
|
+
| **genesis-api-contract** | Generate new API contracts after change |
|
|
431
|
+
| **genesis-ui-ux-test** | Update test scenarios based on spec |
|
|
432
|
+
| **genesis-harness-engineering** | Orchestrate multi-phase updates |
|
|
433
|
+
| **genesis-docs** | Auto-update API docs after propagation |
|
|
434
|
+
| **genesis-release** | Use SPEC_CHANGELOG for release notes |
|
|
435
|
+
| **spec-impact-engine** | Base dependency tracking |
|
|
436
|
+
|
|
437
|
+
---
|
|
438
|
+
|
|
439
|
+
## Token Efficiency Rules
|
|
440
|
+
|
|
441
|
+
### Cache Aggressively
|
|
442
|
+
- Cache PHASE_DEPENDENCY_MAP.md (rarely changes)
|
|
443
|
+
- Cache contract templates (reusable)
|
|
444
|
+
- Cache update patterns (pattern matching)
|
|
445
|
+
|
|
446
|
+
### Summarize, Don't Repeat
|
|
447
|
+
- When reporting changes: "Phase 2,3,4,5 affected" not full text
|
|
448
|
+
- When proposing updates: Show before/after, not full file
|
|
449
|
+
- When validating: Report issues only, not passing checks
|
|
450
|
+
|
|
451
|
+
### Reuse Analysis
|
|
452
|
+
- Store dependency graph in session memory (use across operations)
|
|
453
|
+
- Reuse contract analysis within same session
|
|
454
|
+
- Link to previous propagation logs (avoid re-analyzing)
|
|
455
|
+
|
|
456
|
+
**Target**: 40-50 min for medium change with caching (vs 45+ min manual)
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
## Success Criteria
|
|
461
|
+
|
|
462
|
+
✅ **Automated**: /spec-change auto-triggers propagation (zero manual steps)
|
|
463
|
+
✅ **Complete**: All affected phases updated (2-5 scanned)
|
|
464
|
+
✅ **Validated**: Cross-phase consistency verified before commit
|
|
465
|
+
✅ **Documented**: SPEC_CHANGELOG.md + migration guides complete
|
|
466
|
+
✅ **Reversible**: Rollback procedure documented for breaking changes
|
|
467
|
+
✅ **Efficient**: 25-30 min execution vs 45+ min manual (40% time savings)
|
|
468
|
+
✅ **Enforced**: Pre-commit gate prevents misaligned phases
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
## Output Artifacts
|
|
473
|
+
|
|
474
|
+
### Per Spec Change
|
|
475
|
+
|
|
476
|
+
1. **SPEC_CHANGE_PROPAGATION.md** (Investigation log)
|
|
477
|
+
- Change detected
|
|
478
|
+
- Affected phases
|
|
479
|
+
- Updates applied
|
|
480
|
+
- Validation results
|
|
481
|
+
- Migration guide (if breaking)
|
|
482
|
+
|
|
483
|
+
2. **Updated Contract Files**
|
|
484
|
+
- Phase 2: `tests/api-mocks.test.js` (updated mocks)
|
|
485
|
+
- Phase 3: `contracts/api/response.json` (updated schema)
|
|
486
|
+
- Phase 4: `types/api.ts` (updated types)
|
|
487
|
+
- Phase 5: `playwright/e2e/scenarios.md` (updated scenarios)
|
|
488
|
+
|
|
489
|
+
3. **SPEC_CHANGELOG.md Entry** (auto-append)
|
|
490
|
+
```
|
|
491
|
+
- 2026-05-31T14:32:00Z | BREAKING | API field change
|
|
492
|
+
Auto-updated phases: 2, 3, 4, 5 | Migration guide: /docs/migration-v2-to-v3.md
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
4. **Migration Guide** (for breaking changes)
|
|
496
|
+
- What changed & why
|
|
497
|
+
- Impact for consumers
|
|
498
|
+
- Migration steps
|
|
499
|
+
- Timeline & deadlines
|
|
500
|
+
- Rollback procedure
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## Recovery & Rollback
|
|
505
|
+
|
|
506
|
+
### If Propagation Breaks Tests
|
|
507
|
+
|
|
508
|
+
1. **Identify Breaking Phase**: Which phase fails?
|
|
509
|
+
2. **Root Cause**: Is it auto-update error or actual incompatibility?
|
|
510
|
+
3. **Recover**:
|
|
511
|
+
- If auto-update error: Revert change, fix pattern, re-run propagation
|
|
512
|
+
- If incompatibility: Manual review + design decision needed
|
|
513
|
+
4. **Document**: Add to RECOVERY_POINTS.md with solution
|
|
514
|
+
|
|
515
|
+
### Rollback to Previous Spec State
|
|
516
|
+
|
|
517
|
+
```bash
|
|
518
|
+
# If propagation introduced bugs:
|
|
519
|
+
git revert <propagation-commit>
|
|
520
|
+
|
|
521
|
+
# Verify all phases revert correctly
|
|
522
|
+
npm test
|
|
523
|
+
|
|
524
|
+
# Then manually review the spec change requirement
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
---
|
|
528
|
+
|
|
529
|
+
## Related Documentation
|
|
530
|
+
|
|
531
|
+
- [PHASE_DEPENDENCY_MAP.md](.codebase/PHASE_DEPENDENCY_MAP.md) - Phase dependencies
|
|
532
|
+
- [SPEC_CHANGELOG.md](.codebase/SPEC_CHANGELOG.md) - Change history
|
|
533
|
+
- [Contract Management](contracts/README.md) - Contract structures
|
|
534
|
+
- [Database Schema Evolution](docs/schema-evolution.md) - Migration patterns
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Spec Propagation Skill"
|
|
3
|
+
short_description: "Propagate spec changes automatically across all downstream project phases"
|
|
4
|
+
default_prompt: "Use $genesis-spec-propagation to cascade this spec change to all affected downstream phases."
|
|
5
|
+
|
|
6
|
+
policy:
|
|
7
|
+
allow_implicit_invocation: true
|