@alphazede/bearing-lite 0.2.2 → 1.0.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.
- package/CONTRIBUTING.md +11 -6
- package/README.md +224 -131
- package/com.github.copilot/hooks/hooks.json +33 -0
- package/hooks/assurance-budget.cjs +33 -11
- package/hooks/com.anthropic.claude-code/mapping.md +35 -16
- package/hooks/plan-package.cjs +5 -4
- package/hooks/policy.cjs +10 -4
- package/hooks/profiles.cjs +119 -0
- package/hooks/te-host.cjs +40 -5
- package/hooks/transition-order.cjs +12 -4
- package/hooks/verification.cjs +358 -0
- package/package.json +6 -3
- package/plugin.json +2 -34
- package/profiles.json +1 -0
- package/schemas/implementation.schema.json +204 -5
- package/schemas/journey.schema.json +3 -3
- package/schemas/profiles.schema.json +359 -0
- package/schemas/verification.schema.json +126 -0
- package/skills/{set-bearings → architectural-alignment}/SKILL.md +17 -13
- package/skills/{set-bearings → architectural-alignment}/templates/workspace.md +1 -1
- package/skills/bearing-lite/SKILL.md +22 -22
- package/skills/bearing-lite/references/assurance-policy.md +32 -16
- package/skills/bearing-lite/references/lineups.md +7 -110
- package/skills/bearing-lite/references/owner-stops.md +13 -13
- package/skills/bearing-lite/references/peer-synthesis.md +11 -12
- package/skills/bearing-lite/references/profiles.md +149 -0
- package/skills/bearing-lite/references/resume.md +30 -0
- package/skills/bearing-lite/references/review-policy.md +3 -3
- package/skills/bearing-lite/references/role-routing.mmd +14 -14
- package/skills/bearing-lite/references/task-state.md +10 -10
- package/skills/bearing-lite/references/task-state.mmd +2 -2
- package/skills/bearing-lite/references/verification.md +52 -0
- package/skills/bearing-lite/templates/task.md +29 -28
- package/skills/{explorer → coordinator}/SKILL.md +16 -16
- package/skills/{crewmate → implementer}/SKILL.md +17 -15
- package/skills/{repository-fit → intake}/SKILL.md +10 -9
- package/skills/integration-engineer/SKILL.md +17 -12
- package/skills/light-implementer/SKILL.md +6 -5
- package/skills/onboard-bearing/SKILL.md +46 -0
- package/skills/plan-integrator/SKILL.md +14 -14
- package/skills/{map-the-route → planning-and-design}/SKILL.md +27 -27
- package/skills/{map-the-route → planning-and-design}/references/artifact-grammar.md +29 -27
- package/skills/prompt/SKILL.md +245 -0
- package/skills/requirements-engineer/SKILL.md +11 -11
- package/skills/{park-ranger → reviewer}/SKILL.md +16 -13
- package/skills/{gather-supplies → scope-definition}/SKILL.md +13 -13
- package/skills/scribe/SKILL.md +8 -8
- package/skills/systems-modeler/SKILL.md +5 -3
- package/skills/test-engineer/SKILL.md +16 -13
- package/templates/dod-manifest-v1.html +648 -0
- package/tools/render-dod-manifest.mjs +1743 -0
- package/lineups.json +0 -1
- package/schemas/lineups.schema.json +0 -145
- package/skills/navigator/SKILL.md +0 -36
- package/skills/surveyor/SKILL.md +0 -48
- package/skills/validator/SKILL.md +0 -37
- package/skills/validator/references/grading-rubric.md +0 -40
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
name: systems-modeler
|
|
3
3
|
description: >
|
|
4
4
|
Select modeling mode and attach view metadata after Requirements
|
|
5
|
-
Engineer work and before design finalization. Use for Systems Modeler
|
|
6
|
-
Do not finalize requirement mappings against unstable
|
|
5
|
+
Engineer work and before design finalization. Use for Systems Modeler
|
|
6
|
+
planning session. Do not finalize requirement mappings against unstable
|
|
7
|
+
requirements.
|
|
7
8
|
---
|
|
8
9
|
|
|
9
10
|
# Systems Modeler
|
|
10
11
|
|
|
11
|
-
Runs after the Requirements Engineer and
|
|
12
|
+
One role with a planning session. Runs after the Requirements Engineer and
|
|
13
|
+
before design finalization.
|
|
12
14
|
|
|
13
15
|
## Inputs and match
|
|
14
16
|
|
|
@@ -3,35 +3,38 @@ name: test-engineer
|
|
|
3
3
|
description: >
|
|
4
4
|
One Test Engineer role with Planning and Assurance sessions. Use for
|
|
5
5
|
Planning Test Engineer, Assurance Test Engineer, SEIT authorship, or
|
|
6
|
-
declared
|
|
7
|
-
acceptance, or slice/round boundaries.
|
|
6
|
+
declared cadence-boundary V&V. Do not use for implementation, defect review, user
|
|
7
|
+
acceptance, or unconfigured slice/round boundaries.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Test Engineer
|
|
11
11
|
|
|
12
|
-
One role
|
|
12
|
+
One role; Validator is absent from active roles.
|
|
13
13
|
Planning Test Engineer and Assurance Test Engineer are sessions, not
|
|
14
14
|
separate catalog roles.
|
|
15
15
|
|
|
16
16
|
## Inputs and match
|
|
17
17
|
|
|
18
18
|
- **Inputs:** approved baseline, candidate, evidence, SEIT, published
|
|
19
|
-
standard citations, declared
|
|
20
|
-
- **Match:** V&V planning or declared
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
standard citations, declared cadence boundary, compact return schema.
|
|
20
|
+
- **Match:** V&V planning or declared cadence-boundary assurance is declared.
|
|
21
|
+
Default assurance cadence is `phase`.
|
|
22
|
+
- **Non-match:** product implementation, Reviewer defects, Integration
|
|
23
|
+
Engineer execution assessment, unconfigured slice or round boundary.
|
|
23
24
|
|
|
24
25
|
## Algorithm
|
|
25
26
|
|
|
26
27
|
1. Planning Test Engineer finalizes `seit.json` after Plan Integrator
|
|
27
28
|
reconciliation and performs delta reconciliation after relevant
|
|
28
29
|
decision, requirement, or design changes. Do not invent missing
|
|
29
|
-
method-skill behavior.
|
|
30
|
-
|
|
30
|
+
method-skill behavior. Define applicable deterministic claims; select
|
|
31
|
+
Reverify only on an applicable binary-level claim.
|
|
32
|
+
Lifecycle in-document verification cases are authored only against the
|
|
31
33
|
approved, planning-gated register.
|
|
32
34
|
2. Assurance Test Engineer starts a fresh session; reject author ancestry;
|
|
33
|
-
evaluate the exact stable candidate at the declared
|
|
34
|
-
VALIDATING is owned here.
|
|
35
|
+
evaluate the exact stable candidate at the declared cadence boundary only.
|
|
36
|
+
VALIDATING is owned here. Independently rerun required deterministic claims
|
|
37
|
+
and attach `assurance` receipts; author diagnostic receipts cannot PASS.
|
|
35
38
|
3. When a published standard is cited, verify the document and clause.
|
|
36
39
|
4. Return the smallest missing proof. Never mutate the candidate.
|
|
37
40
|
|
|
@@ -44,5 +47,5 @@ Coordinators enforce `max_assurance_rounds` of 1 per declared phase or wave:
|
|
|
44
47
|
one aggregate repair, then deterministic closure without another review. The
|
|
45
48
|
next distinct declared phase or wave carries its own budget.
|
|
46
49
|
|
|
47
|
-
Never implement, self-certify, replace
|
|
48
|
-
owner-only approval.
|
|
50
|
+
Never implement, self-certify, replace Reviewer or Integration Engineer
|
|
51
|
+
execution, or grant owner-only approval.
|
|
@@ -0,0 +1,648 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; base-uri 'none'; form-action 'none'">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
7
|
+
<meta name="color-scheme" content="light">
|
|
8
|
+
<!-- dod-manifest-template 1.0.1 -->
|
|
9
|
+
<title><!--DOD_TITLE--></title>
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--paper: #e7edf1;
|
|
13
|
+
--panel: #f4f7f9;
|
|
14
|
+
--panel-strong: #fbfcfd;
|
|
15
|
+
--ink: #1a2836;
|
|
16
|
+
--ink-muted: #3d4c5b;
|
|
17
|
+
--rule: #8a99a8;
|
|
18
|
+
--rule-strong: #5d6d7c;
|
|
19
|
+
--accent: #0e5c66;
|
|
20
|
+
--accent-wash: #d4e4e6;
|
|
21
|
+
--spine: #0e5c66;
|
|
22
|
+
--focus: #0e5c66;
|
|
23
|
+
--pass-ink: #154b36;
|
|
24
|
+
--pass-fill: #d7ebe2;
|
|
25
|
+
--pass-rule: #1b5e45;
|
|
26
|
+
--gap-ink: #6b2a22;
|
|
27
|
+
--gap-fill: #f3e2dc;
|
|
28
|
+
--gap-rule: #8b3a30;
|
|
29
|
+
--hold-ink: #5a4718;
|
|
30
|
+
--hold-fill: #f0e8d4;
|
|
31
|
+
--hold-rule: #8a6d28;
|
|
32
|
+
--na-ink: #3a4550;
|
|
33
|
+
--na-fill: #e2e6ea;
|
|
34
|
+
--na-rule: #6a7580;
|
|
35
|
+
--plan-ink: #1a2836;
|
|
36
|
+
--plan-fill: #e8eef2;
|
|
37
|
+
--plan-rule: #5d6d7c;
|
|
38
|
+
--font-display: Palatino, "Palatino Linotype", "Book Antiqua", "URW Palladio L", "TeX Gyre Pagella", Georgia, serif;
|
|
39
|
+
--font-body: "Segoe UI", "Liberation Sans", "Nimbus Sans L", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
40
|
+
--space-1: 0.25rem;
|
|
41
|
+
--space-2: 0.5rem;
|
|
42
|
+
--space-3: 0.75rem;
|
|
43
|
+
--space-4: 1rem;
|
|
44
|
+
--space-5: 1.5rem;
|
|
45
|
+
--space-6: 2rem;
|
|
46
|
+
--space-7: 3rem;
|
|
47
|
+
--measure: 68ch;
|
|
48
|
+
--content: 74rem;
|
|
49
|
+
--radius: 2px;
|
|
50
|
+
--table-min: 46rem;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
* { box-sizing: border-box; }
|
|
54
|
+
|
|
55
|
+
html { scroll-behavior: smooth; }
|
|
56
|
+
|
|
57
|
+
@media (prefers-reduced-motion: reduce) {
|
|
58
|
+
html { scroll-behavior: auto; }
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
body {
|
|
62
|
+
margin: 0;
|
|
63
|
+
color: var(--ink);
|
|
64
|
+
background: var(--paper);
|
|
65
|
+
font-family: var(--font-body);
|
|
66
|
+
font-size: 1rem;
|
|
67
|
+
line-height: 1.55;
|
|
68
|
+
min-height: 100%;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
:focus { outline: none; }
|
|
72
|
+
:focus-visible {
|
|
73
|
+
outline: 3px solid var(--focus);
|
|
74
|
+
outline-offset: 3px;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.skip {
|
|
78
|
+
position: absolute;
|
|
79
|
+
left: var(--space-4);
|
|
80
|
+
top: -3rem;
|
|
81
|
+
z-index: 20;
|
|
82
|
+
padding: var(--space-2) var(--space-4);
|
|
83
|
+
background: var(--panel-strong);
|
|
84
|
+
color: var(--ink);
|
|
85
|
+
border: 2px solid var(--accent);
|
|
86
|
+
text-decoration: underline;
|
|
87
|
+
}
|
|
88
|
+
.skip:focus, .skip:focus-visible {
|
|
89
|
+
top: var(--space-4);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
a {
|
|
93
|
+
color: var(--accent);
|
|
94
|
+
text-decoration: underline;
|
|
95
|
+
text-underline-offset: 0.15em;
|
|
96
|
+
}
|
|
97
|
+
a:hover { text-decoration-thickness: 2px; }
|
|
98
|
+
|
|
99
|
+
code {
|
|
100
|
+
font-family: ui-monospace, "Cascadia Mono", "Liberation Mono", Menlo, Consolas, monospace;
|
|
101
|
+
font-size: 0.92em;
|
|
102
|
+
white-space: nowrap;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.page {
|
|
106
|
+
max-width: var(--content);
|
|
107
|
+
margin: 0 auto;
|
|
108
|
+
padding: var(--space-5) var(--space-5) var(--space-7);
|
|
109
|
+
border-left: 8px solid var(--spine);
|
|
110
|
+
min-height: 100vh;
|
|
111
|
+
background:
|
|
112
|
+
linear-gradient(180deg, rgba(14, 92, 102, 0.06), rgba(14, 92, 102, 0) 11rem),
|
|
113
|
+
var(--paper);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
header.mast {
|
|
117
|
+
position: relative;
|
|
118
|
+
padding-bottom: var(--space-5);
|
|
119
|
+
margin-bottom: var(--space-5);
|
|
120
|
+
border-bottom: 2px solid var(--ink);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.mast-wave {
|
|
124
|
+
display: block;
|
|
125
|
+
width: 100%;
|
|
126
|
+
height: 3.25rem;
|
|
127
|
+
margin: 0 0 var(--space-4);
|
|
128
|
+
overflow: visible;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.kicker {
|
|
132
|
+
display: flex;
|
|
133
|
+
flex-wrap: wrap;
|
|
134
|
+
gap: var(--space-2);
|
|
135
|
+
margin: 0 0 var(--space-4);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.stamp {
|
|
139
|
+
display: inline-flex;
|
|
140
|
+
align-items: center;
|
|
141
|
+
gap: var(--space-2);
|
|
142
|
+
padding: 0.2rem 0.55rem;
|
|
143
|
+
border: 2px solid var(--accent);
|
|
144
|
+
color: var(--accent);
|
|
145
|
+
background: var(--panel);
|
|
146
|
+
font-size: 0.8125rem;
|
|
147
|
+
font-weight: 700;
|
|
148
|
+
letter-spacing: 0.02em;
|
|
149
|
+
line-height: 1.3;
|
|
150
|
+
}
|
|
151
|
+
.stamp-warn {
|
|
152
|
+
border-color: var(--gap-rule);
|
|
153
|
+
color: var(--gap-ink);
|
|
154
|
+
background: var(--gap-fill);
|
|
155
|
+
}
|
|
156
|
+
.stamp-state {
|
|
157
|
+
border-style: solid;
|
|
158
|
+
border-width: 2px 2px 2px 8px;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
h1 {
|
|
162
|
+
margin: 0 0 var(--space-3);
|
|
163
|
+
font-family: var(--font-display);
|
|
164
|
+
font-size: clamp(1.75rem, 3vw, 2.5rem);
|
|
165
|
+
font-weight: 700;
|
|
166
|
+
line-height: 1.15;
|
|
167
|
+
color: var(--ink);
|
|
168
|
+
max-width: 28ch;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.lede {
|
|
172
|
+
margin: 0;
|
|
173
|
+
max-width: var(--measure);
|
|
174
|
+
color: var(--ink-muted);
|
|
175
|
+
font-size: 1.0625rem;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.layout {
|
|
179
|
+
display: grid;
|
|
180
|
+
grid-template-columns: 15.5rem minmax(0, 1fr);
|
|
181
|
+
gap: var(--space-6);
|
|
182
|
+
align-items: start;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
nav.toc {
|
|
186
|
+
position: sticky;
|
|
187
|
+
top: var(--space-4);
|
|
188
|
+
padding: var(--space-4);
|
|
189
|
+
background: var(--panel);
|
|
190
|
+
border: 1px solid var(--rule);
|
|
191
|
+
border-left: 4px solid var(--accent);
|
|
192
|
+
}
|
|
193
|
+
nav.toc .toc-title {
|
|
194
|
+
margin: 0 0 var(--space-3);
|
|
195
|
+
font-family: var(--font-body);
|
|
196
|
+
font-size: 0.9375rem;
|
|
197
|
+
font-weight: 700;
|
|
198
|
+
line-height: 1.3;
|
|
199
|
+
}
|
|
200
|
+
nav.toc ol {
|
|
201
|
+
margin: 0;
|
|
202
|
+
padding: 0 0 0 1.25rem;
|
|
203
|
+
}
|
|
204
|
+
nav.toc li {
|
|
205
|
+
margin: 0 0 var(--space-2);
|
|
206
|
+
font-size: 0.875rem;
|
|
207
|
+
line-height: 1.35;
|
|
208
|
+
}
|
|
209
|
+
nav.toc a { color: var(--ink); }
|
|
210
|
+
|
|
211
|
+
main { min-width: 0; }
|
|
212
|
+
|
|
213
|
+
section.block {
|
|
214
|
+
margin: 0 0 var(--space-7);
|
|
215
|
+
scroll-margin-top: var(--space-5);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
h2 {
|
|
219
|
+
margin: 0 0 var(--space-4);
|
|
220
|
+
padding-bottom: var(--space-2);
|
|
221
|
+
border-bottom: 1px solid var(--rule-strong);
|
|
222
|
+
font-family: var(--font-display);
|
|
223
|
+
font-size: 1.5rem;
|
|
224
|
+
font-weight: 700;
|
|
225
|
+
line-height: 1.25;
|
|
226
|
+
}
|
|
227
|
+
h2 .secno {
|
|
228
|
+
display: inline-block;
|
|
229
|
+
min-width: 2.1rem;
|
|
230
|
+
margin-right: var(--space-2);
|
|
231
|
+
color: var(--accent);
|
|
232
|
+
font-family: var(--font-body);
|
|
233
|
+
font-size: 1rem;
|
|
234
|
+
font-weight: 700;
|
|
235
|
+
vertical-align: middle;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
h3 {
|
|
239
|
+
margin: var(--space-5) 0 var(--space-3);
|
|
240
|
+
font-family: var(--font-body);
|
|
241
|
+
font-size: 1.0625rem;
|
|
242
|
+
font-weight: 700;
|
|
243
|
+
line-height: 1.3;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
p { margin: 0 0 var(--space-4); max-width: var(--measure); }
|
|
247
|
+
p.wide, .note { max-width: none; }
|
|
248
|
+
|
|
249
|
+
.bluf {
|
|
250
|
+
padding: var(--space-5);
|
|
251
|
+
background: var(--panel);
|
|
252
|
+
border: 1px solid var(--rule);
|
|
253
|
+
border-top: 6px solid var(--accent);
|
|
254
|
+
}
|
|
255
|
+
.bluf p:last-child { margin-bottom: 0; }
|
|
256
|
+
.bluf strong { font-weight: 700; }
|
|
257
|
+
|
|
258
|
+
.banner {
|
|
259
|
+
margin: 0 0 var(--space-4);
|
|
260
|
+
padding: var(--space-3) var(--space-4);
|
|
261
|
+
background: var(--gap-fill);
|
|
262
|
+
border: 2px solid var(--gap-rule);
|
|
263
|
+
color: var(--gap-ink);
|
|
264
|
+
max-width: none;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
dl.meta {
|
|
268
|
+
display: grid;
|
|
269
|
+
grid-template-columns: minmax(9rem, 14rem) minmax(0, 1fr);
|
|
270
|
+
gap: var(--space-2) var(--space-4);
|
|
271
|
+
margin: 0 0 var(--space-4);
|
|
272
|
+
padding: var(--space-4);
|
|
273
|
+
background: var(--panel);
|
|
274
|
+
border: 1px solid var(--rule);
|
|
275
|
+
}
|
|
276
|
+
dl.meta dt {
|
|
277
|
+
margin: 0;
|
|
278
|
+
font-weight: 700;
|
|
279
|
+
color: var(--ink);
|
|
280
|
+
}
|
|
281
|
+
dl.meta dd {
|
|
282
|
+
margin: 0;
|
|
283
|
+
color: var(--ink);
|
|
284
|
+
overflow-wrap: break-word;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.table-hint {
|
|
288
|
+
display: none;
|
|
289
|
+
margin: 0 0 var(--space-2);
|
|
290
|
+
color: var(--ink-muted);
|
|
291
|
+
font-size: 0.8125rem;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.table-scroll {
|
|
295
|
+
margin: 0 0 var(--space-4);
|
|
296
|
+
overflow-x: auto;
|
|
297
|
+
-webkit-overflow-scrolling: touch;
|
|
298
|
+
border: 1px solid var(--rule-strong);
|
|
299
|
+
background: var(--panel-strong);
|
|
300
|
+
}
|
|
301
|
+
.table-scroll:focus-visible {
|
|
302
|
+
outline: 3px solid var(--focus);
|
|
303
|
+
outline-offset: 2px;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
table {
|
|
307
|
+
width: 100%;
|
|
308
|
+
min-width: var(--table-min);
|
|
309
|
+
border-collapse: collapse;
|
|
310
|
+
font-size: 0.875rem;
|
|
311
|
+
line-height: 1.4;
|
|
312
|
+
}
|
|
313
|
+
caption {
|
|
314
|
+
caption-side: top;
|
|
315
|
+
text-align: left;
|
|
316
|
+
padding: var(--space-3) var(--space-3) var(--space-2);
|
|
317
|
+
font-weight: 700;
|
|
318
|
+
color: var(--ink);
|
|
319
|
+
background: var(--panel);
|
|
320
|
+
border-bottom: 1px solid var(--rule);
|
|
321
|
+
}
|
|
322
|
+
th, td {
|
|
323
|
+
padding: 0.55rem 0.7rem;
|
|
324
|
+
text-align: left;
|
|
325
|
+
vertical-align: top;
|
|
326
|
+
border-bottom: 1px solid var(--rule);
|
|
327
|
+
overflow-wrap: break-word;
|
|
328
|
+
hyphens: manual;
|
|
329
|
+
}
|
|
330
|
+
thead th {
|
|
331
|
+
background: var(--accent-wash);
|
|
332
|
+
color: var(--ink);
|
|
333
|
+
font-weight: 700;
|
|
334
|
+
border-bottom: 2px solid var(--ink);
|
|
335
|
+
}
|
|
336
|
+
tbody th {
|
|
337
|
+
background: transparent;
|
|
338
|
+
font-weight: 700;
|
|
339
|
+
}
|
|
340
|
+
tbody tr:last-child th,
|
|
341
|
+
tbody tr:last-child td { border-bottom: 0; }
|
|
342
|
+
th.id, td.id {
|
|
343
|
+
font-weight: 700;
|
|
344
|
+
white-space: nowrap;
|
|
345
|
+
font-variant-numeric: tabular-nums;
|
|
346
|
+
}
|
|
347
|
+
.cell-digest {
|
|
348
|
+
font-family: ui-monospace, "Liberation Mono", Menlo, Consolas, monospace;
|
|
349
|
+
font-size: 0.8125rem;
|
|
350
|
+
overflow-wrap: anywhere;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.row-pass { border-left: 6px solid var(--pass-rule); background: var(--pass-fill); }
|
|
354
|
+
.row-gap { border-left: 6px double var(--gap-rule); background: var(--gap-fill); }
|
|
355
|
+
.row-hold { border-left: 6px dashed var(--hold-rule); background: var(--hold-fill); }
|
|
356
|
+
.row-na {
|
|
357
|
+
border-left: 6px dashed var(--na-rule);
|
|
358
|
+
background: repeating-linear-gradient(
|
|
359
|
+
-45deg,
|
|
360
|
+
var(--na-fill),
|
|
361
|
+
var(--na-fill) 6px,
|
|
362
|
+
#eef1f4 6px,
|
|
363
|
+
#eef1f4 12px
|
|
364
|
+
);
|
|
365
|
+
}
|
|
366
|
+
.row-plan { border-left: 6px solid var(--plan-rule); background: var(--panel-strong); }
|
|
367
|
+
|
|
368
|
+
.status {
|
|
369
|
+
display: inline-flex;
|
|
370
|
+
align-items: center;
|
|
371
|
+
gap: 0.4rem;
|
|
372
|
+
padding: 0.1rem 0.45rem 0.1rem 0.3rem;
|
|
373
|
+
border: 1.5px solid currentColor;
|
|
374
|
+
border-radius: var(--radius);
|
|
375
|
+
font-weight: 700;
|
|
376
|
+
line-height: 1.25;
|
|
377
|
+
white-space: nowrap;
|
|
378
|
+
}
|
|
379
|
+
.status .mark {
|
|
380
|
+
display: inline-block;
|
|
381
|
+
width: 0.7rem;
|
|
382
|
+
height: 0.7rem;
|
|
383
|
+
flex: 0 0 0.7rem;
|
|
384
|
+
background: currentColor;
|
|
385
|
+
}
|
|
386
|
+
.status-pass { color: var(--pass-ink); background: var(--panel-strong); }
|
|
387
|
+
.status-pass .mark { clip-path: none; }
|
|
388
|
+
.status-gap { color: var(--gap-ink); background: var(--panel-strong); }
|
|
389
|
+
.status-gap .mark {
|
|
390
|
+
width: 0.72rem;
|
|
391
|
+
height: 0.72rem;
|
|
392
|
+
background: transparent;
|
|
393
|
+
border: 2px solid currentColor;
|
|
394
|
+
transform: rotate(45deg);
|
|
395
|
+
}
|
|
396
|
+
.status-hold { color: var(--hold-ink); background: var(--panel-strong); }
|
|
397
|
+
.status-hold .mark {
|
|
398
|
+
border-radius: 50%;
|
|
399
|
+
background: transparent;
|
|
400
|
+
border: 2px solid currentColor;
|
|
401
|
+
}
|
|
402
|
+
.status-na { color: var(--na-ink); background: var(--panel-strong); }
|
|
403
|
+
.status-na .mark {
|
|
404
|
+
height: 0.18rem;
|
|
405
|
+
width: 0.75rem;
|
|
406
|
+
align-self: center;
|
|
407
|
+
}
|
|
408
|
+
.status-plan { color: var(--plan-ink); background: var(--panel-strong); }
|
|
409
|
+
.status-plan .mark {
|
|
410
|
+
background: transparent;
|
|
411
|
+
border: 2px solid currentColor;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.reason {
|
|
415
|
+
display: block;
|
|
416
|
+
margin-top: var(--space-1);
|
|
417
|
+
color: var(--ink-muted);
|
|
418
|
+
font-weight: 400;
|
|
419
|
+
white-space: normal;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
figure.model {
|
|
423
|
+
margin: 0 0 var(--space-5);
|
|
424
|
+
padding: var(--space-4);
|
|
425
|
+
background: var(--panel-strong);
|
|
426
|
+
border: 1px solid var(--rule-strong);
|
|
427
|
+
}
|
|
428
|
+
.model-scroll {
|
|
429
|
+
overflow-x: auto;
|
|
430
|
+
-webkit-overflow-scrolling: touch;
|
|
431
|
+
border: 1px solid var(--rule);
|
|
432
|
+
background: var(--panel);
|
|
433
|
+
}
|
|
434
|
+
.model-scroll:focus-visible {
|
|
435
|
+
outline: 3px solid var(--focus);
|
|
436
|
+
outline-offset: 2px;
|
|
437
|
+
}
|
|
438
|
+
figure.model img {
|
|
439
|
+
display: block;
|
|
440
|
+
width: 100%;
|
|
441
|
+
min-width: 48rem;
|
|
442
|
+
max-width: none;
|
|
443
|
+
height: auto;
|
|
444
|
+
background: var(--panel);
|
|
445
|
+
}
|
|
446
|
+
figure.model svg {
|
|
447
|
+
display: block;
|
|
448
|
+
width: 100%;
|
|
449
|
+
min-width: 48rem;
|
|
450
|
+
max-width: none;
|
|
451
|
+
height: auto;
|
|
452
|
+
background: var(--panel);
|
|
453
|
+
}
|
|
454
|
+
figcaption {
|
|
455
|
+
margin-top: var(--space-3);
|
|
456
|
+
font-size: 0.875rem;
|
|
457
|
+
line-height: 1.45;
|
|
458
|
+
}
|
|
459
|
+
figcaption dl {
|
|
460
|
+
display: grid;
|
|
461
|
+
grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr);
|
|
462
|
+
gap: var(--space-1) var(--space-3);
|
|
463
|
+
margin: var(--space-2) 0 0;
|
|
464
|
+
}
|
|
465
|
+
figcaption dt { font-weight: 700; }
|
|
466
|
+
figcaption dd { margin: 0; overflow-wrap: break-word; }
|
|
467
|
+
|
|
468
|
+
.legend {
|
|
469
|
+
display: flex;
|
|
470
|
+
flex-wrap: wrap;
|
|
471
|
+
gap: var(--space-3) var(--space-5);
|
|
472
|
+
margin: 0 0 var(--space-4);
|
|
473
|
+
padding: 0;
|
|
474
|
+
list-style: none;
|
|
475
|
+
font-size: 0.875rem;
|
|
476
|
+
}
|
|
477
|
+
.legend li { display: flex; align-items: center; gap: var(--space-2); }
|
|
478
|
+
.swatch {
|
|
479
|
+
display: inline-block;
|
|
480
|
+
width: 1.1rem;
|
|
481
|
+
height: 0.7rem;
|
|
482
|
+
border: 2px solid var(--ink);
|
|
483
|
+
background: var(--panel);
|
|
484
|
+
flex: 0 0 1.1rem;
|
|
485
|
+
}
|
|
486
|
+
.swatch-ext { border-style: dashed; }
|
|
487
|
+
.swatch-flow {
|
|
488
|
+
height: 0;
|
|
489
|
+
border-width: 0 0 2px 0;
|
|
490
|
+
background: transparent;
|
|
491
|
+
width: 1.4rem;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
.status-key {
|
|
495
|
+
margin: var(--space-4) 0 0;
|
|
496
|
+
padding: var(--space-3) 0 0;
|
|
497
|
+
border-top: 1px solid var(--rule);
|
|
498
|
+
}
|
|
499
|
+
.status-key .legend { margin: 0; }
|
|
500
|
+
|
|
501
|
+
ul.plain, ol.plain { margin: 0 0 var(--space-4); max-width: var(--measure); }
|
|
502
|
+
li { margin-bottom: var(--space-1); }
|
|
503
|
+
|
|
504
|
+
footer.colophon {
|
|
505
|
+
margin-top: var(--space-6);
|
|
506
|
+
padding-top: var(--space-4);
|
|
507
|
+
border-top: 2px solid var(--ink);
|
|
508
|
+
font-size: 0.875rem;
|
|
509
|
+
color: var(--ink-muted);
|
|
510
|
+
}
|
|
511
|
+
footer.colophon p { max-width: none; }
|
|
512
|
+
|
|
513
|
+
@media screen and (max-width: 64rem) {
|
|
514
|
+
.layout {
|
|
515
|
+
grid-template-columns: 1fr;
|
|
516
|
+
gap: var(--space-5);
|
|
517
|
+
}
|
|
518
|
+
nav.toc { position: static; }
|
|
519
|
+
nav.toc ol {
|
|
520
|
+
display: grid;
|
|
521
|
+
grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
|
|
522
|
+
gap: var(--space-1) var(--space-4);
|
|
523
|
+
padding-left: 1.25rem;
|
|
524
|
+
}
|
|
525
|
+
h1 { max-width: none; }
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
@media screen and (max-width: 52rem) {
|
|
529
|
+
.table-hint { display: block; }
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
@media screen and (max-width: 40rem) {
|
|
533
|
+
.page {
|
|
534
|
+
padding: var(--space-4) var(--space-3) var(--space-6);
|
|
535
|
+
border-left-width: 6px;
|
|
536
|
+
}
|
|
537
|
+
dl.meta,
|
|
538
|
+
figcaption dl {
|
|
539
|
+
grid-template-columns: 1fr;
|
|
540
|
+
gap: 0.15rem 0;
|
|
541
|
+
}
|
|
542
|
+
dl.meta dt { margin-top: var(--space-2); }
|
|
543
|
+
dl.meta dt:first-child { margin-top: 0; }
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
@media print {
|
|
547
|
+
:root {
|
|
548
|
+
--paper: #ffffff;
|
|
549
|
+
--panel: #ffffff;
|
|
550
|
+
--panel-strong: #ffffff;
|
|
551
|
+
--accent-wash: #e6ecee;
|
|
552
|
+
}
|
|
553
|
+
body { background: #ffffff; color: #000; }
|
|
554
|
+
.page {
|
|
555
|
+
max-width: none;
|
|
556
|
+
padding: 0;
|
|
557
|
+
border-left: 0;
|
|
558
|
+
background: #ffffff;
|
|
559
|
+
min-height: 0;
|
|
560
|
+
}
|
|
561
|
+
.skip { display: none; }
|
|
562
|
+
.mast-wave { height: 1.6rem; margin-bottom: var(--space-3); }
|
|
563
|
+
header.mast {
|
|
564
|
+
break-after: avoid;
|
|
565
|
+
border-bottom-color: #000;
|
|
566
|
+
}
|
|
567
|
+
nav.toc {
|
|
568
|
+
position: static;
|
|
569
|
+
background: #fff;
|
|
570
|
+
border: 1px solid #000;
|
|
571
|
+
break-inside: avoid;
|
|
572
|
+
padding: 0.6rem 0.8rem;
|
|
573
|
+
margin: 0 0 1rem;
|
|
574
|
+
}
|
|
575
|
+
nav.toc ol {
|
|
576
|
+
display: block;
|
|
577
|
+
columns: 2;
|
|
578
|
+
column-gap: 1.5rem;
|
|
579
|
+
padding-left: 1.2rem;
|
|
580
|
+
}
|
|
581
|
+
nav.toc li { break-inside: avoid; margin-bottom: 0.35rem; }
|
|
582
|
+
.layout { display: block; }
|
|
583
|
+
section.block { break-inside: auto; margin-bottom: 1.4rem; }
|
|
584
|
+
h2 { break-after: avoid; border-bottom-color: #000; }
|
|
585
|
+
h3 { break-after: avoid; }
|
|
586
|
+
.banner, dl.meta {
|
|
587
|
+
background: #fff;
|
|
588
|
+
break-inside: avoid;
|
|
589
|
+
}
|
|
590
|
+
.bluf { background: #fff; }
|
|
591
|
+
.table-hint { display: none; }
|
|
592
|
+
.table-scroll {
|
|
593
|
+
overflow: visible;
|
|
594
|
+
border-color: #000;
|
|
595
|
+
break-inside: auto;
|
|
596
|
+
}
|
|
597
|
+
table {
|
|
598
|
+
min-width: 0;
|
|
599
|
+
font-size: 8.5pt;
|
|
600
|
+
}
|
|
601
|
+
thead { display: table-header-group; }
|
|
602
|
+
tr { break-inside: avoid; }
|
|
603
|
+
thead th { background: #eee; color: #000; border-bottom-color: #000; }
|
|
604
|
+
tbody th { background: transparent; }
|
|
605
|
+
a { color: #000; }
|
|
606
|
+
.stamp { background: #fff; }
|
|
607
|
+
.row-pass, .row-gap, .row-hold, .row-na, .row-plan {
|
|
608
|
+
background: #fff;
|
|
609
|
+
print-color-adjust: exact;
|
|
610
|
+
-webkit-print-color-adjust: exact;
|
|
611
|
+
}
|
|
612
|
+
.row-na {
|
|
613
|
+
background: repeating-linear-gradient(
|
|
614
|
+
-45deg,
|
|
615
|
+
#fff,
|
|
616
|
+
#fff 5px,
|
|
617
|
+
#ececec 5px,
|
|
618
|
+
#ececec 10px
|
|
619
|
+
);
|
|
620
|
+
}
|
|
621
|
+
.model-scroll {
|
|
622
|
+
overflow: visible;
|
|
623
|
+
border: 0;
|
|
624
|
+
background: #fff;
|
|
625
|
+
}
|
|
626
|
+
figure.model {
|
|
627
|
+
background: #fff;
|
|
628
|
+
break-inside: avoid;
|
|
629
|
+
}
|
|
630
|
+
figure.model svg,
|
|
631
|
+
figure.model img {
|
|
632
|
+
width: 100%;
|
|
633
|
+
min-width: 0;
|
|
634
|
+
max-width: 100%;
|
|
635
|
+
background: #fff;
|
|
636
|
+
}
|
|
637
|
+
footer.colophon { break-before: avoid; color: #000; border-top-color: #000; }
|
|
638
|
+
@page {
|
|
639
|
+
size: A4;
|
|
640
|
+
margin: 12mm 10mm 14mm;
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
</style>
|
|
644
|
+
</head>
|
|
645
|
+
<body>
|
|
646
|
+
<!--DOD_BODY-->
|
|
647
|
+
</body>
|
|
648
|
+
</html>
|