@soddong/agentic-domain-methodology 0.11.1

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.
Files changed (90) hide show
  1. package/.tbls.yml +64 -0
  2. package/CHANGELOG.md +97 -0
  3. package/README.md +501 -0
  4. package/dist/database.d.ts +8 -0
  5. package/dist/database.d.ts.map +1 -0
  6. package/dist/database.js +76 -0
  7. package/dist/database.js.map +1 -0
  8. package/dist/fixtures.d.ts +13 -0
  9. package/dist/fixtures.d.ts.map +1 -0
  10. package/dist/fixtures.js +413 -0
  11. package/dist/fixtures.js.map +1 -0
  12. package/dist/index.d.ts +31 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +19 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/repositories.d.ts +54 -0
  17. package/dist/repositories.d.ts.map +1 -0
  18. package/dist/repositories.js +652 -0
  19. package/dist/repositories.js.map +1 -0
  20. package/dist/seed-apply.d.ts +20 -0
  21. package/dist/seed-apply.d.ts.map +1 -0
  22. package/dist/seed-apply.js +728 -0
  23. package/dist/seed-apply.js.map +1 -0
  24. package/dist/service.d.ts +107 -0
  25. package/dist/service.d.ts.map +1 -0
  26. package/dist/service.js +225 -0
  27. package/dist/service.js.map +1 -0
  28. package/dist/types.d.ts +356 -0
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/types.js +2 -0
  31. package/dist/types.js.map +1 -0
  32. package/dist/validators.d.ts +17 -0
  33. package/dist/validators.d.ts.map +1 -0
  34. package/dist/validators.js +297 -0
  35. package/dist/validators.js.map +1 -0
  36. package/docs/build.md +47 -0
  37. package/docs/configuration.md +33 -0
  38. package/docs/delivery.md +52 -0
  39. package/docs/operations.md +55 -0
  40. package/docs/publishing.md +84 -0
  41. package/docs/schema/generated/README.md +39 -0
  42. package/docs/schema/generated/methodology_activities.md +121 -0
  43. package/docs/schema/generated/methodology_activities.svg +143 -0
  44. package/docs/schema/generated/methodology_activity_artifact_requirements.md +129 -0
  45. package/docs/schema/generated/methodology_activity_artifact_requirements.svg +52 -0
  46. package/docs/schema/generated/methodology_activity_criteria.md +112 -0
  47. package/docs/schema/generated/methodology_activity_criteria.svg +52 -0
  48. package/docs/schema/generated/methodology_baseline_requirements.md +103 -0
  49. package/docs/schema/generated/methodology_baseline_requirements.svg +27 -0
  50. package/docs/schema/generated/methodology_code_groups.md +70 -0
  51. package/docs/schema/generated/methodology_code_groups.svg +49 -0
  52. package/docs/schema/generated/methodology_codes.md +88 -0
  53. package/docs/schema/generated/methodology_codes.svg +49 -0
  54. package/docs/schema/generated/methodology_common_blueprint_policies.md +104 -0
  55. package/docs/schema/generated/methodology_common_blueprint_policies.svg +72 -0
  56. package/docs/schema/generated/methodology_common_blueprint_policy_nodes.md +118 -0
  57. package/docs/schema/generated/methodology_common_blueprint_policy_nodes.svg +59 -0
  58. package/docs/schema/generated/methodology_handoff_requirements.md +130 -0
  59. package/docs/schema/generated/methodology_handoff_requirements.svg +27 -0
  60. package/docs/schema/generated/methodology_lifecycles.md +105 -0
  61. package/docs/schema/generated/methodology_lifecycles.svg +71 -0
  62. package/docs/schema/generated/methodology_methodologies.md +92 -0
  63. package/docs/schema/generated/methodology_methodologies.svg +92 -0
  64. package/docs/schema/generated/methodology_phase_processes.md +106 -0
  65. package/docs/schema/generated/methodology_phase_processes.svg +77 -0
  66. package/docs/schema/generated/methodology_phases.md +107 -0
  67. package/docs/schema/generated/methodology_phases.svg +77 -0
  68. package/docs/schema/generated/methodology_processes.md +98 -0
  69. package/docs/schema/generated/methodology_processes.svg +118 -0
  70. package/docs/schema/generated/methodology_schema_migrations.md +52 -0
  71. package/docs/schema/generated/methodology_schema_migrations.svg +27 -0
  72. package/docs/schema/generated/methodology_stage_activities.md +106 -0
  73. package/docs/schema/generated/methodology_stage_activities.svg +77 -0
  74. package/docs/schema/generated/methodology_stage_artifact_requirements.md +109 -0
  75. package/docs/schema/generated/methodology_stage_artifact_requirements.svg +52 -0
  76. package/docs/schema/generated/methodology_stage_criteria.md +112 -0
  77. package/docs/schema/generated/methodology_stage_criteria.svg +52 -0
  78. package/docs/schema/generated/methodology_stages.md +117 -0
  79. package/docs/schema/generated/methodology_stages.svg +121 -0
  80. package/docs/schema/generated/methodology_steps.md +105 -0
  81. package/docs/schema/generated/methodology_steps.svg +52 -0
  82. package/docs/schema/generated/methodology_trace_policies.md +121 -0
  83. package/docs/schema/generated/methodology_trace_policies.svg +27 -0
  84. package/docs/schema/generated/schema.json +4253 -0
  85. package/docs/schema/generated/schema.mmd +296 -0
  86. package/docs/schema/generated/schema.svg +446 -0
  87. package/docs/schema/migrations.md +24 -0
  88. package/docs/usage.md +39 -0
  89. package/package.json +29 -0
  90. package/src/database/migrations/0001_methodology_base.sql +1190 -0
@@ -0,0 +1,76 @@
1
+ import Database from "better-sqlite3";
2
+ import { existsSync, mkdirSync, readFileSync } from "node:fs";
3
+ import { dirname, isAbsolute, join } from "node:path";
4
+ const DEFAULT_DATABASE_PATH = ".agentic/platform.sqlite";
5
+ function readProjectConfig(projectRoot) {
6
+ const configPath = join(projectRoot, "agentic.config.json");
7
+ if (!existsSync(configPath)) {
8
+ return {};
9
+ }
10
+ return JSON.parse(readFileSync(configPath, "utf8"));
11
+ }
12
+ export function resolveMethodologyDatabasePath(options = {}) {
13
+ if (options.databasePath !== undefined) {
14
+ return isAbsolute(options.databasePath)
15
+ ? options.databasePath
16
+ : join(options.projectRoot ?? process.cwd(), options.databasePath);
17
+ }
18
+ const projectRoot = options.projectRoot ?? process.cwd();
19
+ const config = readProjectConfig(projectRoot);
20
+ const database = config.runtime?.database;
21
+ if (database?.type !== undefined && database.type !== "sqlite") {
22
+ throw new Error(`Unsupported methodology database type: ${database.type}`);
23
+ }
24
+ const configuredPath = database?.path ?? DEFAULT_DATABASE_PATH;
25
+ return isAbsolute(configuredPath) ? configuredPath : join(projectRoot, configuredPath);
26
+ }
27
+ function readMethodologyBaseMigration() {
28
+ const migrationUrl = new URL("../src/database/migrations/0001_methodology_base.sql", import.meta.url);
29
+ return readFileSync(migrationUrl, "utf8");
30
+ }
31
+ export function listMethodologyTables(db) {
32
+ const rows = db
33
+ .prepare(`SELECT name
34
+ FROM sqlite_master
35
+ WHERE type = 'table'
36
+ AND name LIKE 'methodology_%'
37
+ ORDER BY name`)
38
+ .all();
39
+ return rows.map((row) => row.name);
40
+ }
41
+ export function applyMethodologyBaseMigration(db) {
42
+ db.exec(readMethodologyBaseMigration());
43
+ }
44
+ export function openMethodologyDatabase(options = {}) {
45
+ const databasePath = resolveMethodologyDatabasePath(options);
46
+ mkdirSync(dirname(databasePath), { recursive: true });
47
+ const db = new Database(databasePath);
48
+ try {
49
+ db.pragma("journal_mode = WAL");
50
+ db.pragma("foreign_keys = ON");
51
+ if (options.applyMigration !== false) {
52
+ applyMethodologyBaseMigration(db);
53
+ }
54
+ return db;
55
+ }
56
+ catch (error) {
57
+ db.close();
58
+ throw error;
59
+ }
60
+ }
61
+ export function initializeMethodologyDatabase(options = {}) {
62
+ const databasePath = resolveMethodologyDatabasePath(options);
63
+ const created = !existsSync(databasePath);
64
+ const db = openMethodologyDatabase(options);
65
+ try {
66
+ return {
67
+ databasePath,
68
+ created,
69
+ tables: listMethodologyTables(db)
70
+ };
71
+ }
72
+ finally {
73
+ db.close();
74
+ }
75
+ }
76
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type Database from "better-sqlite3";
2
+ import { type MethodologyStructure } from "./service.js";
3
+ export interface SeedBuildPlanningExampleOptions {
4
+ readonly methodologyCode?: string;
5
+ readonly methodologyVersion?: string;
6
+ }
7
+ export interface SeedBuildPlanningExampleResult {
8
+ readonly seeded: boolean;
9
+ readonly methodologyId: string;
10
+ readonly structure: MethodologyStructure;
11
+ }
12
+ export declare function seedBuildPlanningExample(db: Database.Database, options?: SeedBuildPlanningExampleOptions): SeedBuildPlanningExampleResult;
13
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAO7E,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;CAC1C;AAuTD,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,GAAE,+BAAoC,GAC5C,8BAA8B,CAuIhC"}
@@ -0,0 +1,413 @@
1
+ import { MethodologyService } from "./service.js";
2
+ const stages = [
3
+ {
4
+ code: "analysis",
5
+ name: "Analysis Stage",
6
+ objective: "컴포넌트 개발 대상의 업무 범위, 정보 객체 책임, 기능 책임을 정의하고 후속 설계 입력 기준선을 수립한다."
7
+ },
8
+ {
9
+ code: "interface_design",
10
+ name: "Interface Design Stage",
11
+ objective: "컴포넌트 계약 인터페이스와 내부 인터페이스 기준선을 수립한다."
12
+ },
13
+ {
14
+ code: "structure_design",
15
+ name: "Structure Design Stage",
16
+ objective: "컴포넌트 모듈 책임 구조와 물리 구조를 확정하고 API 명세 및 Reference 생성 기준을 수립한다."
17
+ },
18
+ {
19
+ code: "build_scope_planning",
20
+ name: "Build Scope Planning Stage",
21
+ objective: "Build 단위 구현 범위, 의존성, Gate 기준, 후속 개발 입력 패키지를 정의한다."
22
+ }
23
+ ];
24
+ const activities = [
25
+ {
26
+ code: "input_baseline_definition",
27
+ name: "선행 산출물 입력 기준선 정의",
28
+ purpose: "선행 입력 산출물의 출처, 버전, 기준성, 포함 범위, 해석 제약을 정의한다.",
29
+ stageCode: "analysis",
30
+ artifactCode: "input-baseline-definition",
31
+ artifactName: "선행 산출물 입력 기준선 정의서",
32
+ steps: [
33
+ "선행 입력 산출물 식별",
34
+ "입력 산출물 출처 및 버전 확인",
35
+ "포함/제외 입력 범위 결정",
36
+ "입력 해석 제약 정의"
37
+ ]
38
+ },
39
+ {
40
+ code: "component_business_process_definition",
41
+ name: "컴포넌트 비즈니스 프로세스 정의",
42
+ purpose: "컴포넌트 업무 범위, 비즈니스 프로세스, Activity, Step, 업무 규칙과 예외 조건을 정의한다.",
43
+ stageCode: "analysis",
44
+ artifactCode: "component-business-process-definition",
45
+ artifactName: "컴포넌트 비즈니스 프로세스 정의서",
46
+ artifactComponentCode: "appendix_l3_process",
47
+ artifactComponentRoleCode: "APPENDIX",
48
+ outputUsageCode: "produces",
49
+ steps: [
50
+ "컴포넌트 비즈니스 범위 식별",
51
+ "비즈니스 프로세스 도출",
52
+ "Activity 도출",
53
+ "Activity별 Step 도출"
54
+ ]
55
+ },
56
+ {
57
+ code: "component_information_object_responsibility_definition",
58
+ name: "컴포넌트 정보 객체 책임 정의",
59
+ purpose: "정보 객체 후보, 생명주기 책임, 외부 책임 정보 객체, 속성, 식별자, 관계를 정의한다.",
60
+ stageCode: "analysis",
61
+ artifactCode: "component-information-object-responsibility-definition",
62
+ artifactName: "컴포넌트 정보 객체 책임 정의서",
63
+ steps: [
64
+ "정보 객체 후보 식별",
65
+ "정보 객체 책임 구분",
66
+ "정보 객체 생명주기 책임 정의",
67
+ "정보 객체 관계 정의"
68
+ ]
69
+ },
70
+ {
71
+ code: "component_function_responsibility_definition",
72
+ name: "컴포넌트 기능 책임 정의",
73
+ purpose: "기능 후보, Function ID, 기능 책임 범위, 입출력, 업무 규칙, 검증 조건을 정의한다.",
74
+ stageCode: "analysis",
75
+ artifactCode: "component-function-responsibility-definition",
76
+ artifactName: "컴포넌트 기능 책임 정의서",
77
+ steps: [
78
+ "기능 후보 식별",
79
+ "Function ID 부여",
80
+ "기능 책임 범위 정의",
81
+ "후속 인터페이스/구조 설계 후보 연결"
82
+ ]
83
+ },
84
+ {
85
+ code: "component_contract_interface_definition",
86
+ name: "컴포넌트 계약 인터페이스 정의",
87
+ purpose: "외부 또는 타 컴포넌트에 제공할 계약 인터페이스, Operation, 요청/응답 모델, 오류 계약을 정의한다.",
88
+ stageCode: "interface_design",
89
+ artifactCode: "component-contract-interface-definition",
90
+ artifactName: "컴포넌트 계약 인터페이스 정의서",
91
+ steps: [
92
+ "계약 인터페이스 후보 식별",
93
+ "계약 Operation 도출",
94
+ "Operation 입력 모델 정의",
95
+ "오류 및 예외 계약 정의"
96
+ ]
97
+ },
98
+ {
99
+ code: "component_internal_interface_definition",
100
+ name: "컴포넌트 내부 인터페이스 정의",
101
+ purpose: "내부 모듈 간 인터페이스, Operation, 입력/출력 모델, 내부 호출 방식을 정의한다.",
102
+ stageCode: "interface_design",
103
+ artifactCode: "component-internal-interface-definition",
104
+ artifactName: "컴포넌트 내부 인터페이스 정의서",
105
+ steps: [
106
+ "내부 인터페이스 후보 식별",
107
+ "제공 모듈 후보 식별",
108
+ "내부 Operation 도출",
109
+ "내부 호출 방식 정의"
110
+ ]
111
+ },
112
+ {
113
+ code: "component_module_responsibility_structure_definition",
114
+ name: "컴포넌트 모듈 책임 구조 정의",
115
+ purpose: "role module 후보, 모듈 책임, 포함/제외 대상, 모듈 간 의존 관계와 API 배치 원칙을 정의한다.",
116
+ stageCode: "structure_design",
117
+ artifactCode: "component-module-responsibility-structure-definition",
118
+ artifactName: "컴포넌트 모듈 책임 구조 정의서",
119
+ steps: [
120
+ "role module 후보 식별",
121
+ "모듈 책임 정의",
122
+ "모듈 간 의존 관계 정의",
123
+ "API 배치 원칙 정의"
124
+ ]
125
+ },
126
+ {
127
+ code: "component_physical_structure_design",
128
+ name: "컴포넌트 물리 구조 설계",
129
+ purpose: "Gradle Project/Subproject, Source Set, Java Package 구조, 산출물 배치, 자동 생성 기준을 정의한다.",
130
+ stageCode: "structure_design",
131
+ artifactCode: "component-physical-structure-design",
132
+ artifactName: "컴포넌트 물리 구조 설계서",
133
+ steps: [
134
+ "Gradle Project 구조 정의",
135
+ "Gradle Subproject 구조 정의",
136
+ "Java Base Package 정의",
137
+ "모듈별 산출물 배치 정의"
138
+ ]
139
+ },
140
+ {
141
+ code: "component_project_module_generation",
142
+ name: "컴포넌트 프로젝트 및 모듈 생성",
143
+ purpose: "프로젝트 생성 입력을 검증하고 Gradle Project/Subproject 및 role module 디렉터리를 생성한다.",
144
+ stageCode: "structure_design",
145
+ artifactCode: "component-project-module-generation-result",
146
+ artifactName: "컴포넌트 프로젝트 및 모듈 생성 결과서",
147
+ steps: [
148
+ "프로젝트 생성 입력 검증",
149
+ "Gradle Project 생성",
150
+ "Gradle Subproject 생성",
151
+ "생성 결과 검증"
152
+ ]
153
+ },
154
+ {
155
+ code: "api_specification_generation",
156
+ name: "API 명세 생성",
157
+ purpose: "계약 Java API, 내부 Java API, Open API 명세를 생성하고 인터페이스 정의와 추적성을 검증한다.",
158
+ stageCode: "structure_design",
159
+ artifactCode: "api-specification-package",
160
+ artifactName: "API 명세 패키지",
161
+ steps: [
162
+ "계약 Java API 명세 생성",
163
+ "내부 Java API 명세 생성",
164
+ "Open API 명세 생성",
165
+ "API 명세와 인터페이스 정의 간 추적성 검증"
166
+ ]
167
+ },
168
+ {
169
+ code: "api_reference_generation_validation",
170
+ name: "API Reference 생성 및 검증",
171
+ purpose: "Java/Open API Reference를 생성하고 접근 경로와 누락/오류를 검증한다.",
172
+ stageCode: "structure_design",
173
+ artifactCode: "api-reference-generation-result",
174
+ artifactName: "API Reference 생성 결과서",
175
+ steps: [
176
+ "Java API Reference 생성",
177
+ "Open API Reference 생성",
178
+ "Reference 접근 URL 정의",
179
+ "Reference 누락/오류 검증"
180
+ ]
181
+ },
182
+ {
183
+ code: "build_scope_planning",
184
+ name: "Build 범위 계획",
185
+ purpose: "Build #1~#3 대상 기능/API/모듈 범위, 우선순위, 완료 기준을 정의한다.",
186
+ stageCode: "build_scope_planning",
187
+ artifactCode: "build-scope-plan",
188
+ artifactName: "Build Scope Plan",
189
+ steps: [
190
+ "Build 편성 기준 정의",
191
+ "Build #1 대상 기능/API/모듈 편성",
192
+ "Build별 우선순위 정의",
193
+ "Build별 완료 기준 정의"
194
+ ]
195
+ },
196
+ {
197
+ code: "build_dependency_definition",
198
+ name: "Build 간 의존성 정의",
199
+ purpose: "Build 간 선후 관계, 의존 대상, 의존 유형, 의존성 관리 방안을 정의한다.",
200
+ stageCode: "build_scope_planning",
201
+ artifactCode: "build-dependency-definition",
202
+ artifactName: "Build 의존성 정의서",
203
+ steps: [
204
+ "Build 간 선행/후속 관계 식별",
205
+ "Build 간 의존 대상 정의",
206
+ "Build 간 의존 유형 정의",
207
+ "의존성 관리 방안 정의"
208
+ ]
209
+ },
210
+ {
211
+ code: "build_gate_criteria_definition",
212
+ name: "Build Gate 기준 정의",
213
+ purpose: "Build Entry/Exit Gate, 산출물 승인 기준, 품질 기준, 미충족 시 조치 기준을 정의한다.",
214
+ stageCode: "build_scope_planning",
215
+ artifactCode: "build-gate-criteria",
216
+ artifactName: "Build Gate 기준서",
217
+ steps: [
218
+ "Build Entry Gate 정의",
219
+ "Build Exit Gate 정의",
220
+ "산출물 승인 기준 정의",
221
+ "Gate 미충족 시 조치 기준 정의"
222
+ ]
223
+ },
224
+ {
225
+ code: "build_development_input_package_definition",
226
+ name: "Build 개발 입력 패키지 정의",
227
+ purpose: "Build별 입력 기준선, nova-spec-kit 입력 연결 기준, 구조 설계 변경 역류 기준, Handoff Contract를 정의한다.",
228
+ stageCode: "build_scope_planning",
229
+ artifactCode: "build-handoff-package",
230
+ artifactName: "Build Handoff Package",
231
+ steps: [
232
+ "Build별 입력 기준선 정의",
233
+ "nova-spec-kit requirements 입력 연결 기준 정의",
234
+ "구조 설계 변경 역류 기준 정의",
235
+ "Build별 Handoff Contract 정의"
236
+ ]
237
+ },
238
+ {
239
+ code: "artifact_management",
240
+ name: "산출물 관리",
241
+ purpose: "산출물 목록, 버전, 기준선 여부, 승인 상태를 관리한다.",
242
+ artifactCode: "artifact-management-register",
243
+ artifactName: "산출물 관리 대장",
244
+ steps: [
245
+ "산출물 목록 관리",
246
+ "산출물 버전 관리",
247
+ "기준선 여부 관리",
248
+ "승인 상태 관리"
249
+ ]
250
+ },
251
+ {
252
+ code: "traceability_management",
253
+ name: "Traceability 관리",
254
+ purpose: "입력, 프로세스, 정보 객체, 기능, 인터페이스, 모듈, API, Build Scope 간 추적성을 관리한다.",
255
+ artifactCode: "traceability-matrix",
256
+ artifactName: "Traceability Matrix",
257
+ steps: [
258
+ "입력-프로세스-정보 객체-기능 추적성 정의",
259
+ "기능-인터페이스-모듈-API 추적성 정의",
260
+ "API-Build Scope 추적성 정의"
261
+ ]
262
+ },
263
+ {
264
+ code: "contract_management",
265
+ name: "Contract 관리",
266
+ purpose: "Input Contract, Output Contract, Handoff Contract와 충족 여부 검증 기준을 관리한다.",
267
+ artifactCode: "input-output-handoff-contract",
268
+ artifactName: "Input/Output/Handoff Contract",
269
+ steps: [
270
+ "Input Contract 정의",
271
+ "Output Contract 정의",
272
+ "Handoff Contract 정의",
273
+ "Contract 충족 여부 검증"
274
+ ]
275
+ }
276
+ ];
277
+ function findStage(stagesByCode, stageCode) {
278
+ const stage = stagesByCode.get(stageCode);
279
+ if (stage === undefined) {
280
+ throw new Error(`Unknown fixture stage code: ${stageCode}`);
281
+ }
282
+ return stage;
283
+ }
284
+ function artifactStandardCode(activity) {
285
+ return `build-planning.${activity.artifactCode}`;
286
+ }
287
+ export function seedBuildPlanningExample(db, options = {}) {
288
+ const methodologyCode = options.methodologyCode ?? "build_planning_example";
289
+ const methodologyVersion = options.methodologyVersion ?? "1.0.0";
290
+ const service = new MethodologyService(db);
291
+ const existing = service.repository.findMethodologyByCodeVersion(methodologyCode, methodologyVersion);
292
+ if (existing !== undefined) {
293
+ return {
294
+ seeded: false,
295
+ methodologyId: existing.methodologyId,
296
+ structure: service.getMethodologyStructure(existing.methodologyId)
297
+ };
298
+ }
299
+ const seed = db.transaction(() => {
300
+ const methodology = service.createMethodology({
301
+ methodologyCode,
302
+ methodologyName: "Build Planning 방법론 예시",
303
+ methodologyVersion,
304
+ methodologyStatusCode: "draft",
305
+ description: "temp/ 아래 Build Planning Phase 방법론 정리 문서를 기반으로 구성한 예시 fixture입니다.",
306
+ metadata: {
307
+ sourceDocuments: [
308
+ "temp/0623-2332 Build Planning Phase Process Activity Task 종합 정리 보고서.md",
309
+ "temp/0623-2340 Build Planning Phase Activity 산출물 목차 및 구성요소 보고서.md"
310
+ ]
311
+ }
312
+ });
313
+ const lifecycle = service.createLifecycle({
314
+ methodologyId: methodology.methodologyId,
315
+ lifecycleCode: "incremental_build_lifecycle",
316
+ lifecycleName: "증분 빌드 생명주기",
317
+ lifecycleTypeCode: "incremental",
318
+ sortOrder: 10
319
+ });
320
+ const phase = service.createPhase({
321
+ lifecycleId: lifecycle.lifecycleId,
322
+ phaseCode: "build_planning",
323
+ phaseName: "Build Planning Phase",
324
+ phasePurpose: "후속 Build 개발을 위한 기준선, 설계 구조, Build 범위, Handoff 기준을 수립한다.",
325
+ sortOrder: 10
326
+ });
327
+ const process = service.createProcess({
328
+ methodologyId: methodology.methodologyId,
329
+ processCode: "build_planning_process",
330
+ processName: "Build Planning Process",
331
+ processPurpose: "Build Planning Phase 내부 실행 구조를 Stage, Activity, Step, Artifact Requirement로 구성한다.",
332
+ processTypeCode: "authoring"
333
+ });
334
+ service.assignProcessToPhase({
335
+ phaseId: phase.phaseId,
336
+ processId: process.processId,
337
+ sortOrder: 10
338
+ });
339
+ const stagesByCode = new Map();
340
+ let stageSortOrder = 10;
341
+ for (const stage of stages) {
342
+ const record = service.createStage({
343
+ processId: process.processId,
344
+ stageCode: stage.code,
345
+ stageName: stage.name,
346
+ stageObjective: stage.objective,
347
+ stageTypeCode: "default",
348
+ sortOrder: stageSortOrder
349
+ });
350
+ stagesByCode.set(stage.code, record);
351
+ stageSortOrder += 10;
352
+ }
353
+ let activitySortOrder = 10;
354
+ for (const activity of activities) {
355
+ const activityRecord = service.createActivity({
356
+ processId: process.processId,
357
+ activityCode: activity.code,
358
+ activityName: activity.name,
359
+ activityPurpose: activity.purpose,
360
+ activityTypeCode: activity.stageCode === undefined ? "governance" : "authoring",
361
+ sortOrder: activitySortOrder,
362
+ metadata: {
363
+ fixtureArtifactName: activity.artifactName,
364
+ fixtureSource: "Build Planning temp reports"
365
+ }
366
+ });
367
+ if (activity.stageCode !== undefined) {
368
+ const stage = findStage(stagesByCode, activity.stageCode);
369
+ service.assignActivityToStage({
370
+ stageId: stage.stageId,
371
+ activityId: activityRecord.activityId,
372
+ sortOrder: activitySortOrder
373
+ });
374
+ }
375
+ let stepSortOrder = 10;
376
+ for (const stepName of activity.steps) {
377
+ service.createStep({
378
+ activityId: activityRecord.activityId,
379
+ stepCode: `${activity.code}_step_${String(stepSortOrder).padStart(3, "0")}`,
380
+ stepName,
381
+ stepInstruction: stepName,
382
+ stepTypeCode: "default",
383
+ sortOrder: stepSortOrder
384
+ });
385
+ stepSortOrder += 10;
386
+ }
387
+ service.addActivityArtifactRequirement({
388
+ activityId: activityRecord.activityId,
389
+ artifactStandardCode: artifactStandardCode(activity),
390
+ artifactStandardVersion: "1.0.0",
391
+ artifactComponentCode: activity.artifactComponentCode,
392
+ artifactComponentRoleCode: activity.artifactComponentRoleCode,
393
+ requirementRoleCode: "output",
394
+ outputUsageCode: activity.outputUsageCode ?? "produces",
395
+ isPrimary: true,
396
+ validationRequired: true,
397
+ sortOrder: 10,
398
+ metadata: {
399
+ artifactName: activity.artifactName
400
+ }
401
+ });
402
+ activitySortOrder += 10;
403
+ }
404
+ return methodology;
405
+ });
406
+ const methodology = seed();
407
+ return {
408
+ seeded: true,
409
+ methodologyId: methodology.methodologyId,
410
+ structure: service.getMethodologyStructure(methodology.methodologyId)
411
+ };
412
+ }
413
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export declare const agenticDomainMethodologyPackage: {
2
+ readonly name: "@soddong/agentic-domain-methodology";
3
+ readonly version: "0.11.1";
4
+ readonly layer: "domain";
5
+ readonly logicalSchema: "methodology";
6
+ readonly sqliteTablePrefix: "methodology_";
7
+ readonly cli: "not-provided";
8
+ readonly adapter: "not-provided";
9
+ };
10
+ export interface MethodologyPackageInfo {
11
+ readonly name: "@soddong/agentic-domain-methodology";
12
+ readonly version: "0.11.1";
13
+ readonly layer: "domain";
14
+ readonly logicalSchema: "methodology";
15
+ readonly sqliteTablePrefix: "methodology_";
16
+ readonly cli: "not-provided";
17
+ readonly adapter: "not-provided";
18
+ }
19
+ export declare function getMethodologyPackageInfo(): MethodologyPackageInfo;
20
+ export { applyMethodologyBaseMigration, initializeMethodologyDatabase, listMethodologyTables, openMethodologyDatabase, resolveMethodologyDatabasePath } from "./database.js";
21
+ export { MethodologyRepository } from "./repositories.js";
22
+ export { MethodologyService } from "./service.js";
23
+ export { seedBuildPlanningExample } from "./fixtures.js";
24
+ export { applyAgenticSeed } from "./seed-apply.js";
25
+ export { validateActivityArtifactRequirements, validateBaselineRequirementReferences, validateHandoffRequirementReferences, validateMethodologyDefinition, validateStageActivityAssignments, validateTracePolicyReferences } from "./validators.js";
26
+ export type { MethodologyValidationOptions, MethodologyValidationScope } from "./validators.js";
27
+ export type { AgenticSeedApplyInput, AgenticSeedApplyResult } from "./seed-apply.js";
28
+ export type { ActivityArtifactRequirementRole, ActivityArtifactOutputUsageCode, AddActivityArtifactRequirementInput, AssignActivityToStageInput, AssignProcessToPhaseInput, CommonBlueprintNodeTypeCode, CommonBlueprintPolicyStatusCode, CriteriaSeverityCode, CreateActivityInput, CreateCommonBlueprintPolicyInput, CreateCommonBlueprintPolicyNodeInput, CreateHandoffRequirementInput, CreateLifecycleInput, CreateMethodologyInput, CreatePhaseInput, CreateProcessInput, CreateStageCriteriaInput, CreateStageInput, CreateStepInput, HandoffScopeCode, HandoffTypeCode, MethodologyActivityArtifactRequirementRecord, MethodologyActivityRecord, MethodologyCommonBlueprintPolicyNodeRecord, MethodologyCommonBlueprintPolicyRecord, MethodologyDatabaseInitResult, MethodologyDatabaseOptions, MethodologyHandoffRequirementRecord, MethodologyLifecycleRecord, MethodologyPhaseProcessRecord, MethodologyPhaseRecord, MethodologyProcessRecord, MethodologyRecord, MethodologyStageActivityRecord, MethodologyStageCriteriaRecord, MethodologyStageRecord, MethodologyStatus, MethodologyStepRecord, StageCriteriaTypeCode, StageArtifactRequirementRole } from "./types.js";
29
+ export type { SeedBuildPlanningExampleOptions, SeedBuildPlanningExampleResult } from "./fixtures.js";
30
+ export type { CreateProcessForLifecycleInput, CreateProcessForPhaseInput, CreateProcessForPhaseResult, MethodologyActivityStructure, MethodologyDefinitionScenarioInput, MethodologyDefinitionScenarioResult, MethodologyLifecycleStructure, MethodologyPhaseStructure, MethodologyProcessStructure, MethodologyStageStructure, MethodologyStructure } from "./service.js";
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B;;;;;;;;CAQlC,CAAC;AAEX,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,qCAAqC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE;AAED,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,oCAAoC,EACpC,6BAA6B,EAC7B,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAEhG,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,+BAA+B,EAC/B,+BAA+B,EAC/B,mCAAmC,EACnC,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,EACnB,gCAAgC,EAChC,oCAAoC,EACpC,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,4CAA4C,EAC5C,yBAAyB,EACzB,0CAA0C,EAC1C,sCAAsC,EACtC,6BAA6B,EAC7B,0BAA0B,EAC1B,mCAAmC,EACnC,0BAA0B,EAC1B,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AACrG,YAAY,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,kCAAkC,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,19 @@
1
+ export const agenticDomainMethodologyPackage = {
2
+ name: "@soddong/agentic-domain-methodology",
3
+ version: "0.11.1",
4
+ layer: "domain",
5
+ logicalSchema: "methodology",
6
+ sqliteTablePrefix: "methodology_",
7
+ cli: "not-provided",
8
+ adapter: "not-provided"
9
+ };
10
+ export function getMethodologyPackageInfo() {
11
+ return agenticDomainMethodologyPackage;
12
+ }
13
+ export { applyMethodologyBaseMigration, initializeMethodologyDatabase, listMethodologyTables, openMethodologyDatabase, resolveMethodologyDatabasePath } from "./database.js";
14
+ export { MethodologyRepository } from "./repositories.js";
15
+ export { MethodologyService } from "./service.js";
16
+ export { seedBuildPlanningExample } from "./fixtures.js";
17
+ export { applyAgenticSeed } from "./seed-apply.js";
18
+ export { validateActivityArtifactRequirements, validateBaselineRequirementReferences, validateHandoffRequirementReferences, validateMethodologyDefinition, validateStageActivityAssignments, validateTracePolicyReferences } from "./validators.js";
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,IAAI,EAAE,qCAAqC;IAC3C,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,aAAa,EAAE,aAAa;IAC5B,iBAAiB,EAAE,cAAc;IACjC,GAAG,EAAE,cAAc;IACnB,OAAO,EAAE,cAAc;CACf,CAAC;AAYX,MAAM,UAAU,yBAAyB;IACvC,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAED,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,oCAAoC,EACpC,6BAA6B,EAC7B,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,54 @@
1
+ import type Database from "better-sqlite3";
2
+ import type { AddActivityArtifactRequirementInput, AssignActivityToStageInput, AssignProcessToPhaseInput, CreateActivityInput, CreateCommonBlueprintPolicyInput, CreateCommonBlueprintPolicyNodeInput, CreateHandoffRequirementInput, CreateLifecycleInput, CreateMethodologyInput, CreatePhaseInput, CreateProcessInput, CreateStageCriteriaInput, CreateStageInput, CreateStepInput, MethodologyActivityArtifactRequirementRecord, MethodologyActivityRecord, MethodologyCommonBlueprintPolicyNodeRecord, MethodologyCommonBlueprintPolicyRecord, MethodologyHandoffRequirementRecord, MethodologyLifecycleRecord, MethodologyRecord, MethodologyPhaseProcessRecord, MethodologyPhaseRecord, MethodologyProcessRecord, MethodologyStageActivityRecord, MethodologyStageCriteriaRecord, MethodologyStageRecord, MethodologyStepRecord } from "./types.js";
3
+ export declare class MethodologyRepository {
4
+ private readonly db;
5
+ constructor(db: Database.Database);
6
+ createMethodology(methodologyId: string, input: CreateMethodologyInput): MethodologyRecord;
7
+ getMethodology(methodologyId: string): MethodologyRecord;
8
+ findMethodologyByCodeVersion(methodologyCode: string, methodologyVersion: string): MethodologyRecord | undefined;
9
+ listMethodologies(): MethodologyRecord[];
10
+ createCommonBlueprintPolicy(policyId: string, input: CreateCommonBlueprintPolicyInput): MethodologyCommonBlueprintPolicyRecord;
11
+ getCommonBlueprintPolicy(policyId: string): MethodologyCommonBlueprintPolicyRecord;
12
+ listCommonBlueprintPoliciesByMethodology(methodologyId: string): MethodologyCommonBlueprintPolicyRecord[];
13
+ createCommonBlueprintPolicyNode(nodeId: string, input: CreateCommonBlueprintPolicyNodeInput): MethodologyCommonBlueprintPolicyNodeRecord;
14
+ getCommonBlueprintPolicyNode(nodeId: string): MethodologyCommonBlueprintPolicyNodeRecord;
15
+ listCommonBlueprintPolicyNodes(policyId: string): MethodologyCommonBlueprintPolicyNodeRecord[];
16
+ createLifecycle(lifecycleId: string, input: CreateLifecycleInput): MethodologyLifecycleRecord;
17
+ getLifecycle(lifecycleId: string): MethodologyLifecycleRecord;
18
+ listLifecyclesByMethodology(methodologyId: string): MethodologyLifecycleRecord[];
19
+ createPhase(phaseId: string, input: CreatePhaseInput): MethodologyPhaseRecord;
20
+ getPhase(phaseId: string): MethodologyPhaseRecord;
21
+ listPhasesByLifecycle(lifecycleId: string): MethodologyPhaseRecord[];
22
+ createProcess(processId: string, input: CreateProcessInput): MethodologyProcessRecord;
23
+ getProcess(processId: string): MethodologyProcessRecord;
24
+ listProcessesByMethodology(methodologyId: string): MethodologyProcessRecord[];
25
+ listProcessesByPhase(phaseId: string): MethodologyProcessRecord[];
26
+ assignProcessToPhase(phaseProcessId: string, input: AssignProcessToPhaseInput): MethodologyPhaseProcessRecord;
27
+ getPhaseProcess(phaseProcessId: string): MethodologyPhaseProcessRecord;
28
+ listPhaseProcessesByPhase(phaseId: string): MethodologyPhaseProcessRecord[];
29
+ createActivity(activityId: string, input: CreateActivityInput): MethodologyActivityRecord;
30
+ getActivity(activityId: string): MethodologyActivityRecord;
31
+ listActivitiesByProcess(processId: string): MethodologyActivityRecord[];
32
+ listActivitiesByStage(stageId: string): MethodologyActivityRecord[];
33
+ createStep(stepId: string, input: CreateStepInput): MethodologyStepRecord;
34
+ getStep(stepId: string): MethodologyStepRecord;
35
+ listStepsByActivity(activityId: string): MethodologyStepRecord[];
36
+ createStage(stageId: string, input: CreateStageInput): MethodologyStageRecord;
37
+ getStage(stageId: string): MethodologyStageRecord;
38
+ listStagesByProcess(processId: string): MethodologyStageRecord[];
39
+ assignActivityToStage(stageActivityId: string, input: AssignActivityToStageInput): MethodologyStageActivityRecord;
40
+ getStageActivity(stageActivityId: string): MethodologyStageActivityRecord;
41
+ listStageActivitiesByStage(stageId: string): MethodologyStageActivityRecord[];
42
+ createStageCriteria(stageCriteriaId: string, input: CreateStageCriteriaInput): MethodologyStageCriteriaRecord;
43
+ getStageCriteria(stageCriteriaId: string): MethodologyStageCriteriaRecord;
44
+ listStageCriteriaByStage(stageId: string): MethodologyStageCriteriaRecord[];
45
+ createHandoffRequirement(handoffRequirementId: string, input: CreateHandoffRequirementInput): MethodologyHandoffRequirementRecord;
46
+ getHandoffRequirement(handoffRequirementId: string): MethodologyHandoffRequirementRecord;
47
+ listHandoffRequirementsBySource(sourceScopeCode: string, sourceRefId: string): MethodologyHandoffRequirementRecord[];
48
+ listHandoffRequirementsByTarget(targetScopeCode: string, targetRefId: string): MethodologyHandoffRequirementRecord[];
49
+ addActivityArtifactRequirement(requirementId: string, input: AddActivityArtifactRequirementInput): MethodologyActivityArtifactRequirementRecord;
50
+ getActivityArtifactRequirement(requirementId: string): MethodologyActivityArtifactRequirementRecord;
51
+ listActivityArtifactRequirements(activityId: string): MethodologyActivityArtifactRequirementRecord[];
52
+ countActivities(): number;
53
+ }
54
+ //# sourceMappingURL=repositories.d.ts.map