@bongos/core 1.19.455 → 1.19.456

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 (48) hide show
  1. package/.bongos-core.json +106 -41
  2. package/docs/copy-inventory.md +231 -228
  3. package/docs/copy-registry.json +352 -312
  4. package/docs/module-api-changelog.md +2 -0
  5. package/modules/hall-ui/public/atlas.css +41 -32
  6. package/modules/hall-ui/public/atlas.html +8 -0
  7. package/modules/hall-ui/public/atlas.states.json +60 -0
  8. package/modules/hall-ui/public/collab.css +2 -2
  9. package/modules/hall-ui/public/collab.html +7 -1
  10. package/modules/hall-ui/public/collab.states.json +60 -0
  11. package/modules/hall-ui/public/copy-desk.css +21 -16
  12. package/modules/hall-ui/public/copy-desk.html +9 -1
  13. package/modules/hall-ui/public/copy-desk.states.json +59 -0
  14. package/modules/hall-ui/public/drachmae.html +38 -5
  15. package/modules/hall-ui/public/drachmae.js +20 -2
  16. package/modules/hall-ui/public/drachmae.states.json +64 -0
  17. package/modules/hall-ui/public/gate.css +20 -25
  18. package/modules/hall-ui/public/gate.html +9 -1
  19. package/modules/hall-ui/public/gate.states.json +60 -0
  20. package/modules/hall-ui/public/goals-lib.js +22 -5
  21. package/modules/hall-ui/public/goals-render.js +27 -5
  22. package/modules/hall-ui/public/goals.css +141 -60
  23. package/modules/hall-ui/public/goals.html +8 -1
  24. package/modules/hall-ui/public/goals.states.json +74 -0
  25. package/modules/hall-ui/public/government.css +35 -36
  26. package/modules/hall-ui/public/government.html +9 -1
  27. package/modules/hall-ui/public/government.states.json +59 -0
  28. package/modules/hall-ui/public/harbor.css +23 -26
  29. package/modules/hall-ui/public/harbor.html +9 -1
  30. package/modules/hall-ui/public/harbor.states.json +59 -0
  31. package/modules/hall-ui/public/modules.css +22 -21
  32. package/modules/hall-ui/public/modules.html +9 -1
  33. package/modules/hall-ui/public/modules.states.json +73 -0
  34. package/modules/hall-ui/public/people.html +7 -1
  35. package/modules/hall-ui/public/people.states.json +59 -0
  36. package/modules/hall-ui/public/scouting.html +7 -1
  37. package/modules/hall-ui/public/scouting.states.json +54 -0
  38. package/modules/hall-ui/public/sessions.css +1 -1
  39. package/modules/hall-ui/public/sessions.html +9 -1
  40. package/modules/hall-ui/public/sessions.states.json +58 -0
  41. package/modules/hall-ui/public/style.css +125 -5
  42. package/modules/hall-ui/public/watch.css +36 -39
  43. package/modules/hall-ui/public/watch.html +9 -1
  44. package/modules/hall-ui/public/watch.states.json +60 -0
  45. package/package-lock.json +2 -2
  46. package/package.json +1 -1
  47. package/src/module-api.js +1 -1
  48. package/tests/goal_subtitle.mjs +14 -8
@@ -19,7 +19,15 @@
19
19
  <div class="app-body">
20
20
  <header class="app-topbar" id="app-topbar"></header>
21
21
  <div class="app-content">
22
- <div class="page-head"><p class="page-head__sub" id="gov-sub">Loading…</p></div>
22
+ <!-- task 1003307: the board page head. Government shipped with NO <h1> at all
23
+ (one-header-main-h1 measured 0 on every render), so the re-skin
24
+ carries the structural fix rather than porting the hole. The heading
25
+ is the LABEL voice, not a display line: on a working surface the
26
+ page's own name is the least interesting thing on it. -->
27
+ <div class="page-head page-head--board">
28
+ <h1 class="page-head__h">Government</h1>
29
+ <p class="page-head__sub" id="gov-sub">Loading…</p>
30
+ </div>
23
31
 
24
32
  <main id="hall-main">
25
33
  <p class="gov-sealed" id="gov-sealed" hidden>Archons only.</p>
@@ -0,0 +1,59 @@
1
+ {
2
+ "_": "Government — the constitution, ranks, permissions and assignments, behind requireGovernmentPage (metic+). The tabbed panels are the state vocabulary here: one render per tab is what proves the panel switch does not reflow the column. Written with the re-skin (task 1003307) so this page is MEASURED at three widths in both modes rather than looked at once.",
3
+ "page": "/builders/government",
4
+ "surface": "hall-ui",
5
+ "stub": {
6
+ "prefix": "/builders/"
7
+ },
8
+ "modeQuery": false,
9
+ "_feeds": "The kit's own stub carries no feed for this page, so against it the page renders its EMPTY and SKELETON states — which is the point: those are states the floors must hold in. Against the hall-preview harness the same states render populated. Every declared 404 below is a fixture the harness does not carry, named rather than hidden.",
10
+ "ignoreRequests": [
11
+ "/api/(gds|bongos)/me$",
12
+ "/api/(gds|bongos)/me/",
13
+ "/api/(gds|bongos)/goals",
14
+ "/api/(gds|bongos)/inbox/",
15
+ "/api/(gds|bongos)/versions",
16
+ "/api/(gds|bongos)/government"
17
+ ],
18
+ "ignoreConsole": [
19
+ "/api/(gds|bongos)/",
20
+ "\\b401\\b",
21
+ "\\b403\\b",
22
+ "\\b404\\b",
23
+ "\\b501\\b",
24
+ "Unauthorized",
25
+ "Forbidden",
26
+ "Not Found",
27
+ "Not Implemented",
28
+ "load failed"
29
+ ],
30
+ "states": {
31
+ "constitution": {
32
+ "auth": true,
33
+ "actions": [
34
+ [
35
+ "wait",
36
+ 600
37
+ ]
38
+ ],
39
+ "expect": {
40
+ "visible": [
41
+ "#gov-body",
42
+ "#gov-tabs"
43
+ ]
44
+ }
45
+ },
46
+ "out": {
47
+ "auth": false
48
+ }
49
+ },
50
+ "reducedMotion": {
51
+ "auth": true,
52
+ "actions": [
53
+ [
54
+ "wait",
55
+ 600
56
+ ]
57
+ ]
58
+ }
59
+ }
@@ -13,9 +13,9 @@
13
13
  margin: 6px 0 22px;
14
14
  }
15
15
  .harbor-stat {
16
- border: 1px solid var(--border);
16
+ border: var(--line) solid var(--rule-soft);
17
17
  border-radius: var(--radius);
18
- background: var(--surface);
18
+ background: var(--bg-card);
19
19
  padding: 12px 14px;
20
20
  }
21
21
  .harbor-stat__label {
@@ -34,14 +34,14 @@
34
34
  gap: 16px;
35
35
  padding: 18px;
36
36
  border-radius: var(--radius);
37
- border: 1px solid var(--border);
38
- background: var(--surface-2);
37
+ border: var(--line) solid var(--rule-soft);
38
+ background: var(--glass);
39
39
  }
40
40
 
41
41
  .harbor-container {
42
- border: 1px solid var(--border);
42
+ border: var(--line) solid var(--rule-soft);
43
43
  border-radius: var(--radius);
44
- background: var(--surface);
44
+ background: var(--bg-card);
45
45
  overflow: hidden;
46
46
  display: flex; flex-direction: column;
47
47
  }
@@ -52,7 +52,7 @@
52
52
  }
53
53
  .harbor-container--parked .harbor-container__roof { background-color: var(--ink-faint); }
54
54
  .harbor-container--pending .harbor-container__roof { background-color: var(--warn); }
55
- .harbor-container--gone .harbor-container__roof { background-color: var(--border-strong); }
55
+ .harbor-container--gone .harbor-container__roof { background-color: var(--rule); }
56
56
  .harbor-container--error .harbor-container__roof { background-color: var(--danger); }
57
57
  .harbor-container--blocked .harbor-container__roof { background-color: var(--danger); }
58
58
 
@@ -61,20 +61,15 @@
61
61
  .harbor-container__who { color: var(--ink); font-weight: 600; font-size: 14.5px; }
62
62
  .harbor-container__rank { color: var(--ink-faint); font-size: 12px; margin-left: 6px; font-weight: 400; }
63
63
 
64
- .harbor-pill {
65
- font-size: 11px; font-weight: 600;
66
- letter-spacing: 0.04em; text-transform: uppercase;
67
- padding: 2px 9px; border-radius: 999px; white-space: nowrap;
68
- border: 1px solid var(--border); color: var(--ink-soft); background: var(--surface-2);
69
- }
70
- .harbor-pill--active { background: var(--ok-weak); border-color: color-mix(in srgb, var(--ok) 30%, transparent); color: var(--ok); }
71
- .harbor-pill--pending { background: var(--warn-weak); border-color: color-mix(in srgb, var(--warn) 30%, transparent); color: var(--warn); }
72
- .harbor-pill--blocked { background: var(--danger-weak); border-color: color-mix(in srgb, var(--danger) 30%, transparent); color: var(--danger); }
64
+ /* Base: the shell's .fact-pill (task 1003307). States are hairlines, not fills. */
65
+ .harbor-pill--active { color: var(--ok); }
66
+ .harbor-pill--pending { color: var(--warn); }
67
+ .harbor-pill--blocked { color: var(--danger); }
73
68
 
74
69
  .harbor-rows { list-style: none; padding: 0; margin: 2px 0 0; }
75
70
  .harbor-rows li {
76
71
  display: flex; justify-content: space-between; gap: 12px;
77
- padding: 4px 0; border-bottom: 1px solid var(--border);
72
+ padding: 4px 0; border-bottom: var(--line) solid var(--rule-soft);
78
73
  font-size: 13px;
79
74
  }
80
75
  .harbor-rows li:last-child { border-bottom: none; }
@@ -89,24 +84,26 @@
89
84
  .harbor-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; padding-top: 8px; }
90
85
  .harbor-btn {
91
86
  font: inherit; font-size: 12.5px; font-weight: 500;
92
- padding: 5px 12px; border: 1px solid var(--border-strong);
93
- background: var(--surface); color: var(--ink-soft);
87
+ padding: 5px 12px; border: var(--line) solid var(--rule);
88
+ background: var(--bg-card); color: var(--ink-soft);
94
89
  border-radius: var(--radius-sm); cursor: pointer; flex: 1;
95
90
  }
96
- .harbor-btn:hover:not(:disabled) { background: var(--surface-2); color: var(--ink); }
91
+ .harbor-btn:hover:not(:disabled) { background: var(--glass); color: var(--ink); }
97
92
  .harbor-btn:disabled { opacity: 0.45; cursor: default; }
98
93
  .harbor-btn--danger { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 45%, transparent); }
99
94
 
100
95
  .harbor-empty, .harbor-sealed { color: var(--ink-soft); padding: 16px 0; }
101
96
 
102
- /* Lightweight modal for confirm / block dialogs. Viewport-fixed overlay;
103
- z-index sits above the shell's sidebar/drawer layers. */
97
+ /* Lightweight modal for confirm / block dialogs. Viewport-fixed overlay on
98
+ the shell's own --z-modal layer — the bare 200 that used to be here was a
99
+ guess at "above the drawer", and gate.css guessed 50 for the same component
100
+ (task 1003307). */
104
101
  .harbor-modal-bg {
105
102
  position: fixed; inset: 0; background: color-mix(in srgb, var(--ink) 45%, transparent);
106
- display: flex; align-items: center; justify-content: center; z-index: 200; padding: 20px;
103
+ display: flex; align-items: center; justify-content: center; z-index: var(--z-modal); padding: 20px;
107
104
  }
108
105
  .harbor-modal {
109
- background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
106
+ background: var(--bg-card); border: var(--line) solid var(--rule-soft); border-radius: var(--radius);
110
107
  max-width: 460px; width: 100%; padding: 20px 22px;
111
108
  box-shadow: var(--shadow-pop);
112
109
  }
@@ -115,8 +112,8 @@
115
112
  .harbor-modal label { display: block; font-size: 13px; color: var(--ink-soft); margin: 10px 0 4px; }
116
113
  .harbor-modal input[type=text], .harbor-modal textarea {
117
114
  width: 100%; box-sizing: border-box; font: inherit; font-size: 13.5px;
118
- padding: 7px 9px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
119
- background: var(--surface); color: var(--ink);
115
+ padding: 7px 9px; border: var(--line) solid var(--rule); border-radius: var(--radius-sm);
116
+ background: var(--bg-card); color: var(--ink);
120
117
  }
121
118
  .harbor-modal__check { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; font-size: 13px; color: var(--ink); }
122
119
  .harbor-modal__check input { margin-top: 3px; }
@@ -19,7 +19,15 @@
19
19
  <div class="app-body">
20
20
  <header class="app-topbar" id="app-topbar"></header>
21
21
  <div class="app-content">
22
- <div class="page-head"><p class="page-head__sub" id="harbor-sub">Loading dev boxes…</p></div>
22
+ <!-- task 1003307: the board page head. Harbor shipped with NO <h1> at all
23
+ (one-header-main-h1 measured 0 on every render), so the re-skin
24
+ carries the structural fix rather than porting the hole. The heading
25
+ is the LABEL voice, not a display line: on a working surface the
26
+ page's own name is the least interesting thing on it. -->
27
+ <div class="page-head page-head--board">
28
+ <h1 class="page-head__h">Harbor</h1>
29
+ <p class="page-head__sub" id="harbor-sub">Loading dev boxes…</p>
30
+ </div>
23
31
 
24
32
  <main id="hall-main">
25
33
  <p class="harbor-sealed" id="harbor-sealed" hidden>Archons only.</p>
@@ -0,0 +1,59 @@
1
+ {
2
+ "_": "Harbor — the dev-box dock behind requireGovernmentPage. Its confirm modal is the reason this page needed the shell to grow a --z-modal layer (task 1003307), so the modal is rendered, not assumed. Written with the re-skin (task 1003307) so this page is MEASURED at three widths in both modes rather than looked at once.",
3
+ "page": "/builders/harbor",
4
+ "surface": "hall-ui",
5
+ "stub": {
6
+ "prefix": "/builders/"
7
+ },
8
+ "modeQuery": false,
9
+ "_feeds": "The kit's own stub carries no feed for this page, so against it the page renders its EMPTY and SKELETON states — which is the point: those are states the floors must hold in. Against the hall-preview harness the same states render populated. Every declared 404 below is a fixture the harness does not carry, named rather than hidden.",
10
+ "ignoreRequests": [
11
+ "/api/(gds|bongos)/me$",
12
+ "/api/(gds|bongos)/me/",
13
+ "/api/(gds|bongos)/goals",
14
+ "/api/(gds|bongos)/inbox/",
15
+ "/api/(gds|bongos)/versions",
16
+ "/api/(gds|bongos)/boxes",
17
+ "/api/(gds|bongos)/provisioning"
18
+ ],
19
+ "ignoreConsole": [
20
+ "/api/(gds|bongos)/",
21
+ "\\b401\\b",
22
+ "\\b403\\b",
23
+ "\\b404\\b",
24
+ "\\b501\\b",
25
+ "Unauthorized",
26
+ "Forbidden",
27
+ "Not Found",
28
+ "Not Implemented",
29
+ "load failed"
30
+ ],
31
+ "states": {
32
+ "dock": {
33
+ "auth": true,
34
+ "actions": [
35
+ [
36
+ "wait",
37
+ 700
38
+ ]
39
+ ],
40
+ "expect": {
41
+ "visible": [
42
+ "#harbor-body"
43
+ ]
44
+ }
45
+ },
46
+ "out": {
47
+ "auth": false
48
+ }
49
+ },
50
+ "reducedMotion": {
51
+ "auth": true,
52
+ "actions": [
53
+ [
54
+ "wait",
55
+ 600
56
+ ]
57
+ ]
58
+ }
59
+ }
@@ -12,26 +12,25 @@
12
12
  margin-top: 10px;
13
13
  }
14
14
  .mod-card {
15
- border: 1px solid var(--border);
15
+ border: var(--line) solid var(--rule-soft);
16
16
  border-radius: var(--radius-sm);
17
- background: var(--surface);
17
+ background: var(--bg-card);
18
18
  padding: 14px 16px;
19
19
  }
20
20
  .mod-card__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
21
21
  .mod-card__title { font-weight: 650; font-size: 14.5px; color: var(--ink); }
22
- .mod-card__key { font-size: 12px; color: var(--ink-faint); font-family: ui-monospace, "SF Mono", Menlo, monospace; }
22
+ .mod-card__key { font-size: 12px; color: var(--ink-faint); font-family: var(--font-mono); }
23
23
  .mod-card__desc { font-size: 13px; color: var(--ink-soft); margin: 8px 0; }
24
24
  .mod-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
25
- .mod-chip {
26
- font-size: 11.5px;
27
- color: var(--ink-soft);
28
- background: var(--surface-2);
29
- border: 1px solid var(--border);
30
- border-radius: 999px;
31
- padding: 3px 10px;
32
- }
33
- .mod-chip--core { color: var(--info); border-color: color-mix(in srgb, var(--info) 45%, var(--border)); }
34
- .mod-chip--own { color: var(--accent-text); border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }
25
+ /* Base: the shell's .fact-pill (task 1003307).
26
+ One override, and it is the reason the pill is not simply reused as-is: the
27
+ archetype's chip holds a short machine word (a module key, a version id) and
28
+ is nowrap, but THIS page's chips hold prose: "by <author>", "from <origin>",
29
+ "upkeep: undeclared". Inheriting nowrap put a single 559px chip on a 320px
30
+ viewport. A chip that carries a sentence wraps. */
31
+ .mod-chip { white-space: normal; }
32
+ .mod-chip--core { color: var(--info); }
33
+ .mod-chip--own { color: var(--accent-ink); }
35
34
  .mod-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
36
35
  button.mod-toggle {
37
36
  font-family: var(--font-body);
@@ -39,13 +38,13 @@ button.mod-toggle {
39
38
  font-weight: 600;
40
39
  padding: 5px 16px;
41
40
  min-width: 78px;
42
- border-radius: 999px;
43
- border: 1px solid var(--border-strong);
44
- background: var(--surface);
41
+ border-radius: var(--radius-pill);
42
+ border: var(--line) solid var(--rule);
43
+ background: var(--bg-card);
45
44
  color: var(--ink-soft);
46
45
  cursor: pointer;
47
46
  }
48
- button.mod-toggle[data-on="1"] { background: var(--accent); border-color: var(--accent); color: #fff; }
47
+ button.mod-toggle[data-on="1"] { background: var(--accent); border-color: var(--accent); color: var(--accent-on); }
49
48
  button.mod-toggle:disabled { opacity: 0.5; cursor: default; }
50
49
  button.mod-submit {
51
50
  font-family: var(--font-body);
@@ -53,13 +52,15 @@ button.mod-submit {
53
52
  font-weight: 600;
54
53
  padding: 5px 12px;
55
54
  border-radius: var(--radius-sm);
56
- border: 1px solid var(--border-strong);
55
+ border: var(--line) solid var(--rule);
57
56
  background: transparent;
58
57
  color: var(--ink-soft);
59
58
  cursor: pointer;
60
59
  }
61
60
  button.mod-submit:disabled { opacity: 0.45; cursor: not-allowed; }
62
- .mod-empty { color: var(--ink-faint); font-style: italic; font-size: 13px; padding: 10px 0; }
61
+ /* Italic was this sheet's alone — nothing else in the hall sets it, and an
62
+ empty state is a plain statement, not an aside (task 1003307). */
63
+ .mod-empty { color: var(--ink-faint); font-size: 13px; padding: 10px 0; }
63
64
  .mod-note { font-size: 12px; color: var(--ink-faint); margin-top: 4px; }
64
65
 
65
66
  /* Catalog browse bar (task 1001772) — one filter over both grids. */
@@ -78,8 +79,8 @@ button.mod-submit:disabled { opacity: 0.45; cursor: not-allowed; }
78
79
  max-width: 420px;
79
80
  padding: 8px 12px;
80
81
  border-radius: var(--radius-sm);
81
- border: 1px solid var(--border-strong);
82
- background: var(--surface);
82
+ border: var(--line) solid var(--rule);
83
+ background: var(--bg-card);
83
84
  color: var(--ink);
84
85
  }
85
86
  /* The marker on an inferred credit — quiet, but hoverable for the reason. */
@@ -19,7 +19,15 @@
19
19
  <div class="app-body">
20
20
  <header class="app-topbar" id="app-topbar"></header>
21
21
  <div class="app-content">
22
- <div class="page-head"><p class="page-head__sub" id="modules-sub">Loading modules…</p></div>
22
+ <!-- task 1003307: the board page head. Modules shipped with NO <h1> at all
23
+ (one-header-main-h1 measured 0 on every render), so the re-skin
24
+ carries the structural fix rather than porting the hole. The heading
25
+ is the LABEL voice, not a display line: on a working surface the
26
+ page's own name is the least interesting thing on it. -->
27
+ <div class="page-head page-head--board">
28
+ <h1 class="page-head__h">Modules</h1>
29
+ <p class="page-head__sub" id="modules-sub">Loading modules…</p>
30
+ </div>
23
31
 
24
32
  <main id="hall-main">
25
33
  <!-- Browse — one filter over both grids below (task 1001772). -->
@@ -0,0 +1,73 @@
1
+ {
2
+ "_": "Modules — the core + instance module grids under one search. The empty state matters more than the populated one: a filter that matches nothing is the state a browse page spends real time in. Written with the re-skin (task 1003307) so this page is MEASURED at three widths in both modes rather than looked at once.",
3
+ "page": "/builders/modules",
4
+ "surface": "hall-ui",
5
+ "stub": {
6
+ "prefix": "/builders/"
7
+ },
8
+ "modeQuery": false,
9
+ "_feeds": "The kit's own stub carries no feed for this page, so against it the page renders its EMPTY and SKELETON states — which is the point: those are states the floors must hold in. Against the hall-preview harness the same states render populated. Every declared 404 below is a fixture the harness does not carry, named rather than hidden.",
10
+ "ignoreRequests": [
11
+ "/api/(gds|bongos)/me$",
12
+ "/api/(gds|bongos)/me/",
13
+ "/api/(gds|bongos)/goals",
14
+ "/api/(gds|bongos)/inbox/",
15
+ "/api/(gds|bongos)/versions",
16
+ "/api/(gds|bongos)/modules"
17
+ ],
18
+ "ignoreConsole": [
19
+ "/api/(gds|bongos)/",
20
+ "\\b401\\b",
21
+ "\\b403\\b",
22
+ "\\b404\\b",
23
+ "\\b501\\b",
24
+ "Unauthorized",
25
+ "Forbidden",
26
+ "Not Found",
27
+ "Not Implemented",
28
+ "load failed"
29
+ ],
30
+ "states": {
31
+ "browse": {
32
+ "auth": true,
33
+ "actions": [
34
+ [
35
+ "wait",
36
+ 600
37
+ ]
38
+ ],
39
+ "expect": {
40
+ "visible": [
41
+ "#core-scroll",
42
+ "#core-grid"
43
+ ]
44
+ }
45
+ },
46
+ "search-empty": {
47
+ "auth": true,
48
+ "actions": [
49
+ [
50
+ "fill",
51
+ "#mod-search",
52
+ "zzzznothingmatches"
53
+ ],
54
+ [
55
+ "wait",
56
+ 400
57
+ ]
58
+ ]
59
+ },
60
+ "out": {
61
+ "auth": false
62
+ }
63
+ },
64
+ "reducedMotion": {
65
+ "auth": true,
66
+ "actions": [
67
+ [
68
+ "wait",
69
+ 600
70
+ ]
71
+ ]
72
+ }
73
+ }
@@ -18,7 +18,13 @@
18
18
  <div class="app-body">
19
19
  <header class="app-topbar" id="app-topbar"></header>
20
20
  <div class="app-content">
21
- <div class="page-head">
21
+ <!-- task 1003307: the board page head. People shipped with NO <h1> at all
22
+ (one-header-main-h1 measured 0 on every render), so the re-skin
23
+ carries the structural fix rather than porting the hole. The heading
24
+ is the LABEL voice, not a display line: on a working surface the
25
+ page's own name is the least interesting thing on it. -->
26
+ <div class="page-head page-head--board">
27
+ <h1 class="page-head__h">People</h1>
22
28
  <p class="page-head__sub">Everyone building across hosted projects, ranked by track record. Descriptive only — cross-project numbers never carry authority here.</p>
23
29
  </div>
24
30
 
@@ -0,0 +1,59 @@
1
+ {
2
+ "_": "People — the cross-project directory behind requireProjectCuratePage (metic+ via project.curate). Descriptive only; it grants no authority, and the page says so above the fold. Written with the re-skin (task 1003307) so this page is MEASURED at three widths in both modes rather than looked at once.",
3
+ "page": "/builders/people",
4
+ "surface": "hall-ui",
5
+ "stub": {
6
+ "prefix": "/builders/"
7
+ },
8
+ "modeQuery": false,
9
+ "_feeds": "The kit's own stub carries no feed for this page, so against it the page renders its EMPTY and SKELETON states — which is the point: those are states the floors must hold in. Against the hall-preview harness the same states render populated. Every declared 404 below is a fixture the harness does not carry, named rather than hidden.",
10
+ "ignoreRequests": [
11
+ "/api/(gds|bongos)/me$",
12
+ "/api/(gds|bongos)/me/",
13
+ "/api/(gds|bongos)/goals",
14
+ "/api/(gds|bongos)/inbox/",
15
+ "/api/(gds|bongos)/versions",
16
+ "/api/(gds|bongos)/builders",
17
+ "/api/(gds|bongos)/public/"
18
+ ],
19
+ "ignoreConsole": [
20
+ "/api/(gds|bongos)/",
21
+ "\\b401\\b",
22
+ "\\b403\\b",
23
+ "\\b404\\b",
24
+ "\\b501\\b",
25
+ "Unauthorized",
26
+ "Forbidden",
27
+ "Not Found",
28
+ "Not Implemented",
29
+ "load failed"
30
+ ],
31
+ "states": {
32
+ "directory": {
33
+ "auth": true,
34
+ "actions": [
35
+ [
36
+ "wait",
37
+ 700
38
+ ]
39
+ ],
40
+ "expect": {
41
+ "visible": [
42
+ "#people-scroll"
43
+ ]
44
+ }
45
+ },
46
+ "out": {
47
+ "auth": false
48
+ }
49
+ },
50
+ "reducedMotion": {
51
+ "auth": true,
52
+ "actions": [
53
+ [
54
+ "wait",
55
+ 600
56
+ ]
57
+ ]
58
+ }
59
+ }
@@ -21,7 +21,13 @@
21
21
  <div class="app-body">
22
22
  <header class="app-topbar" id="app-topbar"></header>
23
23
  <div class="app-content">
24
- <div class="page-head">
24
+ <!-- task 1003307: the board page head. Scouting shipped with NO <h1> at all
25
+ (one-header-main-h1 measured 0 on every render), so the re-skin
26
+ carries the structural fix rather than porting the hole. The heading
27
+ is the LABEL voice, not a display line: on a working surface the
28
+ page's own name is the least interesting thing on it. -->
29
+ <div class="page-head page-head--board">
30
+ <h1 class="page-head__h">Scouting</h1>
25
31
  <p class="page-head__sub">Builders active across all hosted projects — an internal talent view. Descriptive only; it grants no authority anywhere.</p>
26
32
  </div>
27
33
 
@@ -0,0 +1,54 @@
1
+ {
2
+ "_": "Scouting — the internal talent view, same project.curate gate as People. Carries the hall's last three-line inline <style>, which is well inside hall_audit's budget and is left alone deliberately. Written with the re-skin (task 1003307) so this page is MEASURED at three widths in both modes rather than looked at once.",
3
+ "page": "/builders/scouting",
4
+ "surface": "hall-ui",
5
+ "stub": {
6
+ "prefix": "/builders/"
7
+ },
8
+ "modeQuery": false,
9
+ "_feeds": "The kit's own stub carries no feed for this page, so against it the page renders its EMPTY and SKELETON states — which is the point: those are states the floors must hold in. Against the hall-preview harness the same states render populated. Every declared 404 below is a fixture the harness does not carry, named rather than hidden.",
10
+ "ignoreRequests": [
11
+ "/api/(gds|bongos)/me$",
12
+ "/api/(gds|bongos)/me/",
13
+ "/api/(gds|bongos)/goals",
14
+ "/api/(gds|bongos)/inbox/",
15
+ "/api/(gds|bongos)/versions",
16
+ "/api/(gds|bongos)/scouting",
17
+ "/api/(gds|bongos)/builders"
18
+ ],
19
+ "ignoreConsole": [
20
+ "/api/(gds|bongos)/",
21
+ "\\b401\\b",
22
+ "\\b403\\b",
23
+ "\\b404\\b",
24
+ "\\b501\\b",
25
+ "Unauthorized",
26
+ "Forbidden",
27
+ "Not Found",
28
+ "Not Implemented",
29
+ "load failed"
30
+ ],
31
+ "states": {
32
+ "board": {
33
+ "auth": true,
34
+ "actions": [
35
+ [
36
+ "wait",
37
+ 700
38
+ ]
39
+ ]
40
+ },
41
+ "out": {
42
+ "auth": false
43
+ }
44
+ },
45
+ "reducedMotion": {
46
+ "auth": true,
47
+ "actions": [
48
+ [
49
+ "wait",
50
+ 600
51
+ ]
52
+ ]
53
+ }
54
+ }
@@ -9,7 +9,7 @@
9
9
  table.ledger th, table.ledger td { white-space: nowrap; }
10
10
  .ledger td.warn { color: var(--danger); font-weight: 600; }
11
11
  .ledger-sid {
12
- font-family: ui-monospace, "SF Mono", Menlo, monospace;
12
+ font-family: var(--font-mono);
13
13
  font-size: 12.5px;
14
14
  color: var(--info);
15
15
  }
@@ -19,7 +19,15 @@
19
19
  <div class="app-body">
20
20
  <header class="app-topbar" id="app-topbar"></header>
21
21
  <div class="app-content">
22
- <div class="page-head"><p class="page-head__sub" id="ledger-sub">Loading sessions…</p></div>
22
+ <!-- task 1003307: the board page head. Sessions shipped with NO <h1> at all
23
+ (one-header-main-h1 measured 0 on every render), so the re-skin
24
+ carries the structural fix rather than porting the hole. The heading
25
+ is the LABEL voice, not a display line: on a working surface the
26
+ page's own name is the least interesting thing on it. -->
27
+ <div class="page-head page-head--board">
28
+ <h1 class="page-head__h">Sessions</h1>
29
+ <p class="page-head__sub" id="ledger-sub">Loading sessions…</p>
30
+ </div>
23
31
 
24
32
  <main id="hall-main">
25
33
  <!-- Access notice — shown by sessions.js when the viewer is not an Archon. -->