@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,139 @@
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_document_components Pages: 1 -->
7
+ <svg width="1213pt" height="770pt"
8
+ viewBox="0.00 0.00 1213.19 770.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 766.4)">
10
+ <title>artifact_standard_document_components</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-766.4 1209.19,-766.4 1209.19,4 -4,4"/>
12
+ <!-- artifact_standard_document_components -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_document_components</title>
15
+ <polygon fill="#efefef" stroke="none" points="234.84,-399.4 234.84,-435 615,-435 615,-399.4 234.84,-399.4"/>
16
+ <polygon fill="none" stroke="black" points="234.84,-399.4 234.84,-435 615,-435 615,-399.4 234.84,-399.4"/>
17
+ <text text-anchor="start" x="241.84" y="-412.8" font-family="Arial Bold" font-size="18.00">artifact_standard_document_components</text>
18
+ <text text-anchor="start" x="538.75" y="-412.8" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="569.87" y="-412.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <polygon fill="none" stroke="black" points="234.84,-368.6 234.84,-399.4 615,-399.4 615,-368.6 234.84,-368.6"/>
21
+ <text text-anchor="start" x="241.84" y="-380.8" font-family="Arial" font-size="14.00">document_component_id </text>
22
+ <text text-anchor="start" x="402.95" y="-380.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
23
+ <polygon fill="none" stroke="black" points="234.84,-337.8 234.84,-368.6 615,-368.6 615,-337.8 234.84,-337.8"/>
24
+ <text text-anchor="start" x="241.84" y="-350" font-family="Arial" font-size="14.00">artifact_standard_id </text>
25
+ <text text-anchor="start" x="368.7" y="-350" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
26
+ <polygon fill="none" stroke="black" points="234.84,-307 234.84,-337.8 615,-337.8 615,-307 234.84,-307"/>
27
+ <text text-anchor="start" x="241.84" y="-319.2" font-family="Arial" font-size="14.00">blueprint_id </text>
28
+ <text text-anchor="start" x="318.12" y="-319.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
29
+ <polygon fill="none" stroke="black" points="234.84,-276.2 234.84,-307 615,-307 615,-276.2 234.84,-276.2"/>
30
+ <text text-anchor="start" x="241.84" y="-288.4" font-family="Arial" font-size="14.00">parent_document_component_id </text>
31
+ <text text-anchor="start" x="450.44" y="-288.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
32
+ <polygon fill="none" stroke="black" stroke-width="3" points="233.34,-274.7 233.34,-436.5 616.5,-436.5 616.5,-274.7 233.34,-274.7"/>
33
+ </g>
34
+ <!-- artifact_standard_document_components&#45;&gt;artifact_standard_document_components -->
35
+ <g id="edge1" class="edge">
36
+ <title>artifact_standard_document_components:parent_document_component_id&#45;&gt;artifact_standard_document_components:document_component_id</title>
37
+ <path fill="none" stroke="black" d="M427.09,-317.21C433.85,-415.89 433.13,-610.5 424.92,-610.5 416.44,-610.5 415.95,-484.81 423.46,-399.21"/>
38
+ <polygon fill="black" stroke="black" points="427.08,-317.12 430.83,-306.82 426.69,-311.8 426.37,-307.48 426.37,-307.48 426.37,-307.48 426.69,-311.8 421.86,-307.48 427.08,-317.12"/>
39
+ </g>
40
+ <!-- artifact_standard_standards -->
41
+ <g id="node4" class="node">
42
+ <title>artifact_standard_standards</title>
43
+ <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"/>
44
+ <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"/>
45
+ <text text-anchor="start" x="68.34" y="-113.2" font-family="Arial Bold" font-size="18.00">artifact_standard_standards</text>
46
+ <text text-anchor="start" x="266.26" y="-113.2" font-family="Arial" font-size="14.00">    </text>
47
+ <text text-anchor="start" x="297.37" y="-113.2" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
48
+ <text text-anchor="start" x="50.2" y="-98.8" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준의 최상위 versioned definition을 관리한다.</text>
49
+ <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"/>
50
+ <text text-anchor="start" x="50.2" y="-70.8" font-family="Arial" font-size="14.00">artifact_standard_id </text>
51
+ <text text-anchor="start" x="177.05" y="-70.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
52
+ </g>
53
+ <!-- artifact_standard_document_components&#45;&gt;artifact_standard_standards -->
54
+ <g id="edge5" class="edge">
55
+ <title>artifact_standard_document_components:artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
56
+ <path fill="none" stroke="black" d="M223.71,-352.14C182.54,-342.71 206.23,-272.23 234.84,-230 268.72,-180 326.73,-228.58 360.65,-178.6 386.75,-140.13 408.14,-74 361.65,-74"/>
57
+ <polygon fill="black" stroke="black" points="223.57,-352.13 233.05,-357.64 228.87,-352.68 233.18,-353.13 233.18,-353.13 233.18,-353.13 228.87,-352.68 233.98,-348.69 223.57,-352.13"/>
58
+ </g>
59
+ <!-- artifact_standard_document_blueprints -->
60
+ <g id="node5" class="node">
61
+ <title>artifact_standard_document_blueprints</title>
62
+ <polygon fill="#efefef" stroke="none" points="465.34,-104.8 465.34,-150.8 830.51,-150.8 830.51,-104.8 465.34,-104.8"/>
63
+ <polygon fill="none" stroke="black" points="465.34,-104.8 465.34,-150.8 830.51,-150.8 830.51,-104.8 465.34,-104.8"/>
64
+ <text text-anchor="start" x="472.34" y="-128.6" font-family="Arial Bold" font-size="18.00">artifact_standard_document_blueprints</text>
65
+ <text text-anchor="start" x="754.25" y="-128.6" font-family="Arial" font-size="14.00">    </text>
66
+ <text text-anchor="start" x="785.37" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
67
+ <text text-anchor="start" x="556.52" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">산출물 문서 구조 기준을 관리한다.</text>
68
+ <polygon fill="none" stroke="black" points="465.34,-74 465.34,-104.8 830.51,-104.8 830.51,-74 465.34,-74"/>
69
+ <text text-anchor="start" x="472.34" y="-86.2" font-family="Arial" font-size="14.00">blueprint_id </text>
70
+ <text text-anchor="start" x="548.62" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
71
+ <polygon fill="none" stroke="black" points="465.34,-43.2 465.34,-74 830.51,-74 830.51,-43.2 465.34,-43.2"/>
72
+ <text text-anchor="start" x="472.34" y="-55.4" font-family="Arial" font-size="14.00">artifact_standard_id </text>
73
+ <text text-anchor="start" x="599.2" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
74
+ </g>
75
+ <!-- artifact_standard_document_components&#45;&gt;artifact_standard_document_blueprints -->
76
+ <g id="edge6" class="edge">
77
+ <title>artifact_standard_document_components:blueprint_id&#45;&gt;artifact_standard_document_blueprints:blueprint_id</title>
78
+ <path fill="none" stroke="black" d="M626.08,-320.88C653.9,-311.34 638.2,-259.11 615,-230 572.37,-176.49 507.94,-247.53 465.34,-194 436.39,-157.62 417.85,-89.4 464.34,-89.4"/>
79
+ <polygon fill="black" stroke="black" points="626.22,-320.86 615.66,-317.9 620.95,-321.66 616.66,-322.3 616.66,-322.3 616.66,-322.3 620.95,-321.66 617,-326.8 626.22,-320.86"/>
80
+ </g>
81
+ <!-- artifact_standard_document_component_relations -->
82
+ <g id="node2" class="node">
83
+ <title>artifact_standard_document_component_relations</title>
84
+ <polygon fill="#efefef" stroke="none" points="202.86,-683.6 202.86,-719.2 646.99,-719.2 646.99,-683.6 202.86,-683.6"/>
85
+ <polygon fill="none" stroke="black" points="202.86,-683.6 202.86,-719.2 646.99,-719.2 646.99,-683.6 202.86,-683.6"/>
86
+ <text text-anchor="start" x="209.86" y="-697" font-family="Arial Bold" font-size="18.00">artifact_standard_document_component_relations</text>
87
+ <text text-anchor="start" x="570.74" y="-697" font-family="Arial" font-size="14.00">    </text>
88
+ <text text-anchor="start" x="601.85" y="-697" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
89
+ <polygon fill="none" stroke="black" points="202.86,-652.8 202.86,-683.6 646.99,-683.6 646.99,-652.8 202.86,-652.8"/>
90
+ <text text-anchor="start" x="209.86" y="-665" font-family="Arial" font-size="14.00">document_component_relation_id </text>
91
+ <text text-anchor="start" x="424.67" y="-665" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
92
+ <polygon fill="none" stroke="black" points="202.86,-622 202.86,-652.8 646.99,-652.8 646.99,-622 202.86,-622"/>
93
+ <text text-anchor="start" x="209.86" y="-634.2" font-family="Arial" font-size="14.00">artifact_standard_id </text>
94
+ <text text-anchor="start" x="336.71" y="-634.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
95
+ <polygon fill="none" stroke="black" points="202.86,-591.2 202.86,-622 646.99,-622 646.99,-591.2 202.86,-591.2"/>
96
+ <text text-anchor="start" x="209.86" y="-603.4" font-family="Arial" font-size="14.00">source_document_component_id </text>
97
+ <text text-anchor="start" x="420.77" y="-603.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
98
+ <polygon fill="none" stroke="black" points="202.86,-560.4 202.86,-591.2 646.99,-591.2 646.99,-560.4 202.86,-560.4"/>
99
+ <text text-anchor="start" x="209.86" y="-572.6" font-family="Arial" font-size="14.00">target_document_component_id </text>
100
+ <text text-anchor="start" x="414.55" y="-572.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
101
+ </g>
102
+ <!-- artifact_standard_document_component_relations&#45;&gt;artifact_standard_document_components -->
103
+ <g id="edge2" class="edge">
104
+ <title>artifact_standard_document_component_relations:target_document_component_id&#45;&gt;artifact_standard_document_components:document_component_id</title>
105
+ <path fill="none" stroke="black" d="M425.61,-549.05C436.17,-475.06 565.87,-553.73 615,-481.2 639.23,-445.43 659.21,-384 616,-384"/>
106
+ <polygon fill="black" stroke="black" points="425.61,-549.09 420.46,-558.77 425.25,-554.41 424.97,-558.73 424.97,-558.73 424.97,-558.73 425.25,-554.41 429.44,-559.36 425.61,-549.09"/>
107
+ </g>
108
+ <!-- artifact_standard_document_component_relations&#45;&gt;artifact_standard_document_components -->
109
+ <g id="edge3" class="edge">
110
+ <title>artifact_standard_document_component_relations:source_document_component_id&#45;&gt;artifact_standard_document_components:document_component_id</title>
111
+ <path fill="none" stroke="black" d="M657.79,-603.1C693.12,-574.78 662.27,-384 616,-384"/>
112
+ <polygon fill="black" stroke="black" points="657.72,-603.13 646.79,-602.25 652.7,-604.92 648.62,-606.38 648.62,-606.38 648.62,-606.38 652.7,-604.92 649.82,-610.73 657.72,-603.13"/>
113
+ </g>
114
+ <!-- artifact_standard_physical_structure_policies -->
115
+ <g id="node3" class="node">
116
+ <title>artifact_standard_physical_structure_policies</title>
117
+ <polygon fill="#efefef" stroke="none" points="751.85,-668.2 751.85,-703.8 1161.99,-703.8 1161.99,-668.2 751.85,-668.2"/>
118
+ <polygon fill="none" stroke="black" points="751.85,-668.2 751.85,-703.8 1161.99,-703.8 1161.99,-668.2 751.85,-668.2"/>
119
+ <text text-anchor="start" x="758.85" y="-681.6" font-family="Arial Bold" font-size="18.00">artifact_standard_physical_structure_policies</text>
120
+ <text text-anchor="start" x="1085.74" y="-681.6" font-family="Arial" font-size="14.00">    </text>
121
+ <text text-anchor="start" x="1116.85" y="-681.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
122
+ <polygon fill="none" stroke="black" points="751.85,-637.4 751.85,-668.2 1161.99,-668.2 1161.99,-637.4 751.85,-637.4"/>
123
+ <text text-anchor="start" x="758.85" y="-649.6" font-family="Arial" font-size="14.00">physical_structure_policy_id </text>
124
+ <text text-anchor="start" x="937.83" y="-649.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
125
+ <polygon fill="none" stroke="black" points="751.85,-606.6 751.85,-637.4 1161.99,-637.4 1161.99,-606.6 751.85,-606.6"/>
126
+ <text text-anchor="start" x="758.85" y="-618.8" font-family="Arial" font-size="14.00">artifact_standard_id </text>
127
+ <text text-anchor="start" x="885.71" y="-618.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
128
+ <polygon fill="none" stroke="black" points="751.85,-575.8 751.85,-606.6 1161.99,-606.6 1161.99,-575.8 751.85,-575.8"/>
129
+ <text text-anchor="start" x="758.85" y="-588" font-family="Arial" font-size="14.00">document_component_id </text>
130
+ <text text-anchor="start" x="919.96" y="-588" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
131
+ </g>
132
+ <!-- artifact_standard_physical_structure_policies&#45;&gt;artifact_standard_document_components -->
133
+ <g id="edge4" class="edge">
134
+ <title>artifact_standard_physical_structure_policies:document_component_id&#45;&gt;artifact_standard_document_components:document_component_id</title>
135
+ <path fill="none" stroke="black" d="M743.23,-584.31C714.75,-548.35 628.23,-384 616,-384"/>
136
+ <polygon fill="black" stroke="black" points="743.19,-584.27 747.59,-594.31 747.15,-587.85 750.36,-590.75 750.36,-590.75 750.36,-590.75 747.15,-587.85 753.63,-587.64 743.19,-584.27"/>
137
+ </g>
138
+ </g>
139
+ </svg>
@@ -0,0 +1,99 @@
1
+ # artifact_standard_figure_policies
2
+
3
+ ## Description
4
+
5
+ figure 작성/표현 policy를 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE artifact_standard_figure_policies (
12
+ -- figure policy 식별자
13
+ figure_policy_id CHAR(36) PRIMARY KEY
14
+ CHECK (length(figure_policy_id) = 36),
15
+
16
+ -- 소속 산출물 표준 식별자
17
+ artifact_standard_id CHAR(36) NOT NULL
18
+ CHECK (length(artifact_standard_id) = 36),
19
+
20
+ -- figure policy 코드
21
+ figure_policy_code VARCHAR(128) NOT NULL,
22
+
23
+ -- caption 필수 여부
24
+ caption_required INTEGER NOT NULL DEFAULT 1
25
+ CHECK (caption_required IN (0, 1)),
26
+
27
+ -- source path 필수 여부
28
+ source_path_required INTEGER NOT NULL DEFAULT 1
29
+ CHECK (source_path_required IN (0, 1)),
30
+
31
+ -- visible caption mode 코드
32
+ visible_caption_mode_code VARCHAR(64) NOT NULL DEFAULT 'DEDUPLICATE',
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, figure_policy_code)
52
+ )
53
+ ```
54
+
55
+ </details>
56
+
57
+ ## Columns
58
+
59
+ | Name | Type | Default | Nullable | Parents |
60
+ | ------------------------- | ------------ | ----------------- | -------- | ------------------------------------------------------------- |
61
+ | figure_policy_id | CHAR(36) | | true | |
62
+ | artifact_standard_id | CHAR(36) | | false | [artifact_standard_standards](artifact_standard_standards.md) |
63
+ | figure_policy_code | VARCHAR(128) | | false | |
64
+ | caption_required | INTEGER | 1 | false | |
65
+ | source_path_required | INTEGER | 1 | false | |
66
+ | visible_caption_mode_code | VARCHAR(64) | 'DEDUPLICATE' | 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
+ | figure_policy_id | PRIMARY KEY | PRIMARY KEY (figure_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_figure_policies_2 | UNIQUE | UNIQUE (artifact_standard_id, figure_policy_code) |
79
+ | sqlite_autoindex_artifact_standard_figure_policies_1 | PRIMARY KEY | PRIMARY KEY (figure_policy_id) |
80
+ | - | CHECK | CHECK (length(figure_policy_id) = 36) |
81
+ | - | CHECK | CHECK (length(artifact_standard_id) = 36) |
82
+ | - | CHECK | CHECK (caption_required IN (0, 1)) |
83
+ | - | CHECK | CHECK (source_path_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_figure_policies_2 | UNIQUE (artifact_standard_id, figure_policy_code) |
91
+ | sqlite_autoindex_artifact_standard_figure_policies_1 | PRIMARY KEY (figure_policy_id) |
92
+
93
+ ## Relations
94
+
95
+ ![er](artifact_standard_figure_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_figure_policies Pages: 1 -->
7
+ <svg width="442pt" height="423pt"
8
+ viewBox="0.00 0.00 442.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_figure_policies</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-418.89 438.25,-418.89 438.25,4 -4,4"/>
12
+ <!-- artifact_standard_figure_policies -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_figure_policies</title>
15
+ <polygon fill="#efefef" stroke="none" points="46.2,-322.69 46.2,-368.69 367.36,-368.69 367.36,-322.69 46.2,-322.69"/>
16
+ <polygon fill="none" stroke="black" points="46.2,-322.69 46.2,-368.69 367.36,-368.69 367.36,-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_figure_policies</text>
18
+ <text text-anchor="start" x="291.1" y="-346.49" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="322.22" y="-346.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="109.14" y="-332.09" font-family="Arial" font-size="14.00" fill="#333333">figure 작성/표현 policy를 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="46.2,-291.89 46.2,-322.69 367.36,-322.69 367.36,-291.89 46.2,-291.89"/>
22
+ <text text-anchor="start" x="53.2" y="-304.09" font-family="Arial" font-size="14.00">figure_policy_id </text>
23
+ <text text-anchor="start" x="154.37" 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 367.36,-291.89 367.36,-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 368.86,-370.19 368.86,-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="48.05,-89.69 48.05,-135.69 365.5,-135.69 365.5,-89.69 48.05,-89.69"/>
33
+ <polygon fill="none" stroke="black" points="48.05,-89.69 48.05,-135.69 365.5,-135.69 365.5,-89.69 48.05,-89.69"/>
34
+ <text text-anchor="start" x="73.19" y="-113.49" font-family="Arial Bold" font-size="18.00">artifact_standard_standards</text>
35
+ <text text-anchor="start" x="271.11" y="-113.49" font-family="Arial" font-size="14.00">    </text>
36
+ <text text-anchor="start" x="302.23" y="-113.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
37
+ <text text-anchor="start" x="55.05" y="-99.09" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준의 최상위 versioned definition을 관리한다.</text>
38
+ <polygon fill="none" stroke="black" points="48.05,-58.89 48.05,-89.69 365.5,-89.69 365.5,-58.89 48.05,-58.89"/>
39
+ <text text-anchor="start" x="55.05" y="-71.09" font-family="Arial" font-size="14.00">artifact_standard_id </text>
40
+ <text text-anchor="start" x="181.91" y="-71.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
41
+ </g>
42
+ <!-- artifact_standard_figure_policies&#45;&gt;artifact_standard_standards -->
43
+ <g id="edge1" class="edge">
44
+ <title>artifact_standard_figure_policies:artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
45
+ <path fill="none" stroke="black" d="M207.38,-250.1C217.62,-170.22 356.56,-256.06 408.7,-178.89 438.56,-134.7 446.32,-96.7 408.7,-58.89 345.4,4.73 206.78,31.86 206.78,-57.89"/>
46
+ <polygon fill="black" stroke="black" points="207.4,-249.77 202.31,-259.49 207.08,-255.1 206.82,-259.42 206.82,-259.42 206.82,-259.42 207.08,-255.1 211.29,-260.02 207.4,-249.77"/>
47
+ </g>
48
+ </g>
49
+ </svg>
@@ -0,0 +1,144 @@
1
+ # artifact_standard_generated_output_links
2
+
3
+ ## Description
4
+
5
+ <details>
6
+ <summary><strong>Table Definition</strong></summary>
7
+
8
+ ```sql
9
+ CREATE TABLE artifact_standard_generated_output_links (
10
+ -- generated output link 식별자
11
+ generated_output_link_id CHAR(36) PRIMARY KEY
12
+ CHECK (length(generated_output_link_id) = 36),
13
+
14
+ -- link 코드
15
+ link_code VARCHAR(128) NOT NULL,
16
+
17
+ -- source 산출물 표준 식별자
18
+ source_artifact_standard_id CHAR(36) NOT NULL
19
+ CHECK (length(source_artifact_standard_id) = 36),
20
+
21
+ -- source 산출물 표준 코드
22
+ source_artifact_standard_code VARCHAR(128) NOT NULL,
23
+
24
+ -- source 산출물 표준 버전
25
+ source_artifact_standard_version VARCHAR(64) NOT NULL,
26
+
27
+ -- target 유형 코드. 산출물 표준 또는 생성 출력물을 구분한다.
28
+ target_type_code VARCHAR(64) NOT NULL
29
+ CHECK (target_type_code IN ('ARTIFACT', 'GENERATED_OUTPUT')),
30
+
31
+ -- target 산출물 표준 식별자. target이 ARTIFACT인 경우 사용한다.
32
+ target_artifact_standard_id CHAR(36)
33
+ CHECK (target_artifact_standard_id IS NULL OR length(target_artifact_standard_id) = 36),
34
+
35
+ -- target 산출물 표준 코드
36
+ target_artifact_standard_code VARCHAR(128),
37
+
38
+ -- target 산출물 표준 버전
39
+ target_artifact_standard_version VARCHAR(64),
40
+
41
+ -- target 생성 출력명. target이 GENERATED_OUTPUT인 경우 사용한다.
42
+ target_output_name VARCHAR(256),
43
+
44
+ -- 생성 mode 코드
45
+ generation_mode_code VARCHAR(64) NOT NULL DEFAULT 'AUTOMATIC',
46
+
47
+ -- 표시 정렬 순서
48
+ sort_order INTEGER NOT NULL DEFAULT 0,
49
+
50
+ -- 설명
51
+ description TEXT,
52
+
53
+ -- 활성 여부
54
+ is_active INTEGER NOT NULL DEFAULT 1
55
+ CHECK (is_active IN (0, 1)),
56
+
57
+ -- 생성 시각
58
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
59
+
60
+ -- 수정 시각
61
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
62
+
63
+ -- 확장 메타데이터
64
+ metadata_json JSON
65
+ CHECK (metadata_json IS NULL OR json_valid(metadata_json)),
66
+
67
+ FOREIGN KEY (source_artifact_standard_id)
68
+ REFERENCES artifact_standard_standards (artifact_standard_id)
69
+ ON DELETE CASCADE,
70
+
71
+ FOREIGN KEY (target_artifact_standard_id)
72
+ REFERENCES artifact_standard_standards (artifact_standard_id)
73
+ ON DELETE SET NULL,
74
+
75
+ UNIQUE (link_code),
76
+
77
+ UNIQUE (
78
+ source_artifact_standard_id,
79
+ target_type_code,
80
+ target_artifact_standard_code,
81
+ target_artifact_standard_version,
82
+ target_output_name
83
+ )
84
+ )
85
+ ```
86
+
87
+ </details>
88
+
89
+ ## Columns
90
+
91
+ | Name | Type | Default | Nullable | Parents |
92
+ | -------------------------------- | ------------ | ----------------- | -------- | ------------------------------------------------------------- |
93
+ | generated_output_link_id | CHAR(36) | | true | |
94
+ | link_code | VARCHAR(128) | | false | |
95
+ | source_artifact_standard_id | CHAR(36) | | false | [artifact_standard_standards](artifact_standard_standards.md) |
96
+ | source_artifact_standard_code | VARCHAR(128) | | false | |
97
+ | source_artifact_standard_version | VARCHAR(64) | | false | |
98
+ | target_type_code | VARCHAR(64) | | false | |
99
+ | target_artifact_standard_id | CHAR(36) | | true | [artifact_standard_standards](artifact_standard_standards.md) |
100
+ | target_artifact_standard_code | VARCHAR(128) | | true | |
101
+ | target_artifact_standard_version | VARCHAR(64) | | true | |
102
+ | target_output_name | VARCHAR(256) | | true | |
103
+ | generation_mode_code | VARCHAR(64) | 'AUTOMATIC' | false | |
104
+ | sort_order | INTEGER | 0 | false | |
105
+ | description | TEXT | | true | |
106
+ | is_active | INTEGER | 1 | false | |
107
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | |
108
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
109
+ | metadata_json | JSON | | true | |
110
+
111
+ ## Constraints
112
+
113
+ | Name | Type | Definition |
114
+ | ----------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
115
+ | generated_output_link_id | PRIMARY KEY | PRIMARY KEY (generated_output_link_id) |
116
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (target_artifact_standard_id) REFERENCES artifact_standard_standards (artifact_standard_id) ON UPDATE NO ACTION ON DELETE SET NULL MATCH NONE |
117
+ | - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (source_artifact_standard_id) REFERENCES artifact_standard_standards (artifact_standard_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
118
+ | sqlite_autoindex_artifact_standard_generated_output_links_3 | UNIQUE | UNIQUE (source_artifact_standard_id, target_type_code, target_artifact_standard_code, target_artifact_standard_version, target_output_name) |
119
+ | sqlite_autoindex_artifact_standard_generated_output_links_2 | UNIQUE | UNIQUE (link_code) |
120
+ | sqlite_autoindex_artifact_standard_generated_output_links_1 | PRIMARY KEY | PRIMARY KEY (generated_output_link_id) |
121
+ | - | CHECK | CHECK (length(generated_output_link_id) = 36) |
122
+ | - | CHECK | CHECK (length(source_artifact_standard_id) = 36) |
123
+ | - | CHECK | CHECK (target_type_code IN ('ARTIFACT', 'GENERATED_OUTPUT')) |
124
+ | - | CHECK | CHECK (target_artifact_standard_id IS NULL OR length(target_artifact_standard_id) = 36) |
125
+ | - | CHECK | CHECK (is_active 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_generated_output_links_target_artifact | CREATE INDEX idx_artifact_standard_generated_output_links_target_artifact<br /> ON artifact_standard_generated_output_links (target_artifact_standard_id) |
133
+ | idx_artifact_standard_generated_output_links_source | CREATE INDEX idx_artifact_standard_generated_output_links_source<br /> ON artifact_standard_generated_output_links (source_artifact_standard_id) |
134
+ | sqlite_autoindex_artifact_standard_generated_output_links_3 | UNIQUE (source_artifact_standard_id, target_type_code, target_artifact_standard_code, target_artifact_standard_version, target_output_name) |
135
+ | sqlite_autoindex_artifact_standard_generated_output_links_2 | UNIQUE (link_code) |
136
+ | sqlite_autoindex_artifact_standard_generated_output_links_1 | PRIMARY KEY (generated_output_link_id) |
137
+
138
+ ## Relations
139
+
140
+ ![er](artifact_standard_generated_output_links.svg)
141
+
142
+ ---
143
+
144
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,57 @@
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_generated_output_links Pages: 1 -->
7
+ <svg width="513pt" height="443pt"
8
+ viewBox="0.00 0.00 513.46 443.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 439.29)">
10
+ <title>artifact_standard_generated_output_links</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-439.29 509.46,-439.29 509.46,4 -4,4"/>
12
+ <!-- artifact_standard_generated_output_links -->
13
+ <g id="node1" class="node">
14
+ <title>artifact_standard_generated_output_links</title>
15
+ <polygon fill="#efefef" stroke="none" points="46.2,-353.49 46.2,-389.09 428.35,-389.09 428.35,-353.49 46.2,-353.49"/>
16
+ <polygon fill="none" stroke="black" points="46.2,-353.49 46.2,-389.09 428.35,-389.09 428.35,-353.49 46.2,-353.49"/>
17
+ <text text-anchor="start" x="53.2" y="-366.89" font-family="Arial Bold" font-size="18.00">artifact_standard_generated_output_links</text>
18
+ <text text-anchor="start" x="352.1" y="-366.89" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="383.22" y="-366.89" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <polygon fill="none" stroke="black" points="46.2,-322.69 46.2,-353.49 428.35,-353.49 428.35,-322.69 46.2,-322.69"/>
21
+ <text text-anchor="start" x="53.2" y="-334.89" font-family="Arial" font-size="14.00">generated_output_link_id </text>
22
+ <text text-anchor="start" x="214.33" y="-334.89" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
23
+ <polygon fill="none" stroke="black" points="46.2,-291.89 46.2,-322.69 428.35,-322.69 428.35,-291.89 46.2,-291.89"/>
24
+ <text text-anchor="start" x="53.2" y="-304.09" font-family="Arial" font-size="14.00">source_artifact_standard_id </text>
25
+ <text text-anchor="start" x="229.86" y="-304.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
26
+ <polygon fill="none" stroke="black" points="46.2,-261.09 46.2,-291.89 428.35,-291.89 428.35,-261.09 46.2,-261.09"/>
27
+ <text text-anchor="start" x="53.2" y="-273.29" font-family="Arial" font-size="14.00">target_artifact_standard_id </text>
28
+ <text text-anchor="start" x="223.64" y="-273.29" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
29
+ <polygon fill="none" stroke="black" stroke-width="3" points="44.7,-259.59 44.7,-390.59 429.85,-390.59 429.85,-259.59 44.7,-259.59"/>
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="78.55,-89.69 78.55,-135.69 396,-135.69 396,-89.69 78.55,-89.69"/>
35
+ <polygon fill="none" stroke="black" points="78.55,-89.69 78.55,-135.69 396,-135.69 396,-89.69 78.55,-89.69"/>
36
+ <text text-anchor="start" x="103.69" y="-113.49" font-family="Arial Bold" font-size="18.00">artifact_standard_standards</text>
37
+ <text text-anchor="start" x="301.61" y="-113.49" font-family="Arial" font-size="14.00">    </text>
38
+ <text text-anchor="start" x="332.73" y="-113.49" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
39
+ <text text-anchor="start" x="85.55" y="-99.09" font-family="Arial" font-size="14.00" fill="#333333">산출물 표준의 최상위 versioned definition을 관리한다.</text>
40
+ <polygon fill="none" stroke="black" points="78.55,-58.89 78.55,-89.69 396,-89.69 396,-58.89 78.55,-58.89"/>
41
+ <text text-anchor="start" x="85.55" y="-71.09" font-family="Arial" font-size="14.00">artifact_standard_id </text>
42
+ <text text-anchor="start" x="212.41" y="-71.09" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
43
+ </g>
44
+ <!-- artifact_standard_generated_output_links&#45;&gt;artifact_standard_standards -->
45
+ <g id="edge1" class="edge">
46
+ <title>artifact_standard_generated_output_links:source_artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
47
+ <path fill="none" stroke="black" d="M439.62,-306.77C538.32,-296.42 514.62,-134.68 439.2,-58.89 375.9,4.73 237.28,31.86 237.28,-57.89"/>
48
+ <polygon fill="black" stroke="black" points="439.67,-306.77 429.46,-302.78 434.35,-307.04 430.02,-307.26 430.02,-307.26 430.02,-307.26 434.35,-307.04 429.92,-311.77 439.67,-306.77"/>
49
+ </g>
50
+ <!-- artifact_standard_generated_output_links&#45;&gt;artifact_standard_standards -->
51
+ <g id="edge2" class="edge">
52
+ <title>artifact_standard_generated_output_links:target_artifact_standard_id&#45;&gt;artifact_standard_standards:artifact_standard_id</title>
53
+ <path fill="none" stroke="black" d="M237.87,-250.1C248.11,-170.22 387.05,-256.06 439.2,-178.89 469.06,-134.7 476.82,-96.7 439.2,-58.89 375.9,4.73 237.28,31.86 237.28,-57.89"/>
54
+ <polygon fill="black" stroke="black" points="237.89,-249.77 232.8,-259.49 237.58,-255.1 237.32,-259.42 237.32,-259.42 237.32,-259.42 237.58,-255.1 241.79,-260.02 237.89,-249.77"/>
55
+ </g>
56
+ </g>
57
+ </svg>