@bongos/core 1.19.297 → 1.19.299
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 +60 -30
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +4 -0
- package/clients/bongos-client/index.cjs +4 -0
- package/clients/bongos-client/index.d.ts +7 -0
- package/clients/bongos-client/index.mjs +4 -0
- package/docs/adr/0185-spark-handoff-credit-split.md +129 -0
- package/docs/adr/README.md +1 -0
- package/docs/api/openapi.json +128 -4
- package/docs/api-reference.md +4 -2
- package/docs/copy-inventory.md +28 -13
- package/docs/copy-registry.json +162 -17
- package/docs/file-map.md +1 -1
- package/modules/dev-box/app/src/vendor/bongos-client.cjs +4 -0
- package/modules/economy/credits.js +156 -31
- package/modules/hall-ui/public/ideas.css +120 -0
- package/modules/hall-ui/public/ideas.html +95 -0
- package/modules/hall-ui/public/ideas.js +335 -0
- package/modules/hall-ui/public/shell.js +8 -0
- package/modules/ideas/routes/inbox.js +121 -12
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/src/bongos/serve-internal.js +6 -1
- package/src/module-api.js +5 -1
- package/tests/hall_nav.mjs +6 -1
- package/tests/idea_credit_split.mjs +224 -0
- package/tests/idea_develop_spark.mjs +47 -10
- package/tests/idea_full_pass_credit.mjs +50 -18
- package/tests/idea_hall_composer.mjs +246 -0
package/docs/api/openapi.json
CHANGED
|
@@ -6307,6 +6307,55 @@
|
|
|
6307
6307
|
]
|
|
6308
6308
|
}
|
|
6309
6309
|
},
|
|
6310
|
+
"/inbox/score": {
|
|
6311
|
+
"post": {
|
|
6312
|
+
"operationId": "post_inbox_score",
|
|
6313
|
+
"tags": [
|
|
6314
|
+
"inbox"
|
|
6315
|
+
],
|
|
6316
|
+
"summary": "POST /inbox/score",
|
|
6317
|
+
"description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
6318
|
+
"x-rank": "any-builder",
|
|
6319
|
+
"x-source": "modules/ideas/routes/inbox.js",
|
|
6320
|
+
"requestBody": {
|
|
6321
|
+
"required": true,
|
|
6322
|
+
"content": {
|
|
6323
|
+
"application/json": {
|
|
6324
|
+
"schema": {
|
|
6325
|
+
"$ref": "#/components/schemas/PostInboxScoreRequest"
|
|
6326
|
+
}
|
|
6327
|
+
}
|
|
6328
|
+
},
|
|
6329
|
+
"x-validated": true
|
|
6330
|
+
},
|
|
6331
|
+
"responses": {
|
|
6332
|
+
"200": {
|
|
6333
|
+
"description": "Success.",
|
|
6334
|
+
"content": {
|
|
6335
|
+
"application/json": {
|
|
6336
|
+
"schema": {
|
|
6337
|
+
"$ref": "#/components/schemas/PostInboxScoreResponse"
|
|
6338
|
+
}
|
|
6339
|
+
}
|
|
6340
|
+
}
|
|
6341
|
+
},
|
|
6342
|
+
"400": {
|
|
6343
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
6344
|
+
},
|
|
6345
|
+
"401": {
|
|
6346
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
6347
|
+
},
|
|
6348
|
+
"403": {
|
|
6349
|
+
"$ref": "#/components/responses/Forbidden"
|
|
6350
|
+
}
|
|
6351
|
+
},
|
|
6352
|
+
"security": [
|
|
6353
|
+
{
|
|
6354
|
+
"builderSession": []
|
|
6355
|
+
}
|
|
6356
|
+
]
|
|
6357
|
+
}
|
|
6358
|
+
},
|
|
6310
6359
|
"/inbox/sparks": {
|
|
6311
6360
|
"get": {
|
|
6312
6361
|
"operationId": "get_inbox_sparks",
|
|
@@ -6345,6 +6394,44 @@
|
|
|
6345
6394
|
]
|
|
6346
6395
|
}
|
|
6347
6396
|
},
|
|
6397
|
+
"/inbox/template": {
|
|
6398
|
+
"get": {
|
|
6399
|
+
"operationId": "get_inbox_template",
|
|
6400
|
+
"tags": [
|
|
6401
|
+
"inbox"
|
|
6402
|
+
],
|
|
6403
|
+
"summary": "GET /inbox/template",
|
|
6404
|
+
"description": "----------------------------------------------------------------------- The two reads the hall's Full Idea composer is built from (task 1002928 / BV1.R152, goal 1000062). The done-when says the live meter must reflect THE REAL SCORER, \"not a second copy of the rules\". A browser cannot require() this module — completeness.js and templates.js are CJS and templates.js reaches inbox.js for DEFAULT_TEMPLATE_KEY, which reaches the pool — so the choice is between re-implementing the arithmetic in page JS and asking the server. These two routes are that ask, and they are why the composer contains no rules at all: GET /inbox/template → what the five fields ARE (so the FORM is rendered from the R141 declaration, not from five <textarea> elements hand-written into the HTML — a hard-coded form is the same \"second copy\" defect as a hard-coded scorer, one step earlier, and it would silently ignore a per-project template (R156)). POST /inbox/score → what it is WORTH right now (the R142 scorer itself, per-field, in template order). BOTH ARE PURE. No DB read, no write, no idea id: they describe and score a payload the caller already holds. That is what makes a debounced call on every keystroke reasonable, and why scoring carries no rank beyond sign-in — it tells you nothing you did not just type. DECLARED BEFORE `GET /inbox/:id`, and for GET /inbox/template that ordering is LOAD-BEARING: Express matches in declaration order, so with `:id` first the literal \"/inbox/template\" binds id='template' and parseId 400s it. Same trap as /inbox/sparks and /inbox/awaiting-nod above. rank: any-builder — filing a Full Idea is open to every role by the goal's own settled decision (\"no permission gate on Full Ideas; completeness scoring and triage do the filtering\"), so describing and scoring one must be too. Deliberately NOT pinned in route-rank-check: neither has a gate to protect.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
6405
|
+
"x-rank": "any-builder",
|
|
6406
|
+
"x-source": "modules/ideas/routes/inbox.js",
|
|
6407
|
+
"responses": {
|
|
6408
|
+
"200": {
|
|
6409
|
+
"description": "Success.",
|
|
6410
|
+
"content": {
|
|
6411
|
+
"application/json": {
|
|
6412
|
+
"schema": {
|
|
6413
|
+
"$ref": "#/components/schemas/GetInboxTemplateResponse"
|
|
6414
|
+
}
|
|
6415
|
+
}
|
|
6416
|
+
}
|
|
6417
|
+
},
|
|
6418
|
+
"400": {
|
|
6419
|
+
"$ref": "#/components/responses/BadRequest"
|
|
6420
|
+
},
|
|
6421
|
+
"401": {
|
|
6422
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
6423
|
+
},
|
|
6424
|
+
"403": {
|
|
6425
|
+
"$ref": "#/components/responses/Forbidden"
|
|
6426
|
+
}
|
|
6427
|
+
},
|
|
6428
|
+
"security": [
|
|
6429
|
+
{
|
|
6430
|
+
"builderSession": []
|
|
6431
|
+
}
|
|
6432
|
+
]
|
|
6433
|
+
}
|
|
6434
|
+
},
|
|
6348
6435
|
"/inbox/{id}": {
|
|
6349
6436
|
"get": {
|
|
6350
6437
|
"operationId": "get_inbox_id",
|
|
@@ -6531,7 +6618,7 @@
|
|
|
6531
6618
|
"inbox"
|
|
6532
6619
|
],
|
|
6533
6620
|
"summary": "POST /inbox/:id/develop",
|
|
6534
|
-
"description": "POST /inbox/:id/develop — DEVELOP A SPARK INTO A FULL IDEA (task 1002922 / BV1.R146, goal 1000062). The pickup half of the handoff R144 and R145 set up: the author consented by marking the spark, the queue made it findable, and now another builder fills in the five template fields and the thought becomes a Full Idea. OPEN TO ANY BUILDER, INCLUDING THE AUTHOR. Cross-builder development is the entire point, so there is no author check here — the mirror image of R144, where the gate was the whole feature. The consent was already given and is already recorded (this row is a spark BECAUSE its author said so), and re-asking for it would make the queue unpickable. Self-development is likewise legal: an author may mark a thought and come back to it themselves. ONLY A SPARK CAN BE DEVELOPED, and \"only once\" is enforced by the DATABASE, not by this handler. developSpark's UPDATE carries `AND grade = 'spark'`, so two builders picking the same spark off the queue at the same instant cannot both succeed — the second matches zero rows. The pre-read below exists ONLY to tell a 404 apart from a 409 and to give a useful message; it is not the guard, and it deliberately does not try to be.
|
|
6621
|
+
"description": "POST /inbox/:id/develop — DEVELOP A SPARK INTO A FULL IDEA (task 1002922 / BV1.R146, goal 1000062). The pickup half of the handoff R144 and R145 set up: the author consented by marking the spark, the queue made it findable, and now another builder fills in the five template fields and the thought becomes a Full Idea. OPEN TO ANY BUILDER, INCLUDING THE AUTHOR. Cross-builder development is the entire point, so there is no author check here — the mirror image of R144, where the gate was the whole feature. The consent was already given and is already recorded (this row is a spark BECAUSE its author said so), and re-asking for it would make the queue unpickable. Self-development is likewise legal: an author may mark a thought and come back to it themselves. ONLY A SPARK CAN BE DEVELOPED, and \"only once\" is enforced by the DATABASE, not by this handler. developSpark's UPDATE carries `AND grade = 'spark'`, so two builders picking the same spark off the queue at the same instant cannot both succeed — the second matches zero rows. The pre-read below exists ONLY to tell a 404 apart from a 409 and to give a useful message; it is not the guard, and it deliberately does not try to be. THE STREAM-2 CREDIT IS PAID HERE, SPLIT (task 1002923 / R147, ADR 0185). R146 shipped this route paying nothing on purpose: with two people involved, the recipient was ambiguous, and awardIdeaFullPassCredit's idempotency predicate is (builder_id, reason) — so guessing the developer would NOT have blocked a later payment to the author, and one idea would have paid twice. R147 resolved that by moving the payee decision INTO the economy module: it reads captured_by + developed_by itself and books 70% to the developer, 30% to the spark author (one payee at 100% when they are the same person). This route can therefore call it safely — it no longer chooses who earns. The board window IS opened, because it is recipient-agnostic (it takes an idea and a score, not a builder) and without it a developed Full Idea could never reach ratification — the handoff would dead-end one step from done. Fail-open like every other caller of that port. rank: any-builder — development is the pickup, and the author's mark is the consent. Deliberately NOT pinned in route-rank-check: there is no gate here to protect, and pinning it would only assert that an open route stays open.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
6535
6622
|
"x-rank": "any-builder",
|
|
6536
6623
|
"x-source": "modules/ideas/routes/inbox.js",
|
|
6537
6624
|
"parameters": [
|
|
@@ -14133,6 +14220,15 @@
|
|
|
14133
14220
|
"count"
|
|
14134
14221
|
]
|
|
14135
14222
|
},
|
|
14223
|
+
"GetInboxTemplateResponse": {
|
|
14224
|
+
"type": "object",
|
|
14225
|
+
"properties": {
|
|
14226
|
+
"template": {}
|
|
14227
|
+
},
|
|
14228
|
+
"required": [
|
|
14229
|
+
"template"
|
|
14230
|
+
]
|
|
14231
|
+
},
|
|
14136
14232
|
"GetLeaderboardResponse": {
|
|
14137
14233
|
"type": "object",
|
|
14138
14234
|
"properties": {
|
|
@@ -17157,6 +17253,34 @@
|
|
|
17157
17253
|
],
|
|
17158
17254
|
"additionalProperties": false
|
|
17159
17255
|
},
|
|
17256
|
+
"PostInboxScoreRequest": {
|
|
17257
|
+
"type": "object",
|
|
17258
|
+
"properties": {
|
|
17259
|
+
"field_values": {
|
|
17260
|
+
"type": "object"
|
|
17261
|
+
},
|
|
17262
|
+
"template_key": {
|
|
17263
|
+
"type": "string"
|
|
17264
|
+
}
|
|
17265
|
+
},
|
|
17266
|
+
"required": [
|
|
17267
|
+
"field_values"
|
|
17268
|
+
],
|
|
17269
|
+
"additionalProperties": false
|
|
17270
|
+
},
|
|
17271
|
+
"PostInboxScoreResponse": {
|
|
17272
|
+
"type": "object",
|
|
17273
|
+
"properties": {
|
|
17274
|
+
"score": {},
|
|
17275
|
+
"fields": {},
|
|
17276
|
+
"template_key": {}
|
|
17277
|
+
},
|
|
17278
|
+
"required": [
|
|
17279
|
+
"score",
|
|
17280
|
+
"fields",
|
|
17281
|
+
"template_key"
|
|
17282
|
+
]
|
|
17283
|
+
},
|
|
17160
17284
|
"PostLearningsRequest": {
|
|
17161
17285
|
"type": "object",
|
|
17162
17286
|
"properties": {
|
|
@@ -18828,9 +18952,9 @@
|
|
|
18828
18952
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
18829
18953
|
}
|
|
18830
18954
|
},
|
|
18831
|
-
"x-endpoint-count":
|
|
18832
|
-
"x-schema-count":
|
|
18955
|
+
"x-endpoint-count": 300,
|
|
18956
|
+
"x-schema-count": 334,
|
|
18833
18957
|
"x-undocumented-bodies": 8,
|
|
18834
|
-
"x-response-schemas":
|
|
18958
|
+
"x-response-schemas": 223,
|
|
18835
18959
|
"x-generated-by": "scripts/gds/gen-api-docs.js"
|
|
18836
18960
|
}
|
package/docs/api-reference.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Bongos API reference
|
|
4
4
|
|
|
5
|
-
> **Generated from the live route files** — the route file is authoritative.
|
|
5
|
+
> **Generated from the live route files** — the route file is authoritative. 300 endpoints across 47 route files.
|
|
6
6
|
> Machine-readable spec: [`docs/api/openapi.json`](api/openapi.json) (OpenAPI 3.1). Rendered docs site: **`/docs`** (e.g. `cloudbongos.com/docs`).
|
|
7
7
|
|
|
8
8
|
Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>.md)): `public` < `any-builder` < `metic+archon` < `archon`.
|
|
@@ -258,7 +258,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
|
|
|
258
258
|
|---|---|---|---|---|
|
|
259
259
|
| GET | `/api/bongos/healthz` | `public` | — | liveness probe; status.example.com hits this anonymously. |
|
|
260
260
|
|
|
261
|
-
## `inbox` (
|
|
261
|
+
## `inbox` (14)
|
|
262
262
|
|
|
263
263
|
| Method | Path | Rank | Body | Description |
|
|
264
264
|
|---|---|---|---|---|
|
|
@@ -273,7 +273,9 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
|
|
|
273
273
|
| POST | `/api/bongos/inbox/:id/spark` | `any-builder` | — | Mark a Quick Idea as a Big Idea Spark — "I have the spark but not the full picture, someone develop this". |
|
|
274
274
|
| DELETE | `/api/bongos/inbox/:id/spark` | `any-builder` | — | Withdraw the Big Idea Spark mark — the reversibility half of R144. |
|
|
275
275
|
| GET | `/api/bongos/inbox/awaiting-nod` | `metic+archon` | — | GET /inbox/awaiting-nod — the NOD QUEUE (task 1003066, BV1.R05). |
|
|
276
|
+
| POST | `/api/bongos/inbox/score` | `any-builder` | `field_values`, `template_key` | |
|
|
276
277
|
| GET | `/api/bongos/inbox/sparks` | `any-builder` | — | GET /inbox/sparks — THE SPARK QUEUE (task 1002921 / BV1.R145, goal 1000062). |
|
|
278
|
+
| GET | `/api/bongos/inbox/template` | `any-builder` | — | ----------------------------------------------------------------------- The two reads the hall's Full Idea composer is built from (task 1… |
|
|
277
279
|
|
|
278
280
|
## `instance` (1)
|
|
279
281
|
|
package/docs/copy-inventory.md
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
> Deterministic on a given tree — regenerate and commit rather than hand-editing.
|
|
5
5
|
> Machine-readable twin: [`copy-registry.json`](copy-registry.json).
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**1354 strings** across 3 surfaces · 1202 distinct pieces of copy · 1354 certain, 0 heuristic · 122 shown in more than one place.
|
|
8
8
|
|
|
9
9
|
## Surfaces
|
|
10
10
|
|
|
11
11
|
| surface | lives at | files | strings |
|
|
12
12
|
|---|---|---|---|
|
|
13
|
-
| `builders-hall` | `modules/hall-ui/public` |
|
|
13
|
+
| `builders-hall` | `modules/hall-ui/public` | 63 | 1070 |
|
|
14
14
|
| `status-dashboard` | `modules/status-ui/public` | 4 | 98 |
|
|
15
15
|
| `landing` | `public-landing` | 2 | 186 |
|
|
16
16
|
|
|
@@ -48,7 +48,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
48
48
|
| `c661548d5140` | 3x | Next → | public-landing/projects.html:748, public-landing/projects.html:817, public-landing/projects.html:857 |
|
|
49
49
|
| `f6f68ba322be` | 3x | Open {…} | modules/hall-ui/public/goal-inbox.js:53, modules/hall-ui/public/goal-inbox.js:69, modules/hall-ui/public/goals.js:67 |
|
|
50
50
|
| `aa4db91b5732` | 3x | Released #{…}. It returns to the queue. | modules/hall-ui/public/goals-page.js:919, modules/hall-ui/public/work.js:792, modules/hall-ui/public/work.js:845 |
|
|
51
|
-
| `e57ec24e13ef` | 3x | Sign in with GitHub | modules/hall-ui/public/builders.js:553, modules/hall-ui/public/builders.js:660, modules/hall-ui/public/shell.js:
|
|
51
|
+
| `e57ec24e13ef` | 3x | Sign in with GitHub | modules/hall-ui/public/builders.js:553, modules/hall-ui/public/builders.js:660, modules/hall-ui/public/shell.js:273 |
|
|
52
52
|
| `df38941b25a6` | 3x | Sign in with GitHub | public-landing/projects.html:525, public-landing/projects.html:583, public-landing/projects.html:692 |
|
|
53
53
|
| `b2b399fdd6a4` | 3x | in progress | modules/hall-ui/public/goals-page.js:423, modules/hall-ui/public/roadmap.js:108, modules/hall-ui/public/roadmap.js:194 |
|
|
54
54
|
| `cc5106af4b35` | 3x | {…} of {…} criteria satisfied | modules/hall-ui/public/goals-lib.js:30, modules/hall-ui/public/goals-page.js:1016, modules/hall-ui/public/goals.js:45 |
|
|
@@ -76,9 +76,9 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
76
76
|
| `3837f6d586a3` | 2x | Copy the task prompt to your clipboard | modules/hall-ui/public/goals-page.js:552, modules/hall-ui/public/work.js:356 |
|
|
77
77
|
| `e3fd1febf63d` | 2x | Could not copy to the clipboard. Try again. | modules/hall-ui/public/goals-page.js:515, modules/hall-ui/public/work.js:461 |
|
|
78
78
|
| `7775fec0fa85` | 2x | Could not load sessions. | modules/hall-ui/public/sessions.js:168, modules/hall-ui/public/sessions.js:207 |
|
|
79
|
-
| … | |
|
|
79
|
+
| … | | _82 more in the JSON registry_ | |
|
|
80
80
|
|
|
81
|
-
## `builders-hall` —
|
|
81
|
+
## `builders-hall` — 1070 strings
|
|
82
82
|
|
|
83
83
|
| id | conf | text | where |
|
|
84
84
|
|---|---|---|---|
|
|
@@ -118,6 +118,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
118
118
|
| `a35dd1f12e78` | certain | 3 · {{Currency}} & karma | `modules/hall-ui/public/diagrams.html:74` |
|
|
119
119
|
| `f1dec47e42d1` | certain | 4 · The complete architecture | `modules/hall-ui/public/diagrams.html:82` |
|
|
120
120
|
| `477235450d2b` | certain | 5 · Versioning | `modules/hall-ui/public/diagrams.html:91` |
|
|
121
|
+
| `8ffdf4995e81` | certain | A Full Idea answers five questions, so that someone else can deliver against it without having to interview yo | `modules/hall-ui/public/ideas.html:33` |
|
|
121
122
|
| `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/builders.js:626` |
|
|
122
123
|
| `2c23271d5d71` | certain | A device is asking to act as you | `modules/hall-ui/public/pair.html:26` |
|
|
123
124
|
| `a22df5ebbd5e` | certain | A flag needs a reason an artist can act on. What is wrong with it, and what would better look like? | `modules/hall-ui/public/copy-desk.js:262` |
|
|
@@ -278,6 +279,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
278
279
|
| `5420bb0b8475` | certain | Could not load the Board Room just now. | `modules/hall-ui/public/government.js:804` |
|
|
279
280
|
| `3f82d4f29e5b` | certain | Could not load the constitution just now. | `modules/hall-ui/public/government.js:628` |
|
|
280
281
|
| `8f597eabf4ac` | certain | Could not load the drachmae guide. | `modules/hall-ui/public/drachmae.js:162` |
|
|
282
|
+
| `b2147cc90e36` | certain | Could not load the idea template. Reload, or file from the terminal with capture.js. | `modules/hall-ui/public/ideas.js:311` |
|
|
281
283
|
| `6264ebc9ede0` | certain | Could not load the primer. | `modules/hall-ui/public/primer.js:620` |
|
|
282
284
|
| `7604af13c40e` | certain | Could not load the profile. | `modules/hall-ui/public/profile.js:330` |
|
|
283
285
|
| `02bb0570996a` | certain | Could not load the ranks. | `modules/hall-ui/public/ranks.js:197` |
|
|
@@ -324,6 +326,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
324
326
|
| `a48e9f098392` | certain | Could not {…} just now. | `modules/hall-ui/public/goals-page.js:1477` |
|
|
325
327
|
| `cb09ee26014f` | certain | Could not {…}: {…} | `modules/hall-ui/public/government.js:266` |
|
|
326
328
|
| `7f600651bbf1` | certain | Couldn’t load your projects right now. | `modules/hall-ui/public/my-projects.js:115` |
|
|
329
|
+
| `28ec06f6060a` | certain | Counted, not judged: each question is worth the same, and earns its share in proportion to how much real text | `modules/hall-ui/public/ideas.html:82` |
|
|
327
330
|
| `38827a954f3b` | certain | Create a custom rank first. | `modules/hall-ui/public/government.js:397` |
|
|
328
331
|
| `dd8ead7adc9a` | certain | Create rank | `modules/hall-ui/public/government.html:62` |
|
|
329
332
|
| `d7beb841395e` | certain | Create task | `modules/hall-ui/public/task-detail.js:354` |
|
|
@@ -341,6 +344,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
341
344
|
| `457f4967541b` | certain | Device pairing | `modules/hall-ui/public/pair.html:15` |
|
|
342
345
|
| `457f4967541b` | certain | Device pairing | `modules/hall-ui/public/pair.html:15` |
|
|
343
346
|
| `433beff4d202` | certain | Device · dev box · memory · server (authority + prod) · GitHub — and the full box→production ship flow. | `modules/hall-ui/public/diagrams.html:86` |
|
|
347
|
+
| `65322ac89221` | certain | Discard draft | `modules/hall-ui/public/ideas.html:60` |
|
|
344
348
|
| `0f685daf1bd5` | certain | Discord connected ✓ | `modules/hall-ui/public/settings.js:819` |
|
|
345
349
|
| `d8017b5ca98f` | certain | Discord unlinked. | `modules/hall-ui/public/settings.js:838` |
|
|
346
350
|
| `f3e09453374f` | certain | Dismissed — looked at, leaving it as it is | `modules/hall-ui/public/copy-desk.html:118` |
|
|
@@ -356,6 +360,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
356
360
|
| `9c728558d6e7` | certain | Drachmae & karma | `modules/hall-ui/public/drachmae.html:15` |
|
|
357
361
|
| `9d9cc4ef8557` | certain | Drachmae & karma — {{worldName}} | `modules/hall-ui/public/drachmae.html:6` |
|
|
358
362
|
| `9d9cc4ef8557` | certain | Drachmae & karma — {{worldName}} | `modules/hall-ui/public/drachmae.html:6` |
|
|
363
|
+
| `2f8d0404039e` | certain | Draft discarded. | `modules/hall-ui/public/ideas.js:301` |
|
|
359
364
|
| `d59beed97d58` | certain | Drag to pan, scroll to zoom | `modules/hall-ui/public/diagrams.html:42` |
|
|
360
365
|
| `67f09099c2d3` | certain | Duplicate — should be said once, in one place | `modules/hall-ui/public/copy-desk.html:95` |
|
|
361
366
|
| `db7f370c0d38` | certain | Each builder’s dev box at a glance. | `modules/hall-ui/public/harbor.js:335` |
|
|
@@ -376,6 +381,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
376
381
|
| `04bbccfe7465` | certain | Everything a new builder needs before claiming their first task. About a ten-minute read. | `modules/hall-ui/public/primer.html:31` |
|
|
377
382
|
| `d629e152f074` | certain | Expires {…} · refreshes on use. | `modules/hall-ui/public/settings.js:888` |
|
|
378
383
|
| `536a7e99640a` | certain | File the flag | `modules/hall-ui/public/copy-desk.html:105` |
|
|
384
|
+
| `077cf99f49f6` | certain | File this idea | `modules/hall-ui/public/ideas.html:59` |
|
|
379
385
|
| `1def0e7c716e` | certain | Find something to flag | `modules/hall-ui/public/copy-desk.html:65` |
|
|
380
386
|
| `1109aec05482` | certain | First install | `modules/hall-ui/public/builders.js:1051` |
|
|
381
387
|
| `eab4f9da9037` | certain | First open: your computer warns about an unknown developer — expected (we haven't bought the signing certifica | `modules/hall-ui/public/settings.html:184` |
|
|
@@ -384,6 +390,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
384
390
|
| `86ef86c5c647` | certain | Fit to view | `modules/hall-ui/public/diagram-viewer.js:97` |
|
|
385
391
|
| `86ef86c5c647` | certain | Fit to view | `modules/hall-ui/public/diagram-viewer.js:100` |
|
|
386
392
|
| `78107a76a755` | certain | Five diagrams that show, at a glance, how work flows through {{worldName}}'s development system. | `modules/hall-ui/public/diagrams.html:42` |
|
|
393
|
+
| `18ab1be9d3ad` | certain | Five questions, and a score that counts how much of each you actually answered. | `modules/hall-ui/public/ideas.js:321` |
|
|
387
394
|
| `b9267033b1f1` | certain | Flag this copy | `modules/hall-ui/public/copy-desk.html:87` |
|
|
388
395
|
| `448d00771dc8` | certain | Flagged. It is in the queue. | `modules/hall-ui/public/copy-desk.js:281` |
|
|
389
396
|
| `617f13fa3fdb` | certain | Flip the switch. | `modules/hall-ui/public/builders.js:984` |
|
|
@@ -437,6 +444,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
437
444
|
| `08d3bf741a2c` | certain | I have read it | `modules/hall-ui/public/primer.html:67` |
|
|
438
445
|
| `08d3bf741a2c` | certain | I have read it | `modules/hall-ui/public/primer.js:496` |
|
|
439
446
|
| `e181637c5a5e` | certain | Ideas awaiting triage | `modules/hall-ui/public/builders.js:1876` |
|
|
447
|
+
| `ef224c9de7c8` | certain | Ideas — {{worldName}} | `modules/hall-ui/public/ideas.html:6` |
|
|
448
|
+
| `ef224c9de7c8` | certain | Ideas — {{worldName}} | `modules/hall-ui/public/ideas.html:6` |
|
|
440
449
|
| `b6c47d4ee42c` | certain | Image key removed. | `modules/hall-ui/public/settings.js:1089` |
|
|
441
450
|
| `783853467d52` | certain | Image-generation key | `modules/hall-ui/public/settings.html:137` |
|
|
442
451
|
| `5c2e2bcbd5fb` | certain | In Progress | `modules/hall-ui/public/work.html:72` |
|
|
@@ -452,8 +461,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
452
461
|
| `7ee76a958445` | certain | Join requests | `modules/hall-ui/public/goals-page.js:1573` |
|
|
453
462
|
| `b7ab5922126b` | certain | Join-requests to approve | `modules/hall-ui/public/goal-inbox.js:117` |
|
|
454
463
|
| `d305f0df6f25` | certain | Jump to | `modules/hall-ui/public/palette.js:223` |
|
|
455
|
-
| `2bfc5a50ce88` | certain | Jump to a page or record | `modules/hall-ui/public/shell.js:
|
|
456
|
-
| `eba610d25523` | certain | Jump to… | `modules/hall-ui/public/shell.js:
|
|
464
|
+
| `2bfc5a50ce88` | certain | Jump to a page or record | `modules/hall-ui/public/shell.js:312` |
|
|
465
|
+
| `eba610d25523` | certain | Jump to… | `modules/hall-ui/public/shell.js:314` |
|
|
457
466
|
| `bc779353aa0c` | certain | Karma — peer recognition and approvals, a separate counter from {…}. | `modules/hall-ui/public/profile.js:58` |
|
|
458
467
|
| `32d25ef2182d` | certain | Keep box | `modules/hall-ui/public/box-panel.js:164` |
|
|
459
468
|
| `fbe40b5818a3` | certain | Key removed. | `modules/hall-ui/public/settings.js:1088` |
|
|
@@ -486,6 +495,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
486
495
|
| `a8b3b04b0b4d` | certain | Loading the copy desk… | `modules/hall-ui/public/copy-desk.html:23` |
|
|
487
496
|
| `2bde9c630fd2` | certain | Loading the directory… | `modules/hall-ui/public/people.html:31` |
|
|
488
497
|
| `e099cf0e0135` | certain | Loading the drachmae guide… | `modules/hall-ui/public/drachmae.html:50` |
|
|
498
|
+
| `fcd755e8dd30` | certain | Loading the five questions… | `modules/hall-ui/public/ideas.html:53` |
|
|
499
|
+
| `95a5382e5277` | certain | Loading the idea template… | `modules/hall-ui/public/ideas.html:23` |
|
|
489
500
|
| `9972fc9b4727` | certain | Loading the map… | `modules/hall-ui/public/atlas.html:36` |
|
|
490
501
|
| `0f9f86c556a2` | certain | Loading the primer… | `modules/hall-ui/public/primer.html:55` |
|
|
491
502
|
| `ceec2218efe3` | certain | Loading the roadmap… | `modules/hall-ui/public/roadmap.html:24` |
|
|
@@ -575,13 +586,14 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
575
586
|
| `55bc72820efc` | certain | Older → | `modules/hall-ui/public/sessions.html:58` |
|
|
576
587
|
| `b89ad49770e7` | certain | On Windows, run | `modules/hall-ui/public/builders.js:1051` |
|
|
577
588
|
| `c9454da07fc7` | certain | One click, and the app can act as you. | `modules/hall-ui/public/pair.js:52` |
|
|
589
|
+
| `d5f0b7156024` | certain | One line. This is what the idea is called everywhere else. | `modules/hall-ui/public/ideas.html:42` |
|
|
578
590
|
| `0bc1d1470e22` | certain | Only an open goal can be managed. | `modules/hall-ui/public/goals-page.js:1492` |
|
|
579
591
|
| `fa818ee444b4` | certain | Only this goal's owner or a manager (or an Archon) may do this. | `modules/hall-ui/public/goals-page.js:1491` |
|
|
580
592
|
| `544011db314a` | certain | Only this goal's owner or a manager (or an Archon) may invite. | `modules/hall-ui/public/goals-page.js:1458` |
|
|
581
593
|
| `6912678b962b` | certain | Open details for task {…} | `modules/hall-ui/public/goals-page.js:559` |
|
|
582
594
|
| `6912678b962b` | certain | Open details for task {…} | `modules/hall-ui/public/work.js:341` |
|
|
583
595
|
| `261d123970e8` | certain | Open goal #{…} | `modules/hall-ui/public/roadmap.js:100` |
|
|
584
|
-
| `3366b115217b` | certain | Open navigation | `modules/hall-ui/public/shell.js:
|
|
596
|
+
| `3366b115217b` | certain | Open navigation | `modules/hall-ui/public/shell.js:303` |
|
|
585
597
|
| `0f0b1e62148d` | certain | Open online environment | `modules/hall-ui/public/box-panel.js:421` |
|
|
586
598
|
| `855277dff074` | certain | Open task #{…} | `modules/hall-ui/public/goals-page.js:672` |
|
|
587
599
|
| `855277dff074` | certain | Open task #{…} | `modules/hall-ui/public/work.js:963` |
|
|
@@ -736,9 +748,9 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
736
748
|
| `b057dfbf49c5` | certain | Sign in when Claude prompts you. | `modules/hall-ui/public/builders.js:984` |
|
|
737
749
|
| `e57ec24e13ef` | certain | Sign in with GitHub | `modules/hall-ui/public/builders.js:553` |
|
|
738
750
|
| `e57ec24e13ef` | certain | Sign in with GitHub | `modules/hall-ui/public/builders.js:660` |
|
|
739
|
-
| `e57ec24e13ef` | certain | Sign in with GitHub | `modules/hall-ui/public/shell.js:
|
|
740
|
-
| `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:
|
|
741
|
-
| `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:
|
|
751
|
+
| `e57ec24e13ef` | certain | Sign in with GitHub | `modules/hall-ui/public/shell.js:273` |
|
|
752
|
+
| `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:291` |
|
|
753
|
+
| `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:426` |
|
|
742
754
|
| `ecc12c1dd4de` | certain | Skill voices | `modules/hall-ui/public/settings.html:244` |
|
|
743
755
|
| `688ca7b6e30f` | certain | Slop — reads as machine-written | `modules/hall-ui/public/copy-desk.html:92` |
|
|
744
756
|
| `82df09a08476` | certain | So the Archon knows who you are | `modules/hall-ui/public/builders.js:553` |
|
|
@@ -756,7 +768,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
756
768
|
| `6c6544f5c011` | certain | Stored encrypted; never shown again after saving — only its last four digits. | `modules/hall-ui/public/settings.html:146` |
|
|
757
769
|
| `1dd8f7dd6139` | certain | Submit "{…}" for review | `modules/hall-ui/public/modules.js:159` |
|
|
758
770
|
| `d71b721636ae` | certain | Submit one of this project's own modules for review, so it can join the shared Cloud Bongos catalog with your | `modules/hall-ui/public/modules.html:55` |
|
|
759
|
-
| `1e40f33483eb` | certain | Switch theme | `modules/hall-ui/public/shell.js:
|
|
771
|
+
| `1e40f33483eb` | certain | Switch theme | `modules/hall-ui/public/shell.js:318` |
|
|
760
772
|
| `93fa2e97dd35` | certain | System default for this skill | `modules/hall-ui/public/settings.js:74` |
|
|
761
773
|
| `1cc5e12dde31` | certain | System oversight. Every panel below is Archon-only. | `modules/hall-ui/public/watch.js:897` |
|
|
762
774
|
| `5f45e431346f` | certain | Task #{…} | `modules/hall-ui/public/task.js:176` |
|
|
@@ -771,7 +783,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
771
783
|
| `2fc66e722e33` | certain | Tasks open once you have read the builder primer. | `modules/hall-ui/public/work.html:38` |
|
|
772
784
|
| `44579eef0c8d` | certain | Tasks — {{worldName}} | `modules/hall-ui/public/work.html:6` |
|
|
773
785
|
| `44579eef0c8d` | certain | Tasks — {{worldName}} | `modules/hall-ui/public/work.html:6` |
|
|
774
|
-
| `2f4f047dc1b4` | certain | Text size | `modules/hall-ui/public/shell.js:
|
|
786
|
+
| `2f4f047dc1b4` | certain | Text size | `modules/hall-ui/public/shell.js:317` |
|
|
775
787
|
| `4a8d1beb6f98` | certain | That project isn’t on the platform. | `modules/hall-ui/public/my-projects.js:134` |
|
|
776
788
|
| `c0e28f30524d` | certain | That project's own standing, as reported by that project. | `modules/hall-ui/public/profile.js:224` |
|
|
777
789
|
| `50198c465225` | certain | The 16-value rank enum in three bands, which ranks are live, and the permissions each rank holds. | `modules/hall-ui/public/diagrams.html:68` |
|
|
@@ -884,6 +896,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
884
896
|
| `c5fd76a9e03d` | certain | Won {…} | `modules/hall-ui/public/builders.js:1294` |
|
|
885
897
|
| `c5fd76a9e03d` | certain | Won {…} | `modules/hall-ui/public/profile.js:115` |
|
|
886
898
|
| `520d139df9eb` | certain | Work is complete but the version is held — no tasks are being claimed here right now. | `modules/hall-ui/public/roadmap.js:223` |
|
|
899
|
+
| `52e5fe3c6075` | certain | Write a Full Idea | `modules/hall-ui/public/ideas.html:32` |
|
|
887
900
|
| `c368b56ecf40` | certain | Xenos builders start with a focused set of pages — ship your first | `modules/hall-ui/public/not-ready.html:26` |
|
|
888
901
|
| `b6b0fcb2bcee` | certain | You already have a pending request or invitation for this goal. | `modules/hall-ui/public/goals-page.js:1509` |
|
|
889
902
|
| `a674836fec16` | certain | You already have access ✓ | `modules/hall-ui/public/builders.js:660` |
|
|
@@ -975,6 +988,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
975
988
|
| `17ab8db79e1f` | certain | holds the worker, the code, and your local memory; the | `modules/hall-ui/public/diagrams.html:83` |
|
|
976
989
|
| `7d5cbe3d81e4` | certain | how long a vote stays open | `modules/hall-ui/public/government.html:40` |
|
|
977
990
|
| `dacb901c4f10` | certain | idea number | `modules/hall-ui/public/task-detail.js:445` |
|
|
991
|
+
| `7df22e74c87a` | certain | idea {…} | `modules/hall-ui/public/ideas.js:288` |
|
|
978
992
|
| `b2b399fdd6a4` | certain | in progress | `modules/hall-ui/public/goals-page.js:423` |
|
|
979
993
|
| `b2b399fdd6a4` | certain | in progress | `modules/hall-ui/public/roadmap.js:108` |
|
|
980
994
|
| `b2b399fdd6a4` | certain | in progress | `modules/hall-ui/public/roadmap.js:194` |
|
|
@@ -1051,6 +1065,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1051
1065
|
| `91da4deb30aa` | certain | view diff ↗ | `modules/hall-ui/public/gate.js:138` |
|
|
1052
1066
|
| `35be9e0923da` | certain | walks the whole path in plain language. | `modules/hall-ui/public/builders.js:1051` |
|
|
1053
1067
|
| `17705daf7b85` | certain | what counts as passing | `modules/hall-ui/public/government.html:40` |
|
|
1068
|
+
| `b1c5eaa20a9d` | certain | what the idea is, in one line | `modules/hall-ui/public/ideas.html:45` |
|
|
1054
1069
|
| `1651cb1876f5` | certain | who sits on the board | `modules/hall-ui/public/government.html:40` |
|
|
1055
1070
|
| `4109de2e0bb9` | certain | whole surface | `modules/hall-ui/public/copy-desk.js:88` |
|
|
1056
1071
|
| `4109de2e0bb9` | certain | whole surface | `modules/hall-ui/public/copy-desk.js:251` |
|