@tekyzinc/gsd-t 3.23.11 → 3.25.10
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.
- package/CHANGELOG.md +48 -0
- package/README.md +7 -0
- package/bin/cli-preflight-checks/branch-guard.cjs +110 -0
- package/bin/cli-preflight-checks/contracts-stable.cjs +128 -0
- package/bin/cli-preflight-checks/deps-installed.cjs +89 -0
- package/bin/cli-preflight-checks/manifest-fresh.cjs +98 -0
- package/bin/cli-preflight-checks/ports-free.cjs +110 -0
- package/bin/cli-preflight-checks/working-tree-state.cjs +149 -0
- package/bin/cli-preflight.cjs +265 -0
- package/bin/gsd-t-context-brief-kinds/design-verify.cjs +139 -0
- package/bin/gsd-t-context-brief-kinds/execute.cjs +205 -0
- package/bin/gsd-t-context-brief-kinds/qa.cjs +130 -0
- package/bin/gsd-t-context-brief-kinds/red-team.cjs +131 -0
- package/bin/gsd-t-context-brief-kinds/scan.cjs +118 -0
- package/bin/gsd-t-context-brief-kinds/verify.cjs +157 -0
- package/bin/gsd-t-context-brief.cjs +395 -0
- package/bin/gsd-t-ratelimit-probe-worker.cjs +236 -0
- package/bin/gsd-t-ratelimit-probe.cjs +648 -0
- package/bin/gsd-t-verify-gate-judge.cjs +224 -0
- package/bin/gsd-t-verify-gate.cjs +612 -0
- package/bin/gsd-t.js +45 -1
- package/bin/live-activity-report.cjs +615 -0
- package/bin/m55-substrate-proof.cjs +134 -0
- package/bin/parallel-cli-tee.cjs +206 -0
- package/bin/parallel-cli.cjs +478 -0
- package/commands/gsd-t-execute.md +31 -0
- package/commands/gsd-t-help.md +21 -0
- package/commands/gsd-t-verify.md +38 -0
- package/docs/architecture.md +194 -0
- package/docs/diagrams/.gsd-t/.context-meter-state.json +10 -0
- package/docs/diagrams/.gsd-t/context-meter.log +9 -0
- package/docs/diagrams/.gsd-t/events/2026-05-08.jsonl +45 -0
- package/docs/diagrams/.gsd-t/events/2026-05-09.jsonl +1 -0
- package/docs/diagrams/.gsd-t/heartbeat-cd9e7f59-ba5b-406a-9ed6-16762f039e81.jsonl +48 -0
- package/docs/diagrams/01-top-level-map-d2.png +0 -0
- package/docs/diagrams/01-top-level-map.d2 +77 -0
- package/docs/diagrams/01-top-level-map.mmd +48 -0
- package/docs/diagrams/01-top-level-map.png +0 -0
- package/docs/diagrams/01-top-level-map.svg +126 -0
- package/docs/diagrams/02-milestone-lifecycle-d2.png +0 -0
- package/docs/diagrams/02-milestone-lifecycle.d2 +38 -0
- package/docs/diagrams/02-milestone-lifecycle.mmd +36 -0
- package/docs/diagrams/02-milestone-lifecycle.png +0 -0
- package/docs/diagrams/02-milestone-lifecycle.svg +114 -0
- package/docs/diagrams/03-wave-mode-d2.png +0 -0
- package/docs/diagrams/03-wave-mode.d2 +33 -0
- package/docs/diagrams/03-wave-mode.mmd +21 -0
- package/docs/diagrams/03-wave-mode.png +0 -0
- package/docs/diagrams/03-wave-mode.svg +113 -0
- package/docs/diagrams/04-design-to-code-d2.png +0 -0
- package/docs/diagrams/04-design-to-code.d2 +35 -0
- package/docs/diagrams/04-design-to-code.mmd +29 -0
- package/docs/diagrams/04-design-to-code.png +0 -0
- package/docs/diagrams/04-design-to-code.svg +115 -0
- package/docs/diagrams/05-backlog-d2.png +0 -0
- package/docs/diagrams/05-backlog.d2 +40 -0
- package/docs/diagrams/05-backlog.mmd +20 -0
- package/docs/diagrams/05-backlog.png +0 -0
- package/docs/diagrams/05-backlog.svg +113 -0
- package/docs/diagrams/06-automation-utilities-d2.png +0 -0
- package/docs/diagrams/06-automation-utilities.d2 +48 -0
- package/docs/diagrams/06-automation-utilities.mmd +47 -0
- package/docs/diagrams/06-automation-utilities.png +0 -0
- package/docs/diagrams/06-automation-utilities.svg +110 -0
- package/docs/diagrams/_theme.d2 +86 -0
- package/docs/requirements.md +48 -0
- package/docs/workflow-diagram.md +338 -0
- package/package.json +1 -1
- package/scripts/gsd-t-dashboard-server.js +190 -0
- package/scripts/gsd-t-transcript.html +200 -0
- package/templates/CLAUDE-global.md +46 -0
- package/templates/prompts/design-verify-subagent.md +3 -0
- package/templates/prompts/qa-subagent.md +3 -0
- package/templates/prompts/red-team-subagent.md +3 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 2129 710"><svg class="d2-2460008753 d2-svg" width="2129" height="710" viewBox="-29 -29 2129 710"><rect x="-29.000000" y="-29.000000" width="2129.000000" height="710.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
|
2
|
+
.d2-2460008753 .text {
|
|
3
|
+
font-family: "d2-2460008753-font-regular";
|
|
4
|
+
}
|
|
5
|
+
@font-face {
|
|
6
|
+
font-family: d2-2460008753-font-regular;
|
|
7
|
+
src: url("data:application/font-woff;base64,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");
|
|
8
|
+
}
|
|
9
|
+
.d2-2460008753 .text-bold {
|
|
10
|
+
font-family: "d2-2460008753-font-bold";
|
|
11
|
+
}
|
|
12
|
+
@font-face {
|
|
13
|
+
font-family: d2-2460008753-font-bold;
|
|
14
|
+
src: url("data:application/font-woff;base64,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");
|
|
15
|
+
}
|
|
16
|
+
.d2-2460008753 .text-italic {
|
|
17
|
+
font-family: "d2-2460008753-font-italic";
|
|
18
|
+
}
|
|
19
|
+
@font-face {
|
|
20
|
+
font-family: d2-2460008753-font-italic;
|
|
21
|
+
src: url("data:application/font-woff;base64,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");
|
|
22
|
+
}]]></style><style type="text/css"><![CDATA[.shape {
|
|
23
|
+
shape-rendering: geometricPrecision;
|
|
24
|
+
stroke-linejoin: round;
|
|
25
|
+
}
|
|
26
|
+
.connection {
|
|
27
|
+
stroke-linecap: round;
|
|
28
|
+
stroke-linejoin: round;
|
|
29
|
+
}
|
|
30
|
+
.blend {
|
|
31
|
+
mix-blend-mode: multiply;
|
|
32
|
+
opacity: 0.5;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.d2-2460008753 .fill-N1{fill:#0A0F25;}
|
|
36
|
+
.d2-2460008753 .fill-N2{fill:#676C7E;}
|
|
37
|
+
.d2-2460008753 .fill-N3{fill:#9499AB;}
|
|
38
|
+
.d2-2460008753 .fill-N4{fill:#CFD2DD;}
|
|
39
|
+
.d2-2460008753 .fill-N5{fill:#DEE1EB;}
|
|
40
|
+
.d2-2460008753 .fill-N6{fill:#EEF1F8;}
|
|
41
|
+
.d2-2460008753 .fill-N7{fill:#FFFFFF;}
|
|
42
|
+
.d2-2460008753 .fill-B1{fill:#0D32B2;}
|
|
43
|
+
.d2-2460008753 .fill-B2{fill:#0D32B2;}
|
|
44
|
+
.d2-2460008753 .fill-B3{fill:#E3E9FD;}
|
|
45
|
+
.d2-2460008753 .fill-B4{fill:#E3E9FD;}
|
|
46
|
+
.d2-2460008753 .fill-B5{fill:#EDF0FD;}
|
|
47
|
+
.d2-2460008753 .fill-B6{fill:#F7F8FE;}
|
|
48
|
+
.d2-2460008753 .fill-AA2{fill:#4A6FF3;}
|
|
49
|
+
.d2-2460008753 .fill-AA4{fill:#EDF0FD;}
|
|
50
|
+
.d2-2460008753 .fill-AA5{fill:#F7F8FE;}
|
|
51
|
+
.d2-2460008753 .fill-AB4{fill:#EDF0FD;}
|
|
52
|
+
.d2-2460008753 .fill-AB5{fill:#F7F8FE;}
|
|
53
|
+
.d2-2460008753 .stroke-N1{stroke:#0A0F25;}
|
|
54
|
+
.d2-2460008753 .stroke-N2{stroke:#676C7E;}
|
|
55
|
+
.d2-2460008753 .stroke-N3{stroke:#9499AB;}
|
|
56
|
+
.d2-2460008753 .stroke-N4{stroke:#CFD2DD;}
|
|
57
|
+
.d2-2460008753 .stroke-N5{stroke:#DEE1EB;}
|
|
58
|
+
.d2-2460008753 .stroke-N6{stroke:#EEF1F8;}
|
|
59
|
+
.d2-2460008753 .stroke-N7{stroke:#FFFFFF;}
|
|
60
|
+
.d2-2460008753 .stroke-B1{stroke:#0D32B2;}
|
|
61
|
+
.d2-2460008753 .stroke-B2{stroke:#0D32B2;}
|
|
62
|
+
.d2-2460008753 .stroke-B3{stroke:#E3E9FD;}
|
|
63
|
+
.d2-2460008753 .stroke-B4{stroke:#E3E9FD;}
|
|
64
|
+
.d2-2460008753 .stroke-B5{stroke:#EDF0FD;}
|
|
65
|
+
.d2-2460008753 .stroke-B6{stroke:#F7F8FE;}
|
|
66
|
+
.d2-2460008753 .stroke-AA2{stroke:#4A6FF3;}
|
|
67
|
+
.d2-2460008753 .stroke-AA4{stroke:#EDF0FD;}
|
|
68
|
+
.d2-2460008753 .stroke-AA5{stroke:#F7F8FE;}
|
|
69
|
+
.d2-2460008753 .stroke-AB4{stroke:#EDF0FD;}
|
|
70
|
+
.d2-2460008753 .stroke-AB5{stroke:#F7F8FE;}
|
|
71
|
+
.d2-2460008753 .background-color-N1{background-color:#0A0F25;}
|
|
72
|
+
.d2-2460008753 .background-color-N2{background-color:#676C7E;}
|
|
73
|
+
.d2-2460008753 .background-color-N3{background-color:#9499AB;}
|
|
74
|
+
.d2-2460008753 .background-color-N4{background-color:#CFD2DD;}
|
|
75
|
+
.d2-2460008753 .background-color-N5{background-color:#DEE1EB;}
|
|
76
|
+
.d2-2460008753 .background-color-N6{background-color:#EEF1F8;}
|
|
77
|
+
.d2-2460008753 .background-color-N7{background-color:#FFFFFF;}
|
|
78
|
+
.d2-2460008753 .background-color-B1{background-color:#0D32B2;}
|
|
79
|
+
.d2-2460008753 .background-color-B2{background-color:#0D32B2;}
|
|
80
|
+
.d2-2460008753 .background-color-B3{background-color:#E3E9FD;}
|
|
81
|
+
.d2-2460008753 .background-color-B4{background-color:#E3E9FD;}
|
|
82
|
+
.d2-2460008753 .background-color-B5{background-color:#EDF0FD;}
|
|
83
|
+
.d2-2460008753 .background-color-B6{background-color:#F7F8FE;}
|
|
84
|
+
.d2-2460008753 .background-color-AA2{background-color:#4A6FF3;}
|
|
85
|
+
.d2-2460008753 .background-color-AA4{background-color:#EDF0FD;}
|
|
86
|
+
.d2-2460008753 .background-color-AA5{background-color:#F7F8FE;}
|
|
87
|
+
.d2-2460008753 .background-color-AB4{background-color:#EDF0FD;}
|
|
88
|
+
.d2-2460008753 .background-color-AB5{background-color:#F7F8FE;}
|
|
89
|
+
.d2-2460008753 .color-N1{color:#0A0F25;}
|
|
90
|
+
.d2-2460008753 .color-N2{color:#676C7E;}
|
|
91
|
+
.d2-2460008753 .color-N3{color:#9499AB;}
|
|
92
|
+
.d2-2460008753 .color-N4{color:#CFD2DD;}
|
|
93
|
+
.d2-2460008753 .color-N5{color:#DEE1EB;}
|
|
94
|
+
.d2-2460008753 .color-N6{color:#EEF1F8;}
|
|
95
|
+
.d2-2460008753 .color-N7{color:#FFFFFF;}
|
|
96
|
+
.d2-2460008753 .color-B1{color:#0D32B2;}
|
|
97
|
+
.d2-2460008753 .color-B2{color:#0D32B2;}
|
|
98
|
+
.d2-2460008753 .color-B3{color:#E3E9FD;}
|
|
99
|
+
.d2-2460008753 .color-B4{color:#E3E9FD;}
|
|
100
|
+
.d2-2460008753 .color-B5{color:#EDF0FD;}
|
|
101
|
+
.d2-2460008753 .color-B6{color:#F7F8FE;}
|
|
102
|
+
.d2-2460008753 .color-AA2{color:#4A6FF3;}
|
|
103
|
+
.d2-2460008753 .color-AA4{color:#EDF0FD;}
|
|
104
|
+
.d2-2460008753 .color-AA5{color:#F7F8FE;}
|
|
105
|
+
.d2-2460008753 .color-AB4{color:#EDF0FD;}
|
|
106
|
+
.d2-2460008753 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2460008753);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2460008753);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2460008753);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2460008753);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2460008753);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2460008753);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2460008753);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2460008753);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="c3RhcnQ= endpoint"><g class="shape" ><ellipse rx="107.000000" ry="35.500000" cx="119.000000" cy="257.500000" stroke="#374151" fill="#f3f4f6" class="shape" style="stroke-width:2;" /></g><text x="119.000000" y="263.000000" fill="#374151" class="text-bold" style="text-anchor:middle;font-size:16px">wave triggered</text></g><g class="cDE= cmd"><g class="shape" ><rect x="296.000000" y="225.000000" width="107.000000" height="66.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="349.500000" y="263.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px">partition</text></g><g class="cDI= cmd"><g class="shape" ><rect x="473.000000" y="225.000000" width="76.000000" height="66.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="511.000000" y="263.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px">plan</text></g><g class="cDM= cmd"><g class="shape" ><rect x="619.000000" y="225.000000" width="95.000000" height="66.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="666.500000" y="263.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px">impact</text></g><g class="cDQ= cmd"><g class="shape" ><rect x="784.000000" y="178.000000" width="101.000000" height="160.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="834.500000" y="263.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px">execute</text></g><g class="cDU= cmd"><g class="shape" ><rect x="1015.000000" y="422.000000" width="111.000000" height="66.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="1070.500000" y="460.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px">test-sync</text></g><g class="cDY= cmd"><g class="shape" ><rect x="1196.000000" y="422.000000" width="111.000000" height="66.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="1251.500000" y="460.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px">integrate</text></g><g class="cDc= cmd"><g class="shape" ><rect x="1377.000000" y="395.000000" width="87.000000" height="120.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="1420.500000" y="460.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px">verify</text></g><g class="cDg= cmd"><g class="shape" ><rect x="1544.000000" y="566.000000" width="188.000000" height="66.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="1638.000000" y="604.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px">complete-milestone</text></g><g class="ZW5k endpoint"><g class="shape" ><ellipse rx="123.500000" ry="41.000000" cx="1935.500000" cy="599.000000" stroke="#374151" fill="#f3f4f6" class="shape" style="stroke-width:2;" /></g><text x="1935.500000" y="604.500000" fill="#374151" class="text-bold" style="text-anchor:middle;font-size:16px">milestone shipped</text></g><g class="YXV4 group"><g class="shape" ><rect x="1817.000000" y="12.000000" width="238.000000" height="526.000000" stroke="#9ca3af" fill="#fafafa" style="stroke-width:1;stroke-dasharray:2.000000,2.000000;" /></g><text x="1936.000000" y="45.000000" fill="#374151" class="text" style="text-anchor:middle;font-size:28px">Auto-spawned</text></g><g class="YXV4LnFh subagent"><g class="shape" ><rect x="1867.000000" y="62.000000" width="63.000000" height="66.000000" rx="6.000000" stroke="#6b21a8" fill="#f3e8ff" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" /></g><text x="1898.500000" y="100.500000" fill="#6b21a8" class="text-bold" style="text-anchor:middle;font-size:16px">qa</text></g><g class="YXV4LnJpcHBsZQ== subagent"><g class="shape" ><rect x="1867.000000" y="148.000000" width="118.000000" height="66.000000" rx="6.000000" stroke="#6b21a8" fill="#f3e8ff" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" /></g><text x="1926.000000" y="186.500000" fill="#6b21a8" class="text-bold" style="text-anchor:middle;font-size:16px">doc-ripple</text></g><g class="YXV4LnBhcg== subagent"><g class="shape" ><rect x="1867.000000" y="234.000000" width="106.000000" height="82.000000" rx="6.000000" stroke="#6b21a8" fill="#f3e8ff" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" /></g><text x="1920.000000" y="272.500000" fill="#6b21a8" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="1920.000000" dy="0.000000">parallel</tspan><tspan x="1920.000000" dy="18.500000">dispatch</tspan></text></g><g class="YXV4LnJ0 gate"><g class="shape" ><rect x="1867.000000" y="336.000000" width="114.000000" height="66.000000" rx="6.000000" stroke="#991b1b" fill="#fee2e2" style="stroke-width:2;" /></g><text x="1924.000000" y="374.500000" fill="#991b1b" class="text-bold" style="text-anchor:middle;font-size:16px">Red Team</text></g><g class="YXV4LmR2 gate"><g class="shape" ><rect x="1867.000000" y="422.000000" width="138.000000" height="66.000000" rx="6.000000" stroke="#991b1b" fill="#fee2e2" style="stroke-width:2;" /></g><text x="1936.000000" y="460.500000" fill="#991b1b" class="text-bold" style="text-anchor:middle;font-size:16px">Design Verify</text></g><g class="KHN0YXJ0IC0mZ3Q7IHAxKVswXQ=="><marker id="mk-d2-2460008753-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 228.000000 258.000000 L 292.000000 258.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2460008753-3488378134)" mask="url(#d2-2460008753)" /></g><g class="KHAxIC0mZ3Q7IHAyKVswXQ=="><path d="M 405.000000 258.000000 L 469.000000 258.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2460008753-3488378134)" mask="url(#d2-2460008753)" /></g><g class="KHAyIC0mZ3Q7IHAzKVswXQ=="><path d="M 551.000000 258.000000 L 615.000000 258.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2460008753-3488378134)" mask="url(#d2-2460008753)" /></g><g class="KHAzIC0mZ3Q7IHA0KVswXQ=="><path d="M 716.000000 258.000000 L 780.000000 258.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2460008753-3488378134)" mask="url(#d2-2460008753)" /></g><g class="KHA0IC0mZ3Q7IHA1KVswXQ=="><path d="M 887.000000 306.000000 L 915.000000 306.000000 S 925.000000 306.000000 925.000000 316.000000 L 925.000000 445.000000 S 925.000000 455.000000 935.000000 455.000000 L 1011.000000 455.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2460008753-3488378134)" mask="url(#d2-2460008753)" /></g><g class="KHA1IC0mZ3Q7IHA2KVswXQ=="><path d="M 1128.000000 455.000000 L 1192.000000 455.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2460008753-3488378134)" mask="url(#d2-2460008753)" /></g><g class="KHA2IC0mZ3Q7IHA3KVswXQ=="><path d="M 1309.000000 455.000000 L 1373.000000 455.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2460008753-3488378134)" mask="url(#d2-2460008753)" /></g><g class="KHA3IC0mZ3Q7IHA4KVswXQ=="><path d="M 1466.000000 485.000000 L 1494.000000 485.000000 S 1504.000000 485.000000 1504.000000 495.000000 L 1504.000000 589.000000 S 1504.000000 599.000000 1514.000000 599.000000 L 1540.000000 599.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2460008753-3488378134)" mask="url(#d2-2460008753)" /></g><g class="KHA4IC0mZ3Q7IGVuZClbMF0="><path d="M 1734.000000 599.000000 L 1808.000000 599.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2460008753-3488378134)" mask="url(#d2-2460008753)" /></g><g class="KHA0IC0mZ3Q7IGF1eC5xYSlbMF0="><marker id="mk-d2-2460008753-2177206569" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B2" stroke-width="2" /> </marker><path d="M 887.000000 210.000000 L 915.000000 210.000000 S 925.000000 210.000000 925.000000 200.000000 L 925.000000 105.000000 S 925.000000 95.000000 935.000000 95.000000 L 1863.000000 95.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-2460008753-2177206569)" mask="url(#d2-2460008753)" /><text x="1319.000000" y="101.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">spawned</text></g><g class="KHA0IC0mZ3Q7IGF1eC5yaXBwbGUpWzBd"><path d="M 887.000000 242.000000 L 1762.000000 242.000000 S 1772.000000 242.000000 1772.000000 232.000000 L 1772.000000 191.000000 S 1772.000000 181.000000 1782.000000 181.000000 L 1863.000000 181.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-2460008753-2177206569)" mask="url(#d2-2460008753)" /><text x="1407.000000" y="248.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">spawned</text></g><g class="KHA0IC0mZ3Q7IGF1eC5wYXIpWzBd"><path d="M 887.000000 275.000000 L 1863.000000 275.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-2460008753-2177206569)" mask="url(#d2-2460008753)" /><text x="1376.000000" y="281.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">parallel</text></g><g class="KHA3IC0mZ3Q7IGF1eC5ydClbMF0="><path d="M 1466.000000 425.000000 L 1494.000000 425.000000 S 1504.000000 425.000000 1504.000000 415.000000 L 1504.000000 379.000000 S 1504.000000 369.000000 1514.000000 369.000000 L 1863.000000 369.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-2460008753-2177206569)" mask="url(#d2-2460008753)" /><text x="1637.500000" y="375.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">gate</text></g><g class="KHA3IC0mZ3Q7IGF1eC5kdilbMF0="><path d="M 1466.000000 455.000000 L 1863.000000 455.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-2460008753-2177206569)" mask="url(#d2-2460008753)" /><text x="1665.500000" y="461.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">gate</text></g><mask id="d2-2460008753" maskUnits="userSpaceOnUse" x="-29" y="-29" width="2129" height="710">
|
|
107
|
+
<rect x="-29" y="-29" width="2129" height="710" fill="white"></rect>
|
|
108
|
+
<rect x="1286.000000" y="85.000000" width="66" height="21" fill="black"></rect>
|
|
109
|
+
<rect x="1374.000000" y="232.000000" width="66" height="21" fill="black"></rect>
|
|
110
|
+
<rect x="1348.000000" y="265.000000" width="56" height="21" fill="black"></rect>
|
|
111
|
+
<rect x="1620.000000" y="359.000000" width="35" height="21" fill="black"></rect>
|
|
112
|
+
<rect x="1648.000000" y="445.000000" width="35" height="21" fill="black"></rect>
|
|
113
|
+
</mask></svg></svg>
|
|
Binary file
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
...@_theme.d2
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
req: Design-to-code request { class: endpoint }
|
|
5
|
+
check: Existing\ncontracts? { class: decision }
|
|
6
|
+
clean: clean UI assets\n(inline) { class: subagent }
|
|
7
|
+
dd: "/gsd-t-design-decompose" { class: cmd }
|
|
8
|
+
|
|
9
|
+
contracts: ".gsd-t/contracts/design/\nelements · widgets · pages\nINDEX.md" { class: artifact }
|
|
10
|
+
|
|
11
|
+
db: "/gsd-t-design-build\ntwo-terminal review" { class: cmd; style.bold: true }
|
|
12
|
+
|
|
13
|
+
review: {
|
|
14
|
+
class: group
|
|
15
|
+
label: Review loop
|
|
16
|
+
t1: Term 1\nbuilder { class: cmd }
|
|
17
|
+
t2: "/gsd-t-design-review\nTerm 2 reviewer" { class: cmd }
|
|
18
|
+
t1 <-> t2: review
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
ship: All gates\npass? { class: decision }
|
|
22
|
+
done: UI shipped { class: endpoint }
|
|
23
|
+
da: "/gsd-t-design-audit\nbuilt vs Figma" { class: cmd }
|
|
24
|
+
|
|
25
|
+
req -> check
|
|
26
|
+
check -> clean: start over
|
|
27
|
+
check -> dd: none
|
|
28
|
+
check -> db: present
|
|
29
|
+
clean -> dd
|
|
30
|
+
dd -> contracts -> db
|
|
31
|
+
db -> review.t1
|
|
32
|
+
review.t2 -> ship
|
|
33
|
+
ship -> review.t1: no { style.stroke-dash: 3 }
|
|
34
|
+
ship -> done: yes
|
|
35
|
+
done -> da: optional { style.stroke-dash: 3 }
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
flowchart TD
|
|
2
|
+
REQ([Design-to-code request])
|
|
3
|
+
|
|
4
|
+
REQ --> CHECK{Existing<br/>contracts?}
|
|
5
|
+
CHECK -->|"start over"| CLEAN[clean UI assets<br/>inline]
|
|
6
|
+
CHECK -->|none| DD
|
|
7
|
+
CHECK -->|present| DB
|
|
8
|
+
|
|
9
|
+
CLEAN --> DD["/gsd-t-design-decompose<br/>elements → widgets → pages"]
|
|
10
|
+
|
|
11
|
+
DD --> DDOUT[".gsd-t/contracts/design/<br/>elements/*.contract.md<br/>widgets/*.contract.md<br/>pages/*.contract.md<br/>INDEX.md"]
|
|
12
|
+
|
|
13
|
+
DDOUT --> DB["/gsd-t-design-build<br/>two-terminal review"]
|
|
14
|
+
|
|
15
|
+
DB --> T1[Term 1<br/>builder]
|
|
16
|
+
DB --> T2["/gsd-t-design-review<br/>Term 2 reviewer"]
|
|
17
|
+
|
|
18
|
+
T1 <-->|review loop| T2
|
|
19
|
+
|
|
20
|
+
T2 --> SHIP{All gates pass?}
|
|
21
|
+
SHIP -->|no| T1
|
|
22
|
+
SHIP -->|yes| DONE([UI shipped])
|
|
23
|
+
|
|
24
|
+
DONE -.optional.-> DA["/gsd-t-design-audit<br/>compare built vs Figma"]
|
|
25
|
+
|
|
26
|
+
classDef pipe fill:#e1f5ff,stroke:#0288d1
|
|
27
|
+
classDef art fill:#f3e5f5,stroke:#7b1fa2
|
|
28
|
+
class DD,DB,T1,T2,DA,CLEAN pipe
|
|
29
|
+
class DDOUT art
|
|
Binary file
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 419 2403"><svg class="d2-1418488350 d2-svg" width="419" height="2403" viewBox="-29 -29 419 2403"><rect x="-29.000000" y="-29.000000" width="419.000000" height="2403.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
|
2
|
+
.d2-1418488350 .text {
|
|
3
|
+
font-family: "d2-1418488350-font-regular";
|
|
4
|
+
}
|
|
5
|
+
@font-face {
|
|
6
|
+
font-family: d2-1418488350-font-regular;
|
|
7
|
+
src: url("data:application/font-woff;base64,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");
|
|
8
|
+
}
|
|
9
|
+
.d2-1418488350 .text-bold {
|
|
10
|
+
font-family: "d2-1418488350-font-bold";
|
|
11
|
+
}
|
|
12
|
+
@font-face {
|
|
13
|
+
font-family: d2-1418488350-font-bold;
|
|
14
|
+
src: url("data:application/font-woff;base64,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");
|
|
15
|
+
}
|
|
16
|
+
.d2-1418488350 .text-italic {
|
|
17
|
+
font-family: "d2-1418488350-font-italic";
|
|
18
|
+
}
|
|
19
|
+
@font-face {
|
|
20
|
+
font-family: d2-1418488350-font-italic;
|
|
21
|
+
src: url("data:application/font-woff;base64,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");
|
|
22
|
+
}]]></style><style type="text/css"><![CDATA[.shape {
|
|
23
|
+
shape-rendering: geometricPrecision;
|
|
24
|
+
stroke-linejoin: round;
|
|
25
|
+
}
|
|
26
|
+
.connection {
|
|
27
|
+
stroke-linecap: round;
|
|
28
|
+
stroke-linejoin: round;
|
|
29
|
+
}
|
|
30
|
+
.blend {
|
|
31
|
+
mix-blend-mode: multiply;
|
|
32
|
+
opacity: 0.5;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.d2-1418488350 .fill-N1{fill:#0A0F25;}
|
|
36
|
+
.d2-1418488350 .fill-N2{fill:#676C7E;}
|
|
37
|
+
.d2-1418488350 .fill-N3{fill:#9499AB;}
|
|
38
|
+
.d2-1418488350 .fill-N4{fill:#CFD2DD;}
|
|
39
|
+
.d2-1418488350 .fill-N5{fill:#DEE1EB;}
|
|
40
|
+
.d2-1418488350 .fill-N6{fill:#EEF1F8;}
|
|
41
|
+
.d2-1418488350 .fill-N7{fill:#FFFFFF;}
|
|
42
|
+
.d2-1418488350 .fill-B1{fill:#0D32B2;}
|
|
43
|
+
.d2-1418488350 .fill-B2{fill:#0D32B2;}
|
|
44
|
+
.d2-1418488350 .fill-B3{fill:#E3E9FD;}
|
|
45
|
+
.d2-1418488350 .fill-B4{fill:#E3E9FD;}
|
|
46
|
+
.d2-1418488350 .fill-B5{fill:#EDF0FD;}
|
|
47
|
+
.d2-1418488350 .fill-B6{fill:#F7F8FE;}
|
|
48
|
+
.d2-1418488350 .fill-AA2{fill:#4A6FF3;}
|
|
49
|
+
.d2-1418488350 .fill-AA4{fill:#EDF0FD;}
|
|
50
|
+
.d2-1418488350 .fill-AA5{fill:#F7F8FE;}
|
|
51
|
+
.d2-1418488350 .fill-AB4{fill:#EDF0FD;}
|
|
52
|
+
.d2-1418488350 .fill-AB5{fill:#F7F8FE;}
|
|
53
|
+
.d2-1418488350 .stroke-N1{stroke:#0A0F25;}
|
|
54
|
+
.d2-1418488350 .stroke-N2{stroke:#676C7E;}
|
|
55
|
+
.d2-1418488350 .stroke-N3{stroke:#9499AB;}
|
|
56
|
+
.d2-1418488350 .stroke-N4{stroke:#CFD2DD;}
|
|
57
|
+
.d2-1418488350 .stroke-N5{stroke:#DEE1EB;}
|
|
58
|
+
.d2-1418488350 .stroke-N6{stroke:#EEF1F8;}
|
|
59
|
+
.d2-1418488350 .stroke-N7{stroke:#FFFFFF;}
|
|
60
|
+
.d2-1418488350 .stroke-B1{stroke:#0D32B2;}
|
|
61
|
+
.d2-1418488350 .stroke-B2{stroke:#0D32B2;}
|
|
62
|
+
.d2-1418488350 .stroke-B3{stroke:#E3E9FD;}
|
|
63
|
+
.d2-1418488350 .stroke-B4{stroke:#E3E9FD;}
|
|
64
|
+
.d2-1418488350 .stroke-B5{stroke:#EDF0FD;}
|
|
65
|
+
.d2-1418488350 .stroke-B6{stroke:#F7F8FE;}
|
|
66
|
+
.d2-1418488350 .stroke-AA2{stroke:#4A6FF3;}
|
|
67
|
+
.d2-1418488350 .stroke-AA4{stroke:#EDF0FD;}
|
|
68
|
+
.d2-1418488350 .stroke-AA5{stroke:#F7F8FE;}
|
|
69
|
+
.d2-1418488350 .stroke-AB4{stroke:#EDF0FD;}
|
|
70
|
+
.d2-1418488350 .stroke-AB5{stroke:#F7F8FE;}
|
|
71
|
+
.d2-1418488350 .background-color-N1{background-color:#0A0F25;}
|
|
72
|
+
.d2-1418488350 .background-color-N2{background-color:#676C7E;}
|
|
73
|
+
.d2-1418488350 .background-color-N3{background-color:#9499AB;}
|
|
74
|
+
.d2-1418488350 .background-color-N4{background-color:#CFD2DD;}
|
|
75
|
+
.d2-1418488350 .background-color-N5{background-color:#DEE1EB;}
|
|
76
|
+
.d2-1418488350 .background-color-N6{background-color:#EEF1F8;}
|
|
77
|
+
.d2-1418488350 .background-color-N7{background-color:#FFFFFF;}
|
|
78
|
+
.d2-1418488350 .background-color-B1{background-color:#0D32B2;}
|
|
79
|
+
.d2-1418488350 .background-color-B2{background-color:#0D32B2;}
|
|
80
|
+
.d2-1418488350 .background-color-B3{background-color:#E3E9FD;}
|
|
81
|
+
.d2-1418488350 .background-color-B4{background-color:#E3E9FD;}
|
|
82
|
+
.d2-1418488350 .background-color-B5{background-color:#EDF0FD;}
|
|
83
|
+
.d2-1418488350 .background-color-B6{background-color:#F7F8FE;}
|
|
84
|
+
.d2-1418488350 .background-color-AA2{background-color:#4A6FF3;}
|
|
85
|
+
.d2-1418488350 .background-color-AA4{background-color:#EDF0FD;}
|
|
86
|
+
.d2-1418488350 .background-color-AA5{background-color:#F7F8FE;}
|
|
87
|
+
.d2-1418488350 .background-color-AB4{background-color:#EDF0FD;}
|
|
88
|
+
.d2-1418488350 .background-color-AB5{background-color:#F7F8FE;}
|
|
89
|
+
.d2-1418488350 .color-N1{color:#0A0F25;}
|
|
90
|
+
.d2-1418488350 .color-N2{color:#676C7E;}
|
|
91
|
+
.d2-1418488350 .color-N3{color:#9499AB;}
|
|
92
|
+
.d2-1418488350 .color-N4{color:#CFD2DD;}
|
|
93
|
+
.d2-1418488350 .color-N5{color:#DEE1EB;}
|
|
94
|
+
.d2-1418488350 .color-N6{color:#EEF1F8;}
|
|
95
|
+
.d2-1418488350 .color-N7{color:#FFFFFF;}
|
|
96
|
+
.d2-1418488350 .color-B1{color:#0D32B2;}
|
|
97
|
+
.d2-1418488350 .color-B2{color:#0D32B2;}
|
|
98
|
+
.d2-1418488350 .color-B3{color:#E3E9FD;}
|
|
99
|
+
.d2-1418488350 .color-B4{color:#E3E9FD;}
|
|
100
|
+
.d2-1418488350 .color-B5{color:#EDF0FD;}
|
|
101
|
+
.d2-1418488350 .color-B6{color:#F7F8FE;}
|
|
102
|
+
.d2-1418488350 .color-AA2{color:#4A6FF3;}
|
|
103
|
+
.d2-1418488350 .color-AA4{color:#EDF0FD;}
|
|
104
|
+
.d2-1418488350 .color-AA5{color:#F7F8FE;}
|
|
105
|
+
.d2-1418488350 .color-AB4{color:#EDF0FD;}
|
|
106
|
+
.d2-1418488350 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1418488350);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1418488350);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1418488350);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1418488350);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1418488350);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1418488350);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1418488350);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1418488350);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="cmVx endpoint"><g class="shape" ><ellipse rx="147.500000" ry="49.000000" cx="200.500000" cy="61.000000" stroke="#374151" fill="#f3f4f6" class="shape" style="stroke-width:2;" /></g><text x="200.500000" y="66.500000" fill="#374151" class="text-bold" style="text-anchor:middle;font-size:16px">Design-to-code request</text></g><g class="Y2hlY2s= decision"><g class="shape" ><path d="M 200 304 C 199 304 199 304 198 304 L 111 243 C 110 242 110 241 111 241 L 198 180 C 199 179 200 179 201 180 L 289 240 C 290 241 290 242 289 242 L 202 304 C 201 304 201 304 200 304 Z" stroke="#92400e" fill="#fef3c7" style="stroke-width:2;" /></g><text x="200.000000" y="239.500000" fill="#92400e" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="200.000000" dy="0.000000">Existing</tspan><tspan x="200.000000" dy="18.500000">contracts?</tspan></text></g><g class="Y2xlYW4= subagent"><g class="shape" ><rect x="12.000000" y="475.000000" width="149.000000" height="82.000000" rx="6.000000" stroke="#6b21a8" fill="#f3e8ff" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" /></g><text x="86.500000" y="513.500000" fill="#6b21a8" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="86.500000" dy="0.000000">clean UI assets</tspan><tspan x="86.500000" dy="18.500000">(inline)</tspan></text></g><g class="ZGQ= cmd"><g class="shape" ><rect x="31.000000" y="637.000000" width="225.000000" height="66.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="143.500000" y="675.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px">/gsd-t-design-decompose</text></g><g class="Y29udHJhY3Rz artifact"><g class="shape" ><path d="M 28 797 C 28 773 132 773 144 773 C 155 773 259 773 259 797 V 899 C 259 923 155 923 144 923 C 132 923 28 923 28 899 V 797 Z" stroke="#854d0e" fill="#fefce8" style="stroke-width:1;" /><path d="M 28 797 C 28 821 132 821 144 821 C 155 821 259 821 259 797" stroke="#854d0e" fill="#fefce8" style="stroke-width:1;" /></g><text x="143.500000" y="849.500000" fill="#713f12" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="143.500000" dy="0.000000">.gsd-t/contracts/design/</tspan><tspan x="143.500000" dy="17.666667">elements · widgets · pages</tspan><tspan x="143.500000" dy="17.666667">INDEX.md</tspan></text></g><g class="ZGI= cmd"><g class="shape" ><rect x="124.000000" y="1003.000000" width="191.000000" height="82.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="219.500000" y="1041.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="219.500000" dy="0.000000">/gsd-t-design-build</tspan><tspan x="219.500000" dy="18.500000">two-terminal review</tspan></text></g><g class="cmV2aWV3 group"><g class="shape" ><rect x="56.000000" y="1170.000000" width="293.000000" height="425.000000" stroke="#9ca3af" fill="#fafafa" style="stroke-width:1;stroke-dasharray:2.000000,2.000000;" /></g><text x="202.500000" y="1203.000000" fill="#374151" class="text" style="text-anchor:middle;font-size:28px">Review loop</text></g><g class="c2hpcA== decision"><g class="shape" ><path d="M 115 1874 C 114 1874 114 1874 114 1874 L 40 1813 C 39 1812 39 1811 40 1811 L 114 1750 C 115 1749 116 1749 117 1750 L 191 1810 C 192 1811 192 1812 191 1812 L 116 1874 C 116 1874 116 1874 115 1874 Z" stroke="#92400e" fill="#fef3c7" style="stroke-width:2;" /></g><text x="115.000000" y="1809.500000" fill="#92400e" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="115.000000" dy="0.000000">All gates</tspan><tspan x="115.000000" dy="18.500000">pass?</tspan></text></g><g class="ZG9uZQ== endpoint"><g class="shape" ><ellipse rx="83.000000" ry="27.500000" cx="115.000000" cy="2062.500000" stroke="#374151" fill="#f3f4f6" class="shape" style="stroke-width:2;" /></g><text x="115.000000" y="2068.000000" fill="#374151" class="text-bold" style="text-anchor:middle;font-size:16px">UI shipped</text></g><g class="ZGE= cmd"><g class="shape" ><rect x="24.000000" y="2251.000000" width="182.000000" height="82.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="115.000000" y="2289.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="115.000000" dy="0.000000">/gsd-t-design-audit</tspan><tspan x="115.000000" dy="18.500000">built vs Figma</tspan></text></g><g class="cmV2aWV3LnQx cmd"><g class="shape" ><rect x="154.000000" y="1220.000000" width="97.000000" height="82.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="202.500000" y="1258.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="202.500000" dy="0.000000">Term 1</tspan><tspan x="202.500000" dy="18.500000">builder</tspan></text></g><g class="cmV2aWV3LnQy cmd"><g class="shape" ><rect x="106.000000" y="1463.000000" width="193.000000" height="82.000000" rx="6.000000" stroke="#1e3a8a" fill="#dbeafe" style="stroke-width:2;" /></g><text x="202.500000" y="1501.500000" fill="#1e3a8a" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="202.500000" dy="0.000000">/gsd-t-design-review</tspan><tspan x="202.500000" dy="18.500000">Term 2 reviewer</tspan></text></g><g class="cmV2aWV3Lih0MSAmbHQ7LSZndDsgdDIpWzBd"><marker id="mk-d2-1418488350-2451250203" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><marker id="mk-d2-1418488350-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 203.332993 1306.000000 L 203.332993 1459.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-start="url(#mk-d2-1418488350-2451250203)" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /><text x="203.000000" y="1388.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">review</text></g><g class="KHJlcSAtJmd0OyBjaGVjaylbMF0="><path d="M 201.000000 112.000000 L 201.000000 175.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /></g><g class="KGNoZWNrIC0mZ3Q7IGNsZWFuKVswXQ=="><path d="M 155.992857 275.999987 L 155.785714 334.000064 S 155.750000 344.000000 145.750000 344.000000 L 96.500000 344.000000 S 86.500000 344.000000 86.500000 354.000000 L 86.500000 471.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /><text x="91.000000" y="350.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">start over</text></g><g class="KGNoZWNrIC0mZ3Q7IGRkKVswXQ=="><path d="M 201.000000 306.000000 L 201.000000 633.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /><text x="201.000000" y="476.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">none</text></g><g class="KGNoZWNrIC0mZ3Q7IGRiKVswXQ=="><path d="M 245.992958 274.999988 L 245.785211 334.000062 S 245.750000 344.000000 255.750000 344.000000 L 289.250000 344.000000 S 299.250000 344.000000 299.250000 354.000000 L 299.250000 999.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /><text x="299.000000" y="617.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">present</text></g><g class="KGNsZWFuIC0mZ3Q7IGRkKVswXQ=="><path d="M 106.250000 559.000000 L 106.250000 633.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /></g><g class="KGRkIC0mZ3Q7IGNvbnRyYWN0cylbMF0="><path d="M 143.757143 704.999987 L 143.987500 769.500022" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /></g><g class="KGNvbnRyYWN0cyAtJmd0OyBkYilbMF0="><path d="M 187.993815 923.499987 L 187.682494 999.000034" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /></g><g class="KGRiIC0mZ3Q7IHJldmlldy50MSlbMF0="><path d="M 219.500000 1087.000000 L 219.500000 1216.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /></g><g class="KHJldmlldy50MiAtJmd0OyBzaGlwKVswXQ=="><path d="M 140.668983 1546.999998 L 140.994036 1765.000004" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /></g><g class="KHNoaXAgLSZndDsgcmV2aWV3LnQxKVswXQ=="><marker id="mk-d2-1418488350-2177206569" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B2" stroke-width="2" /> </marker><path d="M 90.000000 1768.000000 L 90.000000 1720.000000 S 90.000000 1710.000000 80.000000 1710.000000 L 37.333000 1710.000000 S 27.333000 1710.000000 27.333000 1700.000000 L 27.333000 1135.000000 S 27.333000 1125.000000 37.333000 1125.000000 L 177.166000 1125.000000 S 187.166000 1125.000000 187.166000 1135.000000 L 187.166000 1216.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-1418488350-2177206569)" mask="url(#d2-1418488350)" /><text x="27.500000" y="1357.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">no</text></g><g class="KHNoaXAgLSZndDsgZG9uZSlbMF0="><path d="M 115.000000 1876.000000 L 115.000000 2031.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1418488350-3488378134)" mask="url(#d2-1418488350)" /><text x="115.500000" y="1960.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">yes</text></g><g class="KGRvbmUgLSZndDsgZGEpWzBd"><path d="M 115.000000 2092.000000 L 115.000000 2247.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-1418488350-2177206569)" mask="url(#d2-1418488350)" /><text x="115.000000" y="2176.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">optional</text></g><mask id="d2-1418488350" maskUnits="userSpaceOnUse" x="-29" y="-29" width="419" height="2403">
|
|
107
|
+
<rect x="-29" y="-29" width="419" height="2403" fill="white"></rect>
|
|
108
|
+
<rect x="179.000000" y="1372.000000" width="48" height="21" fill="black"></rect>
|
|
109
|
+
<rect x="56.000000" y="334.000000" width="70" height="21" fill="black"></rect>
|
|
110
|
+
<rect x="182.000000" y="460.000000" width="38" height="21" fill="black"></rect>
|
|
111
|
+
<rect x="271.000000" y="601.000000" width="56" height="21" fill="black"></rect>
|
|
112
|
+
<rect x="17.000000" y="1341.000000" width="21" height="21" fill="black"></rect>
|
|
113
|
+
<rect x="102.000000" y="1944.000000" width="27" height="21" fill="black"></rect>
|
|
114
|
+
<rect x="85.000000" y="2160.000000" width="60" height="21" fill="black"></rect>
|
|
115
|
+
</mask></svg></svg>
|
|
Binary file
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
...@_theme.d2
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
direction: right
|
|
5
|
+
|
|
6
|
+
idea: User has idea { class: endpoint }
|
|
7
|
+
badd: "/gsd-t-backlog-add" { class: cmd }
|
|
8
|
+
bl: ".gsd-t/backlog.md" { class: artifact }
|
|
9
|
+
|
|
10
|
+
ops: {
|
|
11
|
+
class: group
|
|
12
|
+
label: Manage
|
|
13
|
+
view: "/gsd-t-backlog-list" { class: cmd }
|
|
14
|
+
edit: "/gsd-t-backlog-edit" { class: cmd }
|
|
15
|
+
move: "/gsd-t-backlog-move" { class: cmd }
|
|
16
|
+
rm: "/gsd-t-backlog-remove" { class: cmd }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
promo: "/gsd-t-backlog-promote" { class: cmd; style.bold: true }
|
|
20
|
+
classify: Classify { class: decision }
|
|
21
|
+
|
|
22
|
+
mile: "/gsd-t-milestone" { class: cmd }
|
|
23
|
+
quick: "/gsd-t-quick" { class: cmd }
|
|
24
|
+
debug: "/gsd-t-debug" { class: cmd }
|
|
25
|
+
feat: "/gsd-t-feature" { class: cmd }
|
|
26
|
+
|
|
27
|
+
settings: "/gsd-t-backlog-settings" { class: cmd }
|
|
28
|
+
|
|
29
|
+
idea -> badd -> bl
|
|
30
|
+
bl -> ops.view
|
|
31
|
+
bl -> ops.edit
|
|
32
|
+
bl -> ops.move
|
|
33
|
+
bl -> ops.rm
|
|
34
|
+
bl -> promo
|
|
35
|
+
promo -> classify
|
|
36
|
+
classify -> mile: big
|
|
37
|
+
classify -> quick: small
|
|
38
|
+
classify -> debug: bug
|
|
39
|
+
classify -> feat: feature
|
|
40
|
+
settings -> badd: configures { style.stroke-dash: 3 }
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
flowchart LR
|
|
2
|
+
IDEA([User has idea]) --> BADD["/gsd-t-backlog-add"]
|
|
3
|
+
BADD --> BL[".gsd-t/backlog.md"]
|
|
4
|
+
|
|
5
|
+
BL --> VIEW["/gsd-t-backlog-list<br/>filtered view"]
|
|
6
|
+
BL --> EDIT["/gsd-t-backlog-edit"]
|
|
7
|
+
BL --> MOVE["/gsd-t-backlog-move<br/>reorder priority"]
|
|
8
|
+
BL --> RM["/gsd-t-backlog-remove"]
|
|
9
|
+
BL --> PROMO["/gsd-t-backlog-promote"]
|
|
10
|
+
|
|
11
|
+
PROMO --> ROUTE{Classify}
|
|
12
|
+
ROUTE -->|big| MILE["/gsd-t-milestone"]
|
|
13
|
+
ROUTE -->|small| QUICK["/gsd-t-quick"]
|
|
14
|
+
ROUTE -->|bug| DEBUG["/gsd-t-debug"]
|
|
15
|
+
ROUTE -->|feature| FEAT["/gsd-t-feature"]
|
|
16
|
+
|
|
17
|
+
SETTINGS["/gsd-t-backlog-settings"] -.configures.-> BADD
|
|
18
|
+
|
|
19
|
+
classDef backlog fill:#fff3e0,stroke:#ef6c00
|
|
20
|
+
class BADD,VIEW,EDIT,MOVE,RM,PROMO,SETTINGS backlog
|
|
Binary file
|