@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,99 @@
1
+ # artifact_standard_table_schemas
2
+
3
+ ## Description
4
+
5
+ 산출물 표 단위 schema를 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE artifact_standard_table_schemas (
12
+ -- table schema 식별자
13
+ table_schema_id CHAR(36) PRIMARY KEY
14
+ CHECK (length(table_schema_id) = 36),
15
+
16
+ -- 소속 산출물 표준 식별자
17
+ artifact_standard_id CHAR(36) NOT NULL
18
+ CHECK (length(artifact_standard_id) = 36),
19
+
20
+ -- table schema 코드
21
+ table_schema_code VARCHAR(128) NOT NULL,
22
+
23
+ -- table 이름
24
+ table_name VARCHAR(256) NOT NULL,
25
+
26
+ -- caption 필수 여부
27
+ caption_required INTEGER NOT NULL DEFAULT 1
28
+ CHECK (caption_required IN (0, 1)),
29
+
30
+ -- row 필수 여부
31
+ rows_required INTEGER NOT NULL DEFAULT 0
32
+ CHECK (rows_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, table_schema_code)
52
+ )
53
+ ```
54
+
55
+ </details>
56
+
57
+ ## Columns
58
+
59
+ | Name | Type | Default | Nullable | Children | Parents |
60
+ | -------------------- | ------------ | ----------------- | -------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------- |
61
+ | table_schema_id | CHAR(36) | | true | [artifact_standard_table_column_schemas](artifact_standard_table_column_schemas.md) | |
62
+ | artifact_standard_id | CHAR(36) | | false | | [artifact_standard_standards](artifact_standard_standards.md) |
63
+ | table_schema_code | VARCHAR(128) | | false | | |
64
+ | table_name | VARCHAR(256) | | false | | |
65
+ | caption_required | INTEGER | 1 | false | | |
66
+ | rows_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
+ | table_schema_id | PRIMARY KEY | PRIMARY KEY (table_schema_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_table_schemas_2 | UNIQUE | UNIQUE (artifact_standard_id, table_schema_code) |
79
+ | sqlite_autoindex_artifact_standard_table_schemas_1 | PRIMARY KEY | PRIMARY KEY (table_schema_id) |
80
+ | - | CHECK | CHECK (length(table_schema_id) = 36) |
81
+ | - | CHECK | CHECK (length(artifact_standard_id) = 36) |
82
+ | - | CHECK | CHECK (caption_required IN (0, 1)) |
83
+ | - | CHECK | CHECK (rows_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_table_schemas_2 | UNIQUE (artifact_standard_id, table_schema_code) |
91
+ | sqlite_autoindex_artifact_standard_table_schemas_1 | PRIMARY KEY (table_schema_id) |
92
+
93
+ ## Relations
94
+
95
+ ![er](artifact_standard_table_schemas.svg)
96
+
97
+ ---
98
+
99
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,71 @@
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_table_schemas Pages: 1 -->
7
+ <svg width="476pt" height="653pt"
8
+ viewBox="0.00 0.00 475.54 652.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 648.89)">
10
+ <title>artifact_standard_table_schemas</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-648.89 471.54,-648.89 471.54,4 -4,4"/>
12
+ <!-- artifact_standard_table_schemas -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_table_schemas</title>
15
+ <polygon fill="#efefef" stroke="none" points="74.7,-322.69 74.7,-368.69 392.85,-368.69 392.85,-322.69 74.7,-322.69"/>
16
+ <polygon fill="none" stroke="black" points="74.7,-322.69 74.7,-368.69 392.85,-368.69 392.85,-322.69 74.7,-322.69"/>
17
+ <text text-anchor="start" x="81.7" y="-346.49" font-family="Arial Bold" font-size="18.00">artifact_standard_table_schemas</text>
18
+ <text text-anchor="start" x="316.59" y="-346.49" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="347.71" y="-346.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="135.36" y="-332.09" font-family="Arial" font-size="14.00" fill="#333333">산출물 표 단위 schema를 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="74.7,-291.89 74.7,-322.69 392.85,-322.69 392.85,-291.89 74.7,-291.89"/>
22
+ <text text-anchor="start" x="81.7" y="-304.09" font-family="Arial" font-size="14.00">table_schema_id </text>
23
+ <text text-anchor="start" x="191.43" y="-304.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
24
+ <polygon fill="none" stroke="black" points="74.7,-261.09 74.7,-291.89 392.85,-291.89 392.85,-261.09 74.7,-261.09"/>
25
+ <text text-anchor="start" x="81.7" y="-273.29" font-family="Arial" font-size="14.00">artifact_standard_id </text>
26
+ <text text-anchor="start" x="208.55" 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="73.2,-259.59 73.2,-370.19 394.35,-370.19 394.35,-259.59 73.2,-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="75.05,-89.69 75.05,-135.69 392.49,-135.69 392.49,-89.69 75.05,-89.69"/>
33
+ <polygon fill="none" stroke="black" points="75.05,-89.69 75.05,-135.69 392.49,-135.69 392.49,-89.69 75.05,-89.69"/>
34
+ <text text-anchor="start" x="100.18" y="-113.49" font-family="Arial Bold" font-size="18.00">artifact_standard_standards</text>
35
+ <text text-anchor="start" x="298.1" y="-113.49" font-family="Arial" font-size="14.00">    </text>
36
+ <text text-anchor="start" x="329.22" y="-113.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
37
+ <text text-anchor="start" x="82.05" y="-99.09" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준의 최상위 versioned definition을 관리한다.</text>
38
+ <polygon fill="none" stroke="black" points="75.05,-58.89 75.05,-89.69 392.49,-89.69 392.49,-58.89 75.05,-58.89"/>
39
+ <text text-anchor="start" x="82.05" y="-71.09" font-family="Arial" font-size="14.00">artifact_standard_id </text>
40
+ <text text-anchor="start" x="208.9" y="-71.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
41
+ </g>
42
+ <!-- artifact_standard_table_schemas&#45;&gt;artifact_standard_standards -->
43
+ <g id="edge2" class="edge">
44
+ <title>artifact_standard_table_schemas:artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
45
+ <path fill="none" stroke="black" d="M234.37,-250.1C244.61,-170.22 383.55,-256.06 435.69,-178.89 465.55,-134.7 473.31,-96.7 435.69,-58.89 372.39,4.73 233.77,31.86 233.77,-57.89"/>
46
+ <polygon fill="black" stroke="black" points="234.39,-249.77 229.3,-259.49 234.07,-255.1 233.81,-259.42 233.81,-259.42 233.81,-259.42 234.07,-255.1 238.28,-260.02 234.39,-249.77"/>
47
+ </g>
48
+ <!-- artifact_standard_table_column_schemas -->
49
+ <g id="node2" class="node">
50
+ <title>artifact_standard_table_column_schemas</title>
51
+ <polygon fill="#efefef" stroke="none" points="43.2,-555.69 43.2,-601.69 424.34,-601.69 424.34,-555.69 43.2,-555.69"/>
52
+ <polygon fill="none" stroke="black" points="43.2,-555.69 43.2,-601.69 424.34,-601.69 424.34,-555.69 43.2,-555.69"/>
53
+ <text text-anchor="start" x="50.2" y="-579.49" font-family="Arial Bold" font-size="18.00">artifact_standard_table_column_schemas</text>
54
+ <text text-anchor="start" x="348.09" y="-579.49" font-family="Arial" font-size="14.00">    </text>
55
+ <text text-anchor="start" x="379.2" y="-579.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
56
+ <text text-anchor="start" x="105.01" y="-565.09" font-family="Arial" font-size="14.00" fill="#333333">산출물 표의 column 단위 schema를 관리한다.</text>
57
+ <polygon fill="none" stroke="black" points="43.2,-524.89 43.2,-555.69 424.34,-555.69 424.34,-524.89 43.2,-524.89"/>
58
+ <text text-anchor="start" x="50.2" y="-537.09" font-family="Arial" font-size="14.00">table_column_schema_id </text>
59
+ <text text-anchor="start" x="212.85" y="-537.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
60
+ <polygon fill="none" stroke="black" points="43.2,-494.09 43.2,-524.89 424.34,-524.89 424.34,-494.09 43.2,-494.09"/>
61
+ <text text-anchor="start" x="50.2" y="-506.29" font-family="Arial" font-size="14.00">table_schema_id </text>
62
+ <text text-anchor="start" x="159.94" y="-506.29" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
63
+ </g>
64
+ <!-- artifact_standard_table_column_schemas&#45;&gt;artifact_standard_table_schemas -->
65
+ <g id="edge1" class="edge">
66
+ <title>artifact_standard_table_column_schemas:table_schema_id&#45;&gt;artifact_standard_table_schemas:table_schema_id</title>
67
+ <path fill="none" stroke="black" d="M234.52,-482.94C244.59,-420.32 352.86,-478.44 392.85,-414.89 418.32,-374.41 441.67,-307.29 393.85,-307.29"/>
68
+ <polygon fill="black" stroke="black" points="234.54,-482.78 229.31,-492.42 234.14,-488.1 233.82,-492.42 233.82,-492.42 233.82,-492.42 234.14,-488.1 238.28,-493.09 234.54,-482.78"/>
69
+ </g>
70
+ </g>
71
+ </svg>
@@ -0,0 +1,143 @@
1
+ # artifact_standard_template_slots
2
+
3
+ ## Description
4
+
5
+ blueprint 내 section, table, figure, diagram 등이 들어갈 slot을 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE artifact_standard_template_slots (
12
+ -- slot 식별자
13
+ template_slot_id CHAR(36) PRIMARY KEY
14
+ CHECK (length(template_slot_id) = 36),
15
+
16
+ -- 소속 blueprint 식별자
17
+ blueprint_id CHAR(36) NOT NULL
18
+ CHECK (length(blueprint_id) = 36),
19
+
20
+ -- 소속 blueprint node 식별자
21
+ blueprint_node_id CHAR(36)
22
+ CHECK (blueprint_node_id IS NULL OR length(blueprint_node_id) = 36),
23
+
24
+ -- 부모 slot 식별자
25
+ parent_template_slot_id CHAR(36)
26
+ CHECK (parent_template_slot_id IS NULL OR length(parent_template_slot_id) = 36),
27
+
28
+ -- slot 코드
29
+ slot_code VARCHAR(128) NOT NULL,
30
+
31
+ -- slot 이름
32
+ slot_name VARCHAR(256) NOT NULL,
33
+
34
+ -- slot 유형 코드
35
+ slot_type_code VARCHAR(64) NOT NULL,
36
+
37
+ -- block 유형 코드
38
+ block_type_code VARCHAR(64),
39
+
40
+ -- slot 필수 여부
41
+ is_required INTEGER NOT NULL DEFAULT 1
42
+ CHECK (is_required IN (0, 1)),
43
+
44
+ -- 반복 가능 여부
45
+ is_repeatable INTEGER NOT NULL DEFAULT 0
46
+ CHECK (is_repeatable IN (0, 1)),
47
+
48
+ -- 반복 context 코드
49
+ repeat_context_code VARCHAR(128),
50
+
51
+ -- schema 참조
52
+ schema_ref VARCHAR(256),
53
+
54
+ -- 설명
55
+ description TEXT,
56
+
57
+ -- 표시 정렬 순서
58
+ sort_order INTEGER NOT NULL DEFAULT 0,
59
+
60
+ -- 생성 시각
61
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
62
+
63
+ -- 수정 시각
64
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
65
+
66
+ -- 확장 메타데이터
67
+ metadata_json JSON
68
+ CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
69
+
70
+ FOREIGN KEY (blueprint_id)
71
+ REFERENCES artifact_standard_document_blueprints (blueprint_id)
72
+ ON DELETE CASCADE,
73
+
74
+ FOREIGN KEY (blueprint_node_id)
75
+ REFERENCES artifact_standard_blueprint_nodes (blueprint_node_id)
76
+ ON DELETE CASCADE,
77
+
78
+ FOREIGN KEY (parent_template_slot_id)
79
+ REFERENCES artifact_standard_template_slots (template_slot_id)
80
+ ON DELETE CASCADE,
81
+
82
+ UNIQUE (blueprint_id, slot_code)
83
+ )
84
+ ```
85
+
86
+ </details>
87
+
88
+ ## Columns
89
+
90
+ | Name | Type | Default | Nullable | Children | Parents |
91
+ | ----------------------- | ------------ | ----------------- | -------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
92
+ | template_slot_id | CHAR(36) | | true | [artifact_standard_template_slots](artifact_standard_template_slots.md) | |
93
+ | blueprint_id | CHAR(36) | | false | | [artifact_standard_document_blueprints](artifact_standard_document_blueprints.md) |
94
+ | blueprint_node_id | CHAR(36) | | true | | [artifact_standard_blueprint_nodes](artifact_standard_blueprint_nodes.md) |
95
+ | parent_template_slot_id | CHAR(36) | | true | | [artifact_standard_template_slots](artifact_standard_template_slots.md) |
96
+ | slot_code | VARCHAR(128) | | false | | |
97
+ | slot_name | VARCHAR(256) | | false | | |
98
+ | slot_type_code | VARCHAR(64) | | false | | |
99
+ | block_type_code | VARCHAR(64) | | true | | |
100
+ | is_required | INTEGER | 1 | false | | |
101
+ | is_repeatable | INTEGER | 0 | false | | |
102
+ | repeat_context_code | VARCHAR(128) | | true | | |
103
+ | schema_ref | VARCHAR(256) | | true | | |
104
+ | description | TEXT | | true | | |
105
+ | sort_order | INTEGER | 0 | false | | |
106
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | | |
107
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | | |
108
+ | metadata_json | JSON | | true | | |
109
+
110
+ ## Constraints
111
+
112
+ | Name | Type | Definition |
113
+ | --------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
114
+ | template_slot_id | PRIMARY KEY | PRIMARY KEY (template_slot_id) |
115
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (parent_template_slot_id) REFERENCES artifact_standard_template_slots (template_slot_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
116
+ | - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (blueprint_node_id) REFERENCES artifact_standard_blueprint_nodes (blueprint_node_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
117
+ | - (Foreign key ID: 2) | FOREIGN KEY | FOREIGN KEY (blueprint_id) REFERENCES artifact_standard_document_blueprints (blueprint_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
118
+ | sqlite_autoindex_artifact_standard_template_slots_2 | UNIQUE | UNIQUE (blueprint_id, slot_code) |
119
+ | sqlite_autoindex_artifact_standard_template_slots_1 | PRIMARY KEY | PRIMARY KEY (template_slot_id) |
120
+ | - | CHECK | CHECK (length(template_slot_id) = 36) |
121
+ | - | CHECK | CHECK (length(blueprint_id) = 36) |
122
+ | - | CHECK | CHECK (blueprint_node_id IS NULL OR length(blueprint_node_id) = 36) |
123
+ | - | CHECK | CHECK (parent_template_slot_id IS NULL OR length(parent_template_slot_id) = 36) |
124
+ | - | CHECK | CHECK (is_required IN (0, 1)) |
125
+ | - | CHECK | CHECK (is_repeatable IN (0, 1)) |
126
+ | - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
127
+
128
+ ## Indexes
129
+
130
+ | Name | Definition |
131
+ | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
132
+ | idx_artifact_standard_template_slots_node | CREATE INDEX idx_artifact_standard_template_slots_node<br /> ON artifact_standard_template_slots (blueprint_node_id) |
133
+ | idx_artifact_standard_template_slots_blueprint | CREATE INDEX idx_artifact_standard_template_slots_blueprint<br /> ON artifact_standard_template_slots (blueprint_id) |
134
+ | sqlite_autoindex_artifact_standard_template_slots_2 | UNIQUE (blueprint_id, slot_code) |
135
+ | sqlite_autoindex_artifact_standard_template_slots_1 | PRIMARY KEY (template_slot_id) |
136
+
137
+ ## Relations
138
+
139
+ ![er](artifact_standard_template_slots.svg)
140
+
141
+ ---
142
+
143
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,88 @@
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_template_slots Pages: 1 -->
7
+ <svg width="894pt" height="657pt"
8
+ viewBox="0.00 0.00 893.57 657.00" 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 653)">
10
+ <title>artifact_standard_template_slots</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-653 889.57,-653 889.57,4 -4,4"/>
12
+ <!-- artifact_standard_template_slots -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_template_slots</title>
15
+ <polygon fill="#efefef" stroke="none" points="237.42,-419.8 237.42,-465.8 666.15,-465.8 666.15,-419.8 237.42,-419.8"/>
16
+ <polygon fill="none" stroke="black" points="237.42,-419.8 237.42,-465.8 666.15,-465.8 666.15,-419.8 237.42,-419.8"/>
17
+ <text text-anchor="start" x="300.19" y="-443.6" font-family="Arial Bold" font-size="18.00">artifact_standard_template_slots</text>
18
+ <text text-anchor="start" x="534.12" y="-443.6" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="565.23" y="-443.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="244.42" y="-429.2" font-family="Arial" font-size="14.00" fill="#333333">blueprint 내 section, table, figure, diagram 등이 들어갈 slot을 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="237.42,-389 237.42,-419.8 666.15,-419.8 666.15,-389 237.42,-389"/>
22
+ <text text-anchor="start" x="244.42" y="-401.2" font-family="Arial" font-size="14.00">template_slot_id </text>
23
+ <text text-anchor="start" x="350.26" y="-401.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
24
+ <polygon fill="none" stroke="black" points="237.42,-358.2 237.42,-389 666.15,-389 666.15,-358.2 237.42,-358.2"/>
25
+ <text text-anchor="start" x="244.42" y="-370.4" font-family="Arial" font-size="14.00">blueprint_id </text>
26
+ <text text-anchor="start" x="320.69" y="-370.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
27
+ <polygon fill="none" stroke="black" points="237.42,-327.4 237.42,-358.2 666.15,-358.2 666.15,-327.4 237.42,-327.4"/>
28
+ <text text-anchor="start" x="244.42" y="-339.6" font-family="Arial" font-size="14.00">blueprint_node_id </text>
29
+ <text text-anchor="start" x="359.62" y="-339.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
30
+ <polygon fill="none" stroke="black" points="237.42,-296.6 237.42,-327.4 666.15,-327.4 666.15,-296.6 237.42,-296.6"/>
31
+ <text text-anchor="start" x="244.42" y="-308.8" font-family="Arial" font-size="14.00">parent_template_slot_id </text>
32
+ <text text-anchor="start" x="397.74" y="-308.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
33
+ <polygon fill="none" stroke="black" stroke-width="3" points="235.92,-295.1 235.92,-467.3 667.65,-467.3 667.65,-295.1 235.92,-295.1"/>
34
+ </g>
35
+ <!-- artifact_standard_template_slots&#45;&gt;artifact_standard_template_slots -->
36
+ <g id="edge1" class="edge">
37
+ <title>artifact_standard_template_slots:parent_template_slot_id&#45;&gt;artifact_standard_template_slots:template_slot_id</title>
38
+ <path fill="none" stroke="black" d="M453.86,-337.67C460.72,-441.22 460.02,-649 451.78,-649 443.27,-649 442.81,-510.19 450.39,-419.6"/>
39
+ <polygon fill="black" stroke="black" points="453.87,-337.69 457.64,-327.4 453.49,-332.37 453.18,-328.05 453.18,-328.05 453.18,-328.05 453.49,-332.37 448.67,-328.04 453.87,-337.69"/>
40
+ </g>
41
+ <!-- artifact_standard_document_blueprints -->
42
+ <g id="node2" class="node">
43
+ <title>artifact_standard_document_blueprints</title>
44
+ <polygon fill="#efefef" stroke="none" points="43.2,-115 43.2,-161 408.36,-161 408.36,-115 43.2,-115"/>
45
+ <polygon fill="none" stroke="black" points="43.2,-115 43.2,-161 408.36,-161 408.36,-115 43.2,-115"/>
46
+ <text text-anchor="start" x="50.2" y="-138.8" font-family="Arial Bold" font-size="18.00">artifact_standard_document_blueprints</text>
47
+ <text text-anchor="start" x="332.11" y="-138.8" font-family="Arial" font-size="14.00">    </text>
48
+ <text text-anchor="start" x="363.23" y="-138.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
49
+ <text text-anchor="start" x="134.38" y="-124.4" font-family="Arial" font-size="14.00" fill="#333333">산출물 문서 구조 기준을 관리한다.</text>
50
+ <polygon fill="none" stroke="black" points="43.2,-84.2 43.2,-115 408.36,-115 408.36,-84.2 43.2,-84.2"/>
51
+ <text text-anchor="start" x="50.2" y="-96.4" font-family="Arial" font-size="14.00">blueprint_id </text>
52
+ <text text-anchor="start" x="126.48" y="-96.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
53
+ <polygon fill="none" stroke="black" points="43.2,-53.4 43.2,-84.2 408.36,-84.2 408.36,-53.4 43.2,-53.4"/>
54
+ <text text-anchor="start" x="50.2" y="-65.6" font-family="Arial" font-size="14.00">artifact_standard_id </text>
55
+ <text text-anchor="start" x="177.05" y="-65.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
56
+ </g>
57
+ <!-- artifact_standard_template_slots&#45;&gt;artifact_standard_document_blueprints -->
58
+ <g id="edge2" class="edge">
59
+ <title>artifact_standard_template_slots:blueprint_id&#45;&gt;artifact_standard_document_blueprints:blueprint_id</title>
60
+ <path fill="none" stroke="black" d="M226.25,-372.52C184.76,-362.85 206.24,-290.78 237.42,-250.4 285.51,-188.1 360.22,-266.46 408.36,-204.2 436.8,-167.42 455.86,-99.6 409.36,-99.6"/>
61
+ <polygon fill="black" stroke="black" points="226.14,-372.51 235.61,-378.04 231.45,-373.07 235.75,-373.53 235.75,-373.53 235.75,-373.53 231.45,-373.07 236.56,-369.09 226.14,-372.51"/>
62
+ </g>
63
+ <!-- artifact_standard_blueprint_nodes -->
64
+ <g id="node3" class="node">
65
+ <title>artifact_standard_blueprint_nodes</title>
66
+ <polygon fill="#efefef" stroke="none" points="513.2,-135.6 513.2,-171.2 842.37,-171.2 842.37,-135.6 513.2,-135.6"/>
67
+ <polygon fill="none" stroke="black" points="513.2,-135.6 513.2,-171.2 842.37,-171.2 842.37,-135.6 513.2,-135.6"/>
68
+ <text text-anchor="start" x="520.2" y="-149" font-family="Arial Bold" font-size="18.00">artifact_standard_blueprint_nodes</text>
69
+ <text text-anchor="start" x="766.11" y="-149" font-family="Arial" font-size="14.00">    </text>
70
+ <text text-anchor="start" x="797.23" y="-149" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
71
+ <polygon fill="none" stroke="black" points="513.2,-104.8 513.2,-135.6 842.37,-135.6 842.37,-104.8 513.2,-104.8"/>
72
+ <text text-anchor="start" x="520.2" y="-117" font-family="Arial" font-size="14.00">blueprint_node_id </text>
73
+ <text text-anchor="start" x="635.4" y="-117" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
74
+ <polygon fill="none" stroke="black" points="513.2,-74 513.2,-104.8 842.37,-104.8 842.37,-74 513.2,-74"/>
75
+ <text text-anchor="start" x="520.2" y="-86.2" font-family="Arial" font-size="14.00">blueprint_id </text>
76
+ <text text-anchor="start" x="596.47" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
77
+ <polygon fill="none" stroke="black" points="513.2,-43.2 513.2,-74 842.37,-74 842.37,-43.2 513.2,-43.2"/>
78
+ <text text-anchor="start" x="520.2" y="-55.4" font-family="Arial" font-size="14.00">parent_blueprint_node_id </text>
79
+ <text text-anchor="start" x="682.88" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
80
+ </g>
81
+ <!-- artifact_standard_template_slots&#45;&gt;artifact_standard_blueprint_nodes -->
82
+ <g id="edge3" class="edge">
83
+ <title>artifact_standard_template_slots:blueprint_node_id&#45;&gt;artifact_standard_blueprint_nodes:blueprint_node_id</title>
84
+ <path fill="none" stroke="black" d="M677.22,-341.28C705.06,-331.73 689.41,-279.45 666.15,-250.4 622.49,-195.89 556.84,-268.92 513.2,-214.4 487.03,-181.72 470.33,-120.2 512.2,-120.2"/>
85
+ <polygon fill="black" stroke="black" points="677.37,-341.26 666.81,-338.3 672.09,-342.06 667.81,-342.7 667.81,-342.7 667.81,-342.7 672.09,-342.06 668.15,-347.2 677.37,-341.26"/>
86
+ </g>
87
+ </g>
88
+ </svg>
@@ -0,0 +1,128 @@
1
+ # artifact_standard_validation_rule_set_rules
2
+
3
+ ## Description
4
+
5
+ validation rule set에 포함된 contract-compatible rule을 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE artifact_standard_validation_rule_set_rules (
12
+ -- validation rule set rule 식별자
13
+ validation_rule_set_rule_id CHAR(36) PRIMARY KEY
14
+ CHECK (length(validation_rule_set_rule_id) = 36),
15
+
16
+ -- 소속 validation rule set 식별자
17
+ validation_rule_set_id CHAR(36) NOT NULL
18
+ CHECK (length(validation_rule_set_id) = 36),
19
+
20
+ -- rule 식별자
21
+ rule_id VARCHAR(256) NOT NULL,
22
+
23
+ -- validation type 코드. agentic-contract-validation과 정렬한다.
24
+ validation_type_code VARCHAR(64) NOT NULL,
25
+
26
+ -- execution mode 코드. agentic-contract-validation과 정렬한다.
27
+ execution_mode_code VARCHAR(64) NOT NULL,
28
+
29
+ -- severity 코드. agentic-contract-validation과 정렬한다.
30
+ severity_code VARCHAR(64) NOT NULL,
31
+
32
+ -- 적용 대상 유형 코드
33
+ applies_to_type_code VARCHAR(128) NOT NULL,
34
+
35
+ -- 적용 대상 참조
36
+ applies_to_ref VARCHAR(256),
37
+
38
+ -- source component 참조
39
+ source_component_ref VARCHAR(256),
40
+
41
+ -- rule parameter
42
+ parameters_json JSON
43
+ CHECK (parameters_json IS NULL OR json_valid(parameters_json)),
44
+
45
+ -- 위반 메시지
46
+ message TEXT NOT NULL,
47
+
48
+ -- 해결 가이드
49
+ remediation TEXT,
50
+
51
+ -- 표시 정렬 순서
52
+ sort_order INTEGER NOT NULL DEFAULT 0,
53
+
54
+ -- 활성 여부
55
+ is_active INTEGER NOT NULL DEFAULT 1
56
+ CHECK (is_active IN (0, 1)),
57
+
58
+ -- 생성 시각
59
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
60
+
61
+ -- 수정 시각
62
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
63
+
64
+ -- 확장 메타데이터
65
+ metadata_json JSON
66
+ CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
67
+
68
+ FOREIGN KEY (validation_rule_set_id)
69
+ REFERENCES artifact_standard_validation_rule_sets (validation_rule_set_id)
70
+ ON DELETE CASCADE,
71
+
72
+ UNIQUE (validation_rule_set_id, rule_id)
73
+ )
74
+ ```
75
+
76
+ </details>
77
+
78
+ ## Columns
79
+
80
+ | Name | Type | Default | Nullable | Parents |
81
+ | --------------------------- | ------------ | ----------------- | -------- | ----------------------------------------------------------------------------------- |
82
+ | validation_rule_set_rule_id | CHAR(36) | | true | |
83
+ | validation_rule_set_id | CHAR(36) | | false | [artifact_standard_validation_rule_sets](artifact_standard_validation_rule_sets.md) |
84
+ | rule_id | VARCHAR(256) | | false | |
85
+ | validation_type_code | VARCHAR(64) | | false | |
86
+ | execution_mode_code | VARCHAR(64) | | false | |
87
+ | severity_code | VARCHAR(64) | | false | |
88
+ | applies_to_type_code | VARCHAR(128) | | false | |
89
+ | applies_to_ref | VARCHAR(256) | | true | |
90
+ | source_component_ref | VARCHAR(256) | | true | |
91
+ | parameters_json | JSON | | true | |
92
+ | message | TEXT | | false | |
93
+ | remediation | TEXT | | true | |
94
+ | sort_order | INTEGER | 0 | false | |
95
+ | is_active | INTEGER | 1 | false | |
96
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | |
97
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
98
+ | metadata_json | JSON | | true | |
99
+
100
+ ## Constraints
101
+
102
+ | Name | Type | Definition |
103
+ | -------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
104
+ | validation_rule_set_rule_id | PRIMARY KEY | PRIMARY KEY (validation_rule_set_rule_id) |
105
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (validation_rule_set_id) REFERENCES artifact_standard_validation_rule_sets (validation_rule_set_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
106
+ | sqlite_autoindex_artifact_standard_validation_rule_set_rules_2 | UNIQUE | UNIQUE (validation_rule_set_id, rule_id) |
107
+ | sqlite_autoindex_artifact_standard_validation_rule_set_rules_1 | PRIMARY KEY | PRIMARY KEY (validation_rule_set_rule_id) |
108
+ | - | CHECK | CHECK (length(validation_rule_set_rule_id) = 36) |
109
+ | - | CHECK | CHECK (length(validation_rule_set_id) = 36) |
110
+ | - | CHECK | CHECK (parameters_json IS NULL OR json_valid(parameters_json)) |
111
+ | - | CHECK | CHECK (is_active IN (0, 1)) |
112
+ | - | CHECK | CHECK (metadata_json IS NULL OR json_valid(metadata_json)) |
113
+
114
+ ## Indexes
115
+
116
+ | Name | Definition |
117
+ | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
118
+ | idx_artifact_standard_rule_set_rules_rule_set | CREATE INDEX idx_artifact_standard_rule_set_rules_rule_set<br /> ON artifact_standard_validation_rule_set_rules (validation_rule_set_id) |
119
+ | sqlite_autoindex_artifact_standard_validation_rule_set_rules_2 | UNIQUE (validation_rule_set_id, rule_id) |
120
+ | sqlite_autoindex_artifact_standard_validation_rule_set_rules_1 | PRIMARY KEY (validation_rule_set_rule_id) |
121
+
122
+ ## Relations
123
+
124
+ ![er](artifact_standard_validation_rule_set_rules.svg)
125
+
126
+ ---
127
+
128
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,52 @@
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_validation_rule_set_rules Pages: 1 -->
7
+ <svg width="496pt" height="438pt"
8
+ viewBox="0.00 0.00 495.54 438.00" 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 434)">
10
+ <title>artifact_standard_validation_rule_set_rules</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-434 491.54,-434 491.54,4 -4,4"/>
12
+ <!-- artifact_standard_validation_rule_set_rules -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_validation_rule_set_rules</title>
15
+ <polygon fill="#efefef" stroke="none" points="46.2,-337.8 46.2,-383.8 441.34,-383.8 441.34,-337.8 46.2,-337.8"/>
16
+ <polygon fill="none" stroke="black" points="46.2,-337.8 46.2,-383.8 441.34,-383.8 441.34,-337.8 46.2,-337.8"/>
17
+ <text text-anchor="start" x="53.2" y="-361.6" font-family="Arial Bold" font-size="18.00">artifact_standard_validation_rule_set_rules</text>
18
+ <text text-anchor="start" x="365.09" y="-361.6" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="396.21" y="-361.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="54.31" y="-347.2" font-family="Arial" font-size="14.00" fill="#333333">validation rule set에 포함된 contract&#45;compatible rule을 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="46.2,-307 46.2,-337.8 441.34,-337.8 441.34,-307 46.2,-307"/>
22
+ <text text-anchor="start" x="53.2" y="-319.2" font-family="Arial" font-size="14.00">validation_rule_set_rule_id </text>
23
+ <text text-anchor="start" x="223.65" y="-319.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
24
+ <polygon fill="none" stroke="black" points="46.2,-276.2 46.2,-307 441.34,-307 441.34,-276.2 46.2,-276.2"/>
25
+ <text text-anchor="start" x="53.2" y="-288.4" font-family="Arial" font-size="14.00">validation_rule_set_id </text>
26
+ <text text-anchor="start" x="192.52" y="-288.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
27
+ <polygon fill="none" stroke="black" stroke-width="3" points="44.7,-274.7 44.7,-385.3 442.84,-385.3 442.84,-274.7 44.7,-274.7"/>
28
+ </g>
29
+ <!-- artifact_standard_validation_rule_sets -->
30
+ <g id="node2" class="node">
31
+ <title>artifact_standard_validation_rule_sets</title>
32
+ <polygon fill="#efefef" stroke="none" points="64.69,-104.8 64.69,-150.8 422.85,-150.8 422.85,-104.8 64.69,-104.8"/>
33
+ <polygon fill="none" stroke="black" points="64.69,-104.8 64.69,-150.8 422.85,-150.8 422.85,-104.8 64.69,-104.8"/>
34
+ <text text-anchor="start" x="71.69" y="-128.6" font-family="Arial Bold" font-size="18.00">artifact_standard_validation_rule_sets</text>
35
+ <text text-anchor="start" x="346.6" y="-128.6" font-family="Arial" font-size="14.00">    </text>
36
+ <text text-anchor="start" x="377.71" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
37
+ <text text-anchor="start" x="97.89" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준에 적용할 validation rule set을 관리한다.</text>
38
+ <polygon fill="none" stroke="black" points="64.69,-74 64.69,-104.8 422.85,-104.8 422.85,-74 64.69,-74"/>
39
+ <text text-anchor="start" x="71.69" y="-86.2" font-family="Arial" font-size="14.00">validation_rule_set_id </text>
40
+ <text text-anchor="start" x="211.01" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
41
+ <polygon fill="none" stroke="black" points="64.69,-43.2 64.69,-74 422.85,-74 422.85,-43.2 64.69,-43.2"/>
42
+ <text text-anchor="start" x="71.69" y="-55.4" font-family="Arial" font-size="14.00">artifact_standard_id </text>
43
+ <text text-anchor="start" x="198.55" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
44
+ </g>
45
+ <!-- artifact_standard_validation_rule_set_rules&#45;&gt;artifact_standard_validation_rule_sets -->
46
+ <g id="edge1" class="edge">
47
+ <title>artifact_standard_validation_rule_set_rules:validation_rule_set_id&#45;&gt;artifact_standard_validation_rule_sets:validation_rule_set_id</title>
48
+ <path fill="none" stroke="black" d="M244.48,-264.83C254.91,-194.35 377.2,-264.08 422.85,-194 448.23,-155.04 470.34,-89.4 423.85,-89.4"/>
49
+ <polygon fill="black" stroke="black" points="244.48,-264.89 239.31,-274.56 244.11,-270.21 243.82,-274.53 243.82,-274.53 243.82,-274.53 244.11,-270.21 248.28,-275.17 244.48,-264.89"/>
50
+ </g>
51
+ </g>
52
+ </svg>