@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,118 @@
1
+ # artifact_standard_component_bindings
2
+
3
+ ## Description
4
+
5
+ <details>
6
+ <summary><strong>Table Definition</strong></summary>
7
+
8
+ ```sql
9
+ CREATE TABLE artifact_standard_component_bindings (
10
+ -- component binding 식별자
11
+ component_binding_id CHAR(36) PRIMARY KEY
12
+ CHECK (length(component_binding_id) = 36),
13
+
14
+ -- 소속 산출물 표준 식별자
15
+ artifact_standard_id CHAR(36) NOT NULL
16
+ CHECK (length(artifact_standard_id) = 36),
17
+
18
+ -- component 식별자
19
+ component_id CHAR(36) NOT NULL
20
+ CHECK (length(component_id) = 36),
21
+
22
+ -- 적용 대상 유형 코드
23
+ target_type_code VARCHAR(128) NOT NULL,
24
+
25
+ -- 적용 대상 참조
26
+ target_ref VARCHAR(256) NOT NULL,
27
+
28
+ -- binding 역할 코드
29
+ binding_role_code VARCHAR(128) NOT NULL,
30
+
31
+ -- 우선순위
32
+ priority INTEGER NOT NULL DEFAULT 100,
33
+
34
+ -- 적용 조건
35
+ applies_when_json JSON
36
+ CHECK (applies_when_json IS NULL OR json_valid(applies_when_json)),
37
+
38
+ -- 설명
39
+ description TEXT,
40
+
41
+ -- 활성 여부
42
+ is_active INTEGER NOT NULL DEFAULT 1
43
+ CHECK (is_active IN (0, 1)),
44
+
45
+ -- 생성 시각
46
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
47
+
48
+ -- 수정 시각
49
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
50
+
51
+ -- 확장 메타데이터
52
+ metadata_json JSON
53
+ CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
54
+
55
+ FOREIGN KEY (artifact_standard_id)
56
+ REFERENCES artifact_standard_standards (artifact_standard_id)
57
+ ON DELETE CASCADE,
58
+
59
+ FOREIGN KEY (component_id)
60
+ REFERENCES artifact_standard_components (component_id)
61
+ ON DELETE CASCADE,
62
+
63
+ UNIQUE (component_id, target_type_code, target_ref, binding_role_code)
64
+ )
65
+ ```
66
+
67
+ </details>
68
+
69
+ ## Columns
70
+
71
+ | Name | Type | Default | Nullable | Parents |
72
+ | -------------------- | ------------ | ----------------- | -------- | --------------------------------------------------------------- |
73
+ | component_binding_id | CHAR(36) | | true | |
74
+ | artifact_standard_id | CHAR(36) | | false | [artifact_standard_standards](artifact_standard_standards.md) |
75
+ | component_id | CHAR(36) | | false | [artifact_standard_components](artifact_standard_components.md) |
76
+ | target_type_code | VARCHAR(128) | | false | |
77
+ | target_ref | VARCHAR(256) | | false | |
78
+ | binding_role_code | VARCHAR(128) | | false | |
79
+ | priority | INTEGER | 100 | false | |
80
+ | applies_when_json | JSON | | true | |
81
+ | description | TEXT | | true | |
82
+ | is_active | INTEGER | 1 | false | |
83
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | |
84
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
85
+ | metadata_json | JSON | | true | |
86
+
87
+ ## Constraints
88
+
89
+ | Name | Type | Definition |
90
+ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
91
+ | component_binding_id | PRIMARY KEY | PRIMARY KEY (component_binding_id) |
92
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (component_id) REFERENCES artifact_standard_components (component_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
93
+ | - (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 |
94
+ | sqlite_autoindex_artifact_standard_component_bindings_2 | UNIQUE | UNIQUE (component_id, target_type_code, target_ref, binding_role_code) |
95
+ | sqlite_autoindex_artifact_standard_component_bindings_1 | PRIMARY KEY | PRIMARY KEY (component_binding_id) |
96
+ | - | CHECK | CHECK (length(component_binding_id) = 36) |
97
+ | - | CHECK | CHECK (length(artifact_standard_id) = 36) |
98
+ | - | CHECK | CHECK (length(component_id) = 36) |
99
+ | - | CHECK | CHECK (applies_when_json IS NULL OR json_valid(applies_when_json)) |
100
+ | - | CHECK | CHECK (is_active IN (0, 1)) |
101
+ | - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
102
+
103
+ ## Indexes
104
+
105
+ | Name | Definition |
106
+ | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
107
+ | idx_artifact_standard_component_bindings_target | CREATE INDEX idx_artifact_standard_component_bindings_target<br /> ON artifact_standard_component_bindings (target_type_code, target_ref) |
108
+ | idx_artifact_standard_component_bindings_standard | CREATE INDEX idx_artifact_standard_component_bindings_standard<br /> ON artifact_standard_component_bindings (artifact_standard_id) |
109
+ | sqlite_autoindex_artifact_standard_component_bindings_2 | UNIQUE (component_id, target_type_code, target_ref, binding_role_code) |
110
+ | sqlite_autoindex_artifact_standard_component_bindings_1 | PRIMARY KEY (component_binding_id) |
111
+
112
+ ## Relations
113
+
114
+ ![er](artifact_standard_component_bindings.svg)
115
+
116
+ ---
117
+
118
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,73 @@
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_component_bindings Pages: 1 -->
7
+ <svg width="1000pt" height="458pt"
8
+ viewBox="0.00 0.00 1000.46 458.40" 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 454.4)">
10
+ <title>artifact_standard_component_bindings</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-454.4 996.46,-454.4 996.46,4 -4,4"/>
12
+ <!-- artifact_standard_component_bindings -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_component_bindings</title>
15
+ <polygon fill="#efefef" stroke="none" points="271.83,-368.6 271.83,-404.2 636.01,-404.2 636.01,-368.6 271.83,-368.6"/>
16
+ <polygon fill="none" stroke="black" points="271.83,-368.6 271.83,-404.2 636.01,-404.2 636.01,-368.6 271.83,-368.6"/>
17
+ <text text-anchor="start" x="278.83" y="-382" font-family="Arial Bold" font-size="18.00">artifact_standard_component_bindings</text>
18
+ <text text-anchor="start" x="559.76" y="-382" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="590.88" y="-382" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <polygon fill="none" stroke="black" points="271.83,-337.8 271.83,-368.6 636.01,-368.6 636.01,-337.8 271.83,-337.8"/>
21
+ <text text-anchor="start" x="278.83" y="-350" font-family="Arial" font-size="14.00">component_binding_id </text>
22
+ <text text-anchor="start" x="423.61" y="-350" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
23
+ <polygon fill="none" stroke="black" points="271.83,-307 271.83,-337.8 636.01,-337.8 636.01,-307 271.83,-307"/>
24
+ <text text-anchor="start" x="278.83" y="-319.2" font-family="Arial" font-size="14.00">artifact_standard_id </text>
25
+ <text text-anchor="start" x="405.69" y="-319.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
26
+ <polygon fill="none" stroke="black" points="271.83,-276.2 271.83,-307 636.01,-307 636.01,-276.2 271.83,-276.2"/>
27
+ <text text-anchor="start" x="278.83" y="-288.4" font-family="Arial" font-size="14.00">component_id </text>
28
+ <text text-anchor="start" x="370.67" y="-288.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
29
+ <polygon fill="none" stroke="black" stroke-width="3" points="270.33,-274.7 270.33,-405.7 637.51,-405.7 637.51,-274.7 270.33,-274.7"/>
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,-89.4 43.2,-135.4 360.65,-135.4 360.65,-89.4 43.2,-89.4"/>
35
+ <polygon fill="none" stroke="black" points="43.2,-89.4 43.2,-135.4 360.65,-135.4 360.65,-89.4 43.2,-89.4"/>
36
+ <text text-anchor="start" x="68.34" y="-113.2" font-family="Arial Bold" font-size="18.00">artifact_standard_standards</text>
37
+ <text text-anchor="start" x="266.26" y="-113.2" font-family="Arial" font-size="14.00">    </text>
38
+ <text text-anchor="start" x="297.37" y="-113.2" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
39
+ <text text-anchor="start" x="50.2" y="-98.8" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준의 최상위 versioned definition을 관리한다.</text>
40
+ <polygon fill="none" stroke="black" points="43.2,-58.6 43.2,-89.4 360.65,-89.4 360.65,-58.6 43.2,-58.6"/>
41
+ <text text-anchor="start" x="50.2" y="-70.8" font-family="Arial" font-size="14.00">artifact_standard_id </text>
42
+ <text text-anchor="start" x="177.05" y="-70.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
43
+ </g>
44
+ <!-- artifact_standard_component_bindings&#45;&gt;artifact_standard_standards -->
45
+ <g id="edge1" class="edge">
46
+ <title>artifact_standard_component_bindings:artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
47
+ <path fill="none" stroke="black" d="M260.53,-320.84C233.93,-311.48 253.15,-262 271.83,-230 294.83,-190.62 337.68,-218 360.65,-178.6 384.06,-138.44 408.14,-74 361.65,-74"/>
48
+ <polygon fill="black" stroke="black" points="260.62,-320.86 269.83,-326.8 265.89,-321.65 270.17,-322.3 270.17,-322.3 270.17,-322.3 265.89,-321.65 271.17,-317.9 260.62,-320.86"/>
49
+ </g>
50
+ <!-- artifact_standard_components -->
51
+ <g id="node3" class="node">
52
+ <title>artifact_standard_components</title>
53
+ <polygon fill="#efefef" stroke="none" points="464.59,-104.8 464.59,-150.8 949.26,-150.8 949.26,-104.8 464.59,-104.8"/>
54
+ <polygon fill="none" stroke="black" points="464.59,-104.8 464.59,-150.8 949.26,-150.8 949.26,-104.8 464.59,-104.8"/>
55
+ <text text-anchor="start" x="563.83" y="-128.6" font-family="Arial Bold" font-size="18.00">artifact_standard_components</text>
56
+ <text text-anchor="start" x="780.76" y="-128.6" font-family="Arial" font-size="14.00">    </text>
57
+ <text text-anchor="start" x="811.87" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
58
+ <text text-anchor="start" x="471.59" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준을 구성하는 개념, 서식, 가이드, 예시, LLM 보충 지침 resource를 관리한다.</text>
59
+ <polygon fill="none" stroke="black" points="464.59,-74 464.59,-104.8 949.26,-104.8 949.26,-74 464.59,-74"/>
60
+ <text text-anchor="start" x="471.59" y="-86.2" font-family="Arial" font-size="14.00">component_id </text>
61
+ <text text-anchor="start" x="563.43" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
62
+ <polygon fill="none" stroke="black" points="464.59,-43.2 464.59,-74 949.26,-74 949.26,-43.2 464.59,-43.2"/>
63
+ <text text-anchor="start" x="471.59" y="-55.4" font-family="Arial" font-size="14.00">artifact_standard_id </text>
64
+ <text text-anchor="start" x="598.44" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
65
+ </g>
66
+ <!-- artifact_standard_component_bindings&#45;&gt;artifact_standard_components -->
67
+ <g id="edge2" class="edge">
68
+ <title>artifact_standard_component_bindings:component_id&#45;&gt;artifact_standard_components:component_id</title>
69
+ <path fill="none" stroke="black" d="M646.78,-289.12C661,-280.01 650.86,-247.98 636.01,-230 586.46,-169.96 513.94,-254.21 464.59,-194 435.12,-158.05 417.1,-89.4 463.59,-89.4"/>
70
+ <polygon fill="black" stroke="black" points="647.03,-289.06 636.23,-287.16 641.86,-290.37 637.66,-291.44 637.66,-291.44 637.66,-291.44 641.86,-290.37 638.45,-295.88 647.03,-289.06"/>
71
+ </g>
72
+ </g>
73
+ </svg>
@@ -0,0 +1,114 @@
1
+ # artifact_standard_components
2
+
3
+ ## Description
4
+
5
+ 산출물 표준을 구성하는 개념, 서식, 가이드, 예시, LLM 보충 지침 resource를 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE artifact_standard_components (
12
+ -- component 식별자
13
+ component_id CHAR(36) PRIMARY KEY
14
+ CHECK (length(component_id) = 36),
15
+
16
+ -- 소속 산출물 표준 식별자
17
+ artifact_standard_id CHAR(36) NOT NULL
18
+ CHECK (length(artifact_standard_id) = 36),
19
+
20
+ -- component 코드
21
+ component_code VARCHAR(128) NOT NULL,
22
+
23
+ -- component 유형 코드
24
+ component_type_code VARCHAR(64) NOT NULL,
25
+
26
+ -- component 제목
27
+ component_title VARCHAR(256) NOT NULL,
28
+
29
+ -- component 목적
30
+ component_purpose TEXT,
31
+
32
+ -- 적용 성격 코드
33
+ applicability_code VARCHAR(64) NOT NULL DEFAULT 'COMMON_REFERENCE',
34
+
35
+ -- 참조 유형 코드
36
+ resource_ref_type_code VARCHAR(64) NOT NULL DEFAULT 'FILE_PATH',
37
+
38
+ -- 참조 값
39
+ resource_ref VARCHAR(1024),
40
+
41
+ -- 표시 정렬 순서
42
+ sort_order INTEGER NOT NULL DEFAULT 0,
43
+
44
+ -- 활성 여부
45
+ is_active INTEGER NOT NULL DEFAULT 1
46
+ CHECK (is_active IN (0, 1)),
47
+
48
+ -- 생성 시각
49
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
50
+
51
+ -- 수정 시각
52
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
53
+
54
+ -- 확장 메타데이터
55
+ metadata_json JSON
56
+ CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
57
+
58
+ FOREIGN KEY (artifact_standard_id)
59
+ REFERENCES artifact_standard_standards (artifact_standard_id)
60
+ ON DELETE CASCADE,
61
+
62
+ UNIQUE (artifact_standard_id, component_code)
63
+ )
64
+ ```
65
+
66
+ </details>
67
+
68
+ ## Columns
69
+
70
+ | Name | Type | Default | Nullable | Children | Parents |
71
+ | ---------------------- | ------------- | ------------------ | -------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------- |
72
+ | component_id | CHAR(36) | | true | [artifact_standard_component_bindings](artifact_standard_component_bindings.md) | |
73
+ | artifact_standard_id | CHAR(36) | | false | | [artifact_standard_standards](artifact_standard_standards.md) |
74
+ | component_code | VARCHAR(128) | | false | | |
75
+ | component_type_code | VARCHAR(64) | | false | | |
76
+ | component_title | VARCHAR(256) | | false | | |
77
+ | component_purpose | TEXT | | true | | |
78
+ | applicability_code | VARCHAR(64) | 'COMMON_REFERENCE' | false | | |
79
+ | resource_ref_type_code | VARCHAR(64) | 'FILE_PATH' | false | | |
80
+ | resource_ref | VARCHAR(1024) | | true | | |
81
+ | sort_order | INTEGER | 0 | false | | |
82
+ | is_active | INTEGER | 1 | false | | |
83
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | | |
84
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | | |
85
+ | metadata_json | JSON | | true | | |
86
+
87
+ ## Constraints
88
+
89
+ | Name | Type | Definition |
90
+ | ----------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
91
+ | component_id | PRIMARY KEY | PRIMARY KEY (component_id) |
92
+ | - (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 |
93
+ | sqlite_autoindex_artifact_standard_components_2 | UNIQUE | UNIQUE (artifact_standard_id, component_code) |
94
+ | sqlite_autoindex_artifact_standard_components_1 | PRIMARY KEY | PRIMARY KEY (component_id) |
95
+ | - | CHECK | CHECK (length(component_id) = 36) |
96
+ | - | CHECK | CHECK (length(artifact_standard_id) = 36) |
97
+ | - | CHECK | CHECK (is_active IN (0, 1)) |
98
+ | - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
99
+
100
+ ## Indexes
101
+
102
+ | Name | Definition |
103
+ | ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
104
+ | idx_artifact_standard_components_standard | CREATE INDEX idx_artifact_standard_components_standard<br /> ON artifact_standard_components (artifact_standard_id) |
105
+ | sqlite_autoindex_artifact_standard_components_2 | UNIQUE (artifact_standard_id, component_code) |
106
+ | sqlite_autoindex_artifact_standard_components_1 | PRIMARY KEY (component_id) |
107
+
108
+ ## Relations
109
+
110
+ ![er](artifact_standard_components.svg)
111
+
112
+ ---
113
+
114
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,73 @@
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_components Pages: 1 -->
7
+ <svg width="585pt" height="673pt"
8
+ viewBox="0.00 0.00 585.07 673.29" 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 669.29)">
10
+ <title>artifact_standard_components</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-669.29 581.07,-669.29 581.07,4 -4,4"/>
12
+ <!-- artifact_standard_components -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_components</title>
15
+ <polygon fill="#efefef" stroke="none" points="46.2,-322.69 46.2,-368.69 530.87,-368.69 530.87,-322.69 46.2,-322.69"/>
16
+ <polygon fill="none" stroke="black" points="46.2,-322.69 46.2,-368.69 530.87,-368.69 530.87,-322.69 46.2,-322.69"/>
17
+ <text text-anchor="start" x="145.45" y="-346.49" font-family="Arial Bold" font-size="18.00">artifact_standard_components</text>
18
+ <text text-anchor="start" x="362.37" y="-346.49" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="393.49" y="-346.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="53.2" y="-332.09" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준을 구성하는 개념, 서식, 가이드, 예시, LLM 보충 지침 resource를 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="46.2,-291.89 46.2,-322.69 530.87,-322.69 530.87,-291.89 46.2,-291.89"/>
22
+ <text text-anchor="start" x="53.2" y="-304.09" font-family="Arial" font-size="14.00">component_id </text>
23
+ <text text-anchor="start" x="145.04" 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 530.87,-291.89 530.87,-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 532.37,-370.19 532.37,-259.59 44.7,-259.59"/>
28
+ </g>
29
+ <!-- artifact_standard_standards -->
30
+ <g id="node3" class="node">
31
+ <title>artifact_standard_standards</title>
32
+ <polygon fill="#efefef" stroke="none" points="129.81,-89.69 129.81,-135.69 447.26,-135.69 447.26,-89.69 129.81,-89.69"/>
33
+ <polygon fill="none" stroke="black" points="129.81,-89.69 129.81,-135.69 447.26,-135.69 447.26,-89.69 129.81,-89.69"/>
34
+ <text text-anchor="start" x="154.95" y="-113.49" font-family="Arial Bold" font-size="18.00">artifact_standard_standards</text>
35
+ <text text-anchor="start" x="352.87" y="-113.49" font-family="Arial" font-size="14.00">    </text>
36
+ <text text-anchor="start" x="383.98" y="-113.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
37
+ <text text-anchor="start" x="136.81" y="-99.09" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준의 최상위 versioned definition을 관리한다.</text>
38
+ <polygon fill="none" stroke="black" points="129.81,-58.89 129.81,-89.69 447.26,-89.69 447.26,-58.89 129.81,-58.89"/>
39
+ <text text-anchor="start" x="136.81" y="-71.09" font-family="Arial" font-size="14.00">artifact_standard_id </text>
40
+ <text text-anchor="start" x="263.66" y="-71.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
41
+ </g>
42
+ <!-- artifact_standard_components&#45;&gt;artifact_standard_standards -->
43
+ <g id="edge2" class="edge">
44
+ <title>artifact_standard_components:artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
45
+ <path fill="none" stroke="black" d="M289.13,-250.1C299.37,-170.22 438.31,-256.06 490.46,-178.89 520.32,-134.7 528.08,-96.7 490.46,-58.89 427.16,4.73 288.53,31.86 288.53,-57.89"/>
46
+ <polygon fill="black" stroke="black" points="289.15,-249.77 284.06,-259.49 288.83,-255.1 288.57,-259.42 288.57,-259.42 288.57,-259.42 288.83,-255.1 293.05,-260.02 289.15,-249.77"/>
47
+ </g>
48
+ <!-- artifact_standard_component_bindings -->
49
+ <g id="node2" class="node">
50
+ <title>artifact_standard_component_bindings</title>
51
+ <polygon fill="#efefef" stroke="none" points="106.44,-586.49 106.44,-622.09 470.62,-622.09 470.62,-586.49 106.44,-586.49"/>
52
+ <polygon fill="none" stroke="black" points="106.44,-586.49 106.44,-622.09 470.62,-622.09 470.62,-586.49 106.44,-586.49"/>
53
+ <text text-anchor="start" x="113.44" y="-599.89" font-family="Arial Bold" font-size="18.00">artifact_standard_component_bindings</text>
54
+ <text text-anchor="start" x="394.37" y="-599.89" font-family="Arial" font-size="14.00">    </text>
55
+ <text text-anchor="start" x="425.49" y="-599.89" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
56
+ <polygon fill="none" stroke="black" points="106.44,-555.69 106.44,-586.49 470.62,-586.49 470.62,-555.69 106.44,-555.69"/>
57
+ <text text-anchor="start" x="113.44" y="-567.89" font-family="Arial" font-size="14.00">component_binding_id </text>
58
+ <text text-anchor="start" x="258.22" y="-567.89" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
59
+ <polygon fill="none" stroke="black" points="106.44,-524.89 106.44,-555.69 470.62,-555.69 470.62,-524.89 106.44,-524.89"/>
60
+ <text text-anchor="start" x="113.44" y="-537.09" font-family="Arial" font-size="14.00">artifact_standard_id </text>
61
+ <text text-anchor="start" x="240.3" y="-537.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
62
+ <polygon fill="none" stroke="black" points="106.44,-494.09 106.44,-524.89 470.62,-524.89 470.62,-494.09 106.44,-494.09"/>
63
+ <text text-anchor="start" x="113.44" y="-506.29" font-family="Arial" font-size="14.00">component_id </text>
64
+ <text text-anchor="start" x="205.28" y="-506.29" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
65
+ </g>
66
+ <!-- artifact_standard_component_bindings&#45;&gt;artifact_standard_components -->
67
+ <g id="edge1" class="edge">
68
+ <title>artifact_standard_component_bindings:component_id&#45;&gt;artifact_standard_components:component_id</title>
69
+ <path fill="none" stroke="black" d="M289.07,-482.88C299.72,-387.82 465.99,-503.13 530.87,-414.89 559.2,-376.36 579.69,-307.29 531.87,-307.29"/>
70
+ <polygon fill="black" stroke="black" points="289.08,-482.77 284.06,-492.52 288.8,-488.1 288.57,-492.42 288.57,-492.42 288.57,-492.42 288.8,-488.1 293.05,-492.99 289.08,-482.77"/>
71
+ </g>
72
+ </g>
73
+ </svg>
@@ -0,0 +1,99 @@
1
+ # artifact_standard_diagram_policies
2
+
3
+ ## Description
4
+
5
+ diagram 작성/표현 policy를 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE artifact_standard_diagram_policies (
12
+ -- diagram policy 식별자
13
+ diagram_policy_id CHAR(36) PRIMARY KEY
14
+ CHECK (length(diagram_policy_id) = 36),
15
+
16
+ -- 소속 산출물 표준 식별자
17
+ artifact_standard_id CHAR(36) NOT NULL
18
+ CHECK (length(artifact_standard_id) = 36),
19
+
20
+ -- diagram policy 코드
21
+ diagram_policy_code VARCHAR(128) NOT NULL,
22
+
23
+ -- notation 코드. 기본값은 ANY
24
+ notation_code VARCHAR(64) NOT NULL DEFAULT 'ANY',
25
+
26
+ -- source text 또는 path 필수 여부
27
+ source_required INTEGER NOT NULL DEFAULT 1
28
+ CHECK (source_required IN (0, 1)),
29
+
30
+ -- render output 필수 여부
31
+ render_output_required INTEGER NOT NULL DEFAULT 0
32
+ CHECK (render_output_required IN (0, 1)),
33
+
34
+ -- 설명
35
+ description TEXT,
36
+
37
+ -- 생성 시각
38
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
39
+
40
+ -- 수정 시각
41
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
42
+
43
+ -- 확장 메타데이터
44
+ metadata_json JSON
45
+ CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
46
+
47
+ FOREIGN KEY (artifact_standard_id)
48
+ REFERENCES artifact_standard_standards (artifact_standard_id)
49
+ ON DELETE CASCADE,
50
+
51
+ UNIQUE (artifact_standard_id, diagram_policy_code)
52
+ )
53
+ ```
54
+
55
+ </details>
56
+
57
+ ## Columns
58
+
59
+ | Name | Type | Default | Nullable | Parents |
60
+ | ---------------------- | ------------ | ----------------- | -------- | ------------------------------------------------------------- |
61
+ | diagram_policy_id | CHAR(36) | | true | |
62
+ | artifact_standard_id | CHAR(36) | | false | [artifact_standard_standards](artifact_standard_standards.md) |
63
+ | diagram_policy_code | VARCHAR(128) | | false | |
64
+ | notation_code | VARCHAR(64) | 'ANY' | false | |
65
+ | source_required | INTEGER | 1 | false | |
66
+ | render_output_required | INTEGER | 0 | false | |
67
+ | description | TEXT | | true | |
68
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | |
69
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
70
+ | metadata_json | JSON | | true | |
71
+
72
+ ## Constraints
73
+
74
+ | Name | Type | Definition |
75
+ | ----------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
76
+ | diagram_policy_id | PRIMARY KEY | PRIMARY KEY (diagram_policy_id) |
77
+ | - (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 |
78
+ | sqlite_autoindex_artifact_standard_diagram_policies_2 | UNIQUE | UNIQUE (artifact_standard_id, diagram_policy_code) |
79
+ | sqlite_autoindex_artifact_standard_diagram_policies_1 | PRIMARY KEY | PRIMARY KEY (diagram_policy_id) |
80
+ | - | CHECK | CHECK (length(diagram_policy_id) = 36) |
81
+ | - | CHECK | CHECK (length(artifact_standard_id) = 36) |
82
+ | - | CHECK | CHECK (source_required IN (0, 1)) |
83
+ | - | CHECK | CHECK (render_output_required IN (0, 1)) |
84
+ | - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
85
+
86
+ ## Indexes
87
+
88
+ | Name | Definition |
89
+ | ----------------------------------------------------- | -------------------------------------------------- |
90
+ | sqlite_autoindex_artifact_standard_diagram_policies_2 | UNIQUE (artifact_standard_id, diagram_policy_code) |
91
+ | sqlite_autoindex_artifact_standard_diagram_policies_1 | PRIMARY KEY (diagram_policy_id) |
92
+
93
+ ## Relations
94
+
95
+ ![er](artifact_standard_diagram_policies.svg)
96
+
97
+ ---
98
+
99
+ > 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_diagram_policies Pages: 1 -->
7
+ <svg width="450pt" height="423pt"
8
+ viewBox="0.00 0.00 450.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_diagram_policies</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-418.89 446.25,-418.89 446.25,4 -4,4"/>
12
+ <!-- artifact_standard_diagram_policies -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_diagram_policies</title>
15
+ <polygon fill="#efefef" stroke="none" points="46.2,-322.69 46.2,-368.69 383.35,-368.69 383.35,-322.69 46.2,-322.69"/>
16
+ <polygon fill="none" stroke="black" points="46.2,-322.69 46.2,-368.69 383.35,-368.69 383.35,-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_diagram_policies</text>
18
+ <text text-anchor="start" x="307.1" y="-346.49" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="338.22" y="-346.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="109.36" y="-332.09" font-family="Arial" font-size="14.00" fill="#333333">diagram 작성/표현 policy를 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="46.2,-291.89 46.2,-322.69 383.35,-322.69 383.35,-291.89 46.2,-291.89"/>
22
+ <text text-anchor="start" x="53.2" y="-304.09" font-family="Arial" font-size="14.00">diagram_policy_id </text>
23
+ <text text-anchor="start" x="169.93" 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 383.35,-291.89 383.35,-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 384.85,-370.19 384.85,-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="56.05,-89.69 56.05,-135.69 373.5,-135.69 373.5,-89.69 56.05,-89.69"/>
33
+ <polygon fill="none" stroke="black" points="56.05,-89.69 56.05,-135.69 373.5,-135.69 373.5,-89.69 56.05,-89.69"/>
34
+ <text text-anchor="start" x="81.19" y="-113.49" font-family="Arial Bold" font-size="18.00">artifact_standard_standards</text>
35
+ <text text-anchor="start" x="279.11" y="-113.49" font-family="Arial" font-size="14.00">    </text>
36
+ <text text-anchor="start" x="310.23" y="-113.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
37
+ <text text-anchor="start" x="63.05" y="-99.09" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준의 최상위 versioned definition을 관리한다.</text>
38
+ <polygon fill="none" stroke="black" points="56.05,-58.89 56.05,-89.69 373.5,-89.69 373.5,-58.89 56.05,-58.89"/>
39
+ <text text-anchor="start" x="63.05" y="-71.09" font-family="Arial" font-size="14.00">artifact_standard_id </text>
40
+ <text text-anchor="start" x="189.91" y="-71.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
41
+ </g>
42
+ <!-- artifact_standard_diagram_policies&#45;&gt;artifact_standard_standards -->
43
+ <g id="edge1" class="edge">
44
+ <title>artifact_standard_diagram_policies:artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
45
+ <path fill="none" stroke="black" d="M215.37,-250.1C225.61,-170.22 364.55,-256.06 416.7,-178.89 446.56,-134.7 454.32,-96.7 416.7,-58.89 353.4,4.73 214.78,31.86 214.78,-57.89"/>
46
+ <polygon fill="black" stroke="black" points="215.39,-249.77 210.3,-259.49 215.08,-255.1 214.82,-259.42 214.82,-259.42 214.82,-259.42 215.08,-255.1 219.29,-260.02 215.39,-249.77"/>
47
+ </g>
48
+ </g>
49
+ </svg>