@simplysm/sd-claude 14.0.65 → 14.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/claude/references/sd-requirement-source-handling.md +64 -0
- package/claude/references/sd-simplysm14/README.md +44 -40
- package/claude/references/sd-simplysm14/apis/angular/README.md +95 -0
- package/claude/references/sd-simplysm14/apis/angular/app-structure.md +49 -0
- package/claude/references/sd-simplysm14/apis/angular/buttons.md +42 -0
- package/claude/references/sd-simplysm14/apis/angular/crud.md +35 -0
- package/claude/references/sd-simplysm14/apis/angular/forms.md +63 -0
- package/claude/references/sd-simplysm14/apis/angular/infrastructure.md +80 -0
- package/claude/references/sd-simplysm14/apis/angular/kanban.md +33 -0
- package/claude/references/sd-simplysm14/apis/angular/layout.md +41 -0
- package/claude/references/sd-simplysm14/apis/angular/modal.md +63 -0
- package/claude/references/sd-simplysm14/apis/angular/routing.md +45 -0
- package/claude/references/sd-simplysm14/apis/angular/select-dropdown.md +35 -0
- package/claude/references/sd-simplysm14/apis/angular/selection-managers.md +50 -0
- package/claude/references/sd-simplysm14/apis/angular/shared-data.md +42 -0
- package/claude/references/sd-simplysm14/apis/angular/sheet.md +52 -0
- package/claude/references/sd-simplysm14/apis/angular/toast.md +46 -0
- package/claude/references/sd-simplysm14/apis/angular/visual.md +41 -0
- package/claude/references/sd-simplysm14/apis/capacitor-plugin-auto-update/README.md +76 -0
- package/claude/references/sd-simplysm14/apis/capacitor-plugin-file-system/README.md +83 -0
- package/claude/references/sd-simplysm14/apis/capacitor-plugin-intent/README.md +80 -0
- package/claude/references/sd-simplysm14/apis/capacitor-plugin-usb-storage/README.md +39 -0
- package/claude/references/sd-simplysm14/apis/core-browser/README.md +112 -0
- package/claude/references/sd-simplysm14/apis/core-common/README.md +53 -0
- package/claude/references/sd-simplysm14/apis/core-common/extensions.md +123 -0
- package/claude/references/sd-simplysm14/apis/core-common/features.md +46 -0
- package/claude/references/sd-simplysm14/apis/core-common/types.md +114 -0
- package/claude/references/sd-simplysm14/apis/core-common/utils.md +158 -0
- package/claude/references/sd-simplysm14/apis/core-node/README.md +12 -0
- package/claude/references/sd-simplysm14/apis/core-node/consola.md +64 -0
- package/claude/references/sd-simplysm14/apis/core-node/cpx.md +52 -0
- package/claude/references/sd-simplysm14/apis/core-node/fs-watcher.md +53 -0
- package/claude/references/sd-simplysm14/apis/core-node/fsx.md +81 -0
- package/claude/references/sd-simplysm14/apis/core-node/pathx.md +55 -0
- package/claude/references/sd-simplysm14/apis/core-node/worker.md +111 -0
- package/claude/references/sd-simplysm14/apis/excel/README.md +81 -0
- package/claude/references/sd-simplysm14/apis/lint/README.md +80 -0
- package/claude/references/sd-simplysm14/apis/orm-common/README.md +33 -0
- package/claude/references/sd-simplysm14/apis/orm-common/db-context.md +77 -0
- package/claude/references/sd-simplysm14/apis/orm-common/executable.md +20 -0
- package/claude/references/sd-simplysm14/apis/orm-common/expr.md +92 -0
- package/claude/references/sd-simplysm14/apis/orm-common/queryable.md +98 -0
- package/claude/references/sd-simplysm14/apis/orm-common/schema-builders.md +128 -0
- package/claude/references/sd-simplysm14/apis/orm-node/README.md +59 -0
- package/claude/references/sd-simplysm14/apis/sd-claude/README.md +9 -0
- package/claude/references/sd-simplysm14/apis/sd-cli/README.md +50 -0
- package/claude/references/sd-simplysm14/apis/sd-cli/sd-config.md +155 -0
- package/claude/references/sd-simplysm14/apis/service-client/README.md +92 -0
- package/claude/references/sd-simplysm14/apis/service-common/README.md +29 -0
- package/claude/references/sd-simplysm14/apis/service-common/app-structure.md +63 -0
- package/claude/references/sd-simplysm14/apis/service-common/messages.md +56 -0
- package/claude/references/sd-simplysm14/apis/service-common/protocol.md +64 -0
- package/claude/references/sd-simplysm14/apis/service-common/service-types.md +43 -0
- package/claude/references/sd-simplysm14/apis/service-server/README.md +20 -0
- package/claude/references/sd-simplysm14/apis/service-server/auth.md +31 -0
- package/claude/references/sd-simplysm14/apis/service-server/builtin-services.md +47 -0
- package/claude/references/sd-simplysm14/apis/service-server/define-service.md +71 -0
- package/claude/references/sd-simplysm14/apis/service-server/internals.md +41 -0
- package/claude/references/sd-simplysm14/apis/service-server/server.md +66 -0
- package/claude/references/sd-simplysm14/apis/storage/README.md +69 -0
- package/claude/references/sd-simplysm14/{client-component.md → manuals/client-component.md} +133 -128
- package/claude/references/sd-simplysm14/manuals/client-crud.md +102 -0
- package/claude/references/sd-simplysm14/manuals/client-demo.md +128 -0
- package/claude/references/sd-simplysm14/manuals/client-rules.md +7 -0
- package/claude/references/sd-simplysm14/{client-setup.md → manuals/client-setup.md} +2 -2
- package/claude/references/sd-simplysm14/{client-tab.md → manuals/client-tab.md} +13 -11
- package/claude/references/sd-simplysm14/{orm-union.md → manuals/orm-union.md} +1 -1
- package/claude/references/sd-simplysm14/manuals/orm.md +75 -0
- package/claude/rules/sd-base-rules.md +172 -79
- package/claude/sd-check-bash.py +5 -0
- package/claude/sd-statusline.py +7 -12
- package/claude/skills/sd-commit/SKILL.md +7 -3
- package/claude/skills/sd-demo/SKILL.md +81 -62
- package/claude/skills/sd-demo/evals/fixtures/empty/.specs/260513120000_warehouse/spec.md +45 -0
- package/claude/skills/sd-demo/evals/fixtures/with-existing-screen/.specs/260513120000_warehouse/spec.md +42 -0
- package/claude/skills/sd-demo/evals/fixtures/with-existing-screen/packages/app/src/screens/dashboard/dashboard.view.ts +33 -0
- package/claude/skills/sd-demo/evals/fixtures/with-master-screen/.specs/260513120000_warehouse/spec.md +45 -0
- package/claude/skills/sd-demo/evals/fixtures/with-master-screen/packages/app/src/screens/dashboard/dashboard.view.ts +33 -0
- package/claude/skills/sd-demo/evals/fixtures/with-modal/.specs/260513120000_warehouse/spec.md +75 -0
- package/claude/skills/sd-demo/evals/fixtures/with-modal/packages/app/src/screens/dashboard/dashboard.view.ts +33 -0
- package/claude/skills/sd-demo/evals/fixtures/with-screens/.specs/260513120000_warehouse/spec.md +45 -0
- package/claude/skills/sd-demo/evals/fixtures/with-screens/packages/app/src/screens/dashboard/dashboard.view.ts +33 -0
- package/claude/skills/sd-demo/evals/golden.jsonl +5 -3
- package/claude/skills/sd-dev/SKILL.md +33 -63
- package/claude/skills/sd-dev/evals/fixtures/case-add/package.json +13 -0
- package/claude/skills/sd-dev/evals/fixtures/case-add/src/index.ts +10 -0
- package/claude/skills/sd-dev/evals/fixtures/case-add/tests/index.test.ts +11 -0
- package/claude/skills/sd-dev/evals/fixtures/case-add/tsconfig.json +12 -0
- package/claude/skills/sd-dev/evals/fixtures/case-bug/package.json +13 -0
- package/claude/skills/sd-dev/evals/fixtures/case-bug/src/index.ts +10 -0
- package/claude/skills/sd-dev/evals/fixtures/case-bug/tests/index.test.ts +11 -0
- package/claude/skills/sd-dev/evals/fixtures/case-bug/tsconfig.json +12 -0
- package/claude/skills/sd-dev/evals/fixtures/case-modify/package.json +13 -0
- package/claude/skills/sd-dev/evals/fixtures/case-modify/src/index.ts +10 -0
- package/claude/skills/sd-dev/evals/fixtures/case-modify/tests/index.test.ts +11 -0
- package/claude/skills/sd-dev/evals/fixtures/case-modify/tsconfig.json +12 -0
- package/claude/skills/sd-dev/evals/golden.jsonl +3 -3
- package/claude/skills/sd-docs/SKILL.md +53 -0
- package/claude/skills/sd-docs/evals/fixtures/new-write/.claude/references/sd-simplysm14/README.md +7 -0
- package/claude/skills/sd-docs/evals/fixtures/new-write/packages/bar/package.json +5 -0
- package/claude/skills/sd-docs/evals/fixtures/new-write/packages/bar/src/index.ts +3 -0
- package/claude/skills/sd-docs/evals/fixtures/new-write/packages/baz/package.json +6 -0
- package/claude/skills/sd-docs/evals/fixtures/new-write/packages/baz/src/index.ts +1 -0
- package/claude/skills/sd-docs/evals/fixtures/new-write/packages/foo/package.json +5 -0
- package/claude/skills/sd-docs/evals/fixtures/new-write/packages/foo/src/index.ts +8 -0
- package/claude/skills/sd-docs/evals/fixtures/update-mixed/.claude/references/sd-simplysm14/README.md +7 -0
- package/claude/skills/sd-docs/evals/fixtures/update-mixed/.claude/references/sd-simplysm14/apis/foo/README.md +3 -0
- package/claude/skills/sd-docs/evals/fixtures/update-mixed/packages/bar/package.json +5 -0
- package/claude/skills/sd-docs/evals/fixtures/update-mixed/packages/bar/src/index.ts +3 -0
- package/claude/skills/sd-docs/evals/fixtures/update-mixed/packages/baz/package.json +6 -0
- package/claude/skills/sd-docs/evals/fixtures/update-mixed/packages/baz/src/index.ts +1 -0
- package/claude/skills/sd-docs/evals/fixtures/update-mixed/packages/foo/package.json +5 -0
- package/claude/skills/sd-docs/evals/fixtures/update-mixed/packages/foo/src/index.ts +8 -0
- package/claude/skills/sd-docs/evals/golden.jsonl +2 -0
- package/claude/skills/sd-docs/references/subagent-prompt.md +100 -0
- package/claude/skills/sd-impl/SKILL.md +125 -46
- package/claude/skills/sd-impl/evals/fixtures/case-new/.specs/260514120000_/352/261/260/353/236/230/354/262/230/spec.md +101 -0
- package/claude/skills/sd-impl/evals/fixtures/case-update/.specs/260514120000_/352/261/260/353/236/230/354/262/230/spec.md +101 -0
- package/claude/skills/sd-impl/evals/fixtures/case-update/src//352/261/260/353/236/230/354/262/230//352/261/260/353/236/230/354/262/230-/353/252/250/353/215/270.txt +1 -0
- package/claude/skills/sd-impl/evals/fixtures/case-update/src//352/261/260/353/236/230/354/262/230//352/261/260/353/236/230/354/262/230-/353/252/251/353/241/235.txt +1 -0
- package/claude/skills/sd-impl/evals/golden.jsonl +2 -3
- package/claude/skills/sd-skill/SKILL.md +3 -3
- package/claude/skills/sd-skill/evals/golden.jsonl +0 -1
- package/claude/skills/sd-skill/references/eval-authoring.md +15 -0
- package/claude/skills/sd-skill/references/eval-run.md +1 -1
- package/claude/skills/sd-skill/references/skill-authoring.md +8 -5
- package/claude/skills/sd-skill/scripts/run_eval.py +39 -60
- package/claude/skills/sd-spec/SKILL.md +163 -105
- package/claude/skills/sd-spec/references/example-spec.md +585 -0
- package/claude/skills/sd-spec/references/spec-authoring.md +287 -0
- package/claude/skills/sd-spec/references/spec-md-template.md +15 -93
- package/claude/skills/sd-unpack/SKILL.md +7 -1
- package/claude/skills/sd-unpack/scripts/handlers/_common.py +10 -0
- package/claude/skills/sd-unpack/scripts/handlers/eml_handler.py +5 -13
- package/claude/skills/sd-unpack/scripts/handlers/msg_handler.py +3 -12
- package/claude/skills/sd-unpack/scripts/handlers/office_com.py +23 -37
- package/claude/skills/sd-unpack/scripts/handlers/office_worker.py +1 -4
- package/claude/skills/sd-unpack/scripts/handlers/pdf_handler.py +4 -13
- package/claude/skills/sd-unpack/scripts/unpack.py +4 -4
- package/claude/skills/sd-use/SKILL.md +1 -0
- package/claude/skills/sd-wip/SKILL.md +38 -0
- package/claude/skills/sd-wip/evals/fixtures/with-artifact/projects/acct/_wip.md +3 -0
- package/claude/skills/sd-wip/evals/fixtures/with-artifact/projects/acct/spec.md +15 -0
- package/claude/skills/sd-wip/evals/fixtures/with-existing-wip/.wips/260101120000_acct.md +6 -0
- package/claude/skills/sd-wip/evals/fixtures/with-existing-wip-for-compact/.wips/260101120000_acct.md +14 -0
- package/claude/skills/sd-wip/evals/golden.jsonl +4 -0
- package/claude/skills/sd-wip/references/compact.md +79 -0
- package/package.json +1 -1
- package/claude/references/sd-simplysm14/orm.md +0 -11
- package/claude/skills/sd-demo/evals/fixtures/basic-single-req/.specs/260503143025/REQ-001-/354/236/205/352/263/240/354/247/200/354/213/234/354/204/234/352/270/264/352/270/211/355/221/234/354/213/234/spec.md +0 -27
- package/claude/skills/sd-demo/evals/fixtures/basic-single-req/.specs/260503143025/overview.md +0 -12
- package/claude/skills/sd-demo/evals/fixtures/basic-single-req/src/components/Button.tsx +0 -12
- package/claude/skills/sd-demo/evals/fixtures/basic-single-req/src/components/Input.tsx +0 -27
- package/claude/skills/sd-demo/evals/fixtures/mock-data-policy/.specs/260503143025/REQ-001-/352/261/260/353/236/230/354/262/230/353/252/251/353/241/235/355/231/224/353/251/264/spec.md +0 -25
- package/claude/skills/sd-demo/evals/fixtures/mock-data-policy/.specs/260503143025/overview.md +0 -12
- package/claude/skills/sd-demo/evals/fixtures/mock-data-policy/src/components/Input.tsx +0 -25
- package/claude/skills/sd-demo/evals/fixtures/mock-data-policy/src/pages/.gitkeep +0 -0
- package/claude/skills/sd-demo/evals/fixtures/multi-req-domain/.specs/260503143025/REQ-001-RTP/354/236/205/353/240/245/355/231/224/353/251/264/spec.md +0 -19
- package/claude/skills/sd-demo/evals/fixtures/multi-req-domain/.specs/260503143025/REQ-002-RTP/354/266/234/353/240/245/355/231/224/353/251/264/spec.md +0 -20
- package/claude/skills/sd-demo/evals/fixtures/multi-req-domain/.specs/260503143025/overview.md +0 -16
- package/claude/skills/sd-demo/evals/fixtures/multi-req-domain/src/components/Button.tsx +0 -6
- package/claude/skills/sd-demo/evals/fixtures/multi-req-domain/src/components/Input.tsx +0 -15
- package/claude/skills/sd-demo/evals/fixtures/multi-req-domain/src/pages/.gitkeep +0 -0
- package/claude/skills/sd-demo/references/demo-md-template.md +0 -92
- package/claude/skills/sd-dev/evals/fixtures/multi-req-stop-after-spec/.docs/20260301_/352/263/240/352/260/235/354/202/254_/354/236/205/352/263/240/354/232/224/354/262/255.eml +0 -5
- package/claude/skills/sd-dev/evals/fixtures/multi-req-stop-after-spec/.docs/20260305_/352/263/240/352/260/235/354/202/254_/354/266/234/352/263/240/354/232/224/354/262/255.eml +0 -6
- package/claude/skills/sd-dev/evals/fixtures/multi-req-stop-after-spec/.docs/20260310_/352/263/240/352/260/235/354/202/254_/352/266/214/355/225/234.eml +0 -6
- package/claude/skills/sd-dev/evals/fixtures/single-req-auto-chain/src/lib/.gitkeep +0 -0
- package/claude/skills/sd-dev/evals/fixtures/start-from-plan/.specs/260503143025/REQ-001-/355/225/240/354/235/270/352/263/204/354/202/260/spec.md +0 -12
- package/claude/skills/sd-dev/evals/fixtures/start-from-plan/src/lib/.gitkeep +0 -0
- package/claude/skills/sd-impl/evals/fixtures/basic-single-r/.specs/260503143025/REQ-001-/354/236/205/352/263/240/354/247/200/354/213/234/354/204/234/352/270/264/352/270/211/355/221/234/354/213/234/plan.md +0 -28
- package/claude/skills/sd-impl/evals/fixtures/basic-single-r/.specs/260503143025/REQ-001-/354/236/205/352/263/240/354/247/200/354/213/234/354/204/234/352/270/264/352/270/211/355/221/234/354/213/234/spec.md +0 -14
- package/claude/skills/sd-impl/evals/fixtures/basic-single-r/src/components/Input.tsx +0 -6
- package/claude/skills/sd-impl/evals/fixtures/basic-single-r/src/pages/.gitkeep +0 -0
- package/claude/skills/sd-impl/evals/fixtures/multi-r/.specs/260503143025/REQ-001-/352/261/260/353/236/230/354/262/230/353/252/251/353/241/235/plan.md +0 -40
- package/claude/skills/sd-impl/evals/fixtures/multi-r/.specs/260503143025/REQ-001-/352/261/260/353/236/230/354/262/230/353/252/251/353/241/235/spec.md +0 -13
- package/claude/skills/sd-impl/evals/fixtures/multi-r/src/components/Input.tsx +0 -25
- package/claude/skills/sd-impl/evals/fixtures/multi-r/src/pages/.gitkeep +0 -0
- package/claude/skills/sd-impl/evals/fixtures/with-test-file/.specs/260503143025/REQ-001-/355/225/240/354/235/270/352/263/204/354/202/260/plan.md +0 -26
- package/claude/skills/sd-impl/evals/fixtures/with-test-file/.specs/260503143025/REQ-001-/355/225/240/354/235/270/352/263/204/354/202/260/spec.md +0 -12
- package/claude/skills/sd-impl/evals/fixtures/with-test-file/src/lib/.gitkeep +0 -0
- package/claude/skills/sd-impl/references/impl-md-template.md +0 -87
- package/claude/skills/sd-impl/references/modes-and-failure.md +0 -65
- package/claude/skills/sd-plan/SKILL.md +0 -130
- package/claude/skills/sd-plan/evals/fixtures/already-implemented/.specs/260503143025/REQ-001-/354/202/254/354/232/251/354/236/220/353/252/251/353/241/235/spec.md +0 -14
- package/claude/skills/sd-plan/evals/fixtures/already-implemented/src/api/user.ts +0 -13
- package/claude/skills/sd-plan/evals/fixtures/already-implemented/src/components/Input.tsx +0 -15
- package/claude/skills/sd-plan/evals/fixtures/already-implemented/src/pages/UserList.tsx +0 -29
- package/claude/skills/sd-plan/evals/fixtures/basic-greenfield/.specs/260503143025/REQ-001-/354/236/205/352/263/240/354/247/200/354/213/234/354/204/234/352/270/264/352/270/211/355/221/234/354/213/234/spec.md +0 -17
- package/claude/skills/sd-plan/evals/fixtures/basic-greenfield/src/components/Input.tsx +0 -6
- package/claude/skills/sd-plan/evals/fixtures/basic-greenfield/src/pages/.gitkeep +0 -0
- package/claude/skills/sd-plan/evals/fixtures/demo-built/.specs/260503143025/DEMO-001-/352/261/260/353/236/230/354/262/230/demo.md +0 -26
- package/claude/skills/sd-plan/evals/fixtures/demo-built/.specs/260503143025/REQ-001-/352/261/260/353/236/230/354/262/230/353/252/251/353/241/235/355/231/224/353/251/264/spec.md +0 -15
- package/claude/skills/sd-plan/evals/fixtures/demo-built/src/components/Input.tsx +0 -25
- package/claude/skills/sd-plan/evals/fixtures/demo-built/src/data/mock-customer.ts +0 -16
- package/claude/skills/sd-plan/evals/fixtures/demo-built/src/pages/CustomerList.tsx +0 -25
- package/claude/skills/sd-plan/evals/golden.jsonl +0 -3
- package/claude/skills/sd-plan/references/plan-md-template.md +0 -138
- package/claude/skills/sd-spec/evals/fixtures/bulk-multi-source/.docs/20260122_/352/263/240/352/260/235/354/202/254_/354/236/205/352/263/240/354/247/200/354/213/234/354/204/234/352/260/234/354/204/240/354/232/224/354/262/255.eml +0 -20
- package/claude/skills/sd-spec/evals/fixtures/bulk-multi-source/.docs/20260205_/352/263/240/352/260/235/354/202/254_/354/266/234/352/263/240/355/231/224/353/251/264/352/264/200/353/240/250.eml +0 -17
- package/claude/skills/sd-spec/evals/fixtures/bulk-multi-source/.docs/20260301_/352/263/240/352/260/235/354/202/254_/352/266/214/355/225/234/354/262/264/352/263/204.eml +0 -18
- package/claude/skills/sd-spec/evals/fixtures/conflict-detection/.docs/20260317_/352/263/240/352/260/235/354/202/254_/352/270/264/352/270/211/354/262/230/353/246/254/353/260/251/354/271/250.eml +0 -17
- package/claude/skills/sd-spec/evals/fixtures/conflict-detection/.docs//355/232/214/354/235/230/353/214/200/353/263/270_20260320.txt +0 -13
- package/claude/skills/sd-spec/evals/fixtures/direct-simple/.gitkeep +0 -0
- package/claude/skills/sd-spec/evals/fixtures/spec-md-input/.specs/260101120000/REQ-001-test/spec.md +0 -19
- package/claude/skills/sd-spec/evals/fixtures/spec-md-input/.specs/260101120000/overview.md +0 -18
- package/claude/skills/sd-spec/evals/golden.jsonl +0 -4
- package/claude/skills/sd-spec/references/overview-md-template.md +0 -89
- package/claude/skills/sd-spec/references/raw-input-handling.md +0 -96
- package/claude/skills/sd-verify/SKILL.md +0 -96
- package/claude/skills/sd-verify/evals/fixtures/all-satisfied/.specs/260503143025/REQ-001-/355/225/240/354/235/270/352/263/204/354/202/260/impl.md +0 -20
- package/claude/skills/sd-verify/evals/fixtures/all-satisfied/.specs/260503143025/REQ-001-/355/225/240/354/235/270/352/263/204/354/202/260/plan.md +0 -14
- package/claude/skills/sd-verify/evals/fixtures/all-satisfied/.specs/260503143025/REQ-001-/355/225/240/354/235/270/352/263/204/354/202/260/spec.md +0 -12
- package/claude/skills/sd-verify/evals/fixtures/all-satisfied/src/lib/discount.test.ts +0 -11
- package/claude/skills/sd-verify/evals/fixtures/all-satisfied/src/lib/discount.ts +0 -7
- package/claude/skills/sd-verify/evals/fixtures/partial-mismatch/.specs/260503143025/REQ-001-/354/202/254/354/232/251/354/236/220/353/252/251/353/241/235/impl.md +0 -21
- package/claude/skills/sd-verify/evals/fixtures/partial-mismatch/.specs/260503143025/REQ-001-/354/202/254/354/232/251/354/236/220/353/252/251/353/241/235/plan.md +0 -21
- package/claude/skills/sd-verify/evals/fixtures/partial-mismatch/.specs/260503143025/REQ-001-/354/202/254/354/232/251/354/236/220/353/252/251/353/241/235/spec.md +0 -12
- package/claude/skills/sd-verify/evals/fixtures/partial-mismatch/src/pages/UserList.tsx +0 -19
- package/claude/skills/sd-verify/evals/fixtures/tdd-only/.specs/260503143025/REQ-001-/352/270/210/354/225/241/352/262/200/354/246/235/impl.md +0 -19
- package/claude/skills/sd-verify/evals/fixtures/tdd-only/.specs/260503143025/REQ-001-/352/270/210/354/225/241/352/262/200/354/246/235/plan.md +0 -14
- package/claude/skills/sd-verify/evals/fixtures/tdd-only/.specs/260503143025/REQ-001-/352/270/210/354/225/241/352/262/200/354/246/235/spec.md +0 -12
- package/claude/skills/sd-verify/evals/fixtures/tdd-only/src/lib/validate-amount.test.ts +0 -10
- package/claude/skills/sd-verify/evals/fixtures/tdd-only/src/lib/validate-amount.ts +0 -7
- package/claude/skills/sd-verify/evals/golden.jsonl +0 -3
- package/claude/skills/sd-verify/references/verify-md-template.md +0 -99
- /package/claude/skills/{sd-demo/evals/fixtures/basic-single-req/src/pages → sd-wip/evals/fixtures/empty}/.gitkeep +0 -0
|
@@ -1,105 +1,163 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sd-spec
|
|
3
|
-
description:
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# spec
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
##
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
1
|
+
---
|
|
2
|
+
name: sd-spec
|
|
3
|
+
description: SI/업무시스템 요구사항을 분석해 spec.md 로 구조화한다. Use when "요구사항 분석", "SI 분석", "업무시스템 spec 작성" 을 요청할 때
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# sd-spec
|
|
7
|
+
|
|
8
|
+
요구사항을 spec.md 로 구조화. 추상 흐름 → 구체 구현 순으로 사용자와 항목별 합의하며 진행.
|
|
9
|
+
|
|
10
|
+
## 워크플로
|
|
11
|
+
|
|
12
|
+
**진입 직후 MUST (BLOCKING)**: 어떤 작업도 시작하기 전에 `references/spec-authoring.md` 와 `references/example-spec.md` 두 파일을 Read 도구로 호출해 전체 본문을 읽는다. 미독 상태 작성 = 즉시 폐기 후 Read 부터.
|
|
13
|
+
|
|
14
|
+
**진입 분기**: spec.md 가 첨부된 경우 → 0~3단계 건너뛰고, 같은 폴더의 `_wip.md` 도 동반 읽기. `_wip.md` 에 진행 중 §x.x 항목이 있으면 그 작업부터 재개 (사용자에게 우선순위 확인). 없으면 spec.md 의 첫 "헤더 `[OPEN: 날짜]` 이거나 본문에 인라인 `[OPEN]` 포함" 섹션에서 재개. 헤더 `[OPEN]` 이면 본문 참조 포인터로 자료 재독 → 임의안 도출 → "맞나요?". 인라인 `[OPEN]` 만이면 그 OPEN 항목부터 채움. 첨부 없으면 0단계부터.
|
|
15
|
+
|
|
16
|
+
각 단계 = LLM 임의안 제시 → "맞나요?" 확정. 수정 지시 시 반영한 임의안 재제시. 확정되면 다음 단계.
|
|
17
|
+
|
|
18
|
+
### references 사용 (BLOCKING)
|
|
19
|
+
|
|
20
|
+
- 작성 규약: `references/spec-authoring.md` — 섹션 구조·헤더 마커·섹션별 표기 규약.
|
|
21
|
+
- 풀 예시: `references/example-spec.md` — WMS 예시 spec.md. 형식 모범.
|
|
22
|
+
- 빈 골격: `references/spec-md-template.md` — 초기 spec.md 골격.
|
|
23
|
+
|
|
24
|
+
#### 단계별 Re-Read 매핑
|
|
25
|
+
|
|
26
|
+
각 단계 임의안 작성 직전, 아래 행의 절을 다시 Read (진입 시 1회 읽었어도 컨텍스트가 길어지면 망각하므로 재독 필수).
|
|
27
|
+
|
|
28
|
+
| 단계 | spec-authoring 절 | example-spec 절 |
|
|
29
|
+
|------|-------------------|------------------|
|
|
30
|
+
| 0단계 도메인 그림 | — | §1 (어휘 톤만 참고) |
|
|
31
|
+
| 1단계 헤더 분류 | §2 헤더 명칭 / §3 | §2 / §3 |
|
|
32
|
+
| 2단계 초기 생성 | §섹션 구조 + spec-md-template 전체 | — |
|
|
33
|
+
| 3단계 §1 개요 | §1.1~§1.4 | §1.1~§1.4 |
|
|
34
|
+
| 4단계 §2.x/§3.x 본문 | §2 (BPMN·흐름 설명 bullet·관련 섹션 포함) / §3 | §2.1, §3.1 |
|
|
35
|
+
| 5단계 §4/§5 헤더 분할 | §4 화면 목록 표 | §4 헤더 + §5 헤더 |
|
|
36
|
+
| 6단계 §4.x/§5.x 본문 | §4 화면 정의·와이어프레임 (텍스트)·마스터 화면 표준 / §5 / §5 Flowchart | §4.1~§4.6 (시트/폼/PDA 등 패턴), §5.1 |
|
|
37
|
+
|
|
38
|
+
#### 임의안 제시 직전 자기검증 게이트
|
|
39
|
+
|
|
40
|
+
매 단계 매 임의안마다, 사용자에게 보이기 **직전** 다음을 자문. 짐작·사전지식 갈음 금지.
|
|
41
|
+
|
|
42
|
+
1. 이 산출물 구조·표기가 spec-authoring 의 어느 절(§) 규약을 따랐는가? — 절 식별 가능?
|
|
43
|
+
2. 이 산출물 형식이 example-spec 의 어느 절(§Y.Z) 라인을 모범으로 했는가? — 절 식별 가능?
|
|
44
|
+
3. 위 1·2 의 인용이 산출물의 모든 표·코드블록·표기·헤더에 1:1 매칭되는가? — 어느 표기가 references 의 어디에서 왔는지 거꾸로 추적 가능?
|
|
45
|
+
4. 이번 작업 중 발견된 정보(자료 재독·사용자 발언·외부 조사·본문 작성 부산물 등) 중에 **현재 §x.x 외 다른 섹션**(특히 §6 공통 정의·§7 도메인 모델·§8 외부 인터페이스·관련 §2/§3) 에 추가·수정돼야 할 항목이 있는가? — 있으면 운용 "다른 섹션 변경·추가 발생 시" 적용해 함께 임의안 제시.
|
|
46
|
+
5. 산출물의 각 항목·컬럼·필드·액션 버튼·동작 1건마다, 본 화면(§4.x) / 본 처리(§5.x) 의 관련 §2.x/§3.x 본문 또는 사용자 발언에서 도출 근거를 1:1 인용 가능한가? — 인용 불가능한 항목 = 다른 화면(example / 본 spec.md 다른 §4.x) 패턴 복제 의심. 제거하거나 사용자에게 "이 항목 누락된 요구사항인가?" 별도 질문.
|
|
47
|
+
|
|
48
|
+
하나라도 비면 Re-Read 후 산출물 재작성. 한 단계 통과해도 다른 단계까지 면제 X — 매 임의안 신규 적용.
|
|
49
|
+
|
|
50
|
+
### 1단계: 헤더 분류
|
|
51
|
+
|
|
52
|
+
**Re-Read**: spec-authoring.md §2 헤더 명칭 + §3, example-spec.md §2 + §3.
|
|
53
|
+
|
|
54
|
+
Requirement Source 의 모든 요구를 일괄 분류 → 채팅으로만 제시 (spec.md 는 2단계에서 생성).
|
|
55
|
+
|
|
56
|
+
**절차 진입 전 자문 (내부)**: 외부 관계자 평면(구매처·공급처·고객·하청·감독기관 등) 식별 + 관계자별 흐름 한 줄("주는 것 / 받는 것 / 사이클"). 5번 헤더 명칭의 어휘 근거. spec.md 에 기록 X.
|
|
57
|
+
|
|
58
|
+
**절차** (내부 수행, 사용자에겐 5번 결과만 제시):
|
|
59
|
+
|
|
60
|
+
1. **평면화**: source 의 모든 요구 후보를 평면 목록으로. 메일 항목·슬라이드·첨부·원본 자체 카테고리(업데이트/추가 기능 등) 의 구조는 분류 단위와 무관.
|
|
61
|
+
|
|
62
|
+
2. **항목별 자문 1줄**: "최종 사용자가 이걸 한 가지 업무로 인식하는가? 목적이 뭔가?" 답에 따라:
|
|
63
|
+
- **단일 명확한 목적** → §2.x 후보 (3번으로)
|
|
64
|
+
- **모호 / 여러 프로세스 걸친 다중 목적** → 별도 §2.x X. 사용 §2.x 들 안에서 각자의 목적에 맞게 흡수 (공통 utility 동작)
|
|
65
|
+
- **다른 흐름의 사전·부수·케이스/서브 타입** → 별도 §2.x X. 그 §2.x 안에서 흡수
|
|
66
|
+
- **데이터 적재·내부 조회·표시일 뿐 외부 effect X** → 별도 §2.x X. 사용 §2.x 본문에서 §4 화면으로 다룸
|
|
67
|
+
- **신규 §4 화면 또는 §5 자동 처리 등장 필요한 비-프로세스 요구** → §3.x
|
|
68
|
+
- **기존 화면/흐름 미세 변경 (필드 추가·라벨·동작 조정·버그 수정·인식률 개선) 또는 자료 해석·파라미터 규칙** → §9 분석 제외 항목
|
|
69
|
+
|
|
70
|
+
3. **§2.x 후보 재검증**: business outcome 한 사이클 완결 (시작 트리거 → 종료 결과). 풀 BPMN (입고·출고) + 단순 조회 (과거 재고 조회) 모두 포함. 출력 산출물·트리거·대상이 명확히 다르면 합치지 X (같은 카테고리라도 별개 §2.x).
|
|
71
|
+
|
|
72
|
+
4. **OPEN 표기**: 후속 요청 예정·구현 시점 미정 항목도 2~3번 동일 적용. 해당 카테고리에 추가하되 `[OPEN: YYYY-MM-DD]` 마커.
|
|
73
|
+
|
|
74
|
+
5. **헤더 명칭 규칙**: 헤더는 위 외부 관계자 평면 기반 도메인 업무 동사구. 시스템·문서·메뉴·양식 명칭을 그대로 헤더에 쓰지 X. 외부 관계자 관계가 드러나야 함.
|
|
75
|
+
- ❌ 나쁜 예: `발주서 변경 요청` (발주서 = 시스템 문서)
|
|
76
|
+
- ✅ 좋은 예: `구매처 발주 변경 요청`
|
|
77
|
+
|
|
78
|
+
6. **제시**: 분류별 헤더만 1줄씩. 자문 내용·근거·부연 묘사 X.
|
|
79
|
+
|
|
80
|
+
### 2단계: 초기 생성
|
|
81
|
+
|
|
82
|
+
**Re-Read**: spec-authoring.md §섹션 구조, references/spec-md-template.md 전체.
|
|
83
|
+
|
|
84
|
+
- slug 임의안 (한글, 1단계 헤더가 주제를 드러내므로 그를 근거로 도출).
|
|
85
|
+
- 폴더: `.specs/{yyMMddHHmmss}_{slug}/`
|
|
86
|
+
- spec.md = [spec-md-template](references/spec-md-template.md) + 1단계 결과 (§2/§3 헤더 · §9 분석 제외 항목) 반영.
|
|
87
|
+
|
|
88
|
+
### 3단계: §1 개요
|
|
89
|
+
|
|
90
|
+
**Re-Read**: spec-authoring.md §1.1~§1.4, example-spec.md §1.1~§1.4.
|
|
91
|
+
|
|
92
|
+
§1.1 → §1.2 → §1.3 → §1.4 순서로 각각 임의안.
|
|
93
|
+
|
|
94
|
+
- §1.1 핵심 목적 = 0단계 관계도 기반 사이클·관계 표현. §2.x 동사구 항목 나열 X (그건 §1.2 역할).
|
|
95
|
+
- §1.2 주요 목표 = §2 업무 프로세스 헤더 동사구로 자연 도출. §2.x 본문 핵심 항목을 임의 축약·누락 X.
|
|
96
|
+
- §1.3 사용자 = §2 Actor 에서 도출
|
|
97
|
+
- §1.4 환경/장치: ① ASCII 구성도 ② 장치 목록, 둘로 분리해 각각 묻기.
|
|
98
|
+
|
|
99
|
+
### 4단계: §2.x/§3.x 본문 작성
|
|
100
|
+
|
|
101
|
+
**Re-Read**: spec-authoring.md §2 (BPMN·흐름 설명 bullet·관련 섹션 포함) + §3, example-spec.md §2.1 + §3.1.
|
|
102
|
+
|
|
103
|
+
분할된 단위 순서대로 한 항목씩.
|
|
104
|
+
|
|
105
|
+
- **§2.x 업무 프로세스**: BPMN (사용자에겐 ASCII, 확정 후 mermaid 로 문서 저장) + 흐름 설명 bullet + 관련 섹션 (화면·자동 처리) 한꺼번에.
|
|
106
|
+
- **§3.x 기타 요구사항**: 본문 전체 한꺼번에.
|
|
107
|
+
|
|
108
|
+
### 5단계: §4/§5 헤더 분할
|
|
109
|
+
|
|
110
|
+
**Re-Read**: spec-authoring.md §4 화면 목록 표, example-spec.md §4 헤더 + §5 헤더.
|
|
111
|
+
|
|
112
|
+
§2.x/§3.x 가 매핑되는 화면(§4) / 자동 처리(§5) 의 §번호 + 이름만 순서대로 나열. §4 일 땐 화면 목록 표 (spec-authoring §4) 도 함께.
|
|
113
|
+
|
|
114
|
+
### 6단계: §4.x/§5.x 본문 작성
|
|
115
|
+
|
|
116
|
+
**Re-Read**: spec-authoring.md §4 화면 정의·와이어프레임 (텍스트)·마스터 화면 표준 + §5 + §5 Flowchart, example-spec.md §4.1~§4.6 + §5.1. **와이어프레임 작성 시 example-spec.md 의 가장 가까운 화면 패턴(시트=§4.1·§4.3, 폼 모달=§4.2·§4.4, PDA=§4.5, 분석 시트=§4.6) 라인을 형식 모범으로 직접 참조. ASCII 박스(┌─┐ │ └┘), 영역 추상화 표기(`<필터>`/`<시트>`/`<폼>` 등), 액션 버튼 텍스트 표기는 자체 변형 X.**
|
|
117
|
+
|
|
118
|
+
**참조 범위 = 형식만, 내용물은 본 화면 요구사항에서 도출**: example-spec / 본 spec.md 의 다른 §4.x 에서 가져올 수 있는 것은 ASCII 박스 라인, 영역 추상화 표기, 액션 버튼 텍스트 표기, 항목 표 컬럼 구조(`항목 | 종류 | 필수 | 도메인 매핑 | 비고`), 마스터 화면 표준 버튼바 등 **형식**. 항목·컬럼·필드·액션 버튼·동작은 본 화면의 관련 §2.x/§3.x 본문 + 사용자 발언에서 직접 도출. 다른 화면이 가진 항목을 본 화면 요구사항 검증 없이 복제 금지 — 본 화면 요구사항에 해당 항목·기능이 명시되지 않았다면 제거. §5.x 자동 처리의 트리거·처리·예외 처리 동일.
|
|
119
|
+
- ❌ 나쁜 예: 다른 화면 §4.A 에 "취소 요청" 컬럼·`[취소]` 버튼이 있었다는 이유로 §4.B 에도 그대로 복사 (§4.B 요구사항엔 취소 기능 없음)
|
|
120
|
+
- ✅ 좋은 예: §4.B 의 §2.x/§3.x 본문·관련 섹션·사용자 발언에서 "취소" 언급 없음 확인 → 취소 관련 컬럼·버튼·동작 모두 제외
|
|
121
|
+
|
|
122
|
+
확정된 구체 단위 순서대로 한 항목씩.
|
|
123
|
+
|
|
124
|
+
- **§4.x 화면** — 합의 단위 크므로 사용자가 단번에 yes/no 판단할 수 있는 가장 작은 단위로 분리해 묻는다. spec-authoring §4.x 표준 구조 절 단위로 위→아래, 각 확정 후 다음:
|
|
125
|
+
1. 헤더 인덱스(Actor·관련 섹션) + 기능 개요 — 한 묶음
|
|
126
|
+
2. 와이어프레임 — 1건
|
|
127
|
+
3. 항목 — 영역(좌/우 등) → 하위 요소(필터·시트 컬럼·입력/상세 폼 등) 단위로 쪼개 묻기. 각 영역의 각 하위 요소별 1건.
|
|
128
|
+
4. 동작 — 1건
|
|
129
|
+
5. 도메인 규칙·로직(해당 시)
|
|
130
|
+
6. 양식 매핑(해당 시)
|
|
131
|
+
|
|
132
|
+
화면 패턴은 example-spec 의 §4.1~§4.6 라인 직접 참조 (위 Re-Read 기 명시).
|
|
133
|
+
- **§5.x 자동 처리** (스케줄러/이벤트 백그라운드):
|
|
134
|
+
1. Flowchart (사용자에겐 ASCII, 확정 후 mermaid 로 문서 저장)
|
|
135
|
+
2. 목적 / 트리거 / 처리 / 예외 처리 / 관련 화면 한꺼번에
|
|
136
|
+
|
|
137
|
+
이 단계에서 새 도메인 어휘·시스템 규격은 §6 공통 정의, 새 엔티티는 §7 도메인 모델, 외부 시스템 호출은 §8 외부 인터페이스 에 추가 (운용 "다른 섹션 변경·추가 발생 시" 적용).
|
|
138
|
+
|
|
139
|
+
## 운용
|
|
140
|
+
|
|
141
|
+
- **결정 근거**: sd-base-rules.md "결정 근거" 적용. 사용자 확정 = 헤더 `[확정: 날짜]` 마커로 표시. 확정 마킹도 상태 변경 → spec.md Write 직전 출력에 `> 진행 근거: 사용자 발언 "<verbatim 인용>" 의 "<신호 부분>"` 1줄 포함.
|
|
142
|
+
- **사용자 흘림 반영**: 사용자가 흘리듯 말한 가드레일·단서·미반영 의견은 해당 발언이 영향을 주는 §의 임의안 작성 시 반영하여 "맞나요?" 절차에 포함. 휘발 금지. (영향 § 가 현재 작업 § 와 다르면 아래 "다른 섹션 변경·추가 발생 시" 와 동일 절차로 처리)
|
|
143
|
+
- ❌ 나쁜 예: §1 단계에서 "Location 코드는 영문 대문자만" 흘림 → §6.1 임의안에 미반영
|
|
144
|
+
- ✅ 좋은 예: 위 발언 인식 → §6.1 임의안에 "Location 코드 영문 대문자/숫자/하이픈" 포함
|
|
145
|
+
- **Requirement Source 부정확성** (STT 오타 / 화자 추정 / 모호 발화 / 도메인 용어 다의성): [.claude/references/sd-requirement-source-handling.md](../../references/sd-requirement-source-handling.md).
|
|
146
|
+
- **단계 순서**: 1~6단계는 권장 기본 진행 순서. 의존성(§4/§5 는 매핑 §2/§3 확정 필요)만 지키면 항목별 보류·점프 자유. 예: §2.1 확정 → §2.2/§2.3 보류 → §2.1 관련 §4.x 진행.
|
|
147
|
+
- **보류·재개**: 임의안 제시 후 사용자가 보류 지시 → 해당 섹션 헤더 `[OPEN: 날짜]` + 본문은 재분석용 참조 포인터로 작성 (자료 라인 범위·대화 발췌·자료 연결 메모, spec-authoring "헤더 `[OPEN]` 본문" 참조). 임의안은 본문에 남기지 X. 보류 처리 자체는 추가 "맞나요?" 묻기 없이 즉시 다음 항목 진행. 재개 지시 시 본문 포인터로 자료 재독·임의안 재도출 → 확정되면 본문 임의안 교체 + 헤더 `[확정: 날짜]`.
|
|
148
|
+
- **OPEN 섹션 영향 푸시**: 임의안 확정 시 그 결정이 현재 `[OPEN]` 인 다른 섹션의 재분석 결과에 영향을 줄 수 있는지 자기검증. 영향 있으면 해당 OPEN 섹션 본문 포인터에 "§X.Y `<섹션명>` 확정 — <결정 한 줄>" 메모 한 줄을 같은 작업에 함께 추가하고 사용자에 한 줄 보고. 별도 "맞나요?" X (확정된 결정의 기록일 뿐, 임의안 X).
|
|
149
|
+
- **_wip.md**: sd-spec 은 _wip.md 를 직접 작성·갱신·삭제 X. 진행 중 분석 컨텍스트는 대화에 두고, 사용자가 sd-wip 호출 시 그 시점까지의 컨텍스트가 압축된다. sd-spec 은 진입 시 동반 읽기만.
|
|
150
|
+
- **다른 섹션 변경·추가 발생 시**: 발견 경로 무관 — 본문 작성 중 / 자료 재독 중 / 사용자 흘림 / 외부 조사 / OPEN 섹션 재분석 부산물 등 **어디서든** 다른 섹션(기존 §x.x 본문 보강 포함, 신규 §x.x 추가 포함, §6/§7/§8 공통 섹션 추가 포함)에 반영할 정보가 발견되면, 해당 섹션 LLM 임의안 보여주고 "맞나요?" 확정 받은 후 원 작업 재개. 휘발·미루기 금지 — 발견 즉시 같은 턴에 처리.
|
|
151
|
+
- ❌ 나쁜 예: §2.1 본문 작성 중 자료 재독에서 "BOA 는 매일 갱신되며 라인이 며칠 내 사라짐" 발견 → 메모 없이 §2.1 본문만 계속 작성 (§6.3 BOA 자료 명세 보강 누락)
|
|
152
|
+
- ✅ 좋은 예: 위 발견 즉시 §6.3 보강 임의안("자료 라이프사이클: 매일 송신 단기 자료, 사라진 라인은 일자 스냅샷 누적으로 추적") 제시 → "맞나요?" 확정 → §6.3 반영 후 §2.1 재개
|
|
153
|
+
- **§9 본문 외 결정사항**: 작업 중 발생 시 사용자 확인 후 추가. "분석 제외 항목" 절은 2단계에서 1단계 제외 결정으로 초기 채움, 이후 새 제외 결정 등장 시 같은 절에 추가.
|
|
154
|
+
- **§4.x/§5.x 구현 마커 제거**: §4.x 화면 / §5.x 자동 처리 의 **본문 자체** 또는 **그 본문이 의존하는 다른 섹션의 본문**이 갱신되면, 헤더의 `[확정: …, 구현: …]` 중 `, 구현: 날짜` 부분만 제거해 `[확정: 날짜]` 로 환원 (이전 구현 무효화 → sd-impl 재실행 대기). 확정 날짜 갱신 여부는 무관. 마커 정의는 [spec-authoring.md 헤더 마커](references/spec-authoring.md) 표.
|
|
155
|
+
- **의존 식별**: §4.x/§5.x 본문에 다음 중 하나라도 나타나는 §x.x 가 그 §4.x/§5.x 의 의존.
|
|
156
|
+
- `관련 섹션:` 줄의 `[프로세스.X]`, `[기타.X]`, `[화면.X]`, `[자동 처리.X]`, `[외부인터페이스.X]`
|
|
157
|
+
- 본문 어느 위치든 등장하는 `[모델.X…]`, `[공통 정의.X]`
|
|
158
|
+
- §6 외부 자료 명세를 컬럼명 일치로 끌어다 쓰는 양식 매핑 표 (해당 §6.x)
|
|
159
|
+
- 모달 호출 `→ [화면.X]` 의 그 §4.x
|
|
160
|
+
- **전파 방향**: 참조 대상 → 참조하는 §4.x/§5.x 단방향.
|
|
161
|
+
- **처리 시점**: "다른 섹션 변경·추가 발생 시" 와 같은 턴. 변경 임의안 확정 시 영향 받는 §4.x/§5.x 를 번호 매겨 각 한 줄 이유(어느 §x.x 의 어떤 변경 때문에 무효화되는지)와 함께 모아 보여주고 "맞나요?" 확인. 사용자 답변에 따라 처리:
|
|
162
|
+
- 전부 동의 → 일괄 마커 제거.
|
|
163
|
+
- 일부 유지 지목 (예: "3~5는 유지") → 지목 항목은 마커 유지, 나머지만 제거.
|