agentic-dev 0.2.11 → 0.2.12
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/README.md +53 -46
- package/package.json +8 -22
- package/.agent/prd.json +0 -29
- package/.agent/progress.txt +0 -1
- package/.agent/prompt.md +0 -21
- package/.agent/ralph-loop-state.json +0 -13
- package/.agent/ralph-supervisor-state.json +0 -12
- package/.agent/ralph-supervisor.sh +0 -238
- package/.agent/ralph.sh +0 -305
- package/.agent/runs/README.md +0 -7
- package/.agent/sdd-build-ast-audit.json +0 -13
- package/.claude/CLAUDE.md +0 -44
- package/.claude/agentic-dev.json +0 -3
- package/.claude/agents/ai-dev.md +0 -27
- package/.claude/agents/backend-dev.md +0 -26
- package/.claude/agents/db-dev.md +0 -26
- package/.claude/agents/devops.md +0 -27
- package/.claude/agents/frontend-dev.md +0 -25
- package/.claude/agents/github-ops.md +0 -25
- package/.claude/agents/test-dev.md +0 -26
- package/.claude/agents/uiux-designer.md +0 -25
- package/.claude/settings.json +0 -49
- package/.claude/settings.local.json +0 -8
- package/.claude/skills/sdd/SKILL.md +0 -189
- package/.claude/skills/sdd/agents/openai.yaml +0 -4
- package/.claude/skills/sdd/references/section-map.md +0 -67
- package/.claude/workspace-config.json +0 -3
- package/.codex/agentic-dev.json +0 -3
- package/.codex/agents/README.md +0 -22
- package/.codex/agents/api.toml +0 -11
- package/.codex/agents/architecture.toml +0 -11
- package/.codex/agents/ci.toml +0 -11
- package/.codex/agents/gitops.toml +0 -11
- package/.codex/agents/orchestrator.toml +0 -11
- package/.codex/agents/quality.toml +0 -11
- package/.codex/agents/runtime.toml +0 -11
- package/.codex/agents/security.toml +0 -11
- package/.codex/agents/specs.toml +0 -11
- package/.codex/agents/ui.toml +0 -11
- package/.codex/config.toml +0 -46
- package/.codex/skills/SKILL.md +0 -13
- package/.codex/skills/sdd/SKILL.md +0 -189
- package/.codex/skills/sdd/agents/openai.yaml +0 -4
- package/.codex/skills/sdd/references/section-map.md +0 -67
- package/.dockerignore +0 -8
- package/.env.example +0 -50
- package/.gitignore +0 -16
- package/AGENTS.md +0 -86
- package/SDD_SKILL.md +0 -589
- package/compose.yml +0 -206
- package/infra/compose/.env.dev.example +0 -28
- package/infra/compose/.env.prod.example +0 -29
- package/infra/compose/README.md +0 -35
- package/infra/compose/dev.yml +0 -125
- package/infra/compose/prod.yml +0 -126
- package/infra/terraform/README.md +0 -34
- package/infra/terraform/aws/data/.terraform.lock.hcl +0 -25
- package/infra/terraform/aws/data/README.md +0 -18
- package/infra/terraform/aws/data/main.tf +0 -147
- package/infra/terraform/aws/data/outputs.tf +0 -14
- package/infra/terraform/aws/data/variables.tf +0 -57
- package/infra/terraform/aws/data/versions.tf +0 -10
- package/infra/terraform/aws/domain/.terraform.lock.hcl +0 -25
- package/infra/terraform/aws/domain/README.md +0 -20
- package/infra/terraform/aws/domain/env/dev.tfvars.example +0 -6
- package/infra/terraform/aws/domain/env/prod.tfvars.example +0 -7
- package/infra/terraform/aws/domain/main.tf +0 -149
- package/infra/terraform/aws/domain/outputs.tf +0 -29
- package/infra/terraform/aws/domain/variables.tf +0 -58
- package/infra/terraform/aws/domain/versions.tf +0 -10
- package/infra/terraform/openstack/README.md +0 -38
- package/infra/terraform/openstack/dev/.terraform.lock.hcl +0 -24
- package/infra/terraform/openstack/dev/README.md +0 -18
- package/infra/terraform/openstack/dev/main.tf +0 -49
- package/infra/terraform/openstack/dev/providers.tf +0 -15
- package/infra/terraform/openstack/dev/terraform.tfvars.example +0 -54
- package/infra/terraform/openstack/dev/variables.tf +0 -210
- package/infra/terraform/openstack/dev/versions.tf +0 -10
- package/infra/terraform/openstack/modules/environment_host/main.tf +0 -143
- package/infra/terraform/openstack/modules/environment_host/outputs.tf +0 -25
- package/infra/terraform/openstack/modules/environment_host/templates/docker-host-user-data.sh.tftpl +0 -40
- package/infra/terraform/openstack/modules/environment_host/variables.tf +0 -145
- package/infra/terraform/openstack/modules/environment_host/versions.tf +0 -7
- package/infra/terraform/openstack/prod/.terraform.lock.hcl +0 -24
- package/infra/terraform/openstack/prod/README.md +0 -18
- package/infra/terraform/openstack/prod/main.tf +0 -49
- package/infra/terraform/openstack/prod/providers.tf +0 -15
- package/infra/terraform/openstack/prod/terraform.tfvars.example +0 -55
- package/infra/terraform/openstack/prod/variables.tf +0 -210
- package/infra/terraform/openstack/prod/versions.tf +0 -10
- package/infra/terraform/openstack/server/.terraform.lock.hcl +0 -45
- package/infra/terraform/openstack/server/README.md +0 -47
- package/infra/terraform/openstack/server/main.tf +0 -161
- package/infra/terraform/openstack/server/outputs.tf +0 -30
- package/infra/terraform/openstack/server/providers.tf +0 -30
- package/infra/terraform/openstack/server/templates/server-user-data.sh.tftpl +0 -50
- package/infra/terraform/openstack/server/variables.tf +0 -233
- package/infra/terraform/openstack/server/zz_aspace.auto.tfvars.example.json +0 -29
- package/pnpm-workspace.yaml +0 -2
- package/scripts/dev/audit_sdd_build_ast.py +0 -277
- package/sdd/01_planning/01_feature/INDEX.md +0 -16
- package/sdd/01_planning/01_feature/README.md +0 -76
- package/sdd/01_planning/01_feature/alerts_feature_spec.md +0 -55
- package/sdd/01_planning/01_feature/auth_feature_spec.md +0 -57
- package/sdd/01_planning/01_feature/catalog_feature_spec.md +0 -61
- package/sdd/01_planning/01_feature/fulfillment_feature_spec.md +0 -58
- package/sdd/01_planning/01_feature/health_feature_spec.md +0 -52
- package/sdd/01_planning/01_feature/inventory_feature_spec.md +0 -60
- package/sdd/01_planning/01_feature/order_feature_spec.md +0 -63
- package/sdd/01_planning/01_feature/shipping_feature_spec.md +0 -55
- package/sdd/01_planning/01_feature/support_feature_spec.md +0 -53
- package/sdd/01_planning/01_feature/user_feature_spec.md +0 -54
- package/sdd/01_planning/02_screen/INDEX.md +0 -13
- package/sdd/01_planning/02_screen/README.md +0 -41
- package/sdd/01_planning/02_screen/admin_screen_spec.pdf +0 -0
- package/sdd/01_planning/02_screen/assets/README.md +0 -16
- package/sdd/01_planning/02_screen/assets/example/README.md +0 -13
- package/sdd/01_planning/02_screen/landing_screen_spec.pdf +0 -0
- package/sdd/01_planning/02_screen/mobile_screen_spec.pdf +0 -0
- package/sdd/01_planning/02_screen/web_screen_spec.pdf +0 -0
- package/sdd/01_planning/03_architecture/INDEX.md +0 -9
- package/sdd/01_planning/03_architecture/README.md +0 -25
- package/sdd/01_planning/03_architecture/architecture_document_structure.md +0 -77
- package/sdd/01_planning/03_architecture/backend/README.md +0 -10
- package/sdd/01_planning/03_architecture/frontend/README.md +0 -12
- package/sdd/01_planning/03_architecture/infra/README.md +0 -10
- package/sdd/01_planning/03_architecture/tech-research/README.md +0 -4
- package/sdd/01_planning/03_architecture/templates_system_architecture.md +0 -84
- package/sdd/01_planning/04_data/INDEX.md +0 -4
- package/sdd/01_planning/04_data/README.md +0 -10
- package/sdd/01_planning/04_data/templates_data_modeling.md +0 -119
- package/sdd/01_planning/05_api/README.md +0 -12
- package/sdd/01_planning/05_api/templates_api_contract.md +0 -90
- package/sdd/01_planning/06_iac/README.md +0 -11
- package/sdd/01_planning/06_iac/templates_runtime_and_cicd_baseline.md +0 -46
- package/sdd/01_planning/07_integration/README.md +0 -11
- package/sdd/01_planning/07_integration/templates_frontend_api_integration.md +0 -46
- package/sdd/01_planning/08_nonfunctional/README.md +0 -7
- package/sdd/01_planning/09_security/README.md +0 -7
- package/sdd/01_planning/10_test/README.md +0 -12
- package/sdd/01_planning/10_test/templates_test_strategy.md +0 -60
- package/sdd/01_planning/INDEX.md +0 -19
- package/sdd/01_planning/README.md +0 -17
- package/sdd/02_plan/01_feature/README.md +0 -34
- package/sdd/02_plan/01_feature/_feature_todo_template.md +0 -29
- package/sdd/02_plan/02_screen/INDEX.md +0 -19
- package/sdd/02_plan/02_screen/README.md +0 -39
- package/sdd/02_plan/02_screen/_screen_todo_template.md +0 -60
- package/sdd/02_plan/03_architecture/README.md +0 -23
- package/sdd/02_plan/03_architecture/architecture_document_governance.md +0 -40
- package/sdd/02_plan/03_architecture/build_ast_runtime_tree_governance.md +0 -53
- package/sdd/02_plan/03_architecture/repository_governance.md +0 -39
- package/sdd/02_plan/03_architecture/runtime_and_structure_governance.md +0 -38
- package/sdd/02_plan/03_architecture/templates-hexagonal-template-architecture.md +0 -9
- package/sdd/02_plan/03_architecture/toolchain_governance.md +0 -98
- package/sdd/02_plan/04_data/README.md +0 -5
- package/sdd/02_plan/05_api/README.md +0 -5
- package/sdd/02_plan/06_iac/README.md +0 -11
- package/sdd/02_plan/06_iac/dev_runtime_delivery.md +0 -36
- package/sdd/02_plan/06_iac/template_runtime_delivery.md +0 -50
- package/sdd/02_plan/07_integration/README.md +0 -5
- package/sdd/02_plan/07_integration/frontend_live_integration.md +0 -31
- package/sdd/02_plan/08_nonfunctional/README.md +0 -5
- package/sdd/02_plan/08_nonfunctional/repository_hygiene.md +0 -26
- package/sdd/02_plan/09_security/README.md +0 -5
- package/sdd/02_plan/10_test/README.md +0 -11
- package/sdd/02_plan/10_test/regression_verification.md +0 -39
- package/sdd/02_plan/10_test/templates/README.md +0 -8
- package/sdd/02_plan/10_test/templates/ui_parity_web_contract.template.yaml +0 -23
- package/sdd/02_plan/10_test/verification_strategy.md +0 -43
- package/sdd/02_plan/99_generated/from_planning/ui_parity/.gitkeep +0 -1
- package/sdd/02_plan/README.md +0 -40
- package/sdd/03_build/01_feature/README.md +0 -20
- package/sdd/03_build/01_feature/domain/README.md +0 -3
- package/sdd/03_build/01_feature/domain/account_and_access.md +0 -20
- package/sdd/03_build/01_feature/domain/catalog_and_inventory.md +0 -20
- package/sdd/03_build/01_feature/domain/ordering_and_fulfillment.md +0 -21
- package/sdd/03_build/01_feature/domain/support_and_observability.md +0 -21
- package/sdd/03_build/01_feature/domain_surfaces.md +0 -28
- package/sdd/03_build/01_feature/service/README.md +0 -3
- package/sdd/03_build/01_feature/service/admin_surface.md +0 -15
- package/sdd/03_build/01_feature/service/landing_surface.md +0 -13
- package/sdd/03_build/01_feature/service/mobile_surface.md +0 -14
- package/sdd/03_build/01_feature/service/web_surface.md +0 -14
- package/sdd/03_build/02_screen/README.md +0 -25
- package/sdd/03_build/02_screen/_screen_build_template.md +0 -26
- package/sdd/03_build/02_screen/admin/README.md +0 -5
- package/sdd/03_build/02_screen/landing/README.md +0 -5
- package/sdd/03_build/02_screen/mobile/README.md +0 -5
- package/sdd/03_build/02_screen/web/README.md +0 -5
- package/sdd/03_build/03_architecture/README.md +0 -10
- package/sdd/03_build/03_architecture/architecture_document_governance.md +0 -30
- package/sdd/03_build/03_architecture/build_ast_runtime_tree_governance.md +0 -24
- package/sdd/03_build/03_architecture/repository_governance.md +0 -18
- package/sdd/03_build/03_architecture/toolchain_governance.md +0 -36
- package/sdd/03_build/06_iac/README.md +0 -3
- package/sdd/03_build/06_iac/dev_runtime_delivery.md +0 -10
- package/sdd/03_build/06_iac/template_runtime_delivery.md +0 -49
- package/sdd/03_build/07_integration/README.md +0 -3
- package/sdd/03_build/07_integration/frontend_live_integration.md +0 -11
- package/sdd/03_build/08_nonfunctional/README.md +0 -3
- package/sdd/03_build/08_nonfunctional/repository_hygiene.md +0 -10
- package/sdd/03_build/10_test/README.md +0 -9
- package/sdd/03_build/10_test/regression_verification.md +0 -16
- package/sdd/03_build/10_test/verification_harness.md +0 -11
- package/sdd/03_build/README.md +0 -35
- package/sdd/03_verify/01_feature/README.md +0 -5
- package/sdd/03_verify/01_feature/domain_verification.md +0 -14
- package/sdd/03_verify/01_feature/service_verification.md +0 -22
- package/sdd/03_verify/02_screen/README.md +0 -6
- package/sdd/03_verify/02_screen/_screen_verify_template.md +0 -20
- package/sdd/03_verify/02_screen/admin/README.md +0 -4
- package/sdd/03_verify/02_screen/landing/README.md +0 -4
- package/sdd/03_verify/02_screen/mobile/README.md +0 -4
- package/sdd/03_verify/02_screen/web/README.md +0 -4
- package/sdd/03_verify/03_architecture/README.md +0 -10
- package/sdd/03_verify/03_architecture/architecture_document_governance.md +0 -15
- package/sdd/03_verify/03_architecture/build_ast_runtime_tree_governance.md +0 -28
- package/sdd/03_verify/03_architecture/repository_governance.md +0 -16
- package/sdd/03_verify/03_architecture/toolchain_governance.md +0 -58
- package/sdd/03_verify/06_iac/README.md +0 -3
- package/sdd/03_verify/06_iac/dev_runtime_delivery.md +0 -10
- package/sdd/03_verify/06_iac/template_runtime_delivery.md +0 -42
- package/sdd/03_verify/07_integration/README.md +0 -3
- package/sdd/03_verify/07_integration/frontend_live_integration.md +0 -16
- package/sdd/03_verify/08_nonfunctional/README.md +0 -3
- package/sdd/03_verify/08_nonfunctional/repository_hygiene.md +0 -14
- package/sdd/03_verify/10_test/README.md +0 -9
- package/sdd/03_verify/10_test/regression_verification.md +0 -16
- package/sdd/03_verify/10_test/ui_parity/README.md +0 -4
- package/sdd/03_verify/10_test/ui_parity/loop_runs/.gitkeep +0 -0
- package/sdd/03_verify/10_test/ui_parity/reference/.gitkeep +0 -0
- package/sdd/03_verify/10_test/ui_parity/staged_runs/.gitkeep +0 -0
- package/sdd/03_verify/10_test/verification_harness.md +0 -17
- package/sdd/03_verify/README.md +0 -22
- package/sdd/05_operate/01_runbooks/.gitkeep +0 -1
- package/sdd/05_operate/01_runbooks/README.md +0 -4
- package/sdd/05_operate/02_delivery_status/README.md +0 -4
- package/sdd/05_operate/02_delivery_status/service_status.md +0 -16
- package/sdd/05_operate/README.md +0 -12
- package/sdd/99_toolchain/01_automation/.gitkeep +0 -1
- package/sdd/99_toolchain/01_automation/README.md +0 -76
- package/sdd/99_toolchain/01_automation/agentic-dev/analyze_proof_results.py +0 -132
- package/sdd/99_toolchain/01_automation/agentic-dev/analyze_route_gap.py +0 -85
- package/sdd/99_toolchain/01_automation/agentic-dev/assets/repo-contract.template.json +0 -75
- package/sdd/99_toolchain/01_automation/agentic-dev/bootstrap_frontend_parity.sh +0 -84
- package/sdd/99_toolchain/01_automation/agentic-dev/init_frontend_parity.sh +0 -33
- package/sdd/99_toolchain/01_automation/agentic-dev/init_repo_contract.sh +0 -51
- package/sdd/99_toolchain/01_automation/agentic-dev/repo-contract.json +0 -76
- package/sdd/99_toolchain/01_automation/agentic-dev/resolve_frontend_target.py +0 -52
- package/sdd/99_toolchain/01_automation/agentic-dev/resolve_repo_contract.py +0 -56
- package/sdd/99_toolchain/01_automation/agentic-dev/run_frontend_target.sh +0 -100
- package/sdd/99_toolchain/01_automation/agentic-dev/run_repo_phase.sh +0 -140
- package/sdd/99_toolchain/01_automation/agentic-dev/validate_json_schema.py +0 -39
- package/sdd/99_toolchain/01_automation/agentic-parity-harness-design.md +0 -291
- package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/dashboard.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/login.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/queue.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/support.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/home.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/login.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/workspace.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/dashboard.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/fulfillment.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/login.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/web_screen_capture/dashboard.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/web_screen_capture/login.png +0 -0
- package/sdd/99_toolchain/01_automation/assets/web_screen_capture/orders.png +0 -0
- package/sdd/99_toolchain/01_automation/build_asset_recipes.py +0 -10
- package/sdd/99_toolchain/01_automation/build_screen_spec_pdf.py +0 -427
- package/sdd/99_toolchain/01_automation/capture_screen_assets.mjs +0 -148
- package/sdd/99_toolchain/01_automation/harness-layout.md +0 -34
- package/sdd/99_toolchain/01_automation/parity-execution-tooling-design.md +0 -319
- package/sdd/99_toolchain/01_automation/playwright_exactness_manifest.py +0 -21
- package/sdd/99_toolchain/01_automation/run_playwright_exactness.py +0 -87
- package/sdd/99_toolchain/01_automation/screen_spec_manifest.py +0 -321
- package/sdd/99_toolchain/01_automation/spec_asset_builder.py +0 -274
- package/sdd/99_toolchain/01_automation/ui-contract-projection.md +0 -79
- package/sdd/99_toolchain/01_automation/ui-parity/README.md +0 -60
- package/sdd/99_toolchain/01_automation/ui-parity/cli/extract-reference-pages.mjs +0 -2
- package/sdd/99_toolchain/01_automation/ui-parity/cli/materialize-reference-assets.mjs +0 -58
- package/sdd/99_toolchain/01_automation/ui-parity/cli/normalize-reference-assets.mjs +0 -2
- package/sdd/99_toolchain/01_automation/ui-parity/cli/route-gap-report.mjs +0 -187
- package/sdd/99_toolchain/01_automation/ui-parity/cli/run-proof.mjs +0 -50
- package/sdd/99_toolchain/01_automation/ui-parity/cli/scaffold-contract.mjs +0 -62
- package/sdd/99_toolchain/01_automation/ui-parity/cli/upload-parity1.mjs +0 -2
- package/sdd/99_toolchain/01_automation/ui-parity/contracts/collector-metadata.schema.json +0 -33
- package/sdd/99_toolchain/01_automation/ui-parity/contracts/proof-result.schema.json +0 -76
- package/sdd/99_toolchain/01_automation/ui-parity/contracts/route-gap-report.schema.json +0 -95
- package/sdd/99_toolchain/01_automation/ui-parity/core/capture-runner.mjs +0 -55
- package/sdd/99_toolchain/01_automation/ui-parity/core/load-adapter.mjs +0 -25
- package/sdd/99_toolchain/01_automation/ui-parity/core/load-contract.mjs +0 -81
- package/sdd/99_toolchain/01_automation/ui-parity/core/paths.mjs +0 -23
- package/sdd/99_toolchain/01_automation/ui-parity/core/proof-runner.mjs +0 -255
- package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-artifact-layout.md +0 -23
- package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-proof-interface.md +0 -60
- package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-route-gap-interface.md +0 -82
- package/sdd/99_toolchain/01_automation/ui-parity/runtime/playwright-runtime.mjs +0 -16
- package/sdd/99_toolchain/01_automation/ui-parity/runtime/static-runtime.mjs +0 -6
- package/sdd/99_toolchain/02_policies/.gitkeep +0 -1
- package/sdd/99_toolchain/02_policies/build-ast-governance-policy.md +0 -22
- package/sdd/99_toolchain/02_policies/compose-runtime-baseline-policy.md +0 -24
- package/sdd/99_toolchain/02_policies/convention-storage-policy.md +0 -26
- package/sdd/99_toolchain/02_policies/main-push-before-dev-deploy-policy.md +0 -27
- package/sdd/99_toolchain/02_policies/regression-verification-policy.md +0 -22
- package/sdd/99_toolchain/03_templates/.gitkeep +0 -1
- package/sdd/99_toolchain/03_templates/asset_recipe_manifest.example.py +0 -38
- package/sdd/99_toolchain/03_templates/generated_assets/README.md +0 -11
- package/sdd/99_toolchain/03_templates/generated_assets/example-brand-lockup.svg +0 -3
- package/sdd/99_toolchain/03_templates/generated_assets/example-brand-mark.svg +0 -3
- package/sdd/99_toolchain/03_templates/generated_assets/example-brand-wordmark.svg +0 -3
- package/sdd/99_toolchain/03_templates/playwright_exactness_manifest.example.py +0 -21
- package/sdd/99_toolchain/README.md +0 -23
- package/sdd/README.md +0 -21
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sdd
|
|
3
|
-
description: "Use for any software development request in a repository that treats `sdd/` as the canonical delivery system. Trigger on requests like develop, implement, build, code, work on, modify, fix, patch, refactor, test, verify, deploy, monitor, or screen/UI-driven prompts such as 화면명세서, 화면설계서, 화면 설계, 화면, 화면 스펙, UI, 디자인, 디자인 가이드, screen spec, screen design, or design guide. The workflow is always SDD-first: inspect and update `sdd/01_planning`, create or update the task plan under `sdd/02_plan`, implement the change, record execution in `sdd/03_build`, capture validation in `sdd/03_verify`, and record deployment or monitoring in `sdd/05_operate` when rollout happens."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# SDD Development
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
Use this skill for implementation work in repositories that treat `sdd/` as the canonical delivery record.
|
|
11
|
-
|
|
12
|
-
This skill enforces one workflow:
|
|
13
|
-
1. inspect and fix relevant `sdd/01_planning` artifacts first,
|
|
14
|
-
2. create or update the task plan under `sdd/02_plan/<section>/`,
|
|
15
|
-
3. perform the code work,
|
|
16
|
-
4. record the current implementation summary in `sdd/03_build`,
|
|
17
|
-
5. record the current retained verification summary in `sdd/03_verify`,
|
|
18
|
-
6. record deployment and monitoring outcomes in `sdd/05_operate` when rollout happens.
|
|
19
|
-
|
|
20
|
-
When rollout is explicitly in scope, and the repository has separate DEV and PROD environments, this skill enforces a staged release rule: deploy to DEV first, complete the retained full-layer validation surface there, promote to PROD only after DEV passes, then rerun the same retained validation surface in PROD. If PROD validation fails, rollback is required unless the user explicitly redirects and that risk is recorded.
|
|
21
|
-
For persistence-affecting work, this skill also enforces schema-parity verification. Always compare migration or model intent against the real DEV and PROD schema state for the affected database objects instead of assuming deployed reality matches the code.
|
|
22
|
-
Unless the user explicitly forbids it, durable work is not complete at code-edit state. Finish with a coherent git commit, push the retained result to the configured remote, and if the repository ships an installable package or CLI, publish the new version and verify the registry reflects it.
|
|
23
|
-
|
|
24
|
-
Read [references/section-map.md](references/section-map.md) when you need the exact destination inside `sdd/`.
|
|
25
|
-
For screen-spec-driven UI work, reusable static assets from the spec must be extracted through the repo's canonical asset builder before being used in code.
|
|
26
|
-
For screen-spec-driven layout work, inspect the repo's canonical design guide builder first when one exists.
|
|
27
|
-
For local screen exactness, treat the repo's Playwright exactness runner and suite registry as the canonical automation gate when they exist.
|
|
28
|
-
For verification work, treat regression scope selection as a required retained artifact and carry it through `sdd/02_plan`, `sdd/03_build`, and `sdd/03_verify`.
|
|
29
|
-
Do not infer rollout scope from the existence of `sdd/05_operate` alone; require rollout only when the user asks for deployment or the repo's current policy/plan makes rollout part of completion.
|
|
30
|
-
When a repo or team treats DEV deployment from `main` as the completion bar, temporary branches or worktrees are only working space. Before calling the task deployed, land the final retained change on `main` and push `origin/main`.
|
|
31
|
-
|
|
32
|
-
## When To Use
|
|
33
|
-
|
|
34
|
-
Use this skill when:
|
|
35
|
-
- the repository has `sdd/01_planning`, `02_plan`, `03_build`, `03_verify`, `05_operate`,
|
|
36
|
-
- the user gives a development instruction such as `개발해`, `작업해`, `구현해`, `수정해`, `고쳐`, `리팩토링해`, `테스트해`, `배포해`,
|
|
37
|
-
- the user asks for screen/UI work with prompts such as `화면명세서`, `화면설계서`, `화면 설계`, `화면`, `화면 스펙`, `UI`, `디자인`, `디자인 가이드`, `screen spec`, `screen design`, or `design guide`,
|
|
38
|
-
- the user wants work to be traceable through those folders,
|
|
39
|
-
- the task includes both implementation and documentation/verification updates,
|
|
40
|
-
- the task may end in deployment or operational follow-up.
|
|
41
|
-
|
|
42
|
-
Do not use this skill for:
|
|
43
|
-
- casual questions with no repo changes,
|
|
44
|
-
- one-off local debugging where no durable SDD record is needed,
|
|
45
|
-
- repositories that do not use `sdd/` as their primary document system.
|
|
46
|
-
|
|
47
|
-
## Workflow
|
|
48
|
-
|
|
49
|
-
### 1. Inspect Planning First
|
|
50
|
-
|
|
51
|
-
- Identify the impacted planning area before editing code.
|
|
52
|
-
- Open only the relevant artifacts in `sdd/01_planning`:
|
|
53
|
-
- feature
|
|
54
|
-
- screen
|
|
55
|
-
- architecture
|
|
56
|
-
- data
|
|
57
|
-
- api
|
|
58
|
-
- iac
|
|
59
|
-
- integration
|
|
60
|
-
- nonfunctional
|
|
61
|
-
- security
|
|
62
|
-
- test
|
|
63
|
-
- If the implementation has already drifted from planning, update the planning artifact first or at least record the drift before coding.
|
|
64
|
-
|
|
65
|
-
### 2. Create Or Update The Plan
|
|
66
|
-
|
|
67
|
-
- Create or reuse a durable plan file under `sdd/02_plan/<section>/`.
|
|
68
|
-
- Prefer the repo's planning scaffold if available.
|
|
69
|
-
- The plan must include:
|
|
70
|
-
- scope
|
|
71
|
-
- assumptions
|
|
72
|
-
- acceptance criteria
|
|
73
|
-
- execution checklist
|
|
74
|
-
- current notes
|
|
75
|
-
- validation
|
|
76
|
-
- For any task that may end in deployment, acceptance criteria must explicitly include the DEV gate, the matching PROD gate, the retained full-layer test surface, and the rollback trigger/path.
|
|
77
|
-
- For any task that touches persistence, models, repositories, migrations, SQL, ORM mappings, or runtime failures that may involve schema drift, acceptance criteria must explicitly include DEV/PROD schema verification.
|
|
78
|
-
- Keep exactly one checklist item in progress.
|
|
79
|
-
|
|
80
|
-
### 3. Implement Against The Plan
|
|
81
|
-
|
|
82
|
-
- Make code changes only after the impacted planning artifact and plan are aligned enough to proceed.
|
|
83
|
-
- Update the plan current notes after meaningful edits or decisions.
|
|
84
|
-
- When document generators or capture pipelines are involved, keep those tools under `sdd/99_toolchain`.
|
|
85
|
-
- For local screen exactness, treat Playwright as the canonical automation gate unless the repo documents a stronger exact gate for that surface.
|
|
86
|
-
- In repos created from this template, prefer `python3 sdd/99_toolchain/01_automation/run_playwright_exactness.py --suite <suite-id>` over ad-hoc `npx playwright test ...`.
|
|
87
|
-
- Keep the suite registry in `sdd/99_toolchain/01_automation/playwright_exactness_manifest.py`.
|
|
88
|
-
- Browser Use, manual screenshots, or semantic extraction can supplement diagnosis, but they do not replace the retained Playwright exactness gate when a suite exists.
|
|
89
|
-
- If the needed suite does not exist yet, add or extend it in the same task and register it before calling the work complete.
|
|
90
|
-
- When the task depends on icons, logos, illustrations, or other static assets visible in a screen spec, use the repo's canonical Asset Spec Builder first.
|
|
91
|
-
- In repos created from this template, this is typically `sdd/99_toolchain/01_automation/spec_asset_builder.py` or a wrapper/manifest around it.
|
|
92
|
-
- Reusable asset planning records belong under `sdd/01_planning/02_screen/assets/`.
|
|
93
|
-
- Build the runtime asset from the approved PDF/image source instead of hand-tracing or screenshot-cropping it.
|
|
94
|
-
- Use exact verification such as `--verify-exact` when the asset is expected to match the source crop exactly.
|
|
95
|
-
- Record the source, manifest, generated asset path, and any exception in `sdd/03_build` and `sdd/03_verify`.
|
|
96
|
-
- Only fall back to manual recreation when the builder cannot express the asset, and explicitly document that exception in the plan/build/verify trail.
|
|
97
|
-
- When the task depends on spacing, layout density, typography, color rhythm, or component hierarchy derived from a screen spec, inspect the repo's canonical design guide builder first.
|
|
98
|
-
- In repos created from this template, inspect `sdd/99_toolchain/01_automation/README.md` and use the actual builder, wrapper, or manifest that exists in the repo.
|
|
99
|
-
- Use the generated guide as the working baseline before manual spacing or palette tweaks.
|
|
100
|
-
- If the repo does not provide a design guide builder yet, document the manual interpretation source in plan/build/verify.
|
|
101
|
-
- Define the regression surface before calling implementation complete.
|
|
102
|
-
- Start from `sdd/02_plan/10_test/regression_verification.md`.
|
|
103
|
-
- Identify the direct target plus any upstream, downstream, and shared surfaces affected by the change.
|
|
104
|
-
- If the change touches shared routing, shell/auth, shared state, common components, contracts, generated assets, or builder output, widen the regression scope instead of validating only the edited module.
|
|
105
|
-
- Record the selected regression scope and any justified exclusions in plan/build/verify.
|
|
106
|
-
- When rollout is in scope, define one retained full-layer validation surface and reuse it in DEV and PROD.
|
|
107
|
-
- Include the relevant app/runtime entrypoints, API/contracts, persistence/schema, jobs or workflow side effects, shared integrations, and health/monitoring checks affected by the change.
|
|
108
|
-
- Do not promote to PROD with a narrower verification surface than the DEV gate unless the user explicitly approves that exception and it is recorded.
|
|
109
|
-
|
|
110
|
-
### 4. Record Build Summary
|
|
111
|
-
|
|
112
|
-
- Record what you implemented in `sdd/03_build`.
|
|
113
|
-
- Use:
|
|
114
|
-
- `03_build/01_feature` for feature implementation summaries
|
|
115
|
-
- `03_build/02_screen` for screen implementation summaries
|
|
116
|
-
- `03_build/03_architecture`, `06_iac`, `10_test` for current-state cross-cutting summaries
|
|
117
|
-
- Keep entries factual and current-state only: implemented scope, modules, assets, contracts, and current user-visible behavior.
|
|
118
|
-
|
|
119
|
-
### 5. Record Verification
|
|
120
|
-
|
|
121
|
-
- Record retained verification status in `sdd/03_verify`.
|
|
122
|
-
- Use:
|
|
123
|
-
- `03_verify/01_feature` for feature verification summaries
|
|
124
|
-
- `03_verify/02_screen` for screen verification summaries
|
|
125
|
-
- `03_verify/03_architecture`, `06_iac`, `10_test` for current retained checks and residual risk
|
|
126
|
-
- Never claim completion without command-level validation evidence.
|
|
127
|
-
- For staged DEV -> PROD rollout, verification must use the same retained full-layer validation surface in both environments.
|
|
128
|
-
- Run the full-layer validation in DEV after deployment and treat it as a hard gate before PROD promotion.
|
|
129
|
-
- After PROD deployment, rerun the same retained validation surface in PROD.
|
|
130
|
-
- If PROD validation fails, execute rollback or the approved recovery procedure immediately and record the failure and recovery outcome.
|
|
131
|
-
- For persistence-affecting work, verification must include real schema evidence from both DEV and PROD when those environments exist.
|
|
132
|
-
- Check migration state and actual runtime schema separately.
|
|
133
|
-
- Validate the tables, columns, indexes, constraints, triggers, defaults, and any legacy compatibility objects touched by the change.
|
|
134
|
-
- Record the commands or queries used, the environments checked, and the drift or parity result.
|
|
135
|
-
- Regression verification is mandatory.
|
|
136
|
-
- Verification must cover the direct surface and the retained upstream/downstream/shared surfaces selected from the regression baseline.
|
|
137
|
-
- If no automation exists for a needed regression slice yet, run the best available manual or command checks and record that gap as current residual risk.
|
|
138
|
-
- When a Playwright suite exists for the surface, record the canonical runner command, suite id, screenshot/json artifact paths, and any live-vs-local split explicitly.
|
|
139
|
-
|
|
140
|
-
### 6. Record Operate Outcomes
|
|
141
|
-
|
|
142
|
-
- If deployment or runtime follow-up happens, update `sdd/05_operate`.
|
|
143
|
-
- Use:
|
|
144
|
-
- `05_operate/01_runbooks` for durable operating procedure changes
|
|
145
|
-
- `05_operate/02_delivery_status` for the current live state and monitoring baseline
|
|
146
|
-
- Record:
|
|
147
|
-
- what was deployed
|
|
148
|
-
- which live baseline is current
|
|
149
|
-
- how it is monitored
|
|
150
|
-
- any current residual risk
|
|
151
|
-
- For staged DEV -> PROD rollout, record the DEV gate, PROD gate, and any rollback outcome explicitly.
|
|
152
|
-
- When the DEV deployment baseline is tied to `main`, do not treat a side-branch push as sufficient. Merge, cherry-pick, or otherwise replay the final change onto `main`, push `origin/main`, then record the deployment evidence against that `main` baseline.
|
|
153
|
-
|
|
154
|
-
## Guardrails
|
|
155
|
-
|
|
156
|
-
- Do not create or repopulate a parallel `docs/` tree when `sdd/` exists.
|
|
157
|
-
- Do not skip planning review just because the code change looks small.
|
|
158
|
-
- Do not leave build, verify, or operate evidence only in chat text when it should live in `sdd/`.
|
|
159
|
-
- Do not stop after local edits when durable changes remain; commit and push are the default completion bar unless the user explicitly forbids them.
|
|
160
|
-
- Do not leave a publishable package or CLI unpublished after changing shipped behavior or instructions unless the user explicitly forbids publish.
|
|
161
|
-
- When PROD rollout is in scope, do not promote to PROD before the retained full-layer DEV validation surface has passed.
|
|
162
|
-
- When PROD rollout is in scope, do not use a weaker PROD validation surface than the one that gated DEV unless the user explicitly approves and that risk is recorded.
|
|
163
|
-
- When PROD rollout is in scope, do not stop at "PROD deployment succeeded"; post-deploy PROD validation is mandatory.
|
|
164
|
-
- When PROD rollout is in scope, do not leave a failed PROD deployment unreconciled; rollback or the approved recovery procedure must be executed and recorded.
|
|
165
|
-
- Do not assume local tests, migration heads, or current model code prove deployed schema parity.
|
|
166
|
-
- Do not skip DEV/PROD schema inspection for persistence-affecting work when schema drift could influence behavior.
|
|
167
|
-
- Do not manually redraw screen-spec static assets when a canonical Asset Spec Builder exists for the repo; extract them first and use the generated asset.
|
|
168
|
-
- Do not skip a relevant screen automation builder just because the requested UI change looks like a small manual tweak.
|
|
169
|
-
- Do not stop verification at the edited file, route, or screen when the change can affect shared or adjacent behavior.
|
|
170
|
-
- Do not omit regression scope selection from the retained SDD trail.
|
|
171
|
-
- Do not update `05_operate` for tasks that never reached deployment; explicitly note that rollout did not happen instead.
|
|
172
|
-
- Do not call a DEV rollout complete from a temporary branch when the repo or team baseline expects the deployed change to be on `origin/main`.
|
|
173
|
-
|
|
174
|
-
## Output Standard
|
|
175
|
-
|
|
176
|
-
By the end of an implementation task, the expected trail is:
|
|
177
|
-
- planning artifact reviewed or corrected,
|
|
178
|
-
- plan file updated,
|
|
179
|
-
- build summary written,
|
|
180
|
-
- verification summary written, including selected regression scope and residual risk,
|
|
181
|
-
- operate status updated if rollout occurred,
|
|
182
|
-
- coherent git commit created and pushed,
|
|
183
|
-
- publishable package/CLI인 경우 registry publish and latest verification completed unless the user explicitly forbade it.
|
|
184
|
-
|
|
185
|
-
When PROD rollout is in scope, the retained completion state also requires:
|
|
186
|
-
- DEV deployment happened first and the retained full-layer DEV validation surface passed,
|
|
187
|
-
- the same retained full-layer validation surface was executed again in PROD,
|
|
188
|
-
- DEV/PROD schema state was checked and recorded when schema could influence behavior,
|
|
189
|
-
- any PROD validation failure produced rollback or recovery evidence in verify/operate.
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "SDD Development"
|
|
3
|
-
short_description: "Use SDD-first flow with schema parity, regression scope, and staged rollout gates"
|
|
4
|
-
default_prompt: "Use $sdd to handle this development task through sdd planning, build, verify, and operate, including regression scope selection, schema parity checks for persistence-affecting work, and staged DEV-first validation when multiple environments exist."
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# SDD Section Map
|
|
2
|
-
|
|
3
|
-
## Planning
|
|
4
|
-
|
|
5
|
-
- `sdd/01_planning/01_feature`
|
|
6
|
-
- domain or service feature specifications
|
|
7
|
-
- `sdd/01_planning/02_screen`
|
|
8
|
-
- service-level screen specifications and PDFs
|
|
9
|
-
- `sdd/01_planning/03_architecture`
|
|
10
|
-
- bounded context, runtime, and structural design
|
|
11
|
-
- `sdd/01_planning/04_data`
|
|
12
|
-
- data model and relationship definitions
|
|
13
|
-
- `sdd/01_planning/05_api`
|
|
14
|
-
- transport contracts and API definitions
|
|
15
|
-
- `sdd/01_planning/06_iac`
|
|
16
|
-
- infrastructure planning and deployment design
|
|
17
|
-
- `sdd/01_planning/07_integration`
|
|
18
|
-
- integration contracts and external dependency planning
|
|
19
|
-
- `sdd/01_planning/08_nonfunctional`
|
|
20
|
-
- performance, reliability, scalability, and operational constraints
|
|
21
|
-
- `sdd/01_planning/09_security`
|
|
22
|
-
- security posture, threat model, and control planning
|
|
23
|
-
- `sdd/01_planning/10_test`
|
|
24
|
-
- test strategy and planned cases
|
|
25
|
-
|
|
26
|
-
## Plan
|
|
27
|
-
|
|
28
|
-
- `sdd/02_plan/<section>`
|
|
29
|
-
- executable plan files and migration backlogs
|
|
30
|
-
|
|
31
|
-
## Build
|
|
32
|
-
|
|
33
|
-
- `sdd/03_build/01_feature`
|
|
34
|
-
- feature implementation summaries
|
|
35
|
-
- `sdd/03_build/02_screen`
|
|
36
|
-
- screen implementation summaries
|
|
37
|
-
- `sdd/03_build/03_architecture`
|
|
38
|
-
- structural and governance implementation summaries
|
|
39
|
-
- `sdd/03_build/06_iac`
|
|
40
|
-
- current delivery/runtime implementation summaries
|
|
41
|
-
- `sdd/03_build/10_test`
|
|
42
|
-
- current harness and validation implementation summaries
|
|
43
|
-
|
|
44
|
-
## Verify
|
|
45
|
-
|
|
46
|
-
- `sdd/03_verify/01_feature`
|
|
47
|
-
- feature verification summaries
|
|
48
|
-
- `sdd/03_verify/02_screen`
|
|
49
|
-
- screen verification summaries
|
|
50
|
-
- `sdd/03_verify/03_architecture`
|
|
51
|
-
- governance and structure verification summaries
|
|
52
|
-
- `sdd/03_verify/06_iac`
|
|
53
|
-
- delivery/runtime verification summaries
|
|
54
|
-
- `sdd/03_verify/10_test`
|
|
55
|
-
- current harness outputs and retained validation references
|
|
56
|
-
|
|
57
|
-
## Operate
|
|
58
|
-
|
|
59
|
-
- `sdd/05_operate/01_runbooks`
|
|
60
|
-
- durable operating procedures
|
|
61
|
-
- `sdd/05_operate/02_delivery_status`
|
|
62
|
-
- current live state, monitoring baseline, and residual risk
|
|
63
|
-
|
|
64
|
-
## Tooling
|
|
65
|
-
|
|
66
|
-
- `sdd/99_toolchain`
|
|
67
|
-
- generators, capture tooling, manifests, and other SDD automation
|
package/.dockerignore
DELETED
package/.env.example
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
SERVER_HTTP_PORT=8000
|
|
2
|
-
CLIENT_LANDING_PORT=3000
|
|
3
|
-
CLIENT_WEB_PORT=3001
|
|
4
|
-
CLIENT_MOBILE_PORT=3002
|
|
5
|
-
CLIENT_ADMIN_PORT=4000
|
|
6
|
-
|
|
7
|
-
POSTGRES_PORT=5432
|
|
8
|
-
POSTGRES_DB=template
|
|
9
|
-
POSTGRES_USER=template
|
|
10
|
-
POSTGRES_PASSWORD=template
|
|
11
|
-
|
|
12
|
-
MYSQL_PORT=3306
|
|
13
|
-
MYSQL_DATABASE=template
|
|
14
|
-
MYSQL_USER=template
|
|
15
|
-
MYSQL_PASSWORD=template
|
|
16
|
-
MYSQL_ROOT_PASSWORD=template-root
|
|
17
|
-
|
|
18
|
-
MARIADB_PORT=3307
|
|
19
|
-
MARIADB_DATABASE=template
|
|
20
|
-
MARIADB_USER=template
|
|
21
|
-
MARIADB_PASSWORD=template
|
|
22
|
-
MARIADB_ROOT_PASSWORD=template-root
|
|
23
|
-
|
|
24
|
-
MONGO_PORT=27017
|
|
25
|
-
|
|
26
|
-
SERVER_APP_NAME=Template Server
|
|
27
|
-
SERVER_ENVIRONMENT=development
|
|
28
|
-
SERVER_API_PREFIX=/api/v1
|
|
29
|
-
SERVER_DATABASE_BACKEND=postgres
|
|
30
|
-
SERVER_POSTGRES_URL=postgresql+psycopg://template:template@postgres:5432/template
|
|
31
|
-
SERVER_MYSQL_URL=mysql+pymysql://template:template@mysql:3306/template
|
|
32
|
-
SERVER_MARIADB_URL=mysql+pymysql://template:template@mariadb:3306/template
|
|
33
|
-
SERVER_MONGODB_URL=mongodb://mongo:27017
|
|
34
|
-
SERVER_MONGODB_DATABASE=template
|
|
35
|
-
SERVER_JWT_SECRET=template-local-dev-secret
|
|
36
|
-
SERVER_JWT_ALGORITHM=HS256
|
|
37
|
-
SERVER_ACCESS_TOKEN_TTL_MINUTES=120
|
|
38
|
-
SERVER_BOOTSTRAP_ADMIN_EMAIL=admin@example.com
|
|
39
|
-
SERVER_BOOTSTRAP_ADMIN_PASSWORD=change-me-admin
|
|
40
|
-
SERVER_BOOTSTRAP_ADMIN_NAME=Template Admin
|
|
41
|
-
SERVER_BOOTSTRAP_OPERATOR_EMAIL=operator@example.com
|
|
42
|
-
SERVER_BOOTSTRAP_OPERATOR_PASSWORD=change-me-operator
|
|
43
|
-
SERVER_BOOTSTRAP_OPERATOR_NAME=Template Operator
|
|
44
|
-
SERVER_CORS_ORIGINS=["http://localhost:3000","http://127.0.0.1:3000","http://localhost:3001","http://127.0.0.1:3001","http://localhost:3002","http://127.0.0.1:3002","http://localhost:4000","http://127.0.0.1:4000"]
|
|
45
|
-
|
|
46
|
-
CLIENT_LANDING_VITE_API_BASE_URL=http://127.0.0.1:8000/api/v1
|
|
47
|
-
CLIENT_WEB_VITE_API_BASE_URL=http://127.0.0.1:8000/api/v1
|
|
48
|
-
CLIENT_MOBILE_VITE_API_BASE_URL=http://127.0.0.1:8000/api/v1
|
|
49
|
-
CLIENT_ADMIN_VITE_API_BASE_URL=http://127.0.0.1:8000/api/v1
|
|
50
|
-
CLIENT_WATCH_USE_POLLING=false
|
package/.gitignore
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
node_modules/
|
|
2
|
-
dist/
|
|
3
|
-
.DS_Store
|
|
4
|
-
*.tsbuildinfo
|
|
5
|
-
.venv/
|
|
6
|
-
__pycache__/
|
|
7
|
-
.pytest_cache/
|
|
8
|
-
.terraform/
|
|
9
|
-
.agent/runs/**
|
|
10
|
-
!.agent/runs/
|
|
11
|
-
!.agent/runs/README.md
|
|
12
|
-
!.agent/sdd-build-ast-audit.json
|
|
13
|
-
!.claude/settings.local.json
|
|
14
|
-
.codex/skills/dev-browser/node_modules/
|
|
15
|
-
.codex/skills/dev-browser/profiles/browser-data/
|
|
16
|
-
.tmp-agentic-smoke/
|
package/AGENTS.md
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# AGENTS.md
|
|
2
|
-
|
|
3
|
-
## Toolchain Convention Policy
|
|
4
|
-
|
|
5
|
-
- 저장소 공통 컨벤션, 워크플로우, 실행 규약의 정본은 항상 `sdd/99_toolchain/02_policies`에 저장한다.
|
|
6
|
-
- `AGENTS.md`는 핵심 실행 규칙과 우선순위만 요약하며, 상세 배경/예외/절차는 toolchain 정책 문서를 따른다.
|
|
7
|
-
|
|
8
|
-
## Regression Verification Policy
|
|
9
|
-
|
|
10
|
-
- `sdd` 성격의 작업은 edited target만 확인하고 종료하지 않는다.
|
|
11
|
-
- 회귀 검수 범위는 `sdd/02_plan/10_test/regression_verification.md` 기준으로 direct, upstream, downstream, shared surface까지 선택한다.
|
|
12
|
-
- Playwright exactness suite가 있는 UI surface는 `sdd/99_toolchain/01_automation/run_playwright_exactness.py`를 canonical local gate로 사용한다.
|
|
13
|
-
- shared route, shell, auth/session, component, data contract, generated asset, builder output 변경은 adjacent consumer까지 검수 범위를 넓힌다.
|
|
14
|
-
- 선택한 회귀 범위, 생략 사유, residual risk는 `sdd/02_plan`, `sdd/03_build`, `sdd/03_verify`에 current-state로 남긴다.
|
|
15
|
-
|
|
16
|
-
## Branch And Deploy Policy
|
|
17
|
-
|
|
18
|
-
- 코드베이스 기본 개발 브랜치는 `main`이다.
|
|
19
|
-
- 구현 작업은 기본적으로 task 성격에 맞는 work branch에서 시작한다.
|
|
20
|
-
- work branch는 `feat/...`, `fix/...`, `refactor/...`, `docs/...`, `test/...`처럼 작업 surface가 드러나는 이름을 사용한다.
|
|
21
|
-
- work branch의 변경은 원격 branch까지 먼저 push해 working integration baseline을 남긴다.
|
|
22
|
-
- `main`이 아닌 branch에서 agent turn이 끝날 때 durable 변경이 남아 있으면 기본적으로 그 branch에 coherent commit을 만들고 origin branch까지 push한다. 예외는 worktree가 이미 clean이거나 사용자가 그 turn에 commit/push를 금지한 경우뿐이다.
|
|
23
|
-
- `DEV(개발계)` 반영이 필요한 작업은 그 branch를 `main`에 반영하고 `origin/main`까지 push한 뒤 배포한다.
|
|
24
|
-
- 수동 배포 단계여도 `branch push -> main merge/push -> DEV 배포 -> DEV 검증` 순서를 생략하지 않는다.
|
|
25
|
-
- 완료된 work branch는 관련 정합성 체크가 끝나고 변경이 `main`과 `origin/main`에 안전하게 반영된 뒤 local/remote branch를 모두 삭제한다. 사용자가 branch 유지를 명시한 경우만 예외다.
|
|
26
|
-
- branch retire 전 최소 정합성 체크는 `관련 canonical 검증 명령 재실행`, `worktree clean 확인`, `최종 변경의 main 포함 여부 확인`이다.
|
|
27
|
-
|
|
28
|
-
## Completion And Release Policy
|
|
29
|
-
|
|
30
|
-
- 사용자가 명시적으로 금지하지 않는 한, durable 변경이 남은 agent 작업은 `commit -> push -> publish 가능한 패키지/CLI는 publish`까지 끝나야 완료로 간주한다.
|
|
31
|
-
- "설명만 하고 종료", "로컬 수정만 남기고 종료", "커밋 없이 종료", "원격 미반영 상태로 종료"는 기본 완료 상태가 아니다.
|
|
32
|
-
- npm package, 설치형 CLI, 배포 artifact처럼 사용자가 즉시 받는 deliverable을 가진 저장소는 변경 후 새 버전을 발행하고 registry 배포까지 확인한다.
|
|
33
|
-
- publish 가능한 저장소에서 publish를 생략할 수 있는 예외는 사용자가 그 turn에서 명시적으로 금지한 경우뿐이다.
|
|
34
|
-
- 완료 보고 전 최소 확인 항목은 `coherent commit 존재`, `원격 push 완료`, `publish 대상이면 registry 최신 반영 확인`이다.
|
|
35
|
-
|
|
36
|
-
## Runtime Naming Policy
|
|
37
|
-
|
|
38
|
-
- 문서/대화/로그에서 실행 환경은 항상 `DEV(개발계)`로 표기한다.
|
|
39
|
-
- `local`, `localhost 환경` 같은 표현은 운영 용어로 사용하지 않는다.
|
|
40
|
-
|
|
41
|
-
## SDD Placement Rule
|
|
42
|
-
|
|
43
|
-
- 이 저장소는 top-level `docs/` 트리를 사용하지 않는다.
|
|
44
|
-
- design, planning, execution, verification, operate 문서는 모두 `sdd/` 아래에 둔다.
|
|
45
|
-
- 모든 `sdd/` section은 overwrite-only current-state artifact다.
|
|
46
|
-
- 날짜별 history, archive, release-log, gate-log 성 문서는 `sdd/` 안에 유지하지 않는다.
|
|
47
|
-
- durable plan artifact는 항상 `sdd/02_plan/<section>/` 아래에 둔다.
|
|
48
|
-
|
|
49
|
-
## SDD Plan Governance
|
|
50
|
-
|
|
51
|
-
- `sdd/02_plan`은 dated or archived planning history를 두지 않는다.
|
|
52
|
-
- `sdd/02_plan`은 에이전트의 현재 개발 계획을 기록하는 루트다.
|
|
53
|
-
- feature, screen, architecture, data, API, IAC, integration, nonfunctional, security, test planning은 durable target-specific 문서를 직접 갱신한다.
|
|
54
|
-
- feature plan 기본 경로는 `sdd/02_plan/01_feature/<domain>_todos.md`다.
|
|
55
|
-
- screen plan 기본 경로는 `sdd/02_plan/02_screen/<service>_todos.md`다.
|
|
56
|
-
- 개발계 반영이 필요한 작업은 `구현(branch) -> branch push -> build -> main merge/push -> DEV(개발계) 배포 -> DEV 검수 -> 문서 갱신 -> branch 삭제` 순서를 기본 루틴으로 사용한다.
|
|
57
|
-
- 횡단 작업도 날짜 파일을 추가하지 않고 같은 section의 governance/backlog/current-plan 문서를 덮어쓴다.
|
|
58
|
-
|
|
59
|
-
## SDD Build Governance
|
|
60
|
-
|
|
61
|
-
- `sdd/03_build`는 `sdd/02_plan`의 top-level split을 따라 durable implementation summary를 유지한다.
|
|
62
|
-
- feature summary는 service 또는 domain-sized category로 묶고, screen summary는 service split을 따른다.
|
|
63
|
-
- screen build summary는 `sdd/03_build/02_screen/<service>/` 아래 screen-specific 파일로 유지한다.
|
|
64
|
-
- dated execution log는 두지 않고 같은 summary 파일을 갱신한다.
|
|
65
|
-
|
|
66
|
-
## SDD Verify Governance
|
|
67
|
-
|
|
68
|
-
- `sdd/03_verify`는 feature/screen/architecture/IAC/test별 current verification summary만 유지한다.
|
|
69
|
-
- screen verification summary는 `sdd/03_verify/02_screen/<service>/` 아래 screen-specific 파일로 유지한다.
|
|
70
|
-
- dated gate result나 test evidence log는 남기지 않는다.
|
|
71
|
-
|
|
72
|
-
## SDD Operate Governance
|
|
73
|
-
|
|
74
|
-
- `sdd/05_operate`는 current delivery state, runbook, monitoring baseline만 유지한다.
|
|
75
|
-
- raw runtime log나 release timeline은 SDD가 아니라 runtime logging system의 역할이다.
|
|
76
|
-
|
|
77
|
-
## Harness Location Policy
|
|
78
|
-
|
|
79
|
-
- Claude/Codex/Ralph 하네스와 에이전트 설정은 저장소 루트의 `.claude`, `.codex`, `.agent`와 `sdd/99_toolchain/01_automation` 설명 문서에 함께 유지한다.
|
|
80
|
-
|
|
81
|
-
## Build AST Governance
|
|
82
|
-
|
|
83
|
-
- `sdd/03_build`는 실행 이력 요약이 아니라 runtime assembly current-state 문서다.
|
|
84
|
-
- service/screen build summary는 `entry -> provider/router -> auth/session gate -> shell -> route leaf -> backend contract leaf` 순서를 우선 유지한다.
|
|
85
|
-
- `sdd/03_build`에는 dated history, Ralph iteration narrative, run id memo를 남기지 않는다.
|
|
86
|
-
- AST 기반 current-state 적합성은 `scripts/dev/audit_sdd_build_ast.py`와 `sdd/03_verify/03_architecture/build_ast_runtime_tree_governance.md`를 기준으로 관리한다.
|