@bongos/core 1.24.77 → 1.24.79

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 +91 -46
  2. package/clients/bongos-client/README.md +1 -1
  3. package/clients/bongos-client/bongos-client.global.js +8 -0
  4. package/clients/bongos-client/index.cjs +8 -0
  5. package/clients/bongos-client/index.d.ts +12 -1
  6. package/clients/bongos-client/index.mjs +8 -0
  7. package/docs/adr/0307-autobongos-a-deterministic-supervisor-and-agentic-workers.md +15 -0
  8. package/docs/api/openapi.json +209 -4
  9. package/docs/api-reference.md +7 -3
  10. package/docs/copy-inventory.md +109 -92
  11. package/docs/copy-registry.json +291 -108
  12. package/docs/module-api-changelog.md +4 -0
  13. package/docs/page-inventory.json +2 -0
  14. package/docs/page-readings.json +111 -97
  15. package/docs/recipes/autobongos-runner-setup.md +148 -0
  16. package/docs/recipes/autobongos-windows-host.md +10 -7
  17. package/modules/autonomy/cadence.js +3 -0
  18. package/modules/autonomy/db.js +86 -7
  19. package/modules/autonomy/fence.js +20 -5
  20. package/modules/autonomy/migrations/autonomy_006_runner_device.sql +45 -0
  21. package/modules/autonomy/module.json +2 -1
  22. package/modules/autonomy/routes/autonomy.js +165 -3
  23. package/modules/autonomy/runner-health.js +27 -0
  24. package/modules/autonomy/skills/autobongos-setup/SKILL.md +86 -0
  25. package/modules/hall-ui/public/commands-lib.js +1 -1
  26. package/modules/hall-ui/public/gate.js +12 -5
  27. package/modules/hall-ui/public/runner-button.css +55 -0
  28. package/modules/hall-ui/public/runner-button.js +187 -0
  29. package/modules/hall-ui/public/settings-autobongos.js +349 -63
  30. package/modules/hall-ui/public/settings.html +23 -10
  31. package/modules/hall-ui/records/runner-button.md +16 -0
  32. package/package-lock.json +2 -2
  33. package/package.json +1 -1
  34. package/release-notes.json +20 -0
  35. package/scripts/bongos/autobongos-host.js +35 -6
  36. package/scripts/bongos/autobongos-run.js +18 -3
  37. package/scripts/bongos/claude-materialize.js +20 -1
  38. package/scripts/bongos/stranded-rows.js +39 -2
  39. package/scripts/hall-preview/server.js +7 -0
  40. package/src/module-api.js +1 -1
  41. package/tests/autobongos_host.mjs +46 -0
  42. package/tests/autonomy_config_idle.mjs +9 -4
  43. package/tests/autonomy_runner_device.mjs +444 -0
  44. package/tests/autonomy_runner_identity.mjs +3 -1
  45. package/tests/claude_materialize.mjs +74 -0
  46. package/tests/hall_runner_button.mjs +467 -0
  47. package/tests/hall_runner_panel_connect.mjs +73 -0
  48. package/tests/stranded_rows.mjs +50 -0
@@ -3404,5 +3404,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
3404
3404
  landed since 1.24.74 with no explicit bump. run 42724956677. (task 1002620)
3405
3405
  1.24.77 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3406
3406
  landed since 1.24.76 with no explicit bump. run 42735935883. (task 1002620)
3407
+ 1.24.78 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3408
+ landed since 1.24.77 with no explicit bump. run 42746012589. (task 1002620)
3409
+ 1.24.79 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3410
+ landed since 1.24.78 with no explicit bump. run 42747422335. (task 1002620)
3407
3411
  ---------------------------------------------------------------------------
3408
3412
  ```
@@ -1052,6 +1052,7 @@
1052
1052
  "modules/hall-ui/public/style.css",
1053
1053
  "modules/hall-ui/public/panel.css",
1054
1054
  "modules/hall-ui/public/settings.css",
1055
+ "modules/hall-ui/public/runner-button.css",
1055
1056
  "modules/hall-ui/public/dom-utils.js",
1056
1057
  "modules/hall-ui/public/shell-game.js",
1057
1058
  "modules/hall-ui/public/shell-trail.js",
@@ -1069,6 +1070,7 @@
1069
1070
  "modules/hall-ui/public/settings-ai-keys.js",
1070
1071
  "modules/hall-ui/public/update-pill.js",
1071
1072
  "modules/hall-ui/public/settings-software-update.js",
1073
+ "modules/hall-ui/public/runner-button.js",
1072
1074
  "modules/hall-ui/public/settings-autobongos.js",
1073
1075
  "modules/hall-ui/public/settings-usage-reports.js"
1074
1076
  ],
@@ -5,7 +5,7 @@
5
5
  "adr": "0341 D3",
6
6
  "reread": "node scripts/bongos/page-reader.js --stale",
7
7
  "how": ["Generated by node scripts/bongos/page-reader.js (BV2.TW04, task 1004315; ADR 0341 D3). Do not hand-edit.","One entry per page of docs/page-inventory.json. Lines are in page order: the default state first, and a line only another state shows sits where that state shows it, with its state named.","placement: placed = a docs/copy-registry.json row renders it (file, line, string_id); shared = shell text every page of the surface carries (top bar, sidebar, footer), with its row when the registry has one; unplaced = the registry cannot place it (a rewrite becomes an engineer task, ADR 0341 D4).","text keeps {…} where the registry row has a hole, or where a value the page read from its API was filled in. A string that is only such data is counted under omitted.data, not listed.","reading_hash is over the non-shared lines (key, section, text); files_hash is over the page's inventory files. --check compares files_hash only and never opens a browser.","Rendered through the hall-preview harness (hall) and the ui-design kit stub (landing, status), at 1280x800 with the clock pinned, so a reading is the fixture world's page."],
8
- "counts": {"pages":45,"lines":4545,"placed":1574,"shared":434,"unplaced":2537,"omitted_data":3313},
8
+ "counts": {"pages":45,"lines":4559,"placed":1578,"shared":434,"unplaced":2547,"omitted_data":3317},
9
9
  "pages": [
10
10
  {
11
11
  "id": "builders:ai-studio",
@@ -430,7 +430,7 @@
430
430
  "surface": "builders",
431
431
  "title": "Commands",
432
432
  "states_read": ["in","out"],
433
- "files_hash": "687bb6af0eff6e0c",
433
+ "files_hash": "a55641d9ab261c3f",
434
434
  "reading_hash": "b7107deecbf6bf46",
435
435
  "counts": {"lines":70,"placed":46,"shared":9,"unplaced":15},
436
436
  "omitted": {"data":175},
@@ -2449,10 +2449,10 @@
2449
2449
  "surface": "builders",
2450
2450
  "title": "Settings",
2451
2451
  "states_read": ["account","access","preferences","install-reports","sound","update"],
2452
- "files_hash": "685465c1780ddf1b",
2453
- "reading_hash": "085bb32894909ee0",
2454
- "counts": {"lines":137,"placed":90,"shared":9,"unplaced":38},
2455
- "omitted": {"data":16},
2452
+ "files_hash": "87616973cb2f1d19",
2453
+ "reading_hash": "c2bdeb871d593279",
2454
+ "counts": {"lines":151,"placed":94,"shared":9,"unplaced":48},
2455
+ "omitted": {"data":20},
2456
2456
  "notes": [],
2457
2457
  "lines": [
2458
2458
  {"key":"L0001","section":"skip link","text":"Skip to content","placement":"shared","file":"modules/hall-ui/public/shell.js","line":856,"string_id":"87cee78ca134"},
@@ -2467,9 +2467,9 @@
2467
2467
  {"key":"L0010","section":"page top","text":"Access & keys","placement":"unplaced"},
2468
2468
  {"key":"L0011","section":"page top","text":"Preferences","placement":"unplaced"},
2469
2469
  {"key":"L0012","section":"page top","text":"Sound","placement":"unplaced"},
2470
- {"key":"L0013","section":"page top","text":"Software update","placement":"placed","file":"modules/hall-ui/public/settings.html","line":364,"string_id":"207af7ce6828"},
2471
- {"key":"L0014","section":"Software update","text":"Software update","placement":"placed","file":"modules/hall-ui/public/settings.html","line":364,"string_id":"207af7ce6828","state":"update"},
2472
- {"key":"L0015","section":"Software update","text":"Which version of Cloud Bongos this project runs, whether a newer one is ready for it, and what each newer version brings.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":365,"string_id":"68da8cb13058","state":"update"},
2470
+ {"key":"L0013","section":"page top","text":"Software update","placement":"placed","file":"modules/hall-ui/public/settings.html","line":375,"string_id":"207af7ce6828"},
2471
+ {"key":"L0014","section":"Software update","text":"Software update","placement":"placed","file":"modules/hall-ui/public/settings.html","line":375,"string_id":"207af7ce6828","state":"update"},
2472
+ {"key":"L0015","section":"Software update","text":"Which version of Cloud Bongos this project runs, whether a newer one is ready for it, and what each newer version brings.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":376,"string_id":"68da8cb13058","state":"update"},
2473
2473
  {"key":"L0016","section":"Software update","text":"This project runs","placement":"unplaced","state":"update"},
2474
2474
  {"key":"L0017","section":"Software update","text":"Newest for this project","placement":"unplaced","state":"update"},
2475
2475
  {"key":"L0018","section":"Software update","text":"— published 21 hours ago","placement":"unplaced","state":"update"},
@@ -2486,112 +2486,126 @@
2486
2486
  {"key":"L0029","section":"footer","text":"Sign out","placement":"shared","file":"modules/hall-ui/public/shell.js","line":533,"string_id":"1883ad7f07fc","state":"update","occurrences":5},
2487
2487
  {"key":"L0030","section":"What's new in these 7 versions","text":"Could not load your security cards: {…}","placement":"placed","file":"modules/hall-ui/public/settings-passkeys.js","line":115,"string_id":"9e77d71db3ec","state":"update"},
2488
2488
  {"key":"L0031","section":"What's new in these 7 versions","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":734,"string_id":"fd1903586e8e","state":"update"},
2489
- {"key":"L0032","section":"Skill voices","text":"Skill voices","placement":"placed","file":"modules/hall-ui/public/settings.html","line":307,"string_id":"ecc12c1dd4de","state":"sound"},
2490
- {"key":"L0033","section":"Skill voices","text":"Which model each skill runs on is set on","placement":"placed","file":"modules/hall-ui/public/settings.html","line":308,"string_id":"889b532de09f","state":"sound"},
2491
- {"key":"L0034","section":"Skill voices","text":"My agents","placement":"placed","file":"modules/hall-ui/public/settings.html","line":281,"string_id":"f2671b0f02da","state":"sound"},
2489
+ {"key":"L0032","section":"Skill voices","text":"Skill voices","placement":"placed","file":"modules/hall-ui/public/settings.html","line":318,"string_id":"ecc12c1dd4de","state":"sound"},
2490
+ {"key":"L0033","section":"Skill voices","text":"Which model each skill runs on is set on","placement":"placed","file":"modules/hall-ui/public/settings.html","line":319,"string_id":"889b532de09f","state":"sound"},
2491
+ {"key":"L0034","section":"Skill voices","text":"My agents","placement":"placed","file":"modules/hall-ui/public/settings.html","line":292,"string_id":"f2671b0f02da","state":"sound"},
2492
2492
  {"key":"L0035","section":"Sounds","text":"Sounds","placement":"unplaced","state":"sound"},
2493
- {"key":"L0036","section":"Sounds","text":"Sounds are switched off for now. Nothing plays when a task ships, when {{currency}} arrive, or when Claude finishes or needs you.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":317,"string_id":"490f4bbbc75b","state":"sound"},
2493
+ {"key":"L0036","section":"Sounds","text":"Sounds are switched off for now. Nothing plays when a task ships, when {{currency}} arrive, or when Claude finishes or needs you.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":328,"string_id":"490f4bbbc75b","state":"sound"},
2494
2494
  {"key":"L0037","section":"Sounds","text":"Could not load your security cards: {…}","placement":"placed","file":"modules/hall-ui/public/settings-passkeys.js","line":115,"string_id":"9e77d71db3ec","state":"sound"},
2495
2495
  {"key":"L0038","section":"Sounds","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":734,"string_id":"fd1903586e8e","state":"sound"},
2496
- {"key":"L0039","section":"Your agents","text":"Your agents","placement":"placed","file":"modules/hall-ui/public/settings.html","line":278,"string_id":"beba7e576ea8","state":"preferences"},
2497
- {"key":"L0040","section":"Your agents","text":"How Claude talks to you, wandering, session cards and your specialities are set on","placement":"placed","file":"modules/hall-ui/public/settings.html","line":279,"string_id":"d50901b479f6","state":"preferences"},
2498
- {"key":"L0041","section":"Your agents","text":"My agents","placement":"placed","file":"modules/hall-ui/public/settings.html","line":281,"string_id":"f2671b0f02da","state":"preferences"},
2499
- {"key":"L0042","section":"Module install reports","text":"Module install reports","placement":"placed","file":"modules/hall-ui/public/settings.html","line":291,"string_id":"dcab235de632","state":"preferences"},
2500
- {"key":"L0043","section":"Module install reports","text":"A store module is scored partly on whether it installs and runs cleanly for the people who use it. Only counts are sent: whether an install worked, and a short code if it did not. No messages, file paths or details about you.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":292,"string_id":"3ce49cfbdd99","state":"preferences"},
2496
+ {"key":"L0039","section":"Your agents","text":"Your agents","placement":"placed","file":"modules/hall-ui/public/settings.html","line":289,"string_id":"beba7e576ea8","state":"preferences"},
2497
+ {"key":"L0040","section":"Your agents","text":"How Claude talks to you, wandering, session cards and your specialities are set on","placement":"placed","file":"modules/hall-ui/public/settings.html","line":290,"string_id":"d50901b479f6","state":"preferences"},
2498
+ {"key":"L0041","section":"Your agents","text":"My agents","placement":"placed","file":"modules/hall-ui/public/settings.html","line":292,"string_id":"f2671b0f02da","state":"preferences"},
2499
+ {"key":"L0042","section":"Module install reports","text":"Module install reports","placement":"placed","file":"modules/hall-ui/public/settings.html","line":302,"string_id":"dcab235de632","state":"preferences"},
2500
+ {"key":"L0043","section":"Module install reports","text":"A store module is scored partly on whether it installs and runs cleanly for the people who use it. Only counts are sent: whether an install worked, and a short code if it did not. No messages, file paths or details about you.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":303,"string_id":"3ce49cfbdd99","state":"preferences"},
2501
2501
  {"key":"L0044","section":"Module install reports","text":"Share what happens when you install a module","placement":"placed","file":"modules/hall-ui/public/settings-usage-reports.js","line":35,"string_id":"e56c2b6a1a1d","state":"preferences"},
2502
2502
  {"key":"L0045","section":"Module install reports","text":"Share counts","placement":"unplaced","state":"preferences"},
2503
2503
  {"key":"L0046","section":"Module install reports","text":"default","placement":"unplaced","state":"preferences"},
2504
2504
  {"key":"L0047","section":"Module install reports","text":"When you install or update a store module, the store learns whether it worked. Nothing else is sent.","placement":"unplaced","state":"preferences"},
2505
2505
  {"key":"L0048","section":"Module install reports","text":"Don’t share","placement":"unplaced","state":"preferences"},
2506
2506
  {"key":"L0049","section":"Module install reports","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"preferences"},
2507
- {"key":"L0050","section":"Module install reports","text":"Saves the moment you choose; applies to your next install.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":299,"string_id":"728531d66c22","state":"preferences"},
2507
+ {"key":"L0050","section":"Module install reports","text":"Saves the moment you choose; applies to your next install.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":310,"string_id":"728531d66c22","state":"preferences"},
2508
2508
  {"key":"L0051","section":"Module install reports","text":"Could not load your security cards: {…}","placement":"placed","file":"modules/hall-ui/public/settings-passkeys.js","line":115,"string_id":"9e77d71db3ec","state":"preferences"},
2509
2509
  {"key":"L0052","section":"Module install reports","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":734,"string_id":"fd1903586e8e","state":"preferences"},
2510
- {"key":"L0053","section":"CLI access","text":"CLI access","placement":"placed","file":"modules/hall-ui/public/settings.html","line":168,"string_id":"a015a43bfc7f","state":"access"},
2511
- {"key":"L0054","section":"CLI access","text":"Mint a fresh CLI token using this browser session and paste the command it gives you into a terminal in your project folder — the quick way back in when a","placement":"placed","file":"modules/hall-ui/public/settings.html","line":169,"string_id":"638bfd6405ce","state":"access"},
2510
+ {"key":"L0053","section":"CLI access","text":"CLI access","placement":"placed","file":"modules/hall-ui/public/settings.html","line":170,"string_id":"a015a43bfc7f","state":"access"},
2511
+ {"key":"L0054","section":"CLI access","text":"Mint a fresh CLI token using this browser session and paste the command it gives you into a terminal in your project folder — the quick way back in when a","placement":"placed","file":"modules/hall-ui/public/settings.html","line":171,"string_id":"638bfd6405ce","state":"access"},
2512
2512
  {"key":"L0055","section":"CLI access","text":"/builder-*","placement":"unplaced","state":"access"},
2513
- {"key":"L0056","section":"CLI access","text":"command says your session expired.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":172,"string_id":"508ff7083048","state":"access"},
2514
- {"key":"L0057","section":"CLI access","text":"Re-issue CLI token","placement":"placed","file":"modules/hall-ui/public/settings.html","line":175,"string_id":"e60039795803","state":"access"},
2515
- {"key":"L0058","section":"CLI access","text":"no GitHub code to type in.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":176,"string_id":"dfaec940ded4","state":"access"},
2516
- {"key":"L0059","section":"CLI access","text":"Tokens refresh on use; re-issuing never signs you out anywhere else.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":179,"string_id":"7dfdc26f9f79","state":"access"},
2517
- {"key":"L0060","section":"Active sessions","text":"Active sessions","placement":"placed","file":"modules/hall-ui/public/settings.html","line":186,"string_id":"524188fe0078","state":"access"},
2518
- {"key":"L0061","section":"Active sessions","text":"Every place you are currently signed in — this browser, your terminal, any other machine. A session refreshes for another 24 hours each time it is used, so one you have forgotten about can stay alive indefinitely. If a token has leaked, end it here.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":187,"string_id":"c188854da766","state":"access"},
2513
+ {"key":"L0056","section":"CLI access","text":"command says your session expired.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":174,"string_id":"508ff7083048","state":"access"},
2514
+ {"key":"L0057","section":"CLI access","text":"Re-issue CLI token","placement":"placed","file":"modules/hall-ui/public/settings.html","line":177,"string_id":"e60039795803","state":"access"},
2515
+ {"key":"L0058","section":"CLI access","text":"no GitHub code to type in.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":178,"string_id":"dfaec940ded4","state":"access"},
2516
+ {"key":"L0059","section":"CLI access","text":"Tokens refresh on use; re-issuing never signs you out anywhere else.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":181,"string_id":"7dfdc26f9f79","state":"access"},
2517
+ {"key":"L0060","section":"Active sessions","text":"Active sessions","placement":"placed","file":"modules/hall-ui/public/settings.html","line":188,"string_id":"524188fe0078","state":"access"},
2518
+ {"key":"L0061","section":"Active sessions","text":"Every place you are currently signed in — this browser, your terminal, any other machine. A session refreshes for another 24 hours each time it is used, so one you have forgotten about can stay alive indefinitely. If a token has leaked, end it here.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":189,"string_id":"c188854da766","state":"access"},
2519
2519
  {"key":"L0062","section":"Active sessions","text":"Browser","placement":"unplaced","state":"access"},
2520
2520
  {"key":"L0063","section":"Active sessions","text":"this session","placement":"placed","file":"modules/hall-ui/public/settings-sessions.js","line":44,"string_id":"632527db5bca","state":"access"},
2521
2521
  {"key":"L0064","section":"Active sessions","text":"last used {…} · signed in {…}","placement":"placed","file":"modules/hall-ui/public/settings-sessions.js","line":46,"string_id":"9018bf6e99eb","state":"access","occurrences":3},
2522
2522
  {"key":"L0065","section":"Active sessions","text":"End session","placement":"placed","file":"modules/hall-ui/public/settings-sessions.js","line":46,"string_id":"8d2b4f119ee3","state":"access","occurrences":3},
2523
2523
  {"key":"L0066","section":"Active sessions","text":"Terminal","placement":"unplaced","state":"access"},
2524
2524
  {"key":"L0067","section":"Active sessions","text":"Session","placement":"placed","file":"modules/hall-ui/public/sessions.js","line":234,"string_id":"5e15e4f600fd","state":"access"},
2525
- {"key":"L0068","section":"Active sessions","text":"Sign out everywhere","placement":"placed","file":"modules/hall-ui/public/settings.html","line":195,"string_id":"8ad669ab2565","state":"access"},
2526
- {"key":"L0069","section":"Active sessions","text":"ends every session including this one — you will be asked to sign in again.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":196,"string_id":"12a23cc46ace","state":"access"},
2527
- {"key":"L0070","section":"Active sessions","text":"Ending a session takes effect immediately; the token stops working on its very next request.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":198,"string_id":"8e82771e5b63","state":"access"},
2528
- {"key":"L0071","section":"Your Autobongos runner","text":"Your Autobongos runner","placement":"placed","file":"modules/hall-ui/public/settings.html","line":227,"string_id":"3749997eef4a","state":"access"},
2529
- {"key":"L0072","section":"Your Autobongos runner","text":"Choose which goals your own runner works while you are away. You can only choose from the goals the project allows. If you choose none, your runner takes no work.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":228,"string_id":"2b504633779f","state":"access"},
2525
+ {"key":"L0068","section":"Active sessions","text":"Sign out everywhere","placement":"placed","file":"modules/hall-ui/public/settings.html","line":197,"string_id":"8ad669ab2565","state":"access"},
2526
+ {"key":"L0069","section":"Active sessions","text":"ends every session including this one — you will be asked to sign in again.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":198,"string_id":"12a23cc46ace","state":"access"},
2527
+ {"key":"L0070","section":"Active sessions","text":"Ending a session takes effect immediately; the token stops working on its very next request.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":200,"string_id":"8e82771e5b63","state":"access"},
2528
+ {"key":"L0071","section":"Your Autobongos runner","text":"Your Autobongos runner","placement":"placed","file":"modules/hall-ui/public/settings.html","line":230,"string_id":"3749997eef4a","state":"access"},
2529
+ {"key":"L0072","section":"Your Autobongos runner","text":"Add a device, press Run on its card, and it builds the goals you choose below while you are away. Any Windows PC or Mac works, as long as it is on and you are signed in to it.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":231,"string_id":"ff277763b4ce","state":"access"},
2530
2530
  {"key":"L0073","section":"Your Autobongos runner","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"access"},
2531
- {"key":"L0074","section":"Your Autobongos runner","text":"The project has not allowed any goals for runners yet, so there is nothing to choose from.","placement":"unplaced","state":"access"},
2532
- {"key":"L0075","section":"Image-generation key","text":"Image-generation key","placement":"placed","file":"modules/hall-ui/public/settings.html","line":244,"string_id":"783853467d52","state":"access","occurrences":2},
2533
- {"key":"L0076","section":"Image-generation key","text":"The art pipeline draws tiles and sprites with Google AI Studio (Gemini). Needed only if you generate art — your key, your bill, paid only for what you make.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":245,"string_id":"600b90074021","state":"access"},
2534
- {"key":"L0077","section":"Image-generation key","text":"Your key","placement":"placed","file":"modules/hall-ui/public/settings.js","line":725,"string_id":"51fd6f1ecb2f","state":"access"},
2535
- {"key":"L0078","section":"Image-generation key","text":"Paste your {…} key","placement":"placed","file":"modules/hall-ui/public/settings-ai-keys.js","line":21,"string_id":"d7f9662b38fb","attr":"placeholder","state":"access"},
2536
- {"key":"L0079","section":"Image-generation key","text":"Save key","placement":"placed","file":"modules/hall-ui/public/settings.js","line":729,"string_id":"0c79b504aebe","state":"access"},
2537
- {"key":"L0080","section":"Image-generation key","text":"Get a free key ↗","placement":"placed","file":"modules/hall-ui/public/settings.js","line":697,"string_id":"2ae2114b61db","state":"access"},
2538
- {"key":"L0081","section":"Image-generation key","text":"· Stored encrypted; never shown again after saving.","placement":"placed","file":"modules/hall-ui/public/settings.js","line":731,"string_id":"b3757ba3bb46","state":"access"},
2539
- {"key":"L0082","section":"Image-generation key","text":"Stored encrypted; never shown again after saving — only its last four digits.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":253,"string_id":"6c6544f5c011","state":"access"},
2540
- {"key":"L0083","section":"Your AI keys","text":"Your AI keys","placement":"placed","file":"modules/hall-ui/public/settings.html","line":261,"string_id":"b22c34b9c30a","state":"access"},
2541
- {"key":"L0084","section":"Your AI keys","text":"Link your own AI account so studio generations run on it and we charge you nothing. Without a key, generations run on ours and come out of your balance.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":262,"string_id":"a0a4aaff6057","state":"access"},
2542
- {"key":"L0085","section":"Your AI keys","text":"Paste your {…} key","placement":"placed","file":"modules/hall-ui/public/settings-ai-keys.js","line":21,"string_id":"d7f9662b38fb","attr":"placeholder","state":"access"},
2543
- {"key":"L0086","section":"Your AI keys","text":"Save key","placement":"placed","file":"modules/hall-ui/public/settings.js","line":729,"string_id":"0c79b504aebe","state":"access"},
2544
- {"key":"L0087","section":"Your AI keys","text":"Get a key ↗","placement":"placed","file":"modules/hall-ui/public/settings-ai-keys.js","line":29,"string_id":"ea60662c296c","state":"access"},
2545
- {"key":"L0088","section":"Your AI keys","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"access"},
2546
- {"key":"L0089","section":"Your AI keys","text":"Key on file ending …{…}{…}. Your generations run on it and we charge nothing.","placement":"placed","file":"modules/hall-ui/public/settings-ai-keys.js","line":36,"string_id":"a4e92424b2a4","state":"access"},
2547
- {"key":"L0090","section":"Your AI keys","text":"Replace","placement":"unplaced","state":"access"},
2548
- {"key":"L0091","section":"Your AI keys","text":"Remove","placement":"unplaced","state":"access"},
2549
- {"key":"L0092","section":"Your AI keys","text":"Stored encrypted; never shown again after saving, only its last four characters.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":267,"string_id":"ef056ef08ff5","state":"access"},
2550
- {"key":"L0093","section":"Your AI keys","text":"Could not load your security cards: {…}","placement":"placed","file":"modules/hall-ui/public/settings-passkeys.js","line":115,"string_id":"9e77d71db3ec","state":"access"},
2551
- {"key":"L0094","section":"Your AI keys","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":734,"string_id":"fd1903586e8e","state":"access"},
2552
- {"key":"L0095","section":"Connections","text":"Connections","placement":"unplaced"},
2553
- {"key":"L0096","section":"Connections","text":"Link your Discord account and you're added to the {{worldName}} server with your rank role already set — no invite to share or leak.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":66,"string_id":"64e85f1691f9"},
2554
- {"key":"L0097","section":"Connections","text":"Discord connected ✓","placement":"placed","file":"modules/hall-ui/public/settings.js","line":529,"string_id":"0f685daf1bd5"},
2555
- {"key":"L0098","section":"Connections","text":"You're in the {…} server with your rank role.","placement":"placed","file":"modules/hall-ui/public/settings.js","line":530,"string_id":"8e1915b19274"},
2556
- {"key":"L0099","section":"Connections","text":"Unlink","placement":"unplaced"},
2557
- {"key":"L0100","section":"Connections","text":"Linking opens Discord's consent screen; unlinking applies at once.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":71,"string_id":"9a31cf5fe05b"},
2558
- {"key":"L0101","section":"Display name","text":"Display name","placement":"placed","file":"modules/hall-ui/public/settings.html","line":79,"string_id":"3e561393f4e9","occurrences":2},
2559
- {"key":"L0102","section":"Display name","text":"The name shown beside your work — in the roster, the leaderboard, and the work feed. Your sign-in and the credit for shipped work stay tied to your account, not this label.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":80,"string_id":"82479c539fca"},
2560
- {"key":"L0103","section":"Display name","text":"Your display name","placement":"placed","file":"modules/hall-ui/public/settings.html","line":89,"string_id":"909b0b7c6ffa","attr":"placeholder"},
2561
- {"key":"L0104","section":"Display name","text":"Save","placement":"unplaced"},
2562
- {"key":"L0105","section":"Display name","text":"Saves when you press Save; shows everywhere at once.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":93,"string_id":"e8e4e49fe8f4"},
2563
- {"key":"L0106","section":"Your age","text":"Your age","placement":"placed","file":"modules/hall-ui/public/settings.html","line":101,"string_id":"9c71cc9855a0"},
2564
- {"key":"L0107","section":"Your age","text":"AI Studio and getting paid both depend on your age. Pick the group you are in. Only the group is kept, never your birthday.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":102,"string_id":"6adc92ad6df7"},
2565
- {"key":"L0108","section":"Your age","text":"Nothing on record yet, so AI Studio stays closed to you.","placement":"unplaced"},
2566
- {"key":"L0109","section":"Your age","text":"I am","placement":"placed","file":"modules/hall-ui/public/settings.html","line":108,"string_id":"8f0951b59496"},
2567
- {"key":"L0110","section":"Your age","text":"18 or older","placement":"placed","file":"modules/hall-ui/public/settings.html","line":109,"string_id":"b3c840c7f7f8"},
2568
- {"key":"L0111","section":"Your age","text":"16 to 17","placement":"placed","file":"modules/hall-ui/public/settings.html","line":110,"string_id":"c640f2831617"},
2569
- {"key":"L0112","section":"Your age","text":"13 to 15","placement":"placed","file":"modules/hall-ui/public/settings.html","line":111,"string_id":"192d7275b7c3"},
2570
- {"key":"L0113","section":"Your age","text":"Under 13","placement":"placed","file":"modules/hall-ui/public/settings.html","line":112,"string_id":"0bd350244e3a"},
2571
- {"key":"L0114","section":"Your age","text":"Save","placement":"unplaced"},
2572
- {"key":"L0115","section":"Your age","text":"AI Studio is for adults only, because the AI companies behind it only serve adults.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":118,"string_id":"23367da3f4ba"},
2573
- {"key":"L0116","section":"Preferred roles","text":"Preferred roles","placement":"placed","file":"modules/hall-ui/public/settings.html","line":142,"string_id":"e883f2789cae"},
2574
- {"key":"L0117","section":"Preferred roles","text":"The kinds of work you prefer. Task suggestions lean toward your choices — pick one, several, or none.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":143,"string_id":"9f45c63c9697"},
2575
- {"key":"L0118","section":"Preferred roles","text":"Artist","placement":"unplaced","occurrences":2},
2576
- {"key":"L0119","section":"Preferred roles","text":"Ideator","placement":"unplaced","occurrences":2},
2577
- {"key":"L0120","section":"Preferred roles","text":"UI","placement":"unplaced","occurrences":2},
2578
- {"key":"L0121","section":"Preferred roles","text":"Main role","placement":"placed","file":"modules/hall-ui/public/settings.html","line":152,"string_id":"b8a2b32fdbb1"},
2579
- {"key":"L0122","section":"Preferred roles","text":"Your main role leads your profile and your leaderboard entry. Let your work decide, and it is the role you have earned the most in.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":153,"string_id":"09329a8f42ff"},
2580
- {"key":"L0123","section":"Preferred roles","text":"Let my work decide","placement":"unplaced"},
2581
- {"key":"L0124","section":"Preferred roles","text":"Save","placement":"unplaced"},
2582
- {"key":"L0125","section":"Preferred roles","text":"Saves when you press Save; your next","placement":"placed","file":"modules/hall-ui/public/settings.html","line":160,"string_id":"42cbc20a6ec8"},
2583
- {"key":"L0126","section":"Preferred roles","text":"/builder-start","placement":"unplaced"},
2584
- {"key":"L0127","section":"Preferred roles","text":"reflects it.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":160,"string_id":"26da1df6fd4a"},
2585
- {"key":"L0128","section":"Preferred roles","text":"Could not load your security cards: {…}","placement":"placed","file":"modules/hall-ui/public/settings-passkeys.js","line":115,"string_id":"9e77d71db3ec"},
2586
- {"key":"L0129","section":"Preferred roles","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":734,"string_id":"fd1903586e8e"},
2587
- {"key":"L0130","section":"What are you doing now?","text":"What are you doing now?","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":735,"string_id":"60853319f290"},
2588
- {"key":"L0131","section":"What are you doing now?","text":"Pick one. You can switch any time from the top bar.","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":736,"string_id":"4f87d5b17b54"},
2589
- {"key":"L0132","section":"What are you doing now?","text":"Building","placement":"unplaced"},
2590
- {"key":"L0133","section":"What are you doing now?","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","occurrences":3},
2591
- {"key":"L0134","section":"What are you doing now?","text":"Artistry","placement":"unplaced"},
2592
- {"key":"L0135","section":"What are you doing now?","text":"Ideating","placement":"unplaced"},
2593
- {"key":"L0136","section":"What are you doing now?","text":"Turn thoughts into {…}.","placement":"unplaced"},
2594
- {"key":"L0137","section":"What are you doing now?","text":"Ask me again next session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":739,"string_id":"fa86bf403775"}
2531
+ {"key":"L0074","section":"Your devices","text":"Your devices","placement":"placed","file":"modules/hall-ui/public/settings-autobongos.js","line":141,"string_id":"3f67b866f24e","state":"access"},
2532
+ {"key":"L0075","section":"Your devices","text":"Claude: {…}","placement":"unplaced","state":"access","occurrences":3},
2533
+ {"key":"L0076","section":"Your devices","text":"Remove","placement":"unplaced","state":"access","occurrences":4},
2534
+ {"key":"L0077","section":"Your devices","text":"Running","placement":"unplaced","state":"access"},
2535
+ {"key":"L0078","section":"Your devices","text":"Stop","placement":"unplaced","state":"access","occurrences":3},
2536
+ {"key":"L0079","section":"Your devices","text":"Working on task 1004711.","placement":"unplaced","state":"access"},
2537
+ {"key":"L0080","section":"Your devices","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"access","occurrences":4},
2538
+ {"key":"L0081","section":"Your devices","text":"Run","placement":"unplaced","state":"access"},
2539
+ {"key":"L0082","section":"Your devices","text":"Stopped on this device.","placement":"unplaced","state":"access"},
2540
+ {"key":"L0083","section":"Your devices","text":"Ready","placement":"unplaced","state":"access"},
2541
+ {"key":"L0084","section":"Your devices","text":"It is on, but the project’s runner switch is off ({…}).","placement":"unplaced","state":"access"},
2542
+ {"key":"L0085","section":"Your devices","text":"Device is off or asleep","placement":"unplaced","state":"access"},
2543
+ {"key":"L0086","section":"Your devices","text":"Add a device","placement":"placed","file":"modules/hall-ui/public/settings-autobongos.js","line":211,"string_id":"1bdd78d8e7c5","state":"access"},
2544
+ {"key":"L0087","section":"What it works on","text":"What it works on","placement":"placed","file":"modules/hall-ui/public/settings-autobongos.js","line":296,"string_id":"02e80a99f03f","state":"access"},
2545
+ {"key":"L0088","section":"What it works on","text":"The project has not allowed any goals for runners yet, so there is nothing to choose from.","placement":"unplaced","state":"access"},
2546
+ {"key":"L0089","section":"Image-generation key","text":"Image-generation key","placement":"placed","file":"modules/hall-ui/public/settings.html","line":255,"string_id":"783853467d52","state":"access","occurrences":2},
2547
+ {"key":"L0090","section":"Image-generation key","text":"The art pipeline draws tiles and sprites with Google AI Studio (Gemini). Needed only if you generate art — your key, your bill, paid only for what you make.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":256,"string_id":"600b90074021","state":"access"},
2548
+ {"key":"L0091","section":"Image-generation key","text":"Your key","placement":"placed","file":"modules/hall-ui/public/settings.js","line":725,"string_id":"51fd6f1ecb2f","state":"access"},
2549
+ {"key":"L0092","section":"Image-generation key","text":"Paste your {…} key","placement":"placed","file":"modules/hall-ui/public/settings-ai-keys.js","line":21,"string_id":"d7f9662b38fb","attr":"placeholder","state":"access"},
2550
+ {"key":"L0093","section":"Image-generation key","text":"Save key","placement":"placed","file":"modules/hall-ui/public/settings.js","line":729,"string_id":"0c79b504aebe","state":"access"},
2551
+ {"key":"L0094","section":"Image-generation key","text":"Get a free key ↗","placement":"placed","file":"modules/hall-ui/public/settings.js","line":697,"string_id":"2ae2114b61db","state":"access"},
2552
+ {"key":"L0095","section":"Image-generation key","text":"· Stored encrypted; never shown again after saving.","placement":"placed","file":"modules/hall-ui/public/settings.js","line":731,"string_id":"b3757ba3bb46","state":"access"},
2553
+ {"key":"L0096","section":"Image-generation key","text":"Stored encrypted; never shown again after saving — only its last four digits.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":264,"string_id":"6c6544f5c011","state":"access"},
2554
+ {"key":"L0097","section":"Your AI keys","text":"Your AI keys","placement":"placed","file":"modules/hall-ui/public/settings.html","line":272,"string_id":"b22c34b9c30a","state":"access"},
2555
+ {"key":"L0098","section":"Your AI keys","text":"Link your own AI account so studio generations run on it and we charge you nothing. Without a key, generations run on ours and come out of your balance.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":273,"string_id":"a0a4aaff6057","state":"access"},
2556
+ {"key":"L0099","section":"Your AI keys","text":"Paste your {…} key","placement":"placed","file":"modules/hall-ui/public/settings-ai-keys.js","line":21,"string_id":"d7f9662b38fb","attr":"placeholder","state":"access"},
2557
+ {"key":"L0100","section":"Your AI keys","text":"Save key","placement":"placed","file":"modules/hall-ui/public/settings.js","line":729,"string_id":"0c79b504aebe","state":"access"},
2558
+ {"key":"L0101","section":"Your AI keys","text":"Get a key ↗","placement":"placed","file":"modules/hall-ui/public/settings-ai-keys.js","line":29,"string_id":"ea60662c296c","state":"access"},
2559
+ {"key":"L0102","section":"Your AI keys","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"access"},
2560
+ {"key":"L0103","section":"Your AI keys","text":"Key on file ending …{…}{…}. Your generations run on it and we charge nothing.","placement":"placed","file":"modules/hall-ui/public/settings-ai-keys.js","line":36,"string_id":"a4e92424b2a4","state":"access"},
2561
+ {"key":"L0104","section":"Your AI keys","text":"Replace","placement":"unplaced","state":"access"},
2562
+ {"key":"L0105","section":"Your AI keys","text":"Remove","placement":"unplaced","state":"access"},
2563
+ {"key":"L0106","section":"Your AI keys","text":"Stored encrypted; never shown again after saving, only its last four characters.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":278,"string_id":"ef056ef08ff5","state":"access"},
2564
+ {"key":"L0107","section":"Your AI keys","text":"Could not load your security cards: {…}","placement":"placed","file":"modules/hall-ui/public/settings-passkeys.js","line":115,"string_id":"9e77d71db3ec","state":"access"},
2565
+ {"key":"L0108","section":"Your AI keys","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":734,"string_id":"fd1903586e8e","state":"access"},
2566
+ {"key":"L0109","section":"Connections","text":"Connections","placement":"unplaced"},
2567
+ {"key":"L0110","section":"Connections","text":"Link your Discord account and you're added to the {{worldName}} server with your rank role already set — no invite to share or leak.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":68,"string_id":"64e85f1691f9"},
2568
+ {"key":"L0111","section":"Connections","text":"Discord connected ✓","placement":"placed","file":"modules/hall-ui/public/settings.js","line":529,"string_id":"0f685daf1bd5"},
2569
+ {"key":"L0112","section":"Connections","text":"You're in the {…} server with your rank role.","placement":"placed","file":"modules/hall-ui/public/settings.js","line":530,"string_id":"8e1915b19274"},
2570
+ {"key":"L0113","section":"Connections","text":"Unlink","placement":"unplaced"},
2571
+ {"key":"L0114","section":"Connections","text":"Linking opens Discord's consent screen; unlinking applies at once.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":73,"string_id":"9a31cf5fe05b"},
2572
+ {"key":"L0115","section":"Display name","text":"Display name","placement":"placed","file":"modules/hall-ui/public/settings.html","line":81,"string_id":"3e561393f4e9","occurrences":2},
2573
+ {"key":"L0116","section":"Display name","text":"The name shown beside your work — in the roster, the leaderboard, and the work feed. Your sign-in and the credit for shipped work stay tied to your account, not this label.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":82,"string_id":"82479c539fca"},
2574
+ {"key":"L0117","section":"Display name","text":"Your display name","placement":"placed","file":"modules/hall-ui/public/settings.html","line":91,"string_id":"909b0b7c6ffa","attr":"placeholder"},
2575
+ {"key":"L0118","section":"Display name","text":"Save","placement":"unplaced"},
2576
+ {"key":"L0119","section":"Display name","text":"Saves when you press Save; shows everywhere at once.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":95,"string_id":"e8e4e49fe8f4"},
2577
+ {"key":"L0120","section":"Your age","text":"Your age","placement":"placed","file":"modules/hall-ui/public/settings.html","line":103,"string_id":"9c71cc9855a0"},
2578
+ {"key":"L0121","section":"Your age","text":"AI Studio and getting paid both depend on your age. Pick the group you are in. Only the group is kept, never your birthday.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":104,"string_id":"6adc92ad6df7"},
2579
+ {"key":"L0122","section":"Your age","text":"Nothing on record yet, so AI Studio stays closed to you.","placement":"unplaced"},
2580
+ {"key":"L0123","section":"Your age","text":"I am","placement":"placed","file":"modules/hall-ui/public/settings.html","line":110,"string_id":"8f0951b59496"},
2581
+ {"key":"L0124","section":"Your age","text":"18 or older","placement":"placed","file":"modules/hall-ui/public/settings.html","line":111,"string_id":"b3c840c7f7f8"},
2582
+ {"key":"L0125","section":"Your age","text":"16 to 17","placement":"placed","file":"modules/hall-ui/public/settings.html","line":112,"string_id":"c640f2831617"},
2583
+ {"key":"L0126","section":"Your age","text":"13 to 15","placement":"placed","file":"modules/hall-ui/public/settings.html","line":113,"string_id":"192d7275b7c3"},
2584
+ {"key":"L0127","section":"Your age","text":"Under 13","placement":"placed","file":"modules/hall-ui/public/settings.html","line":114,"string_id":"0bd350244e3a"},
2585
+ {"key":"L0128","section":"Your age","text":"Save","placement":"unplaced"},
2586
+ {"key":"L0129","section":"Your age","text":"AI Studio is for adults only, because the AI companies behind it only serve adults.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":120,"string_id":"23367da3f4ba"},
2587
+ {"key":"L0130","section":"Preferred roles","text":"Preferred roles","placement":"placed","file":"modules/hall-ui/public/settings.html","line":144,"string_id":"e883f2789cae"},
2588
+ {"key":"L0131","section":"Preferred roles","text":"The kinds of work you prefer. Task suggestions lean toward your choices — pick one, several, or none.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":145,"string_id":"9f45c63c9697"},
2589
+ {"key":"L0132","section":"Preferred roles","text":"Artist","placement":"unplaced","occurrences":2},
2590
+ {"key":"L0133","section":"Preferred roles","text":"Ideator","placement":"unplaced","occurrences":2},
2591
+ {"key":"L0134","section":"Preferred roles","text":"UI","placement":"unplaced","occurrences":2},
2592
+ {"key":"L0135","section":"Preferred roles","text":"Main role","placement":"placed","file":"modules/hall-ui/public/settings.html","line":154,"string_id":"b8a2b32fdbb1"},
2593
+ {"key":"L0136","section":"Preferred roles","text":"Your main role leads your profile and your leaderboard entry. Let your work decide, and it is the role you have earned the most in.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":155,"string_id":"09329a8f42ff"},
2594
+ {"key":"L0137","section":"Preferred roles","text":"Let my work decide","placement":"unplaced"},
2595
+ {"key":"L0138","section":"Preferred roles","text":"Save","placement":"unplaced"},
2596
+ {"key":"L0139","section":"Preferred roles","text":"Saves when you press Save; your next","placement":"placed","file":"modules/hall-ui/public/settings.html","line":162,"string_id":"42cbc20a6ec8"},
2597
+ {"key":"L0140","section":"Preferred roles","text":"/builder-start","placement":"unplaced"},
2598
+ {"key":"L0141","section":"Preferred roles","text":"reflects it.","placement":"placed","file":"modules/hall-ui/public/settings.html","line":162,"string_id":"26da1df6fd4a"},
2599
+ {"key":"L0142","section":"Preferred roles","text":"Could not load your security cards: {…}","placement":"placed","file":"modules/hall-ui/public/settings-passkeys.js","line":115,"string_id":"9e77d71db3ec"},
2600
+ {"key":"L0143","section":"Preferred roles","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":734,"string_id":"fd1903586e8e"},
2601
+ {"key":"L0144","section":"What are you doing now?","text":"What are you doing now?","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":735,"string_id":"60853319f290"},
2602
+ {"key":"L0145","section":"What are you doing now?","text":"Pick one. You can switch any time from the top bar.","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":736,"string_id":"4f87d5b17b54"},
2603
+ {"key":"L0146","section":"What are you doing now?","text":"Building","placement":"unplaced"},
2604
+ {"key":"L0147","section":"What are you doing now?","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","occurrences":3},
2605
+ {"key":"L0148","section":"What are you doing now?","text":"Artistry","placement":"unplaced"},
2606
+ {"key":"L0149","section":"What are you doing now?","text":"Ideating","placement":"unplaced"},
2607
+ {"key":"L0150","section":"What are you doing now?","text":"Turn thoughts into {…}.","placement":"unplaced"},
2608
+ {"key":"L0151","section":"What are you doing now?","text":"Ask me again next session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":739,"string_id":"fa86bf403775"}
2595
2609
  ]
2596
2610
  },
2597
2611
  {
@@ -3396,7 +3410,7 @@
3396
3410
  "surface": "builders",
3397
3411
  "title": "Watch",
3398
3412
  "states_read": ["board","out","operations","security","sessions","autobongos"],
3399
- "files_hash": "08e46562439e6d7b",
3413
+ "files_hash": "679bc20fab4cd7d8",
3400
3414
  "reading_hash": "2e2e07eab2e3e772",
3401
3415
  "counts": {"lines":69,"placed":28,"shared":9,"unplaced":32},
3402
3416
  "omitted": {"data":50},
@@ -0,0 +1,148 @@
1
+ # Running Autobongos on your own device
2
+
3
+ Autobongos is the runner: a program that claims tasks from the goals you choose
4
+ and builds them with Claude Code while you are away. This is how you put it on a
5
+ Windows PC or a Mac — a desktop that is always on, or the laptop you work on —
6
+ and how you start and stop it.
7
+
8
+ It is **one copied command, then one button.** Nothing in it needs an
9
+ administrator.
10
+
11
+ **Design of record:** [ADR 0307](../adr/0307-autobongos-a-deterministic-supervisor-and-agentic-workers.md) §5 and §6.
12
+ In Claude Code, `/autobongos-setup` walks these same steps with you.
13
+
14
+ ---
15
+
16
+ ## What you need
17
+
18
+ - A Windows PC or a Mac you can leave **on and plugged in** while it works.
19
+ - The Metic rank or above on the project.
20
+ - A Claude account, and a GitHub account that can see the project.
21
+
22
+ You do not need to install anything first. The command finds git, Node and
23
+ Claude Code and installs whichever is missing.
24
+
25
+ ## 1. Add the device
26
+
27
+ 1. Open the hall and go to **Settings → Access & keys → Your Autobongos runner**.
28
+ 2. Press **Add a device** and pick **Windows** or **Mac**.
29
+ 3. Press **Copy**.
30
+ 4. On the device, open **PowerShell** (Windows — an ordinary window, not "as
31
+ administrator") or **Terminal** (Mac), paste the line and press Enter.
32
+
33
+ The line carries a code that works **once, for 15 minutes**, so paste it straight
34
+ away. If it has run out, press Add a device again for a new one.
35
+
36
+ While it runs it may stop to ask you for two things, and only these two:
37
+
38
+ - **Sign in to GitHub**, so it can copy the project. Use an account that can see
39
+ the project.
40
+ - **Sign in to Claude**, if Claude Code is not signed in on this device yet.
41
+
42
+ On Windows, Windows itself may ask "allow this app to make changes" while git or
43
+ Node installs. On a Mac with no developer tools, macOS opens its own install
44
+ window: press Install, wait for it to finish, and paste the command again.
45
+
46
+ When it is done it says `Done. This device is connected…`, and the device's card
47
+ appears in Settings by itself.
48
+
49
+ If it stops, it says `Autobongos setup stopped here:` followed by what happened
50
+ and a **What to do** line. Do that, then paste the same command again. Running it
51
+ twice is safe.
52
+
53
+ ### What the command did
54
+
55
+ - Made the runner **its own copy** of the project, in a folder called
56
+ `.cloudbongos-runner` in your home folder. Your own working copy is not touched.
57
+ - Gave the device **a login of its own**. Your own command-line sign-in on that
58
+ device still works, and removing the device later signs only the runner out.
59
+ - Set the runner to **start whenever you sign in** to the device.
60
+
61
+ ## 2. Choose what it works on, and press Run
62
+
63
+ A new device starts **stopped**. The first press is yours.
64
+
65
+ 1. Under **What it works on**, tick the goals you want it to build, and press
66
+ **Save**. You can only choose from goals the project owner has allowed.
67
+ 2. Press **Run** on the device's card.
68
+
69
+ That is all. The button itself now tells you what the device is doing:
70
+
71
+ | The button says | What it means |
72
+ |---|---|
73
+ | **Run** | Stopped on this device. Press to start it. |
74
+ | **Starting…** | It has your press and is picking it up. Under a minute. |
75
+ | **Running** · Stop | Working. The line below says which task, or that it is waiting for work. |
76
+ | **Resting until 3:40 PM** · Stop | Your Claude usage is spent for now. It starts again by itself at that time; the button counts down. |
77
+ | **Stopping…** | You pressed Stop while it was building. It finishes that task first. |
78
+ | **Updating…** | Restarting to pick up new code. A minute or two. |
79
+ | **Ready** · Stop | It is switched on, but something else holds it. The line below says what. |
80
+ | **Device is off or asleep** | No check-in for a while. Wake it and sign in; it picks up by itself. |
81
+
82
+ **Keep the device on and plugged in while it runs.** The runner stops the device
83
+ from going to sleep by itself while it is allowed to work, but closing a laptop
84
+ lid still sleeps it. When a device sleeps the runner pauses, and it picks up
85
+ where it was when the device wakes.
86
+
87
+ ## When the button says Ready
88
+
89
+ The device is switched on and something above it is not. The line under the
90
+ button names it:
91
+
92
+ | The line says | Who can change it |
93
+ |---|---|
94
+ | the project's runner switch is off | The project owner, on **Watch → Autobongos**. |
95
+ | the owner paused your runner | The project owner. |
96
+ | no goals are chosen for it yet | You: tick a goal under **What it works on** and Save. |
97
+ | the project has not allowed any goals for runners yet | The project owner. |
98
+ | idle because … | The rest of the line carries the fix. |
99
+
100
+ ## Stopping, and removing a device
101
+
102
+ - **Stop for now:** press **Stop** on the card. A task already under way is
103
+ finished first.
104
+ - **Remove a device:** press **Remove** on its card. The runner on it is signed
105
+ out at once. To finish the job on the device itself, open PowerShell or
106
+ Terminal there and run:
107
+
108
+ ```
109
+ node .cloudbongos-runner/repo/scripts/bongos/autobongos-host.js uninstall
110
+ ```
111
+
112
+ from your home folder, then delete the `.cloudbongos-runner` folder.
113
+
114
+ ## On the device itself
115
+
116
+ You rarely need these. From your home folder:
117
+
118
+ ```
119
+ node .cloudbongos-runner/repo/scripts/bongos/autobongos-host.js status
120
+ node .cloudbongos-runner/repo/scripts/bongos/autobongos-host.js stop
121
+ node .cloudbongos-runner/repo/scripts/bongos/autobongos-host.js start
122
+ ```
123
+
124
+ `stop` says **Stopped** only after it has watched the runner's programs exit. If
125
+ it says **NOT STOPPED**, it prints the one command that ends them.
126
+
127
+ The runner's own log is `.cloudbongos-runner/logs/autobongos.log`. The morning
128
+ after, `node .cloudbongos-runner/repo/scripts/bongos/autobongos-host.js digest` gives
129
+ the night in five answers: what shipped, what is on hold and why, what each
130
+ worker decided on its own, what it cost, and where your Claude usage stands.
131
+
132
+ ## If something looks wrong
133
+
134
+ | What you see | What to do |
135
+ |---|---|
136
+ | The card never appears after the command | Look at the last lines the command printed; it names what stopped it. If it finished, give it a minute, then run `status` on the device. |
137
+ | **Device is off or asleep**, but it is on | Sign in to the device: the runner starts at sign-in. Then `status`. |
138
+ | **Resting** for hours | That is your Claude usage limit, and it is working as designed. It resumes at the time on the button. |
139
+ | **Running**, but nothing ships for a long time | The tasks in the goals you chose may all be waiting on something. Run the digest above: it says what is on hold and why. |
140
+ | You added the same device twice | Remove one card. One runner per device. |
141
+
142
+ ## An always-on PC that starts with nobody signed in
143
+
144
+ Everything above starts the runner when **you sign in** to the device, which is
145
+ right for a laptop and for most desktops. A Windows PC that must come back after
146
+ a power cut with nobody at the keyboard uses a different install, which needs an
147
+ Administrator window once: [the always-on Windows host](autobongos-windows-host.md).
148
+ One runner per device — the setup command refuses to add a second beside it.