@bongos/core 1.19.726 → 1.19.727
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 +176 -491
- package/.devcontainer/Dockerfile +1 -1
- package/.devcontainer/devcontainer.json +2 -2
- package/.devcontainer/healthcheck.sh +1 -1
- package/.devcontainer/init-firewall.sh +1 -1
- package/.devcontainer/post-create.sh +2 -2
- package/.env.local.example +1 -1
- package/Dockerfile +1 -1
- package/docs/copy-inventory.md +1 -1
- package/docs/copy-registry.json +9 -9
- package/docs/module-api-changelog.md +2 -0
- package/docs/recipes/devbox-app-release.md +4 -4
- package/modules/dev-box/app/scripts/dmgbuild-settings.py +5 -5
- package/modules/dev-box/app/scripts/gen-brand.js +1 -1
- package/modules/dev-box/app/src/brand.js +1 -1
- package/modules/dev-box/app/test/unit.mjs +16 -16
- package/modules/dev-box/box-access.js +1 -1
- package/modules/dev-box/routes/box.js +1 -1
- package/modules/discord/discord-approvals.js +1 -1
- package/modules/grading/grader-model.js +1 -1
- package/modules/grading/grader-prompt.js +1 -1
- package/modules/grading/grader-workers/quality.js +1 -1
- package/modules/hall-ui/module.json +1 -1
- package/modules/hall-ui/public/brand-apply.js +1 -1
- package/modules/hall-ui/public/shell.js +1 -1
- package/modules/hall-ui/public/work.js +1 -1
- package/modules/lifecycle/conflict-resolve.js +1 -1
- package/modules/lifecycle/db-analytics.js +1 -1
- package/modules/lifecycle/routes/analytics.js +1 -1
- package/modules/onboarding/approval-broadcast.js +1 -1
- package/modules/onboarding/onboarding.js +1 -1
- package/modules/provisioning/tests/liveness.mjs +1 -1
- package/modules/public-landing/public/index.html +1 -1
- package/modules/public-landing/public/projects-floor.states.json +2 -2
- package/modules/public-landing/public/projects.probes.json +4 -4
- package/modules/public-landing/public/projects.states.json +2 -2
- package/modules/status-ui/module.json +1 -1
- package/modules/status-ui/public/status.js +4 -4
- package/modules/status-ui/public/style.css +1 -1
- package/modules/ui-design/kit/fixtures/cost-summary.json +1 -1
- package/modules/ui-design/kit/fixtures/featured-hub.json +1 -1
- package/modules/ui-design/kit/fixtures/featured.json +1 -1
- package/modules/ui-design/kit/fixtures/leaderboard.json +1 -1
- package/modules/ui-design/kit/fixtures/my-projects.json +1 -1
- package/modules/ui-design/kit/fixtures/progress.json +1 -1
- package/modules/ui-design/kit/fixtures/recent-shipped.json +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scripts/cron/style_guide_audit.sh +1 -1
- package/scripts/discord/lib.js +1 -1
- package/scripts/discord/post.js +1 -1
- package/scripts/gds/audit-authorship.sh +1 -1
- package/scripts/gds/audit-replay.sh +29 -2
- package/scripts/gds/audit-ships.js +1 -1
- package/scripts/gds/backfill-sessions.js +2 -2
- package/scripts/gds/cf-tunnel.js +4 -4
- package/scripts/gds/claude-materialize.js +2 -2
- package/scripts/gds/cli-lib.js +6 -6
- package/scripts/gds/cutover-codemod.js +1 -1
- package/scripts/gds/dev-lib.js +2 -2
- package/scripts/gds/diagnose-achievements.js +2 -2
- package/scripts/gds/fitness-checks-identity.js +6 -4
- package/scripts/gds/gen-diagrams.js +1 -1
- package/scripts/gds/leak-scan-allowlist.js +293 -0
- package/scripts/gds/learning-capture.js +1 -1
- package/scripts/gds/linkify-refs.js +2 -2
- package/scripts/gds/local-preview-lib.js +1 -1
- package/scripts/gds/mirror-lineage-check.js +1 -1
- package/scripts/gds/mirror-redact.js +17 -2
- package/scripts/gds/newcomer-floor.templates.json +1 -1
- package/scripts/gds/package-core.js +18 -1
- package/scripts/gds/paste-token.js +1 -1
- package/scripts/gds/provision-units.js +2 -2
- package/scripts/gds/publish-manifest.js +15 -0
- package/scripts/gds/repo-metrics.js +1 -1
- package/scripts/gds/sandbox-stage.js +1 -1
- package/scripts/gds/seed-bongos-coreB-tranche1-tasks.js +1 -1
- package/scripts/gds/seed-bongos-coreB-tranche2-tasks.js +1 -1
- package/scripts/gds/seed-bongos-goal-hierarchy-tasks.js +1 -1
- package/scripts/gds/seed-bongos-tasks.js +2 -2
- package/scripts/gds/seed-gds-v4-tasks.js +1 -1
- package/scripts/gds/seed-medusa-tasks.js +10 -10
- package/scripts/gds/seed-module-upstreaming.js +1 -1
- package/scripts/gds/seed-productization-tasks.js +6 -6
- package/scripts/gds/seed-provisioning-tasks.js +2 -2
- package/scripts/gds/seed-staging.sh +19 -6
- package/scripts/gds/ship-deploy-target.js +1 -1
- package/scripts/gds/ship-flow.js +1 -1
- package/scripts/gds/smoke-gds.js +1 -1
- package/scripts/status-probe.mjs +2 -2
- package/src/bongos/auth-discord.js +2 -2
- package/src/bongos/live-channel.js +1 -1
- package/src/bongos/pool.js +1 -1
- package/src/bongos/routes/auth.js +11 -11
- package/src/bongos/routes/security.js +1 -1
- package/src/bongos/routes.js +1 -1
- package/src/branding.js +1 -1
- package/src/devbox-downloads.js +1 -1
- package/src/instance-config.js +2 -2
- package/src/module-api.js +1 -1
- package/src/module-loader/provenance.js +2 -2
- package/tests/art_stage.mjs +2 -2
- package/tests/auth_anthropic_identity.mjs +1 -1
- package/tests/auth_duplicate_cookie.mjs +1 -1
- package/tests/auth_error_brand.mjs +1 -1
- package/tests/auth_inactive_builder.mjs +1 -1
- package/tests/backup_cli.mjs +4 -4
- package/tests/bongos_box_connect.mjs +2 -2
- package/tests/bongos_downloads.mjs +2 -2
- package/tests/bongos_login.mjs +5 -5
- package/tests/box_connect_e2e.mjs +2 -2
- package/tests/box_dns_repoint.mjs +10 -10
- package/tests/box_host_keys.mjs +1 -1
- package/tests/box_onboard.mjs +9 -9
- package/tests/box_scope_session.mjs +1 -1
- package/tests/box_terminal_ssrf.mjs +7 -7
- package/tests/boxes.mjs +9 -9
- package/tests/branding.mjs +2 -2
- package/tests/bump_version.mjs +2 -2
- package/tests/cf_tunnel.mjs +40 -40
- package/tests/cli_token_reissue.mjs +7 -7
- package/tests/cloud_bongos_pack.mjs +1 -1
- package/tests/currency_label.mjs +8 -8
- package/tests/dev_lib.mjs +4 -4
- package/tests/devbox_dmg_backdrop.mjs +1 -1
- package/tests/devbox_downloads.mjs +2 -2
- package/tests/devbox_icons.mjs +1 -1
- package/tests/discord_approvals.mjs +1 -1
- package/tests/discord_oauth.mjs +2 -2
- package/tests/executed_closure.mjs +6 -1
- package/tests/first_admin_bootstrap.mjs +1 -1
- package/tests/gate_approvals.mjs +5 -5
- package/tests/grade_aggregates_unavailable.mjs +1 -1
- package/tests/hook_user_agents.mjs +2 -2
- package/tests/init.mjs +6 -6
- package/tests/instance_config.mjs +1 -1
- package/tests/instance_manifest.mjs +5 -5
- package/tests/instance_mismatch_guard.mjs +13 -13
- package/tests/leak_scan_allowlist.mjs +94 -0
- package/tests/migrate_root_resolution.mjs +4 -4
- package/tests/mirror_redact.mjs +28 -4
- package/tests/module_catalog.mjs +5 -5
- package/tests/module_submissions.mjs +3 -3
- package/tests/package_core.mjs +1 -1
- package/tests/parallel-load.mjs +6 -6
- package/tests/projects_hub.mjs +2 -2
- package/tests/provision.mjs +50 -50
- package/tests/provisioning_github_app_routes.mjs +1 -1
- package/tests/provisioning_onboard_mode.mjs +2 -2
- package/tests/publish_reconciler.mjs +4 -4
- package/tests/sandbox_stage.mjs +1 -1
- package/tests/scrubber_corpus.mjs +3 -3
- package/tests/search_isolation.mjs +1 -1
- package/tests/session_records.mjs +1 -1
- package/tests/ship_card.mjs +6 -6
- package/tests/ship_ci_deploy.mjs +1 -1
- package/tests/single_host_hall.mjs +9 -9
- package/tests/smoke_preflight.mjs +1 -1
- package/tests/smoke_target.mjs +1 -1
- package/tests/status-probe.mjs +1 -1
- package/tests/status_mirror_sync.mjs +1 -1
- package/docs/adr/0004-amazonprimea-name-and-trademark-acceptance.md +0 -45
- package/docs/design/mocks/_schemes.css +0 -604
- package/docs/design/mocks/component-sheet.html +0 -428
- package/docs/design/mocks/hall/_tokens.css +0 -370
- package/docs/design/mocks/hall/board/v1.html +0 -846
- package/docs/design/mocks/hall/board/v2.html +0 -858
- package/docs/design/mocks/hall/board/v3.html +0 -884
- package/docs/design/mocks/hall/goals/v1.html +0 -1212
- package/docs/design/mocks/hall/goals/v2.html +0 -1192
- package/docs/design/mocks/hall/goals/v3.html +0 -1205
- package/docs/design/mocks/hall/hall-sheet.html +0 -244
- package/docs/design/mocks/hall/reading/v1.html +0 -1125
- package/docs/design/mocks/hall/reading/v2.html +0 -1177
- package/docs/design/mocks/hall/reading/v3.html +0 -1150
- package/docs/design/mocks/hall/settings/v1.html +0 -1238
- package/docs/design/mocks/hall/settings/v2.html +0 -1235
- package/docs/design/mocks/hall/settings/v3.html +0 -1299
- package/docs/design/mocks/hall/task/v1.html +0 -633
- package/docs/design/mocks/hall/task/v2.html +0 -646
- package/docs/design/mocks/hall/task/v3.html +0 -647
- package/docs/design/mocks/hub/assets/r3-space-deepfield-half.jpg +0 -0
- package/docs/design/mocks/hub/assets/r3-space-deepfield-half.jpg.json +0 -13
- package/docs/design/mocks/hub/assets/r3-space-dust-half.jpg +0 -0
- package/docs/design/mocks/hub/assets/r3-space-dust-half.jpg.json +0 -13
- package/docs/design/mocks/hub/assets/r3-space-nebula-half.jpg +0 -0
- package/docs/design/mocks/hub/assets/r3-space-nebula-half.jpg.json +0 -13
- package/docs/design/mocks/hub/assets/r3-space-starfield-half.jpg +0 -0
- package/docs/design/mocks/hub/assets/r3-space-starfield-half.jpg.json +0 -13
- package/docs/design/mocks/hub/hub-sheet.html +0 -192
- package/docs/design/mocks/hub/mine.html +0 -465
- package/docs/design/mocks/hub/picker.html +0 -421
- package/docs/design/mocks/hub/planets.html +0 -356
- package/docs/design/mocks/hub/v1.html +0 -1209
- package/docs/design/mocks/hub/v2.html +0 -1257
- package/docs/design/mocks/hub/v3.html +0 -1496
- package/docs/design/mocks/hub/wizard.html +0 -421
- package/docs/design/mocks/landing/landing-sheet.html +0 -131
- package/docs/design/mocks/landing/v1.html +0 -956
- package/docs/design/mocks/landing/v2.html +0 -708
- package/docs/design/mocks/landing/v3.html +0 -911
- package/docs/design/mocks/landing-page-mock.html +0 -687
- package/docs/design/mocks/landing-palettes.html +0 -103
- package/docs/design/mocks/projects-hub-mock.html +0 -991
- package/docs/design/mocks/projects-hub-variants.html +0 -146
- package/docs/design/mocks/projects-page-mock.html +0 -167
- package/docs/design/mocks/world/blue-hud/_tokens.css +0 -246
- package/docs/design/mocks/world/blue-hud/hall.html +0 -595
- package/docs/design/mocks/world/blue-hud/landing.html +0 -424
- package/docs/design/mocks/world/blue-hud/status.html +0 -410
- package/docs/design/mocks/world/chrome-blobs/_tokens.css +0 -479
- package/docs/design/mocks/world/chrome-blobs/hall.html +0 -553
- package/docs/design/mocks/world/chrome-blobs/landing-b.html +0 -581
- package/docs/design/mocks/world/chrome-blobs/landing.html +0 -328
- package/docs/design/mocks/world/chrome-blobs/status.html +0 -416
- package/docs/design/mocks/world/natgeo-editorial/_tokens.css +0 -377
- package/docs/design/mocks/world/natgeo-editorial/hall.html +0 -649
- package/docs/design/mocks/world/natgeo-editorial/landing-b.html +0 -743
- package/docs/design/mocks/world/natgeo-editorial/landing.html +0 -475
- package/docs/design/mocks/world/natgeo-editorial/status.html +0 -437
- package/docs/design/mocks/world/organic-cards/_tokens.css +0 -462
- package/docs/design/mocks/world/organic-cards/hall.html +0 -625
- package/docs/design/mocks/world/organic-cards/landing-b.html +0 -736
- package/docs/design/mocks/world/organic-cards/landing.html +0 -420
- package/docs/design/mocks/world/organic-cards/status.html +0 -458
- package/docs/design/mocks/world/world-sheet.html +0 -156
|
@@ -1,416 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<script>
|
|
6
|
-
(function(){try{var q=new URLSearchParams(location.search).get('mode');var m=(q==='light'||q==='dark')?q:localStorage.getItem('cb-color-mode');if(m==='light'||m==='dark')document.documentElement.setAttribute('data-mode',m);}catch(e){}})();
|
|
7
|
-
</script>
|
|
8
|
-
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
9
|
-
<title>Cloud Bongos, the public ledger</title>
|
|
10
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
11
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
12
|
-
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400&family=Manrope:wght@300;400;500;600&display=swap">
|
|
13
|
-
<link rel="stylesheet" href="_tokens.css">
|
|
14
|
-
<style>
|
|
15
|
-
*{box-sizing:border-box}
|
|
16
|
-
html,body{margin:0;padding:0}
|
|
17
|
-
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);
|
|
18
|
-
-webkit-font-smoothing:antialiased;overflow-x:hidden}
|
|
19
|
-
a{color:inherit;text-decoration:none}
|
|
20
|
-
h1,h2,h3,p,ol,ul{margin:0}
|
|
21
|
-
ol,ul{list-style:none;padding:0}
|
|
22
|
-
::selection{background:var(--accent);color:var(--accent-on)}
|
|
23
|
-
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
|
|
24
|
-
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
25
|
-
|
|
26
|
-
/* ---------- the chrome plate, composited ---------- */
|
|
27
|
-
.field{position:absolute;inset:0;overflow:hidden;pointer-events:none}
|
|
28
|
-
.blob{position:absolute;background-image:var(--plate-blob);background-repeat:no-repeat;
|
|
29
|
-
mix-blend-mode:screen;pointer-events:none;
|
|
30
|
-
animation:drift 40s cubic-bezier(.33,0,.2,1) infinite alternate}
|
|
31
|
-
.blob-a{width:var(--s);height:calc(var(--s) * .9322);
|
|
32
|
-
background-size:calc(var(--s) * 1.8832) auto;
|
|
33
|
-
background-position:calc(var(--s) * -.3729) calc(var(--s) * -.0095)}
|
|
34
|
-
@keyframes drift{
|
|
35
|
-
from{transform:rotate(var(--r,0deg)) translate3d(0,0,0)}
|
|
36
|
-
to{transform:rotate(var(--r,0deg)) translate3d(0,6px,0)}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/* ---------- page frame ---------- */
|
|
40
|
-
.ledger{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;padding:22px}
|
|
41
|
-
.crown{order:-1;display:flex;flex-direction:column;gap:34px}
|
|
42
|
-
|
|
43
|
-
/* ---------- the crest ---------- */
|
|
44
|
-
.crest{position:relative;background:var(--crest-bg);border-radius:var(--crest-radius);
|
|
45
|
-
padding:30px 32px 34px;overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:520px}
|
|
46
|
-
.crest-in{position:relative;z-index:2;margin-top:auto;color:var(--void-ink);
|
|
47
|
-
text-shadow:0 2px 26px rgba(0,0,0,.7)}
|
|
48
|
-
.crest h1{font-family:var(--font-display);font-weight:300;font-size:clamp(46px,8.2vw,124px);
|
|
49
|
-
line-height:.94;letter-spacing:-.045em;text-transform:lowercase}
|
|
50
|
-
.crest .sub{font-weight:300;font-size:clamp(26px,3.9vw,58px);line-height:1.05;letter-spacing:-.035em;
|
|
51
|
-
text-transform:lowercase;margin-top:2px}
|
|
52
|
-
.crest .upd{margin-top:14px;font-size:14.5px;color:var(--void-ink-soft)}
|
|
53
|
-
.zoom{position:relative;z-index:2;display:flex;align-items:center;gap:8px;align-self:flex-end;
|
|
54
|
-
text-shadow:0 1px 8px rgba(0,0,0,.85);color:var(--void-ink-soft);font-size:var(--label-size);letter-spacing:var(--label-space);
|
|
55
|
-
text-transform:uppercase;font-family:var(--label-face)}
|
|
56
|
-
.zoom button{min-width:32px;min-height:32px;border-radius:var(--radius-pill);cursor:pointer;
|
|
57
|
-
background:var(--void-pill);border:1px solid var(--void-edge);color:var(--void-ink);
|
|
58
|
-
backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
|
|
59
|
-
font-family:inherit;font-size:12px;transition:background .2s ease}
|
|
60
|
-
.zoom button:hover{background:rgba(255,255,255,.18)}
|
|
61
|
-
.mode-toggle{display:inline-flex;align-items:center;justify-content:center;padding:0}
|
|
62
|
-
.mode-toggle svg{width:15px;height:15px}
|
|
63
|
-
.sun{display:none}
|
|
64
|
-
:root[data-mode="dark"] .sun{display:block}
|
|
65
|
-
:root[data-mode="dark"] .moon{display:none}
|
|
66
|
-
@media (prefers-color-scheme:dark){:root:not([data-mode="light"]) .sun{display:block}
|
|
67
|
-
:root:not([data-mode="light"]) .moon{display:none}}
|
|
68
|
-
.rail{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}
|
|
69
|
-
.rail a{padding:7px 14px;min-height:26px;display:inline-flex;align-items:center;border-radius:var(--radius-pill);
|
|
70
|
-
background:var(--void-pill);border:1px solid var(--void-edge);color:var(--void-ink);
|
|
71
|
-
backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
|
|
72
|
-
font-size:12.5px;transition:background .2s ease}
|
|
73
|
-
.rail a:hover{background:rgba(255,255,255,.2)}
|
|
74
|
-
|
|
75
|
-
/* ---------- the glance: four stats on leader lines ---------- */
|
|
76
|
-
.glance{position:relative}
|
|
77
|
-
.leaders{display:block;width:100%;height:132px;color:var(--rule)}
|
|
78
|
-
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
|
|
79
|
-
.stat .k{display:block;font-size:19px;font-weight:300;color:var(--ink-faint);letter-spacing:-.01em}
|
|
80
|
-
.stat .v{display:block;margin-top:4px;font-size:clamp(28px,3vw,42px);font-weight:300;line-height:1.05;
|
|
81
|
-
letter-spacing:-.035em;font-variant-numeric:tabular-nums}
|
|
82
|
-
.stat .c{display:block;margin-top:10px;font-size:12.5px;color:var(--ink-soft);max-width:22ch}
|
|
83
|
-
.tbar{margin-top:10px;height:5px;border-radius:999px;background:var(--rule-soft);overflow:hidden}
|
|
84
|
-
.tbar i{display:block;height:100%;border-radius:999px;
|
|
85
|
-
background:linear-gradient(90deg,var(--accent-deep),var(--accent))}
|
|
86
|
-
|
|
87
|
-
/* ---------- the section stack ---------- */
|
|
88
|
-
.stack{columns:2;column-gap:16px;font-size:calc(15px * var(--zoom,1))}
|
|
89
|
-
.card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
|
|
90
|
-
background:var(--bg-card);border:1px solid var(--rule-soft);border-radius:var(--radius);padding:7px;
|
|
91
|
-
box-shadow:var(--shadow-card);break-inside:avoid;margin:0 0 16px}
|
|
92
|
-
.card-h{padding:14px 12px 14px 14px}
|
|
93
|
-
.card-h h2{font-size:1.18em;font-weight:400;letter-spacing:-.015em;line-height:1.15}
|
|
94
|
-
.card-sub{margin-top:8px;font-size:.8em;line-height:1.4;color:var(--ink-soft)}
|
|
95
|
-
.card-b{background:var(--card-body);border:1px solid var(--rule-soft);border-radius:11px;padding:14px}
|
|
96
|
-
|
|
97
|
-
/* the watch */
|
|
98
|
-
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
|
|
99
|
-
.tile{position:relative;background:var(--bg-card);border:1px solid var(--rule-soft);
|
|
100
|
-
border-radius:var(--radius-sm);padding:12px 12px 11px;min-height:72px}
|
|
101
|
-
.lamp{position:absolute;top:11px;right:11px;width:7px;height:7px;border-radius:50%;background:var(--ok);
|
|
102
|
-
box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 20%,transparent)}
|
|
103
|
-
.tile--dim .lamp{background:transparent;border:1px solid var(--ink-faint);box-shadow:none}
|
|
104
|
-
.t-n{display:block;font-size:.95em}
|
|
105
|
-
.t-u{display:block;margin-top:5px;font-size:.76em;color:var(--ink-soft);font-variant-numeric:tabular-nums}
|
|
106
|
-
.tile--dim .t-u{color:var(--ink-faint)}
|
|
107
|
-
|
|
108
|
-
/* architects */
|
|
109
|
-
.ranked li{display:grid;grid-template-columns:18px 1fr auto;align-items:baseline;gap:10px;
|
|
110
|
-
padding:6px 0;border-bottom:1px solid var(--rule-soft);font-size:.9em}
|
|
111
|
-
.ranked li:last-child{border-bottom:0}
|
|
112
|
-
.ranked .n{color:var(--ink-faint);font-variant-numeric:tabular-nums}
|
|
113
|
-
.ranked .who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
114
|
-
.ranked .who em{font-style:normal;color:var(--ink-faint);font-size:.85em;margin-left:7px}
|
|
115
|
-
.ranked .cr{font-variant-numeric:tabular-nums;color:var(--fig-accent)}
|
|
116
|
-
|
|
117
|
-
/* the foundry */
|
|
118
|
-
.bars{display:flex;align-items:flex-end;gap:5px;height:74px}
|
|
119
|
-
.bars i{flex:1;background:linear-gradient(180deg,var(--ink-soft),var(--ink-faint));border-radius:2px;
|
|
120
|
-
min-height:4px}
|
|
121
|
-
.note{margin-top:10px;font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;
|
|
122
|
-
color:var(--ink-faint);font-family:var(--label-face)}
|
|
123
|
-
|
|
124
|
-
/* works in progress */
|
|
125
|
-
.wip li+li{margin-top:14px;padding-top:14px;border-top:1px solid var(--rule-soft)}
|
|
126
|
-
.wip .nm{display:flex;justify-content:space-between;gap:10px;font-size:.9em;align-items:baseline}
|
|
127
|
-
.wip .st{color:var(--ink-faint);font-size:.85em}
|
|
128
|
-
.wip .ct{margin-top:5px;font-size:.8em;color:var(--ink-soft);font-variant-numeric:tabular-nums}
|
|
129
|
-
.bar{margin-top:8px;height:5px;border-radius:999px;background:var(--rule-soft);overflow:hidden}
|
|
130
|
-
.bar i{display:block;height:100%;border-radius:999px;background:var(--ink)}
|
|
131
|
-
.steps{display:flex;gap:6px;margin-top:9px}
|
|
132
|
-
.steps span{width:9px;height:9px;border-radius:50%;border:1px solid var(--ink-faint)}
|
|
133
|
-
.steps .met{background:var(--accent);border-color:var(--accent)}
|
|
134
|
-
|
|
135
|
-
/* the treasury */
|
|
136
|
-
.money{display:flex;gap:26px;flex-wrap:wrap}
|
|
137
|
-
.money b{display:block;font-weight:300;font-size:1.6em;letter-spacing:-.03em;
|
|
138
|
-
font-variant-numeric:tabular-nums}
|
|
139
|
-
.money span{display:block;margin-top:3px;font-size:.76em;color:var(--ink-soft)}
|
|
140
|
-
.cats{margin-top:14px;display:grid;gap:5px}
|
|
141
|
-
.cats li{display:flex;justify-content:space-between;font-size:.82em;color:var(--ink-soft);
|
|
142
|
-
font-variant-numeric:tabular-nums}
|
|
143
|
-
|
|
144
|
-
/* lately inscribed */
|
|
145
|
-
.late li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;padding:7px 0;
|
|
146
|
-
border-bottom:1px solid var(--rule-soft);font-size:.86em}
|
|
147
|
-
.late li:last-child{border-bottom:0}
|
|
148
|
-
.late .id{color:var(--ink-faint);font-variant-numeric:tabular-nums}
|
|
149
|
-
.late .ti{min-width:0;line-height:1.35}
|
|
150
|
-
.late .wh{color:var(--ink-faint);font-size:.9em;white-space:nowrap}
|
|
151
|
-
|
|
152
|
-
/* the world */
|
|
153
|
-
.shot{position:relative;height:190px;border-radius:var(--radius-sm);overflow:hidden;background:var(--void)}
|
|
154
|
-
figure{margin:0}
|
|
155
|
-
figcaption{margin-top:9px;font-size:var(--label-size);letter-spacing:var(--label-space);
|
|
156
|
-
text-transform:uppercase;color:var(--ink-faint);font-family:var(--label-face)}
|
|
157
|
-
|
|
158
|
-
footer{padding:26px 22px 44px;font-size:14px;color:var(--ink-soft)}
|
|
159
|
-
|
|
160
|
-
@media (max-width:1180px){
|
|
161
|
-
.crest{min-height:400px}
|
|
162
|
-
}
|
|
163
|
-
@media (max-width:980px){
|
|
164
|
-
.stack{columns:1}
|
|
165
|
-
}
|
|
166
|
-
@media (max-width:700px){
|
|
167
|
-
.ledger{padding:14px;gap:18px}
|
|
168
|
-
.crest{padding:20px 18px 24px;min-height:330px}
|
|
169
|
-
.card{grid-template-columns:1fr}
|
|
170
|
-
.card-h{padding:12px 10px 10px}
|
|
171
|
-
.stats{grid-template-columns:1fr 1fr;gap:18px}
|
|
172
|
-
.leaders{height:70px}
|
|
173
|
-
.money{gap:18px}
|
|
174
|
-
}
|
|
175
|
-
</style>
|
|
176
|
-
</head>
|
|
177
|
-
<body>
|
|
178
|
-
|
|
179
|
-
<main class="ledger">
|
|
180
|
-
|
|
181
|
-
<div class="stack">
|
|
182
|
-
|
|
183
|
-
<section class="card" id="watch">
|
|
184
|
-
<div class="card-h">
|
|
185
|
-
<h2>The Watch</h2>
|
|
186
|
-
<p class="card-sub">The standing of each pillar, whether it holds or has fallen.</p>
|
|
187
|
-
</div>
|
|
188
|
-
<div class="card-b">
|
|
189
|
-
<div class="tiles">
|
|
190
|
-
<div class="tile"><span class="lamp"></span><span class="t-n">Site</span><span class="t-u">99.9%<!-- sample --></span></div>
|
|
191
|
-
<div class="tile"><span class="lamp"></span><span class="t-n">Hall</span><span class="t-u">99.9%<!-- sample --></span></div>
|
|
192
|
-
<div class="tile"><span class="lamp"></span><span class="t-n">API</span><span class="t-u">99.9%<!-- sample --></span></div>
|
|
193
|
-
<div class="tile tile--dim"><span class="lamp"></span><span class="t-n">Database</span><span class="t-u">unknown</span></div>
|
|
194
|
-
</div>
|
|
195
|
-
</div>
|
|
196
|
-
</section>
|
|
197
|
-
|
|
198
|
-
<section class="card" id="architects">
|
|
199
|
-
<div class="card-h">
|
|
200
|
-
<h2>Architects of Cloud Bongos</h2>
|
|
201
|
-
<p class="card-sub">Citizens who have set the most stone.</p>
|
|
202
|
-
</div>
|
|
203
|
-
<div class="card-b">
|
|
204
|
-
<ol class="ranked">
|
|
205
|
-
<li><span class="n">1</span><span class="who">lars589 <em>Owner</em></span><span class="cr">44,562</span></li>
|
|
206
|
-
<li><span class="n">2</span><span class="who">Percy Jackson <em>Owner</em></span><span class="cr">13,358</span></li>
|
|
207
|
-
<li><span class="n">3</span><span class="who">IAMMASTERQUA <em>Owner</em></span><span class="cr">3,316</span></li>
|
|
208
|
-
<li><span class="n">4</span><span class="who">scootermack <em>Owner</em></span><span class="cr">2,440</span></li>
|
|
209
|
-
<li><span class="n">5</span><span class="who">LarsCode <em>Newcomer</em></span><span class="cr">44</span></li>
|
|
210
|
-
<li><span class="n">6</span><span class="who">kingaonline <em>Contributor</em></span><span class="cr">36</span></li>
|
|
211
|
-
</ol>
|
|
212
|
-
</div>
|
|
213
|
-
</section>
|
|
214
|
-
|
|
215
|
-
<section class="card" id="foundry">
|
|
216
|
-
<div class="card-h">
|
|
217
|
-
<h2>The Foundry</h2>
|
|
218
|
-
<p class="card-sub">How the city's craft is changing, works shipped and time per work over the last ninety days.</p>
|
|
219
|
-
</div>
|
|
220
|
-
<div class="card-b">
|
|
221
|
-
<div class="bars" role="img" aria-label="Works shipped per week over thirteen weeks, sample data">
|
|
222
|
-
<!-- sample -->
|
|
223
|
-
<i style="height:34%"></i><i style="height:52%"></i><i style="height:41%"></i><i style="height:63%"></i>
|
|
224
|
-
<i style="height:48%"></i><i style="height:72%"></i><i style="height:58%"></i><i style="height:81%"></i>
|
|
225
|
-
<i style="height:66%"></i><i style="height:90%"></i><i style="height:74%"></i><i style="height:96%"></i>
|
|
226
|
-
<i style="height:83%"></i>
|
|
227
|
-
</div>
|
|
228
|
-
<p class="note">sample data</p>
|
|
229
|
-
</div>
|
|
230
|
-
</section>
|
|
231
|
-
|
|
232
|
-
<section class="card" id="wip">
|
|
233
|
-
<div class="card-h">
|
|
234
|
-
<h2>Works in Progress</h2>
|
|
235
|
-
<p class="card-sub">The endeavours now underway in the city.</p>
|
|
236
|
-
</div>
|
|
237
|
-
<div class="card-b">
|
|
238
|
-
<ul class="wip">
|
|
239
|
-
<li>
|
|
240
|
-
<p class="nm">Cloud Bongos, platform (V1) <span class="st">building</span></p>
|
|
241
|
-
<p class="ct">1,107 of 1,561 shipped</p>
|
|
242
|
-
<div class="bar"><i style="width:71%"></i></div>
|
|
243
|
-
<div class="steps" role="img" aria-label="Three of five criteria met, sample"><!-- sample -->
|
|
244
|
-
<span class="met"></span><span class="met"></span><span class="met"></span><span></span><span></span>
|
|
245
|
-
</div>
|
|
246
|
-
</li>
|
|
247
|
-
<li>
|
|
248
|
-
<p class="nm">Cloud Bongos, Customer-0 dogfood <span class="st">building</span></p>
|
|
249
|
-
<p class="ct">58 of 88 shipped</p>
|
|
250
|
-
<div class="bar"><i style="width:66%"></i></div>
|
|
251
|
-
<div class="steps" role="img" aria-label="Two of five criteria met, sample"><!-- sample -->
|
|
252
|
-
<span class="met"></span><span class="met"></span><span></span><span></span><span></span>
|
|
253
|
-
</div>
|
|
254
|
-
</li>
|
|
255
|
-
</ul>
|
|
256
|
-
</div>
|
|
257
|
-
</section>
|
|
258
|
-
|
|
259
|
-
<section class="card" id="treasury">
|
|
260
|
-
<div class="card-h">
|
|
261
|
-
<h2>The Treasury</h2>
|
|
262
|
-
<p class="card-sub">Credits spent, against the value wrought.</p>
|
|
263
|
-
</div>
|
|
264
|
-
<div class="card-b">
|
|
265
|
-
<div class="money">
|
|
266
|
-
<p><b>$48,244</b><span>spent</span></p>
|
|
267
|
-
<p><b>69,751</b><span>credits of value</span></p>
|
|
268
|
-
</div>
|
|
269
|
-
<ul class="cats">
|
|
270
|
-
<li><span>api</span><span>$47,880</span></li>
|
|
271
|
-
<li><span>infra</span><span>$261</span></li>
|
|
272
|
-
<li><span>compute</span><span>$84</span></li>
|
|
273
|
-
<li><span>domain</span><span>$11</span></li>
|
|
274
|
-
<li><span>art</span><span>$8</span></li>
|
|
275
|
-
</ul>
|
|
276
|
-
</div>
|
|
277
|
-
</section>
|
|
278
|
-
|
|
279
|
-
<section class="card" id="inscribed">
|
|
280
|
-
<div class="card-h">
|
|
281
|
-
<h2>Lately Inscribed</h2>
|
|
282
|
-
<p class="card-sub">Newest entries set down upon the ledger.</p>
|
|
283
|
-
</div>
|
|
284
|
-
<div class="card-b">
|
|
285
|
-
<ul class="late">
|
|
286
|
-
<li><span class="id">1002792</span><span class="ti">A task's title can now be corrected after it's created</span><span class="wh">shipped, today</span></li>
|
|
287
|
-
<li><span class="id">1003239</span><span class="ti">A same-tab GitHub return stays put</span><span class="wh">shipped, today</span></li>
|
|
288
|
-
<li><span class="id">1002889</span><span class="ti">The wizard remembers a half-finished project</span><span class="wh">shipped, yesterday</span></li>
|
|
289
|
-
<li><span class="id">1003245</span><span class="ti">The copy desk lands</span><span class="wh">shipped, yesterday</span></li>
|
|
290
|
-
</ul>
|
|
291
|
-
</div>
|
|
292
|
-
</section>
|
|
293
|
-
|
|
294
|
-
<section class="card" id="world">
|
|
295
|
-
<div class="card-h">
|
|
296
|
-
<h2>The World</h2>
|
|
297
|
-
<p class="card-sub">A portrait of Cloud Bongos as she stands today.</p>
|
|
298
|
-
</div>
|
|
299
|
-
<div class="card-b">
|
|
300
|
-
<figure>
|
|
301
|
-
<div class="shot">
|
|
302
|
-
<div class="field" aria-hidden="true">
|
|
303
|
-
<span class="blob blob-a" style="--s:300px;left:6%;top:-22%;--r:16deg"></span>
|
|
304
|
-
</div>
|
|
305
|
-
</div>
|
|
306
|
-
<figcaption>rendered from the city's own stones</figcaption>
|
|
307
|
-
</figure>
|
|
308
|
-
</div>
|
|
309
|
-
</section>
|
|
310
|
-
|
|
311
|
-
</div>
|
|
312
|
-
|
|
313
|
-
<div class="crown">
|
|
314
|
-
<header class="crest">
|
|
315
|
-
<div class="field" aria-hidden="true">
|
|
316
|
-
<span class="blob blob-a" style="--s:760px;left:26%;top:-30%;--r:-9deg"></span>
|
|
317
|
-
<span class="blob blob-a" style="--s:280px;left:76%;top:24%;--r:22deg"></span>
|
|
318
|
-
</div>
|
|
319
|
-
<div class="zoom" id="ledger-zoom">
|
|
320
|
-
<span>Text</span>
|
|
321
|
-
<button type="button" id="zoom-out" aria-label="Smaller text">A-</button>
|
|
322
|
-
<button type="button" id="zoom-in" aria-label="Larger text">A+</button>
|
|
323
|
-
<button class="mode-toggle" id="mode" type="button" aria-label="Toggle light or dark">
|
|
324
|
-
<svg class="moon" viewBox="0 0 20 20" aria-hidden="true" fill="none" stroke="currentColor"
|
|
325
|
-
stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round">
|
|
326
|
-
<path d="M16.2 12.4A6.8 6.8 0 0 1 7.6 3.8a6.8 6.8 0 1 0 8.6 8.6z"/>
|
|
327
|
-
</svg>
|
|
328
|
-
<svg class="sun" viewBox="0 0 20 20" aria-hidden="true" fill="none" stroke="currentColor"
|
|
329
|
-
stroke-width="1.4" stroke-linecap="round">
|
|
330
|
-
<circle cx="10" cy="10" r="3.9"/>
|
|
331
|
-
<path d="M10 1.6v2.1M10 16.3v2.1M1.6 10h2.1M16.3 10h2.1M4.1 4.1l1.5 1.5M14.4 14.4l1.5 1.5M15.9 4.1l-1.5 1.5M5.6 14.4l-1.5 1.5"/>
|
|
332
|
-
</svg>
|
|
333
|
-
</button>
|
|
334
|
-
</div>
|
|
335
|
-
<div class="crest-in">
|
|
336
|
-
<h1>Cloud Bongos</h1>
|
|
337
|
-
<p class="sub">the public ledger</p>
|
|
338
|
-
<p class="upd">updated 2 minutes ago</p>
|
|
339
|
-
<nav class="rail" aria-label="Sections">
|
|
340
|
-
<a href="#watch">The Watch</a>
|
|
341
|
-
<a href="#architects">Architects</a>
|
|
342
|
-
<a href="#foundry">The Foundry</a>
|
|
343
|
-
<a href="#wip">Works in Progress</a>
|
|
344
|
-
<a href="#treasury">The Treasury</a>
|
|
345
|
-
<a href="#inscribed">Lately Inscribed</a>
|
|
346
|
-
<a href="#world">The World</a>
|
|
347
|
-
</nav>
|
|
348
|
-
</div>
|
|
349
|
-
</header>
|
|
350
|
-
|
|
351
|
-
<section id="headline-tablet" class="glance">
|
|
352
|
-
<h2 class="vh">The City At A Glance</h2>
|
|
353
|
-
<svg class="leaders" viewBox="0 0 1000 132" preserveAspectRatio="none" aria-hidden="true">
|
|
354
|
-
<g fill="none" stroke="currentColor" stroke-width="1" vector-effect="non-scaling-stroke">
|
|
355
|
-
<line x1="42" y1="130" x2="286" y2="2"/>
|
|
356
|
-
<line x1="292" y1="130" x2="402" y2="2"/>
|
|
357
|
-
<line x1="542" y1="130" x2="498" y2="2"/>
|
|
358
|
-
<line x1="792" y1="130" x2="606" y2="2"/>
|
|
359
|
-
</g>
|
|
360
|
-
</svg>
|
|
361
|
-
<div class="stats">
|
|
362
|
-
<div class="stat">
|
|
363
|
-
<span class="k">Standing</span>
|
|
364
|
-
<span class="v">holds</span>
|
|
365
|
-
<span class="c">3 of 3 pillars answering</span>
|
|
366
|
-
</div>
|
|
367
|
-
<div class="stat">
|
|
368
|
-
<span class="k">Shipped</span>
|
|
369
|
-
<span class="v">1,107</span>
|
|
370
|
-
<span class="c">works shipped on V1 of 1,561</span>
|
|
371
|
-
</div>
|
|
372
|
-
<div class="stat">
|
|
373
|
-
<span class="k">Treasury</span>
|
|
374
|
-
<span class="v">74%<!-- sample --></span>
|
|
375
|
-
<div class="tbar"><i style="width:74%"></i><!-- sample --></div>
|
|
376
|
-
<span class="c">of the year's purse spent</span>
|
|
377
|
-
</div>
|
|
378
|
-
<div class="stat">
|
|
379
|
-
<span class="k">Grade</span>
|
|
380
|
-
<span class="v">A<!-- sample --></span>
|
|
381
|
-
<span class="c">mean grade, last 90 days</span>
|
|
382
|
-
</div>
|
|
383
|
-
</div>
|
|
384
|
-
</section>
|
|
385
|
-
</div>
|
|
386
|
-
|
|
387
|
-
</main>
|
|
388
|
-
|
|
389
|
-
<footer>Built by agents, on Cloud Bongos.</footer>
|
|
390
|
-
|
|
391
|
-
<script>
|
|
392
|
-
(function () {
|
|
393
|
-
var root = document.documentElement;
|
|
394
|
-
var z = 1;
|
|
395
|
-
function set(step) {
|
|
396
|
-
z = Math.min(1.4, Math.max(0.85, Math.round((z + step) * 100) / 100));
|
|
397
|
-
root.style.setProperty('--zoom', String(z));
|
|
398
|
-
}
|
|
399
|
-
document.getElementById('zoom-in').addEventListener('click', function () { set(0.1); });
|
|
400
|
-
document.getElementById('zoom-out').addEventListener('click', function () { set(-0.1); });
|
|
401
|
-
|
|
402
|
-
function isDark() {
|
|
403
|
-
var m = root.getAttribute('data-mode');
|
|
404
|
-
if (m === 'dark') return true;
|
|
405
|
-
if (m === 'light') return false;
|
|
406
|
-
return window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
407
|
-
}
|
|
408
|
-
document.getElementById('mode').addEventListener('click', function () {
|
|
409
|
-
var next = isDark() ? 'light' : 'dark';
|
|
410
|
-
root.setAttribute('data-mode', next);
|
|
411
|
-
try { localStorage.setItem('cb-color-mode', next); } catch (e) {}
|
|
412
|
-
});
|
|
413
|
-
})();
|
|
414
|
-
</script>
|
|
415
|
-
</body>
|
|
416
|
-
</html>
|