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,291 +0,0 @@
|
|
|
1
|
-
# Agentic Parity Harness Design
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
이 템플릿은 단일 서비스 starter가 아니라, 복제 후 각 서비스가 자기 저장소 안에서 SDD 기반 하네스를 완결적으로 소유하는 출발점이다.
|
|
6
|
-
|
|
7
|
-
따라서 이 문서의 목표는 다음이다.
|
|
8
|
-
|
|
9
|
-
- 템플릿을 복제한 각 서비스 레포가 외부 하네스 저장소 없이도 `build -> proof -> deploy_dev -> verify_dev`를 실행하게 한다.
|
|
10
|
-
- `agentic-dev` 계약, parity proof, phase runner, 분석기 같은 하네스 도구를 모두 `99_toolchain` 아래 정본으로 둔다.
|
|
11
|
-
- UI parity strict proof를 프론트엔드 템플릿의 기본 하네스로 포함한다.
|
|
12
|
-
- `proof`와 DEV 검증을 선택이 아니라 기본 강제 phase로 설계한다.
|
|
13
|
-
- 스킬은 하네스 도구의 구현체가 아니라, `99_toolchain` 도구를 호출하는 인터페이스로만 동작한다.
|
|
14
|
-
- 외부 collector/연구 시스템은 integration 대상일 뿐, 서비스 레포 내부 구현으로 복사하지 않는다.
|
|
15
|
-
|
|
16
|
-
## Core Position
|
|
17
|
-
|
|
18
|
-
이 설계에서는 `agentic-dev`와 parity proof를 separate ad-hoc scripts로 흩어두지 않는다.
|
|
19
|
-
|
|
20
|
-
대신 다음처럼 해석한다.
|
|
21
|
-
|
|
22
|
-
- `agentic-dev`
|
|
23
|
-
- 서비스별 phase 계약
|
|
24
|
-
- `99_toolchain`
|
|
25
|
-
- 그 계약을 실행하는 공용 하네스 런타임의 repo-local 정본
|
|
26
|
-
- skill
|
|
27
|
-
- `99_toolchain` 실행기를 호출하는 얇은 orchestration surface
|
|
28
|
-
|
|
29
|
-
그리고 템플릿에서는 하네스 런타임을 `99_toolchain`으로 흡수한다.
|
|
30
|
-
|
|
31
|
-
즉 복제 후 각 서비스 레포 안에는 둘 다 존재한다.
|
|
32
|
-
|
|
33
|
-
- 서비스별 계약 파일
|
|
34
|
-
- `99_toolchain` 하네스 실행기
|
|
35
|
-
|
|
36
|
-
이렇게 해야 각 서비스 레포가 self-contained 가 된다.
|
|
37
|
-
|
|
38
|
-
## Design Principles
|
|
39
|
-
|
|
40
|
-
- self-contained first:
|
|
41
|
-
- 복제된 서비스 레포는 외부 skill 저장소가 없어도 하네스를 실행할 수 있어야 한다.
|
|
42
|
-
- toolchain-owned execution:
|
|
43
|
-
- 하네스 실행 스크립트와 분석기는 `99_toolchain`의 소유물이어야 한다.
|
|
44
|
-
- repo-local contract:
|
|
45
|
-
- 각 서비스는 자기 `build`, `proof`, `deploy_dev`, `verify_dev`, `proof_output`를 자기 레포 안에서 선언한다.
|
|
46
|
-
- deterministic proof:
|
|
47
|
-
- `proof`는 strict parity 또는 동등한 결정적 UI 증거를 남겨야 한다.
|
|
48
|
-
- evidence-first:
|
|
49
|
-
- 성공/실패는 콘솔 로그가 아니라 `sdd/03_verify/...` 산출물로 판단한다.
|
|
50
|
-
- deploy discipline:
|
|
51
|
-
- DEV 반영이 필요한 작업은 `main push -> DEV deploy -> DEV verify`를 따른다.
|
|
52
|
-
- external integration boundary:
|
|
53
|
-
- collector/backend/research 시스템은 외부에 두고, repo에는 adapter와 contract만 둔다.
|
|
54
|
-
|
|
55
|
-
## Required Template Surface
|
|
56
|
-
|
|
57
|
-
### 1. Toolchain-owned agentic runtime
|
|
58
|
-
|
|
59
|
-
템플릿 안에 다음 runtime을 `sdd/99_toolchain/01_automation/agentic-dev/`로 포함한다.
|
|
60
|
-
|
|
61
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/run_repo_phase.sh`
|
|
62
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/resolve_repo_contract.py`
|
|
63
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/init_repo_contract.sh`
|
|
64
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/analyze_proof_results.py`
|
|
65
|
-
- optional:
|
|
66
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/bootstrap_spec_workspace.sh`
|
|
67
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/assets/repo-contract.template.json`
|
|
68
|
-
|
|
69
|
-
설계 규칙:
|
|
70
|
-
|
|
71
|
-
- 이 파일들은 외부 저장소 참조가 아니라 템플릿 payload다.
|
|
72
|
-
- 템플릿 개선 시 상위 `templates`에서 갱신하고, 각 서비스는 필요시 역전파한다.
|
|
73
|
-
- 각 서비스 레포는 이 runtime을 자기 소유 코드처럼 취급한다.
|
|
74
|
-
- skill은 이 디렉터리의 실행기를 호출해야 하며, 별도 구현을 복제하면 안 된다.
|
|
75
|
-
|
|
76
|
-
### 2. Agentic contract layer
|
|
77
|
-
|
|
78
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/repo-contract.json`
|
|
79
|
-
- `.codex/agentic-dev.json`
|
|
80
|
-
- `.claude/agentic-dev.json`
|
|
81
|
-
|
|
82
|
-
필수 contract shape:
|
|
83
|
-
|
|
84
|
-
```json
|
|
85
|
-
{
|
|
86
|
-
"schema_version": 1,
|
|
87
|
-
"name": "<service-name>",
|
|
88
|
-
"spec": {
|
|
89
|
-
"planning_paths": ["sdd/01_planning", "sdd/02_plan"],
|
|
90
|
-
"canonical_targets_dir": "sdd/02_plan"
|
|
91
|
-
},
|
|
92
|
-
"commands": {
|
|
93
|
-
"build": "<repo-local build command>",
|
|
94
|
-
"proof": "<repo-local deterministic proof command>",
|
|
95
|
-
"deploy_dev": "<repo-local DEV deploy command>",
|
|
96
|
-
"verify_dev": "<repo-local DEV verify command>"
|
|
97
|
-
},
|
|
98
|
-
"artifacts": {
|
|
99
|
-
"proof_output": "sdd/03_verify/10_test/<tool>/<latest>.json"
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
설계 규칙:
|
|
105
|
-
|
|
106
|
-
- vendored runner는 `.codex -> .claude -> sdd/99_toolchain/01_automation/agentic-dev/repo-contract.json` 순서로 contract를 찾는다.
|
|
107
|
-
- `.codex/agentic-dev.json`, `.claude/agentic-dev.json`는 canonical contract만 가리킨다.
|
|
108
|
-
- 서비스별 차이는 오직 이 contract와 repo-local commands에서 표현한다.
|
|
109
|
-
|
|
110
|
-
### 3. UI parity engine layer
|
|
111
|
-
|
|
112
|
-
Frontend-capable template의 parity 실행 도구 정본은 `99_toolchain` 아래에 둔다.
|
|
113
|
-
|
|
114
|
-
상세 구조와 레이어 분리는 [parity-execution-tooling-design.md](parity-execution-tooling-design.md)를 따른다.
|
|
115
|
-
|
|
116
|
-
Frontend-capable template에는 다음 두 층이 있어야 한다.
|
|
117
|
-
|
|
118
|
-
- toolchain-owned engine:
|
|
119
|
-
- `sdd/99_toolchain/01_automation/ui-parity/*`
|
|
120
|
-
- app-specific adapter:
|
|
121
|
-
- `frontend/scripts/ui-parity-web-adapter.mjs`
|
|
122
|
-
|
|
123
|
-
참조 구현 기준으로 초기 이관 대상 스크립트 묶음은 다음과 같다.
|
|
124
|
-
|
|
125
|
-
- `frontend/scripts/ui-parity-core.mjs`
|
|
126
|
-
- `frontend/scripts/ui-parity-runner.mjs`
|
|
127
|
-
- `frontend/scripts/ui-parity-runtimes.mjs`
|
|
128
|
-
- `frontend/scripts/ui-parity-auth.mjs`
|
|
129
|
-
- `frontend/scripts/ui-parity-scaffold.mjs`
|
|
130
|
-
- `frontend/scripts/ui-parity-route-gap-report.mjs`
|
|
131
|
-
- `frontend/scripts/ui-parity-extract-reference-pages.mjs`
|
|
132
|
-
- `frontend/scripts/ui-parity-materialize-reference-assets.mjs`
|
|
133
|
-
- `frontend/scripts/ui-parity-normalize-reference-assets.mjs`
|
|
134
|
-
- optional:
|
|
135
|
-
- `frontend/scripts/ui-parity-playwright-runner.mjs`
|
|
136
|
-
- `frontend/scripts/ui-parity-stagehand-runner.mjs`
|
|
137
|
-
- `frontend/scripts/ui-parity-parity1-upload.mjs`
|
|
138
|
-
|
|
139
|
-
`frontend/package.json`에는 최소한 다음 entrypoint를 둔다.
|
|
140
|
-
|
|
141
|
-
- `ui:parity:scaffold`
|
|
142
|
-
- `ui:parity:proof`
|
|
143
|
-
- `ui:parity`
|
|
144
|
-
- `ui:parity:route-gap`
|
|
145
|
-
|
|
146
|
-
### 4. Repo-local orchestration layer
|
|
147
|
-
|
|
148
|
-
`scripts/dev/` 래퍼는 선택 레이어다.
|
|
149
|
-
|
|
150
|
-
- base template에는 포함하지 않는다.
|
|
151
|
-
- loop/sweep/edit-once가 필요할 때만 repo별로 추가한다.
|
|
152
|
-
|
|
153
|
-
설계 규칙:
|
|
154
|
-
|
|
155
|
-
- loop/sweep는 repo-local npm entrypoint를 호출한다.
|
|
156
|
-
- research export는 dependency가 있으면 수행하고, 없으면 warning 수준으로 남기되 proof를 실패시키지 않는다.
|
|
157
|
-
|
|
158
|
-
### 5. Contract and evidence layer
|
|
159
|
-
|
|
160
|
-
표준 SDD 경로:
|
|
161
|
-
|
|
162
|
-
- `sdd/02_plan/10_test/<service>/ui_parity_<target>_contract.yaml`
|
|
163
|
-
- `sdd/02_plan/99_generated/from_planning/ui_parity/`
|
|
164
|
-
- `sdd/03_verify/10_test/ui_parity/`
|
|
165
|
-
|
|
166
|
-
권장 evidence 구조:
|
|
167
|
-
|
|
168
|
-
- `reference/`
|
|
169
|
-
- `<timestamp>/actual/`
|
|
170
|
-
- `<timestamp>/diff/`
|
|
171
|
-
- `loop_runs/`
|
|
172
|
-
- `staged_runs/`
|
|
173
|
-
- `ui_parity_latest.json`
|
|
174
|
-
- `<service>_agentic_dev_latest.json`
|
|
175
|
-
|
|
176
|
-
## Harness Enforcement Model
|
|
177
|
-
|
|
178
|
-
### Required phases
|
|
179
|
-
|
|
180
|
-
모든 프론트엔드 포함 서비스 템플릿은 아래 phase를 기본 강제한다.
|
|
181
|
-
|
|
182
|
-
1. `build`
|
|
183
|
-
2. `proof`
|
|
184
|
-
3. `deploy_dev`
|
|
185
|
-
4. `verify_dev`
|
|
186
|
-
|
|
187
|
-
강제 규칙:
|
|
188
|
-
|
|
189
|
-
- 프론트엔드 변경이 있는 repo는 `proof` 생략을 허용하지 않는다.
|
|
190
|
-
- `proof_output`이 생성되지 않으면 `proof` 성공으로 보지 않는다.
|
|
191
|
-
- DEV 반영이 필요한 작업은 `deploy_dev`와 `verify_dev`를 반드시 통과해야 한다.
|
|
192
|
-
- DEV 반영 전에는 `main push`가 선행되어야 한다.
|
|
193
|
-
- phase 실행은 항상 repo 내부 `sdd/99_toolchain/01_automation/agentic-dev/run_repo_phase.sh`를 기준으로 한다.
|
|
194
|
-
|
|
195
|
-
### Gate semantics
|
|
196
|
-
|
|
197
|
-
- `build`
|
|
198
|
-
- 빌드 또는 정적 검증 통과
|
|
199
|
-
- `proof`
|
|
200
|
-
- strict parity 또는 deterministic UI proof 수행
|
|
201
|
-
- latest artifact 생성
|
|
202
|
-
- `deploy_dev`
|
|
203
|
-
- repo-local DEV deploy 명령 성공
|
|
204
|
-
- `verify_dev`
|
|
205
|
-
- 실제 DEV endpoint 또는 runtime smoke check 성공
|
|
206
|
-
|
|
207
|
-
### Failure semantics
|
|
208
|
-
|
|
209
|
-
- `proof` 실패:
|
|
210
|
-
- latest json, actual/diff artifacts, 관련 loop evidence를 남긴다.
|
|
211
|
-
- `deploy_dev` 실패:
|
|
212
|
-
- 증거 문서에 실패 명령과 시점을 남긴다.
|
|
213
|
-
- `verify_dev` 실패:
|
|
214
|
-
- `fix -> redeploy -> reverify` 루프로 되돌린다.
|
|
215
|
-
|
|
216
|
-
## Boundary Model
|
|
217
|
-
|
|
218
|
-
### Vendored into each service repo
|
|
219
|
-
|
|
220
|
-
템플릿 복제 후 각 서비스가 직접 소유해야 하는 것:
|
|
221
|
-
|
|
222
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/*`
|
|
223
|
-
- `sdd/99_toolchain/01_automation/ui-parity/*`
|
|
224
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/repo-contract.json`
|
|
225
|
-
- `.codex/agentic-dev.json`
|
|
226
|
-
- `.claude/agentic-dev.json`
|
|
227
|
-
- `frontend/scripts/ui-parity-web-adapter.mjs`
|
|
228
|
-
- app-side collector upload adapter
|
|
229
|
-
- repo-local loop/sweep scripts
|
|
230
|
-
- evidence path declarations
|
|
231
|
-
|
|
232
|
-
### Kept external
|
|
233
|
-
|
|
234
|
-
서비스 레포 밖에 남겨야 하는 것:
|
|
235
|
-
|
|
236
|
-
- `parity-1` collector backend
|
|
237
|
-
- `parity-1` objective/research implementation
|
|
238
|
-
- 실제 collector URL, API key, 저장소 위치 같은 환경값
|
|
239
|
-
|
|
240
|
-
### Reference source only
|
|
241
|
-
|
|
242
|
-
다음은 참조 구현일 뿐, 런타임 dependency로 남길 필요는 없다.
|
|
243
|
-
|
|
244
|
-
- `say828-agent-market/codex/skills/universal-agentic-dev`
|
|
245
|
-
|
|
246
|
-
정책:
|
|
247
|
-
|
|
248
|
-
- 템플릿은 여기서 아이디어와 runner를 가져올 수 있다.
|
|
249
|
-
- 하지만 최종 서비스 레포는 외부 skill 저장소가 없어도 실행 가능해야 한다.
|
|
250
|
-
|
|
251
|
-
## Template Rollout Recommendation
|
|
252
|
-
|
|
253
|
-
### Base template
|
|
254
|
-
|
|
255
|
-
`templates`에는 최소한 다음을 넣는다.
|
|
256
|
-
|
|
257
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/repo-contract.json` example
|
|
258
|
-
- `.codex/agentic-dev.json`
|
|
259
|
-
- `.claude/agentic-dev.json`
|
|
260
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/` vendored runtime
|
|
261
|
-
- `sdd/99_toolchain/01_automation/ui-parity/` parity tooling
|
|
262
|
-
- optional `scripts/dev/` parity orchestration wrappers
|
|
263
|
-
- `sdd/02_plan/10_test/templates/ui_parity_web_contract.template.yaml`
|
|
264
|
-
- `sdd/02_plan/99_generated/from_planning/ui_parity/.gitkeep`
|
|
265
|
-
- `sdd/03_verify/10_test/ui_parity/.gitkeep`
|
|
266
|
-
|
|
267
|
-
### Frontend template
|
|
268
|
-
|
|
269
|
-
`templates/client/web` 또는 별도 frontend template에는 다음을 넣는다.
|
|
270
|
-
|
|
271
|
-
- parity npm scripts
|
|
272
|
-
- `client/web/scripts/ui-parity-web-adapter.mjs`
|
|
273
|
-
- minimal screen catalog / route catalog placeholder
|
|
274
|
-
- proof output path convention
|
|
275
|
-
|
|
276
|
-
그리고 repo root에는 다음 toolchain 실행기를 둔다.
|
|
277
|
-
|
|
278
|
-
- `sdd/99_toolchain/01_automation/ui-parity/*`
|
|
279
|
-
- `sdd/99_toolchain/01_automation/agentic-dev/*`
|
|
280
|
-
|
|
281
|
-
### Sanitization rules
|
|
282
|
-
|
|
283
|
-
- `dist/`, `node_modules/`, captured images, timestamped runs, 실제 reference asset은 템플릿에 넣지 않는다.
|
|
284
|
-
- contract 예시에는 실환경 URL 대신 placeholder를 둔다.
|
|
285
|
-
|
|
286
|
-
## Non-Goals
|
|
287
|
-
|
|
288
|
-
- `parity-1` collector/objective 코드를 서비스 레포 안으로 복사하지 않는다.
|
|
289
|
-
- 특정 서비스의 화면 수, screen code, reference asset을 템플릿 공통값으로 고정하지 않는다.
|
|
290
|
-
- 중앙 공용 하네스 서버나 외부 skill 저장소가 없으면 실행할 수 없는 구조를 강제하지 않는다.
|
|
291
|
-
- 하네스 구현을 skill 내부 로직으로 숨겨 두지 않는다.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|