@soddong/agentic-domain-artifact-standard 0.11.0

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 (83) hide show
  1. package/.tbls.yml +54 -0
  2. package/CHANGELOG.md +94 -0
  3. package/README.md +386 -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 +11 -0
  9. package/dist/fixtures.d.ts.map +1 -0
  10. package/dist/fixtures.js +537 -0
  11. package/dist/fixtures.js.map +1 -0
  12. package/dist/index.d.ts +72 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +213 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/repositories.d.ts +46 -0
  17. package/dist/repositories.d.ts.map +1 -0
  18. package/dist/repositories.js +730 -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 +198 -0
  23. package/dist/seed-apply.js.map +1 -0
  24. package/dist/service.d.ts +40 -0
  25. package/dist/service.d.ts.map +1 -0
  26. package/dist/service.js +105 -0
  27. package/dist/service.js.map +1 -0
  28. package/dist/types.d.ts +499 -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/docs/build.md +27 -0
  33. package/docs/configuration.md +5 -0
  34. package/docs/delivery.md +26 -0
  35. package/docs/operations.md +28 -0
  36. package/docs/publishing.md +43 -0
  37. package/docs/schema/generated/README.md +38 -0
  38. package/docs/schema/generated/artifact_standard_blueprint_nodes.md +137 -0
  39. package/docs/schema/generated/artifact_standard_blueprint_nodes.svg +88 -0
  40. package/docs/schema/generated/artifact_standard_code_groups.md +70 -0
  41. package/docs/schema/generated/artifact_standard_code_groups.svg +49 -0
  42. package/docs/schema/generated/artifact_standard_codes.md +88 -0
  43. package/docs/schema/generated/artifact_standard_codes.svg +49 -0
  44. package/docs/schema/generated/artifact_standard_component_bindings.md +118 -0
  45. package/docs/schema/generated/artifact_standard_component_bindings.svg +73 -0
  46. package/docs/schema/generated/artifact_standard_components.md +114 -0
  47. package/docs/schema/generated/artifact_standard_components.svg +73 -0
  48. package/docs/schema/generated/artifact_standard_diagram_policies.md +99 -0
  49. package/docs/schema/generated/artifact_standard_diagram_policies.svg +49 -0
  50. package/docs/schema/generated/artifact_standard_document_blueprints.md +101 -0
  51. package/docs/schema/generated/artifact_standard_document_blueprints.svg +128 -0
  52. package/docs/schema/generated/artifact_standard_document_component_relations.md +118 -0
  53. package/docs/schema/generated/artifact_standard_document_component_relations.svg +87 -0
  54. package/docs/schema/generated/artifact_standard_document_components.md +148 -0
  55. package/docs/schema/generated/artifact_standard_document_components.svg +139 -0
  56. package/docs/schema/generated/artifact_standard_figure_policies.md +99 -0
  57. package/docs/schema/generated/artifact_standard_figure_policies.svg +49 -0
  58. package/docs/schema/generated/artifact_standard_generated_output_links.md +144 -0
  59. package/docs/schema/generated/artifact_standard_generated_output_links.svg +57 -0
  60. package/docs/schema/generated/artifact_standard_physical_structure_policies.md +124 -0
  61. package/docs/schema/generated/artifact_standard_physical_structure_policies.svg +78 -0
  62. package/docs/schema/generated/artifact_standard_schema_migrations.md +52 -0
  63. package/docs/schema/generated/artifact_standard_schema_migrations.svg +27 -0
  64. package/docs/schema/generated/artifact_standard_source_mappings.md +120 -0
  65. package/docs/schema/generated/artifact_standard_source_mappings.svg +49 -0
  66. package/docs/schema/generated/artifact_standard_standards.md +102 -0
  67. package/docs/schema/generated/artifact_standard_standards.svg +313 -0
  68. package/docs/schema/generated/artifact_standard_table_column_schemas.md +147 -0
  69. package/docs/schema/generated/artifact_standard_table_column_schemas.svg +52 -0
  70. package/docs/schema/generated/artifact_standard_table_schemas.md +99 -0
  71. package/docs/schema/generated/artifact_standard_table_schemas.svg +71 -0
  72. package/docs/schema/generated/artifact_standard_template_slots.md +143 -0
  73. package/docs/schema/generated/artifact_standard_template_slots.svg +88 -0
  74. package/docs/schema/generated/artifact_standard_validation_rule_set_rules.md +128 -0
  75. package/docs/schema/generated/artifact_standard_validation_rule_set_rules.svg +52 -0
  76. package/docs/schema/generated/artifact_standard_validation_rule_sets.md +91 -0
  77. package/docs/schema/generated/artifact_standard_validation_rule_sets.svg +71 -0
  78. package/docs/schema/generated/schema.json +4230 -0
  79. package/docs/schema/generated/schema.mmd +327 -0
  80. package/docs/schema/generated/schema.svg +510 -0
  81. package/docs/usage.md +197 -0
  82. package/package.json +30 -0
  83. package/src/database/migrations/0001_artifact_standard_base.sql +1295 -0
@@ -0,0 +1,124 @@
1
+ # artifact_standard_physical_structure_policies
2
+
3
+ ## Description
4
+
5
+ <details>
6
+ <summary><strong>Table Definition</strong></summary>
7
+
8
+ ```sql
9
+ CREATE TABLE artifact_standard_physical_structure_policies (
10
+ -- physical structure policy 식별자
11
+ physical_structure_policy_id CHAR(36) PRIMARY KEY
12
+ CHECK (length(physical_structure_policy_id) = 36),
13
+
14
+ -- 소속 산출물 표준 식별자
15
+ artifact_standard_id CHAR(36) NOT NULL
16
+ CHECK (length(artifact_standard_id) = 36),
17
+
18
+ -- 특정 document component에 한정되는 경우의 component 식별자
19
+ document_component_id CHAR(36)
20
+ CHECK (document_component_id IS NULL OR length(document_component_id) = 36),
21
+
22
+ -- physical structure policy 코드
23
+ policy_code VARCHAR(128) NOT NULL,
24
+
25
+ -- physical structure policy 이름
26
+ policy_name VARCHAR(256) NOT NULL,
27
+
28
+ -- 물리 배치 전략 코드
29
+ strategy_code VARCHAR(64) NOT NULL
30
+ CHECK (strategy_code IN ('HIERARCHICAL', 'GROUPED_BY_LEVEL', 'GROUPED_BY_PARENT', 'FLAT_WITH_MANIFEST')),
31
+
32
+ -- 물리 구조에서 관계를 해석하는 기준 원천
33
+ relation_source_code VARCHAR(64) NOT NULL DEFAULT 'DB'
34
+ CHECK (relation_source_code IN ('DB', 'MANIFEST', 'FILE_PATH')),
35
+
36
+ -- 경로 pattern
37
+ path_pattern VARCHAR(1024),
38
+
39
+ -- 파일명 pattern
40
+ naming_pattern VARCHAR(512),
41
+
42
+ -- 기본 정책 여부
43
+ is_default INTEGER NOT NULL DEFAULT 0
44
+ CHECK (is_default IN (0, 1)),
45
+
46
+ -- 설명
47
+ description TEXT,
48
+
49
+ -- 생성 시각
50
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
51
+
52
+ -- 수정 시각
53
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
54
+
55
+ -- 확장 메타데이터
56
+ metadata_json JSON
57
+ CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
58
+
59
+ FOREIGN KEY (artifact_standard_id)
60
+ REFERENCES artifact_standard_standards (artifact_standard_id)
61
+ ON DELETE CASCADE,
62
+
63
+ FOREIGN KEY (document_component_id)
64
+ REFERENCES artifact_standard_document_components (document_component_id)
65
+ ON DELETE SET NULL,
66
+
67
+ UNIQUE (artifact_standard_id, policy_code)
68
+ )
69
+ ```
70
+
71
+ </details>
72
+
73
+ ## Columns
74
+
75
+ | Name | Type | Default | Nullable | Parents |
76
+ | ---------------------------- | ------------- | ----------------- | -------- | --------------------------------------------------------------------------------- |
77
+ | physical_structure_policy_id | CHAR(36) | | true | |
78
+ | artifact_standard_id | CHAR(36) | | false | [artifact_standard_standards](artifact_standard_standards.md) |
79
+ | document_component_id | CHAR(36) | | true | [artifact_standard_document_components](artifact_standard_document_components.md) |
80
+ | policy_code | VARCHAR(128) | | false | |
81
+ | policy_name | VARCHAR(256) | | false | |
82
+ | strategy_code | VARCHAR(64) | | false | |
83
+ | relation_source_code | VARCHAR(64) | 'DB' | false | |
84
+ | path_pattern | VARCHAR(1024) | | true | |
85
+ | naming_pattern | VARCHAR(512) | | true | |
86
+ | is_default | INTEGER | 0 | false | |
87
+ | description | TEXT | | true | |
88
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | |
89
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
90
+ | metadata_json | JSON | | true | |
91
+
92
+ ## Constraints
93
+
94
+ | Name | Type | Definition |
95
+ | ---------------------------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
96
+ | physical_structure_policy_id | PRIMARY KEY | PRIMARY KEY (physical_structure_policy_id) |
97
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (document_component_id) REFERENCES artifact_standard_document_components (document_component_id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
98
+ | - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (artifact_standard_id) REFERENCES artifact_standard_standards (artifact_standard_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
99
+ | sqlite_autoindex_artifact_standard_physical_structure_policies_2 | UNIQUE | UNIQUE (artifact_standard_id, policy_code) |
100
+ | sqlite_autoindex_artifact_standard_physical_structure_policies_1 | PRIMARY KEY | PRIMARY KEY (physical_structure_policy_id) |
101
+ | - | CHECK | CHECK (length(physical_structure_policy_id) = 36) |
102
+ | - | CHECK | CHECK (length(artifact_standard_id) = 36) |
103
+ | - | CHECK | CHECK (document_component_id IS NULL OR length(document_component_id) = 36) |
104
+ | - | CHECK | CHECK (strategy_code IN ('HIERARCHICAL', 'GROUPED_BY_LEVEL', 'GROUPED_BY_PARENT', 'FLAT_WITH_MANIFEST')) |
105
+ | - | CHECK | CHECK (relation_source_code IN ('DB', 'MANIFEST', 'FILE_PATH')) |
106
+ | - | CHECK | CHECK (is_default IN (0, 1)) |
107
+ | - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
108
+
109
+ ## Indexes
110
+
111
+ | Name | Definition |
112
+ | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
113
+ | ux_artifact_standard_physical_structure_default | CREATE UNIQUE INDEX ux_artifact_standard_physical_structure_default<br /> ON artifact_standard_physical_structure_policies (artifact_standard_id)<br /> WHERE is_default = 1 |
114
+ | idx_artifact_standard_physical_structure_policies_standard | CREATE INDEX idx_artifact_standard_physical_structure_policies_standard<br /> ON artifact_standard_physical_structure_policies (artifact_standard_id) |
115
+ | sqlite_autoindex_artifact_standard_physical_structure_policies_2 | UNIQUE (artifact_standard_id, policy_code) |
116
+ | sqlite_autoindex_artifact_standard_physical_structure_policies_1 | PRIMARY KEY (physical_structure_policy_id) |
117
+
118
+ ## Relations
119
+
120
+ ![er](artifact_standard_physical_structure_policies.svg)
121
+
122
+ ---
123
+
124
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,78 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 12.1.2 (20240928.0832)
5
+ -->
6
+ <!-- Title: artifact_standard_physical_structure_policies Pages: 1 -->
7
+ <svg width="896pt" height="510pt"
8
+ viewBox="0.00 0.00 896.20 509.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 505.6)">
10
+ <title>artifact_standard_physical_structure_policies</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-505.6 892.2,-505.6 892.2,4 -4,4"/>
12
+ <!-- artifact_standard_physical_structure_policies -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_physical_structure_policies</title>
15
+ <polygon fill="#efefef" stroke="none" points="222.85,-419.8 222.85,-455.4 632.99,-455.4 632.99,-419.8 222.85,-419.8"/>
16
+ <polygon fill="none" stroke="black" points="222.85,-419.8 222.85,-455.4 632.99,-455.4 632.99,-419.8 222.85,-419.8"/>
17
+ <text text-anchor="start" x="229.85" y="-433.2" font-family="Arial Bold" font-size="18.00">artifact_standard_physical_structure_policies</text>
18
+ <text text-anchor="start" x="556.74" y="-433.2" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="587.85" y="-433.2" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <polygon fill="none" stroke="black" points="222.85,-389 222.85,-419.8 632.99,-419.8 632.99,-389 222.85,-389"/>
21
+ <text text-anchor="start" x="229.85" y="-401.2" font-family="Arial" font-size="14.00">physical_structure_policy_id </text>
22
+ <text text-anchor="start" x="408.83" y="-401.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
23
+ <polygon fill="none" stroke="black" points="222.85,-358.2 222.85,-389 632.99,-389 632.99,-358.2 222.85,-358.2"/>
24
+ <text text-anchor="start" x="229.85" y="-370.4" font-family="Arial" font-size="14.00">artifact_standard_id </text>
25
+ <text text-anchor="start" x="356.71" y="-370.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
26
+ <polygon fill="none" stroke="black" points="222.85,-327.4 222.85,-358.2 632.99,-358.2 632.99,-327.4 222.85,-327.4"/>
27
+ <text text-anchor="start" x="229.85" y="-339.6" font-family="Arial" font-size="14.00">document_component_id </text>
28
+ <text text-anchor="start" x="390.96" y="-339.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
29
+ <polygon fill="none" stroke="black" stroke-width="3" points="221.35,-325.9 221.35,-456.9 634.49,-456.9 634.49,-325.9 221.35,-325.9"/>
30
+ </g>
31
+ <!-- artifact_standard_standards -->
32
+ <g id="node2" class="node">
33
+ <title>artifact_standard_standards</title>
34
+ <polygon fill="#efefef" stroke="none" points="43.2,-115 43.2,-161 360.65,-161 360.65,-115 43.2,-115"/>
35
+ <polygon fill="none" stroke="black" points="43.2,-115 43.2,-161 360.65,-161 360.65,-115 43.2,-115"/>
36
+ <text text-anchor="start" x="68.34" y="-138.8" font-family="Arial Bold" font-size="18.00">artifact_standard_standards</text>
37
+ <text text-anchor="start" x="266.26" y="-138.8" font-family="Arial" font-size="14.00">    </text>
38
+ <text text-anchor="start" x="297.37" y="-138.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
39
+ <text text-anchor="start" x="50.2" y="-124.4" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준의 최상위 versioned definition을 관리한다.</text>
40
+ <polygon fill="none" stroke="black" points="43.2,-84.2 43.2,-115 360.65,-115 360.65,-84.2 43.2,-84.2"/>
41
+ <text text-anchor="start" x="50.2" y="-96.4" font-family="Arial" font-size="14.00">artifact_standard_id </text>
42
+ <text text-anchor="start" x="177.05" y="-96.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
43
+ </g>
44
+ <!-- artifact_standard_physical_structure_policies&#45;&gt;artifact_standard_standards -->
45
+ <g id="edge1" class="edge">
46
+ <title>artifact_standard_physical_structure_policies:artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
47
+ <path fill="none" stroke="black" d="M211.54,-372.04C184.9,-362.66 203.93,-313.06 222.85,-281.2 258.68,-220.88 324.86,-264.54 360.65,-204.2 384.37,-164.21 408.14,-99.6 361.65,-99.6"/>
48
+ <polygon fill="black" stroke="black" points="211.64,-372.05 220.85,-378 216.91,-372.85 221.19,-373.5 221.19,-373.5 221.19,-373.5 216.91,-372.85 222.2,-369.1 211.64,-372.05"/>
49
+ </g>
50
+ <!-- artifact_standard_document_components -->
51
+ <g id="node3" class="node">
52
+ <title>artifact_standard_document_components</title>
53
+ <polygon fill="#efefef" stroke="none" points="464.84,-166.4 464.84,-202 845,-202 845,-166.4 464.84,-166.4"/>
54
+ <polygon fill="none" stroke="black" points="464.84,-166.4 464.84,-202 845,-202 845,-166.4 464.84,-166.4"/>
55
+ <text text-anchor="start" x="471.84" y="-179.8" font-family="Arial Bold" font-size="18.00">artifact_standard_document_components</text>
56
+ <text text-anchor="start" x="768.75" y="-179.8" font-family="Arial" font-size="14.00">    </text>
57
+ <text text-anchor="start" x="799.87" y="-179.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
58
+ <polygon fill="none" stroke="black" points="464.84,-135.6 464.84,-166.4 845,-166.4 845,-135.6 464.84,-135.6"/>
59
+ <text text-anchor="start" x="471.84" y="-147.8" font-family="Arial" font-size="14.00">document_component_id </text>
60
+ <text text-anchor="start" x="632.95" y="-147.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
61
+ <polygon fill="none" stroke="black" points="464.84,-104.8 464.84,-135.6 845,-135.6 845,-104.8 464.84,-104.8"/>
62
+ <text text-anchor="start" x="471.84" y="-117" font-family="Arial" font-size="14.00">artifact_standard_id </text>
63
+ <text text-anchor="start" x="598.7" y="-117" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
64
+ <polygon fill="none" stroke="black" points="464.84,-74 464.84,-104.8 845,-104.8 845,-74 464.84,-74"/>
65
+ <text text-anchor="start" x="471.84" y="-86.2" font-family="Arial" font-size="14.00">blueprint_id </text>
66
+ <text text-anchor="start" x="548.12" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
67
+ <polygon fill="none" stroke="black" points="464.84,-43.2 464.84,-74 845,-74 845,-43.2 464.84,-43.2"/>
68
+ <text text-anchor="start" x="471.84" y="-55.4" font-family="Arial" font-size="14.00">parent_document_component_id </text>
69
+ <text text-anchor="start" x="680.44" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
70
+ </g>
71
+ <!-- artifact_standard_physical_structure_policies&#45;&gt;artifact_standard_document_components -->
72
+ <g id="edge2" class="edge">
73
+ <title>artifact_standard_physical_structure_policies:document_component_id&#45;&gt;artifact_standard_document_components:document_component_id</title>
74
+ <path fill="none" stroke="black" d="M643.75,-340.32C657.97,-331.22 647.8,-299.21 632.99,-281.2 584.46,-222.16 513.21,-304.37 464.84,-245.2 438.35,-212.78 421.98,-151 463.84,-151"/>
75
+ <polygon fill="black" stroke="black" points="644.01,-340.26 633.21,-338.36 638.84,-341.57 634.64,-342.64 634.64,-342.64 634.64,-342.64 638.84,-341.57 635.42,-347.08 644.01,-340.26"/>
76
+ </g>
77
+ </g>
78
+ </svg>
@@ -0,0 +1,52 @@
1
+ # artifact_standard_schema_migrations
2
+
3
+ ## Description
4
+
5
+ artifact-standard 패키지의 migration 적용 이력을 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE artifact_standard_schema_migrations (
12
+ -- migration 식별자
13
+ migration_id VARCHAR(128) PRIMARY KEY,
14
+
15
+ -- migration 이름
16
+ migration_name VARCHAR(256) NOT NULL,
17
+
18
+ -- 적용 시각
19
+ applied_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
20
+ )
21
+ ```
22
+
23
+ </details>
24
+
25
+ ## Columns
26
+
27
+ | Name | Type | Default | Nullable |
28
+ | -------------- | ------------ | ----------------- | -------- |
29
+ | migration_id | VARCHAR(128) | | true |
30
+ | migration_name | VARCHAR(256) | | false |
31
+ | applied_at | DATETIME | CURRENT_TIMESTAMP | false |
32
+
33
+ ## Constraints
34
+
35
+ | Name | Type | Definition |
36
+ | ------------------------------------------------------ | ----------- | -------------------------- |
37
+ | migration_id | PRIMARY KEY | PRIMARY KEY (migration_id) |
38
+ | sqlite_autoindex_artifact_standard_schema_migrations_1 | PRIMARY KEY | PRIMARY KEY (migration_id) |
39
+
40
+ ## Indexes
41
+
42
+ | Name | Definition |
43
+ | ------------------------------------------------------ | -------------------------- |
44
+ | sqlite_autoindex_artifact_standard_schema_migrations_1 | PRIMARY KEY (migration_id) |
45
+
46
+ ## Relations
47
+
48
+ ![er](artifact_standard_schema_migrations.svg)
49
+
50
+ ---
51
+
52
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 12.1.2 (20240928.0832)
5
+ -->
6
+ <!-- Title: artifact_standard_schema_migrations Pages: 1 -->
7
+ <svg width="454pt" height="177pt"
8
+ viewBox="0.00 0.00 453.56 177.20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 173.2)">
10
+ <title>artifact_standard_schema_migrations</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-173.2 449.56,-173.2 449.56,4 -4,4"/>
12
+ <!-- artifact_standard_schema_migrations -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_schema_migrations</title>
15
+ <polygon fill="#efefef" stroke="none" points="46.2,-77 46.2,-123 399.36,-123 399.36,-77 46.2,-77"/>
16
+ <polygon fill="none" stroke="black" points="46.2,-77 46.2,-123 399.36,-123 399.36,-77 46.2,-77"/>
17
+ <text text-anchor="start" x="53.2" y="-100.8" font-family="Arial Bold" font-size="18.00">artifact_standard_schema_migrations</text>
18
+ <text text-anchor="start" x="323.1" y="-100.8" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="354.22" y="-100.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="55.89" y="-86.4" font-family="Arial" font-size="14.00" fill="#333333">artifact&#45;standard 패키지의 migration 적용 이력을 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="46.2,-46.2 46.2,-77 399.36,-77 399.36,-46.2 46.2,-46.2"/>
22
+ <text text-anchor="start" x="53.2" y="-58.4" font-family="Arial" font-size="14.00">migration_id </text>
23
+ <text text-anchor="start" x="133.35" y="-58.4" font-family="Arial" font-size="14.00" fill="#666666">[VARCHAR(128)]</text>
24
+ <polygon fill="none" stroke="black" stroke-width="3" points="44.7,-44.7 44.7,-124.5 400.86,-124.5 400.86,-44.7 44.7,-44.7"/>
25
+ </g>
26
+ </g>
27
+ </svg>
@@ -0,0 +1,120 @@
1
+ # artifact_standard_source_mappings
2
+
3
+ ## Description
4
+
5
+ 설계 근거 및 후속 이행 후보 source mapping을 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE artifact_standard_source_mappings (
12
+ -- source mapping 식별자
13
+ source_mapping_id CHAR(36) PRIMARY KEY
14
+ CHECK (length(source_mapping_id) = 36),
15
+
16
+ -- 소속 산출물 표준 식별자
17
+ artifact_standard_id CHAR(36) NOT NULL
18
+ CHECK (length(artifact_standard_id) = 36),
19
+
20
+ -- source type 코드
21
+ source_type_code VARCHAR(64) NOT NULL,
22
+
23
+ -- source URI 또는 경로
24
+ source_uri VARCHAR(1024) NOT NULL,
25
+
26
+ -- source label
27
+ source_label VARCHAR(256),
28
+
29
+ -- source section
30
+ source_section VARCHAR(512),
31
+
32
+ -- source fragment
33
+ source_fragment TEXT,
34
+
35
+ -- target type 코드
36
+ target_type_code VARCHAR(128) NOT NULL,
37
+
38
+ -- target 참조
39
+ target_ref VARCHAR(256) NOT NULL,
40
+
41
+ -- mapping type 코드
42
+ mapping_type_code VARCHAR(64) NOT NULL,
43
+
44
+ -- mapping status 코드
45
+ mapping_status_code VARCHAR(64) NOT NULL DEFAULT 'CANDIDATE',
46
+
47
+ -- 판단 근거
48
+ rationale TEXT,
49
+
50
+ -- 손실/보완 사항
51
+ loss_note TEXT,
52
+
53
+ -- 후속 조치 메모
54
+ follow_up_note TEXT,
55
+
56
+ -- 생성 시각
57
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
58
+
59
+ -- 수정 시각
60
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
61
+
62
+ -- 확장 메타데이터
63
+ metadata_json JSON
64
+ CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
65
+
66
+ FOREIGN KEY (artifact_standard_id)
67
+ REFERENCES artifact_standard_standards (artifact_standard_id)
68
+ ON DELETE CASCADE
69
+ )
70
+ ```
71
+
72
+ </details>
73
+
74
+ ## Columns
75
+
76
+ | Name | Type | Default | Nullable | Parents |
77
+ | -------------------- | ------------- | ----------------- | -------- | ------------------------------------------------------------- |
78
+ | source_mapping_id | CHAR(36) | | true | |
79
+ | artifact_standard_id | CHAR(36) | | false | [artifact_standard_standards](artifact_standard_standards.md) |
80
+ | source_type_code | VARCHAR(64) | | false | |
81
+ | source_uri | VARCHAR(1024) | | false | |
82
+ | source_label | VARCHAR(256) | | true | |
83
+ | source_section | VARCHAR(512) | | true | |
84
+ | source_fragment | TEXT | | true | |
85
+ | target_type_code | VARCHAR(128) | | false | |
86
+ | target_ref | VARCHAR(256) | | false | |
87
+ | mapping_type_code | VARCHAR(64) | | false | |
88
+ | mapping_status_code | VARCHAR(64) | 'CANDIDATE' | false | |
89
+ | rationale | TEXT | | true | |
90
+ | loss_note | TEXT | | true | |
91
+ | follow_up_note | TEXT | | true | |
92
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | |
93
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
94
+ | metadata_json | JSON | | true | |
95
+
96
+ ## Constraints
97
+
98
+ | Name | Type | Definition |
99
+ | ---------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
100
+ | source_mapping_id | PRIMARY KEY | PRIMARY KEY (source_mapping_id) |
101
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (artifact_standard_id) REFERENCES artifact_standard_standards (artifact_standard_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
102
+ | sqlite_autoindex_artifact_standard_source_mappings_1 | PRIMARY KEY | PRIMARY KEY (source_mapping_id) |
103
+ | - | CHECK | CHECK (length(source_mapping_id) = 36) |
104
+ | - | CHECK | CHECK (length(artifact_standard_id) = 36) |
105
+ | - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
106
+
107
+ ## Indexes
108
+
109
+ | Name | Definition |
110
+ | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
111
+ | idx_artifact_standard_source_mappings_standard | CREATE INDEX idx_artifact_standard_source_mappings_standard<br /> ON artifact_standard_source_mappings (artifact_standard_id) |
112
+ | sqlite_autoindex_artifact_standard_source_mappings_1 | PRIMARY KEY (source_mapping_id) |
113
+
114
+ ## Relations
115
+
116
+ ![er](artifact_standard_source_mappings.svg)
117
+
118
+ ---
119
+
120
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,49 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 12.1.2 (20240928.0832)
5
+ -->
6
+ <!-- Title: artifact_standard_source_mappings Pages: 1 -->
7
+ <svg width="451pt" height="423pt"
8
+ viewBox="0.00 0.00 451.25 422.89" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 418.89)">
10
+ <title>artifact_standard_source_mappings</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-418.89 447.25,-418.89 447.25,4 -4,4"/>
12
+ <!-- artifact_standard_source_mappings -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_source_mappings</title>
15
+ <polygon fill="#efefef" stroke="none" points="46.2,-322.69 46.2,-368.69 385.37,-368.69 385.37,-322.69 46.2,-322.69"/>
16
+ <polygon fill="none" stroke="black" points="46.2,-322.69 46.2,-368.69 385.37,-368.69 385.37,-322.69 46.2,-322.69"/>
17
+ <text text-anchor="start" x="53.2" y="-346.49" font-family="Arial Bold" font-size="18.00">artifact_standard_source_mappings</text>
18
+ <text text-anchor="start" x="309.11" y="-346.49" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="340.23" y="-346.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="57.07" y="-332.09" font-family="Arial" font-size="14.00" fill="#333333">설계 근거 및 후속 이행 후보 source mapping을 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="46.2,-291.89 46.2,-322.69 385.37,-322.69 385.37,-291.89 46.2,-291.89"/>
22
+ <text text-anchor="start" x="53.2" y="-304.09" font-family="Arial" font-size="14.00">source_mapping_id </text>
23
+ <text text-anchor="start" x="179.28" y="-304.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
24
+ <polygon fill="none" stroke="black" points="46.2,-261.09 46.2,-291.89 385.37,-291.89 385.37,-261.09 46.2,-261.09"/>
25
+ <text text-anchor="start" x="53.2" y="-273.29" font-family="Arial" font-size="14.00">artifact_standard_id </text>
26
+ <text text-anchor="start" x="180.05" y="-273.29" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
27
+ <polygon fill="none" stroke="black" stroke-width="3" points="44.7,-259.59 44.7,-370.19 386.87,-370.19 386.87,-259.59 44.7,-259.59"/>
28
+ </g>
29
+ <!-- artifact_standard_standards -->
30
+ <g id="node2" class="node">
31
+ <title>artifact_standard_standards</title>
32
+ <polygon fill="#efefef" stroke="none" points="57.06,-89.69 57.06,-135.69 374.51,-135.69 374.51,-89.69 57.06,-89.69"/>
33
+ <polygon fill="none" stroke="black" points="57.06,-89.69 57.06,-135.69 374.51,-135.69 374.51,-89.69 57.06,-89.69"/>
34
+ <text text-anchor="start" x="82.2" y="-113.49" font-family="Arial Bold" font-size="18.00">artifact_standard_standards</text>
35
+ <text text-anchor="start" x="280.12" y="-113.49" font-family="Arial" font-size="14.00">    </text>
36
+ <text text-anchor="start" x="311.23" y="-113.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
37
+ <text text-anchor="start" x="64.06" y="-99.09" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준의 최상위 versioned definition을 관리한다.</text>
38
+ <polygon fill="none" stroke="black" points="57.06,-58.89 57.06,-89.69 374.51,-89.69 374.51,-58.89 57.06,-58.89"/>
39
+ <text text-anchor="start" x="64.06" y="-71.09" font-family="Arial" font-size="14.00">artifact_standard_id </text>
40
+ <text text-anchor="start" x="190.91" y="-71.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
41
+ </g>
42
+ <!-- artifact_standard_source_mappings&#45;&gt;artifact_standard_standards -->
43
+ <g id="edge1" class="edge">
44
+ <title>artifact_standard_source_mappings:artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
45
+ <path fill="none" stroke="black" d="M216.38,-250.1C226.62,-170.22 365.56,-256.06 417.71,-178.89 447.57,-134.7 455.33,-96.7 417.71,-58.89 354.4,4.73 215.78,31.86 215.78,-57.89"/>
46
+ <polygon fill="black" stroke="black" points="216.4,-249.77 211.31,-259.49 216.08,-255.1 215.82,-259.42 215.82,-259.42 215.82,-259.42 216.08,-255.1 220.29,-260.02 216.4,-249.77"/>
47
+ </g>
48
+ </g>
49
+ </svg>
@@ -0,0 +1,102 @@
1
+ # artifact_standard_standards
2
+
3
+ ## Description
4
+
5
+ 산출물 표준의 최상위 versioned definition을 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE artifact_standard_standards (
12
+ -- 산출물 표준 식별자
13
+ artifact_standard_id CHAR(36) PRIMARY KEY
14
+ CHECK (length(artifact_standard_id) = 36),
15
+
16
+ -- 산출물 표준 코드
17
+ artifact_standard_code VARCHAR(128) NOT NULL,
18
+
19
+ -- 산출물 표준 버전
20
+ artifact_standard_version VARCHAR(64) NOT NULL,
21
+
22
+ -- 산출물 표준명
23
+ artifact_standard_name VARCHAR(256) NOT NULL,
24
+
25
+ -- 산출물 표준 유형 코드
26
+ standard_type_code VARCHAR(64) NOT NULL DEFAULT 'DOCUMENT',
27
+
28
+ -- 산출물 표준 상태 코드
29
+ standard_status_code VARCHAR(64) NOT NULL DEFAULT 'DRAFT',
30
+
31
+ -- 산출물 표준 목적
32
+ purpose TEXT,
33
+
34
+ -- 산출물 표준 설명
35
+ description TEXT,
36
+
37
+ -- 소유 역할 코드
38
+ owner_role_code VARCHAR(128),
39
+
40
+ -- 활성 여부
41
+ is_active INTEGER NOT NULL DEFAULT 1
42
+ CHECK (is_active IN (0, 1)),
43
+
44
+ -- 생성 시각
45
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
46
+
47
+ -- 수정 시각
48
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
49
+
50
+ -- 확장 메타데이터
51
+ metadata_json JSON
52
+ CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
53
+
54
+ UNIQUE (artifact_standard_code, artifact_standard_version)
55
+ )
56
+ ```
57
+
58
+ </details>
59
+
60
+ ## Columns
61
+
62
+ | Name | Type | Default | Nullable | Children |
63
+ | ------------------------- | ------------ | ----------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
64
+ | artifact_standard_id | CHAR(36) | | true | [artifact_standard_components](artifact_standard_components.md) [artifact_standard_component_bindings](artifact_standard_component_bindings.md) [artifact_standard_document_blueprints](artifact_standard_document_blueprints.md) [artifact_standard_document_components](artifact_standard_document_components.md) [artifact_standard_document_component_relations](artifact_standard_document_component_relations.md) [artifact_standard_physical_structure_policies](artifact_standard_physical_structure_policies.md) [artifact_standard_table_schemas](artifact_standard_table_schemas.md) [artifact_standard_figure_policies](artifact_standard_figure_policies.md) [artifact_standard_diagram_policies](artifact_standard_diagram_policies.md) [artifact_standard_validation_rule_sets](artifact_standard_validation_rule_sets.md) [artifact_standard_generated_output_links](artifact_standard_generated_output_links.md) [artifact_standard_source_mappings](artifact_standard_source_mappings.md) |
65
+ | artifact_standard_code | VARCHAR(128) | | false | |
66
+ | artifact_standard_version | VARCHAR(64) | | false | |
67
+ | artifact_standard_name | VARCHAR(256) | | false | |
68
+ | standard_type_code | VARCHAR(64) | 'DOCUMENT' | false | |
69
+ | standard_status_code | VARCHAR(64) | 'DRAFT' | false | |
70
+ | purpose | TEXT | | true | |
71
+ | description | TEXT | | true | |
72
+ | owner_role_code | VARCHAR(128) | | true | |
73
+ | is_active | INTEGER | 1 | false | |
74
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | |
75
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
76
+ | metadata_json | JSON | | true | |
77
+
78
+ ## Constraints
79
+
80
+ | Name | Type | Definition |
81
+ | ---------------------------------------------- | ----------- | ---------------------------------------------------------- |
82
+ | artifact_standard_id | PRIMARY KEY | PRIMARY KEY (artifact_standard_id) |
83
+ | sqlite_autoindex_artifact_standard_standards_2 | UNIQUE | UNIQUE (artifact_standard_code, artifact_standard_version) |
84
+ | sqlite_autoindex_artifact_standard_standards_1 | PRIMARY KEY | PRIMARY KEY (artifact_standard_id) |
85
+ | - | CHECK | CHECK (length(artifact_standard_id) = 36) |
86
+ | - | CHECK | CHECK (is_active IN (0, 1)) |
87
+ | - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
88
+
89
+ ## Indexes
90
+
91
+ | Name | Definition |
92
+ | ---------------------------------------------- | ---------------------------------------------------------- |
93
+ | sqlite_autoindex_artifact_standard_standards_2 | UNIQUE (artifact_standard_code, artifact_standard_version) |
94
+ | sqlite_autoindex_artifact_standard_standards_1 | PRIMARY KEY (artifact_standard_id) |
95
+
96
+ ## Relations
97
+
98
+ ![er](artifact_standard_standards.svg)
99
+
100
+ ---
101
+
102
+ > Generated by [tbls](https://github.com/k1LoW/tbls)