@bongos/core 1.19.444 → 1.19.446
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/.bongos-core.json +154 -49
- package/docs/adr/0054-session-token-reward-cost-plus.md +17 -0
- package/docs/copy-inventory.md +353 -352
- package/docs/copy-registry.json +397 -388
- package/docs/design/hall-direction-v2.md +295 -0
- package/docs/design/mocks/hall/_tokens.css +370 -0
- package/docs/design/mocks/hall/board/v1.html +846 -0
- package/docs/design/mocks/hall/board/v2.html +858 -0
- package/docs/design/mocks/hall/board/v3.html +884 -0
- package/docs/design/mocks/hall/goals/v1.html +1212 -0
- package/docs/design/mocks/hall/goals/v2.html +1192 -0
- package/docs/design/mocks/hall/goals/v3.html +1205 -0
- package/docs/design/mocks/hall/hall-sheet.html +244 -0
- package/docs/design/mocks/hall/reading/v1.html +1125 -0
- package/docs/design/mocks/hall/reading/v2.html +1177 -0
- package/docs/design/mocks/hall/reading/v3.html +1150 -0
- package/docs/design/mocks/hall/settings/v1.html +1238 -0
- package/docs/design/mocks/hall/settings/v2.html +1235 -0
- package/docs/design/mocks/hall/settings/v3.html +1299 -0
- package/docs/design/mocks/hall/task/v1.html +637 -0
- package/docs/design/mocks/hall/task/v2.html +646 -0
- package/docs/design/mocks/hall/task/v3.html +651 -0
- package/docs/design/vanilla-hall-ui-redesign-scope.md +2 -0
- package/docs/module-api-changelog.md +4 -0
- package/modules/economy/credits.js +46 -13
- package/modules/hall-ui/public/atlas.html +1 -2
- package/modules/hall-ui/public/collab.html +1 -2
- package/modules/hall-ui/public/copy-desk.css +11 -11
- package/modules/hall-ui/public/copy-desk.html +1 -2
- package/modules/hall-ui/public/diagrams.html +1 -2
- package/modules/hall-ui/public/drachmae.html +1 -2
- package/modules/hall-ui/public/gate.html +1 -2
- package/modules/hall-ui/public/goals.html +1 -2
- package/modules/hall-ui/public/government.html +1 -2
- package/modules/hall-ui/public/harbor.html +1 -2
- package/modules/hall-ui/public/idea.html +1 -2
- package/modules/hall-ui/public/ideas.css +6 -8
- package/modules/hall-ui/public/ideas.html +1 -2
- package/modules/hall-ui/public/index.html +3 -4
- package/modules/hall-ui/public/modules.html +1 -2
- package/modules/hall-ui/public/my-projects.html +1 -2
- package/modules/hall-ui/public/not-ready.html +1 -2
- package/modules/hall-ui/public/pair.html +1 -2
- package/modules/hall-ui/public/people.html +1 -2
- package/modules/hall-ui/public/primer.html +1 -2
- package/modules/hall-ui/public/profile.html +1 -2
- package/modules/hall-ui/public/ranks.html +1 -2
- package/modules/hall-ui/public/roadmap.html +1 -2
- package/modules/hall-ui/public/scouting.html +1 -2
- package/modules/hall-ui/public/sessions.html +1 -2
- package/modules/hall-ui/public/settings.html +1 -2
- package/modules/hall-ui/public/shell.js +35 -2
- package/modules/hall-ui/public/style.css +818 -392
- package/modules/hall-ui/public/task.html +1 -2
- package/modules/hall-ui/public/watch.css +1 -1
- package/modules/hall-ui/public/watch.html +1 -2
- package/modules/hall-ui/public/work.html +1 -2
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scripts/gds/backfill-subagent-rewards.js +485 -0
- package/src/module-api.js +1 -1
- package/tests/backfill_subagent_rewards.mjs +308 -0
- package/tests/hall_tokens.mjs +371 -0
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
<link rel="icon" href="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><text x='16' y='24' font-size='24' text-anchor='middle' font-family='sans-serif'>⌂</text></svg>">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
12
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-06-04-sessions">
|
|
13
12
|
<link rel="stylesheet" href="/builders/sessions.css">
|
|
14
13
|
</head>
|
|
@@ -22,7 +21,7 @@
|
|
|
22
21
|
<div class="app-content">
|
|
23
22
|
<div class="page-head"><p class="page-head__sub" id="ledger-sub">Loading sessions…</p></div>
|
|
24
23
|
|
|
25
|
-
<main>
|
|
24
|
+
<main id="hall-main">
|
|
26
25
|
<!-- Access notice — shown by sessions.js when the viewer is not an Archon. -->
|
|
27
26
|
<section class="scroll" id="gate-scroll" aria-labelledby="gate-h" hidden>
|
|
28
27
|
<h2 id="gate-h" class="scroll__h">Archons only</h2>
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
<link rel="icon" href="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><text x='16' y='24' font-size='24' text-anchor='middle' font-family='sans-serif'>⌂</text></svg>">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
12
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
13
12
|
<!-- Page-local styles (task 2172) — extracted from the old inline <style>
|
|
14
13
|
block per the hall placement rules; the rail comes from style.css's
|
|
@@ -25,7 +24,7 @@
|
|
|
25
24
|
<div class="app-content">
|
|
26
25
|
<div class="page-head"><p class="page-head__sub" id="settings-sub">Loading your preferences…</p></div>
|
|
27
26
|
|
|
28
|
-
<main>
|
|
27
|
+
<main id="hall-main">
|
|
29
28
|
<!-- Not-signed-in notice — shown by settings.js before it redirects, and
|
|
30
29
|
as a fallback if reading the viewer fails. Deliberately OUTSIDE the
|
|
31
30
|
grouped layout: full-width, ungrouped. -->
|
|
@@ -259,13 +259,23 @@
|
|
|
259
259
|
' title="' + esc(it.label) + '" hidden>' + icon(it.icon) +
|
|
260
260
|
'<span class="nav-item__label">' + esc(it.label) + '</span></a>';
|
|
261
261
|
}).join('');
|
|
262
|
+
// task 1003303: aria-controls names the region the head discloses. The
|
|
263
|
+
// frozen markup carried aria-expanded pointing at nothing, which is an
|
|
264
|
+
// accessibility gap a screen reader cannot recover from. The items get a
|
|
265
|
+
// wrapper to be that region; its class deliberately does NOT begin with
|
|
266
|
+
// "nav-group", because tests/hall_nav.mjs splits the sidebar on that
|
|
267
|
+
// string to find groups and a matching wrapper would parse as a phantom
|
|
268
|
+
// one. `data-gate` stays immediately after the class for the same reason.
|
|
262
269
|
var head = g.group
|
|
263
|
-
? '<button type="button" class="nav-group__head" data-gate="' + (g.gate || 'always') + '" data-group="' + esc(groupId) + '" aria-expanded="' + (collapsed ? 'false' : 'true') + '" hidden>' +
|
|
270
|
+
? '<button type="button" class="nav-group__head" data-gate="' + (g.gate || 'always') + '" data-group="' + esc(groupId) + '" aria-expanded="' + (collapsed ? 'false' : 'true') + '" aria-controls="nav-items-' + esc(groupId) + '" hidden>' +
|
|
264
271
|
'<span class="nav-group__head-label">' + esc(g.group) + '</span>' + chevronIcon() +
|
|
265
272
|
'</button>'
|
|
266
273
|
: '';
|
|
274
|
+
var body = collapsible
|
|
275
|
+
? '<div class="nav-items" id="nav-items-' + esc(groupId) + '">' + items + '</div>'
|
|
276
|
+
: items;
|
|
267
277
|
return '<div class="nav-group' + (collapsible ? ' nav-group--collapsible' : '') + (collapsed ? ' nav-group--collapsed' : '') + '"' +
|
|
268
|
-
(collapsible ? ' data-group="' + esc(groupId) + '"' : '') + '>' + head +
|
|
278
|
+
(collapsible ? ' data-group="' + esc(groupId) + '"' : '') + '>' + head + body + '</div>';
|
|
269
279
|
}).join('');
|
|
270
280
|
|
|
271
281
|
el.innerHTML =
|
|
@@ -423,6 +433,28 @@
|
|
|
423
433
|
history.replaceState(null, '', window.location.pathname + rest + window.location.hash);
|
|
424
434
|
}
|
|
425
435
|
|
|
436
|
+
// task 1003303: the skip link, rendered once here rather than pasted into 27
|
|
437
|
+
// heads. The hall had none, which is a platform floor (DESIGN.md
|
|
438
|
+
// §Accessibility Floors) and, with the sidebar first in the DOM, meant a
|
|
439
|
+
// keyboard reader walked the whole nav before reaching the page on every
|
|
440
|
+
// page. It is the first focusable thing in the document and it targets a
|
|
441
|
+
// <main> made focusable but never ringed, so focus actually lands there.
|
|
442
|
+
function renderSkipLink() {
|
|
443
|
+
// Both mounts are looked up BY ID, not by selector: every hall page carries
|
|
444
|
+
// #app-sidebar and gives its <main> id="hall-main" for exactly this, and
|
|
445
|
+
// getElementById is the only lookup the hall's vm test stubs implement.
|
|
446
|
+
var main = document.getElementById('hall-main');
|
|
447
|
+
var sidebar = document.getElementById('app-sidebar');
|
|
448
|
+
if (!main || !sidebar || !sidebar.parentNode) return;
|
|
449
|
+
main.setAttribute('tabindex', '-1');
|
|
450
|
+
var a = document.createElement('a');
|
|
451
|
+
a.className = 'skip';
|
|
452
|
+
a.href = '#hall-main';
|
|
453
|
+
a.textContent = 'Skip to content';
|
|
454
|
+
// Before the sidebar, so it is the first focusable thing in the document.
|
|
455
|
+
sidebar.parentNode.insertBefore(a, sidebar);
|
|
456
|
+
}
|
|
457
|
+
|
|
426
458
|
function renderFoot() {
|
|
427
459
|
var el = document.getElementById('app-foot');
|
|
428
460
|
if (!el) return;
|
|
@@ -676,6 +708,7 @@
|
|
|
676
708
|
|
|
677
709
|
// ---------- boot (defer = DOM parsed; render synchronously) ----------
|
|
678
710
|
|
|
711
|
+
renderSkipLink();
|
|
679
712
|
renderSidebar();
|
|
680
713
|
renderTopbar();
|
|
681
714
|
renderDeniedNotice();
|