@chrisdudek/yg 5.4.0 → 5.4.2

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.
@@ -0,0 +1,340 @@
1
+ /*
2
+ * Per-surface view styles — Overview (V1), Coverage & Audit (V2), the Node Attestation
3
+ * panel (SHELL-panel), Structure (V3), and Relations & Boundaries (V4).
4
+ *
5
+ * Tokens come from tokens.css (including the honest status palette); the shell frame from
6
+ * shell.css; the shared in-stage pieces from app.css. This file holds only the view-specific
7
+ * layout, so each CSS file stays a focused unit. The only saturated color is a state, resolved
8
+ * through the state classes in tokens.css; relation-presence hues in the matrix are the one
9
+ * non-state accent and are clearly labelled as relation types, not verdicts.
10
+ */
11
+
12
+ .stage-body {
13
+ margin-bottom: 18px;
14
+ }
15
+ .view-lead {
16
+ color: var(--text-secondary);
17
+ font-size: 13px;
18
+ line-height: 1.55;
19
+ margin: 0 0 14px;
20
+ }
21
+
22
+ /* ── V1 Overview ─────────────────────────────────────────────────────────── */
23
+ .ov-hero {
24
+ display: grid;
25
+ grid-template-columns: 1fr 240px;
26
+ gap: 16px;
27
+ margin-bottom: 18px;
28
+ }
29
+ .ov-verdict {
30
+ border: 1px solid var(--border);
31
+ border-radius: 14px;
32
+ background: var(--surface-1);
33
+ padding: 18px 20px;
34
+ }
35
+ .ov-verdict-head {
36
+ display: flex;
37
+ align-items: center;
38
+ gap: 10px;
39
+ font-size: 18px;
40
+ font-weight: 600;
41
+ line-height: 1.4;
42
+ }
43
+ .ov-verdict-sub {
44
+ color: var(--text-secondary);
45
+ font-size: 13.5px;
46
+ margin: 8px 0 0;
47
+ line-height: 1.55;
48
+ }
49
+ .ov-door {
50
+ border: 1px solid var(--border);
51
+ border-radius: 14px;
52
+ background: var(--surface-1);
53
+ padding: 16px;
54
+ }
55
+ .ov-door h4 {
56
+ margin: 0 0 4px;
57
+ font-size: 14px;
58
+ }
59
+ .ov-door p {
60
+ margin: 0 0 12px;
61
+ font-size: 12.5px;
62
+ color: var(--text-secondary);
63
+ line-height: 1.5;
64
+ }
65
+ .ov-door-link,
66
+ .ov-precise {
67
+ display: inline-flex;
68
+ align-items: center;
69
+ gap: 8px;
70
+ border: 1px solid var(--border);
71
+ background: var(--bg);
72
+ border-radius: 9px;
73
+ padding: 8px 12px;
74
+ font: inherit;
75
+ font-size: 13px;
76
+ color: var(--accent-text);
77
+ font-weight: 550;
78
+ cursor: pointer;
79
+ }
80
+ .ov-sectlabel {
81
+ font-size: 11px;
82
+ text-transform: uppercase;
83
+ letter-spacing: 0.6px;
84
+ color: var(--text-muted);
85
+ margin: 4px 2px 9px;
86
+ }
87
+ .ov-residue {
88
+ display: flex;
89
+ gap: 10px;
90
+ flex-wrap: wrap;
91
+ margin-bottom: 16px;
92
+ }
93
+ .reslink {
94
+ display: inline-flex;
95
+ align-items: center;
96
+ gap: 8px;
97
+ border: 1px solid var(--border);
98
+ border-radius: 9px;
99
+ padding: 9px 13px;
100
+ font: inherit;
101
+ font-size: 13px;
102
+ background: var(--surface-1);
103
+ color: var(--text-primary);
104
+ cursor: pointer;
105
+ }
106
+ .reslink:hover {
107
+ border-color: var(--border-strong);
108
+ }
109
+ .reslink-arrow {
110
+ color: var(--accent-text);
111
+ }
112
+ .ov-precise {
113
+ width: 100%;
114
+ justify-content: flex-start;
115
+ color: var(--text-secondary);
116
+ margin-bottom: 14px;
117
+ }
118
+ .ov-precise-frac {
119
+ font-weight: 650;
120
+ color: var(--text-primary);
121
+ font-family: 'JetBrains Mono', ui-monospace, monospace;
122
+ }
123
+ .ov-foot,
124
+ .cov-prov {
125
+ color: var(--text-muted);
126
+ font-size: 11.5px;
127
+ line-height: 1.5;
128
+ }
129
+
130
+ /* ── V2 Coverage & Audit ─────────────────────────────────────────────────── */
131
+ .cov-ledger {
132
+ border: 1px solid var(--border);
133
+ border-radius: 12px;
134
+ background: var(--surface-1);
135
+ padding: 16px 18px;
136
+ margin-bottom: 18px;
137
+ }
138
+ .cov-lhead {
139
+ display: flex;
140
+ align-items: baseline;
141
+ gap: 12px;
142
+ flex-wrap: wrap;
143
+ margin-bottom: 10px;
144
+ }
145
+ .cov-frac {
146
+ font-size: 22px;
147
+ font-weight: 650;
148
+ font-family: 'JetBrains Mono', ui-monospace, monospace;
149
+ }
150
+ .cov-den {
151
+ color: var(--text-muted);
152
+ font-weight: 500;
153
+ }
154
+ .cov-lbl {
155
+ color: var(--text-secondary);
156
+ font-size: 13px;
157
+ }
158
+ .cov-right {
159
+ margin-left: auto;
160
+ color: var(--text-muted);
161
+ font-size: 12px;
162
+ }
163
+ .cov-bar {
164
+ display: flex;
165
+ height: 32px;
166
+ border-radius: 7px;
167
+ overflow: hidden;
168
+ border: 1px solid var(--border-subtle);
169
+ }
170
+ .cov-seg {
171
+ display: flex;
172
+ align-items: center;
173
+ justify-content: center;
174
+ color: #fff;
175
+ font-size: 11px;
176
+ }
177
+ .cov-seg-v {
178
+ background: var(--verified);
179
+ }
180
+ .cov-seg-v-det {
181
+ background: color-mix(in srgb, var(--verified) 78%, #000);
182
+ }
183
+ .cov-seg-r {
184
+ background: var(--refused);
185
+ }
186
+ .cov-seg-u {
187
+ background: var(--unverified);
188
+ }
189
+ .cov-seg-empty {
190
+ color: var(--text-muted);
191
+ background: var(--surface-2);
192
+ }
193
+ .cov-barlabels,
194
+ .cov-nonpair,
195
+ .cov-livewrap {
196
+ display: flex;
197
+ gap: 16px;
198
+ flex-wrap: wrap;
199
+ margin-top: 9px;
200
+ font-size: 12px;
201
+ color: var(--text-secondary);
202
+ }
203
+ .cov-key {
204
+ display: inline-flex;
205
+ align-items: center;
206
+ gap: 6px;
207
+ }
208
+ .cov-key-sub {
209
+ color: var(--text-muted);
210
+ font-size: 11px;
211
+ }
212
+ .cov-hair {
213
+ height: 1px;
214
+ background: var(--border-subtle);
215
+ margin: 12px 0 0;
216
+ }
217
+ .cov-nptag {
218
+ color: var(--text-muted);
219
+ font-size: 11px;
220
+ }
221
+ .cov-live {
222
+ display: inline-flex;
223
+ align-items: center;
224
+ gap: 8px;
225
+ border: 1px solid var(--border-subtle);
226
+ border-radius: 8px;
227
+ padding: 6px 11px;
228
+ font-size: 12px;
229
+ background: var(--bg);
230
+ }
231
+ .cov-livebadge {
232
+ font-size: 9px;
233
+ font-weight: 700;
234
+ letter-spacing: 0.4px;
235
+ color: #fff;
236
+ background: var(--live);
237
+ border-radius: 4px;
238
+ padding: 1px 5px;
239
+ }
240
+ .cov-prov {
241
+ margin: 12px 0 0;
242
+ }
243
+ .cov-section {
244
+ display: flex;
245
+ align-items: center;
246
+ gap: 10px;
247
+ margin: 8px 2px 10px;
248
+ font-size: 13px;
249
+ font-weight: 600;
250
+ color: var(--text-secondary);
251
+ }
252
+ .cov-section-count {
253
+ color: var(--text-muted);
254
+ font-weight: 500;
255
+ }
256
+ .cov-jump {
257
+ margin-left: auto;
258
+ border: 1px solid var(--border);
259
+ background: var(--bg);
260
+ border-radius: 8px;
261
+ padding: 6px 11px;
262
+ font: inherit;
263
+ font-size: 12px;
264
+ color: var(--accent-text);
265
+ cursor: pointer;
266
+ }
267
+ .cov-jump-residue {
268
+ color: var(--text-secondary);
269
+ }
270
+ .cov-card,
271
+ .cov-calm {
272
+ border: 1px solid var(--border);
273
+ border-radius: 10px;
274
+ background: var(--surface-1);
275
+ overflow: hidden;
276
+ }
277
+ .cov-calm {
278
+ padding: 16px;
279
+ color: var(--text-secondary);
280
+ font-size: 13px;
281
+ line-height: 1.55;
282
+ }
283
+ .cov-worow-wrap {
284
+ border-bottom: 1px solid var(--border-subtle);
285
+ }
286
+ .cov-worow-wrap:last-child {
287
+ border-bottom: 0;
288
+ }
289
+ .cov-worow {
290
+ display: flex;
291
+ align-items: center;
292
+ gap: 12px;
293
+ padding: 12px 16px 4px;
294
+ }
295
+ .cov-pill {
296
+ display: inline-flex;
297
+ align-items: center;
298
+ gap: 6px;
299
+ border-radius: 999px;
300
+ padding: 2px 9px;
301
+ font-size: 11px;
302
+ font-weight: 600;
303
+ }
304
+ .cov-worow-id {
305
+ display: flex;
306
+ flex-direction: column;
307
+ gap: 2px;
308
+ min-width: 0;
309
+ }
310
+ .cov-worow-reason {
311
+ color: var(--text-secondary);
312
+ font-size: 12.5px;
313
+ }
314
+ .cov-worow-meta {
315
+ margin-left: auto;
316
+ display: flex;
317
+ gap: 10px;
318
+ align-items: center;
319
+ color: var(--text-muted);
320
+ font-size: 12px;
321
+ }
322
+ .cov-deeplink,
323
+ .cov-rulehdr {
324
+ border: 1px solid var(--border-subtle);
325
+ background: var(--bg);
326
+ border-radius: 6px;
327
+ padding: 1px 8px;
328
+ font: inherit;
329
+ font-size: 11px;
330
+ color: var(--text-muted);
331
+ cursor: pointer;
332
+ }
333
+ .cov-rulehdr {
334
+ display: block;
335
+ border: 0;
336
+ margin: 0 0 10px 16px;
337
+ color: var(--accent-text);
338
+ text-align: left;
339
+ }
340
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrisdudek/yg",
3
- "version": "5.4.0",
3
+ "version": "5.4.2",
4
4
  "description": "Architecture rules your AI coding agent can't ignore. It gets the rules for a file before it edits, and every change is checked — by a free local script or an LLM reviewer — before it moves on. Works with Claude Code, Cursor, Copilot, Codex, Cline.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -10,7 +10,9 @@
10
10
  "dist/**/*.js",
11
11
  "dist/**/*.d.ts",
12
12
  "dist/**/*.wasm",
13
- "dist/**/*.node-types.json"
13
+ "dist/**/*.node-types.json",
14
+ "dist/**/*.html",
15
+ "dist/**/*.css"
14
16
  ],
15
17
  "engines": {
16
18
  "node": ">=22"