From dc459a5b74a3c44f36a8366de0f729a0db873017 Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Wed, 14 Oct 2026 13:43:29 -0500 Subject: [PATCH] queue: rows 119-129 for PRD 1.2 build steps 2-11 (#1613-#1623), row 127 blocked on #237; row 116 brief round 2 (revs 1148-1160) Co-Authored-By: Claude Opus 5.5 --- docs/plans/QUEUE.md | 13 +- docs/plans/queue.json | 937 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 946 insertions(+), 4 deletions(-) diff --git a/docs/plans/QUEUE.md b/docs/plans/QUEUE.md index cfa729654..b45eb25f1 100644 --- a/docs/plans/QUEUE.md +++ b/docs/plans/QUEUE.md @@ -33,7 +33,7 @@ Gaps found while working go to `docs/plans/DEFERRED.md`, not here. -Generated from `docs/plans/queue.json` revision 1147 by `queue render`. Do not edit between the markers; change the queue with `scripts/mosaic queue`. +Generated from `docs/plans/queue.json` revision 1160 by `queue render`. Do not edit between the markers; change the queue with `scripts/mosaic queue`. | # | Piece | Owner | Issues | State | After | Gate | Brief | Note | |---|---|---|---|---|---|---|---|---| @@ -155,6 +155,17 @@ Generated from `docs/plans/queue.json` revision 1147 by `queue render`. Do not e | 116 | A resolved merge decision lands as a gated local commit | darkwing; reviewers filbert | #1610 | queued | 115 done, 117 done | Filbert approves on #1610 naming the candidate manifest; Sage's full gate rerun at the landing target; the 19/265 replay matches f7c8537b3's tree and 010d30cbe refuses root-file (sage) | `docs/plans/2026-10-14_merge-path-for-approved-work.md` § A resolved merge decision lands as a gated local commit | — | | 117 | Fetch a role clone that is on another branch or dirty | darkwing; reviewers dewey | #1611 | done | — | Dewey approves on #1611 naming the candidate manifest; Sage's full gate rerun at the landing target; a dirty or off-branch clone fetches origin and nothing else moves (sage) | `docs/plans/2026-10-14_clone-fetch-off-branch.md` § Fetch a role clone that is on another branch or dirty | — | | 118 | No auto-maintenance from the host's git in a role clone | darkwing; reviewers dewey | #1612 | queued | 116 done | Dewey approves on #1612 naming the candidate manifest; Sage's full gate rerun at the landing target; every host git call in a clone carries maintenance.auto=false and gc.auto=0 (sage) | `docs/plans/2026-10-14_clone-fetch-no-maintenance.md` § No auto-maintenance from the host's git in a role clone | — | +| 119 | Role files for the chief of staff and the assistant | researcher; reviewers filbert | #1613 | queued | — | Filbert approves on #1613 naming the candidate manifest; Sage's full gate rerun at the landing target; tests pin the assistant to message.send only, role.launch on the chief of staff and off the PM (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § Role files for the chief of staff and the assistant | — | +| 120 | The broker limits who the assistant sends to and hears from | researcher; reviewers filbert | #1614 | queued | 119 done | Filbert approves on #1614 naming the candidate manifest; Sage's full gate rerun at the landing target; both directions refused and logged, a role without the field unchanged (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § The broker limits who the assistant sends to and hears from | — | +| 121 | Projects and threads in the bus | darkwing; reviewers dewey | #1615 | queued | 118 done, 120 done | Sage approves the design packet on #1615 before code; Dewey approves on #1615 naming the candidate manifest; Sage's full gate rerun at the landing target; the migration runs on a copy of a schema-current database (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § Projects and threads in the bus | Large. Design packet first (schema, migration, per-thread session store, idle stop). Lands with a downtime re-pin on Mos's go. | +| 122 | Agent limits as settings, with the organization-file write path | rocko; reviewers filbert | #1616 | queued | — | Filbert approves on #1616 naming the candidate manifest; Sage's full gate rerun at the landing target; Mos's go before landing (decision 123, Settings form) (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § Agent limits as settings, with the organization-file write path | Decision 123 applies: the Settings form changes webui public files. Design note on the launch schema and migration first. The row never runs the migration on Jason's file. | +| 123 | The chief of staff ends runs and changes the organization file | researcher; reviewers filbert | #1617 | queued | 119 done, 122 done | Filbert approves on #1617 naming the candidate manifest; Sage's full gate rerun at the landing target; revoke by the chief of staff logged with a reason, other roles still gated (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § The chief of staff ends runs and changes the organization file | — | +| 124 | Token accounting per run | rocko; reviewers dewey | #1618 | queued | 122 done | Dewey approves on #1618 naming the candidate manifest; Sage's full gate rerun at the landing target; Mos's go before landing (decision 123, Settings readout); untrusted-file guards each have a mutant (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § Token accounting per run | The host reads transcripts a session can write. A count is the stack's best reading, not proof. | +| 125 | Token limits per instance, model, provider and key | researcher; reviewers filbert | #1619 | queued | 123 done, 124 done | Filbert approves on #1619 naming the candidate manifest; Sage's full gate rerun at the landing target; refusal, hand reset and end-of-turn stop each tested (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § Token limits per instance, model, provider and key | — | +| 126 | Daily quota for the credential the stack uses today | dewey; reviewers filbert | #1620 | queued | 124 done | Filbert approves on #1620 naming the candidate manifest; Sage's full gate rerun at the landing target; the day boundary tested in a non-UTC time zone (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § Daily quota for the credential the stack uses today | — | +| 127 | Quota for more than one account or per proxy key (parked on #237) | sage | #1621 | blocked (from queued): Waits on the #237 credential design; the proxy route needs Jason's call (sage-0188). Mos asked for parked, which only Jason may set. | — | Not sized. Sage sizes it once the #237 design settles; the proxy route needs Jason's call on management API access (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § Quota for more than one account or per proxy key (parked on #237) | Proxy facts from Mos in sage-0188. Nobody reads the proxy config or key files for this row. | +| 128 | mosaic talks to the assistant in a named thread | darkwing; reviewers filbert | #1622 | queued | 121 done | Filbert approves on #1622 naming the candidate manifest; Sage's full gate rerun at the landing target; a send to a thread the user doesn't own is refused (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § mosaic talks to the assistant in a named thread | — | +| 129 | The WebUI chat area | rocko; reviewers filbert | #1623 | queued | 121 done, 122 done, 128 done | Filbert approves on #1623 naming the candidate manifest; Sage's full gate rerun at the landing target; Mos's go before landing (decision 123) (sage) | `docs/plans/2026-10-14_prd-1.2-build.md` § The WebUI chat area | Decision 123 applies: webui public files go live on landing. | diff --git a/docs/plans/queue.json b/docs/plans/queue.json index e31b361b1..2d6a97d5a 100644 --- a/docs/plans/queue.json +++ b/docs/plans/queue.json @@ -1,7 +1,7 @@ { "version": 1, "canonicalRoot": "/mnt/storage/src/mosaic-stack", - "revision": 1147, + "revision": 1160, "rows": [ { "id": 1, @@ -10498,7 +10498,7 @@ "brief": { "path": "docs/plans/2026-10-14_merge-path-for-approved-work.md", "anchor": "A resolved merge decision lands as a gated local commit", - "blob": "ffe22d000161e83f7eae6beb0e55ac70ede2fb9e" + "blob": "7a610f379fb17cdf72b6a2dbb6d8d43df5c7963d" }, "after": [ { @@ -10518,7 +10518,7 @@ "note": null, "blockedReason": null, "createdAt": "2026-10-14T16:55:40.928Z", - "updatedAt": "2026-10-14T17:20:38.723Z", + "updatedAt": "2026-10-14T17:49:54.731Z", "updatedBy": "sage" }, { @@ -10634,6 +10634,427 @@ "createdAt": "2026-10-14T17:39:12.393Z", "updatedAt": "2026-10-14T17:39:12.393Z", "updatedBy": "sage" + }, + { + "id": 119, + "piece": "Role files for the chief of staff and the assistant", + "owner": "researcher", + "issues": [ + 1613 + ], + "closes": [ + 1613 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Filbert approves on #1613 naming the candidate manifest; Sage's full gate rerun at the landing target; tests pin the assistant to message.send only, role.launch on the chief of staff and off the PM", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Role files for the chief of staff and the assistant", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [], + "reviewers": [ + "filbert" + ], + "review": null, + "claim": null, + "note": null, + "blockedReason": null, + "createdAt": "2026-10-14T18:41:31.794Z", + "updatedAt": "2026-10-14T18:41:31.794Z", + "updatedBy": "sage" + }, + { + "id": 120, + "piece": "The broker limits who the assistant sends to and hears from", + "owner": "researcher", + "issues": [ + 1614 + ], + "closes": [ + 1614 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Filbert approves on #1614 naming the candidate manifest; Sage's full gate rerun at the landing target; both directions refused and logged, a role without the field unchanged", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "The broker limits who the assistant sends to and hears from", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [ + { + "id": 119, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "review": null, + "claim": null, + "note": null, + "blockedReason": null, + "createdAt": "2026-10-14T18:41:36.653Z", + "updatedAt": "2026-10-14T18:41:36.653Z", + "updatedBy": "sage" + }, + { + "id": 121, + "piece": "Projects and threads in the bus", + "owner": "darkwing", + "issues": [ + 1615 + ], + "closes": [ + 1615 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Sage approves the design packet on #1615 before code; Dewey approves on #1615 naming the candidate manifest; Sage's full gate rerun at the landing target; the migration runs on a copy of a schema-current database", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Projects and threads in the bus", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [ + { + "id": 118, + "when": "done" + }, + { + "id": 120, + "when": "done" + } + ], + "reviewers": [ + "dewey" + ], + "review": null, + "claim": null, + "note": "Large. Design packet first (schema, migration, per-thread session store, idle stop). Lands with a downtime re-pin on Mos's go.", + "blockedReason": null, + "createdAt": "2026-10-14T18:41:42.144Z", + "updatedAt": "2026-10-14T18:41:42.144Z", + "updatedBy": "sage" + }, + { + "id": 122, + "piece": "Agent limits as settings, with the organization-file write path", + "owner": "rocko", + "issues": [ + 1616 + ], + "closes": [ + 1616 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Filbert approves on #1616 naming the candidate manifest; Sage's full gate rerun at the landing target; Mos's go before landing (decision 123, Settings form)", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Agent limits as settings, with the organization-file write path", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [], + "reviewers": [ + "filbert" + ], + "review": null, + "claim": null, + "note": "Decision 123 applies: the Settings form changes webui public files. Design note on the launch schema and migration first. The row never runs the migration on Jason's file.", + "blockedReason": null, + "createdAt": "2026-10-14T18:41:46.936Z", + "updatedAt": "2026-10-14T18:41:46.936Z", + "updatedBy": "sage" + }, + { + "id": 123, + "piece": "The chief of staff ends runs and changes the organization file", + "owner": "researcher", + "issues": [ + 1617 + ], + "closes": [ + 1617 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Filbert approves on #1617 naming the candidate manifest; Sage's full gate rerun at the landing target; revoke by the chief of staff logged with a reason, other roles still gated", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "The chief of staff ends runs and changes the organization file", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [ + { + "id": 119, + "when": "done" + }, + { + "id": 122, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "review": null, + "claim": null, + "note": null, + "blockedReason": null, + "createdAt": "2026-10-14T18:41:52.248Z", + "updatedAt": "2026-10-14T18:41:52.248Z", + "updatedBy": "sage" + }, + { + "id": 124, + "piece": "Token accounting per run", + "owner": "rocko", + "issues": [ + 1618 + ], + "closes": [ + 1618 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Dewey approves on #1618 naming the candidate manifest; Sage's full gate rerun at the landing target; Mos's go before landing (decision 123, Settings readout); untrusted-file guards each have a mutant", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Token accounting per run", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [ + { + "id": 122, + "when": "done" + } + ], + "reviewers": [ + "dewey" + ], + "review": null, + "claim": null, + "note": "The host reads transcripts a session can write. A count is the stack's best reading, not proof.", + "blockedReason": null, + "createdAt": "2026-10-14T18:41:57.074Z", + "updatedAt": "2026-10-14T18:41:57.074Z", + "updatedBy": "sage" + }, + { + "id": 125, + "piece": "Token limits per instance, model, provider and key", + "owner": "researcher", + "issues": [ + 1619 + ], + "closes": [ + 1619 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Filbert approves on #1619 naming the candidate manifest; Sage's full gate rerun at the landing target; refusal, hand reset and end-of-turn stop each tested", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Token limits per instance, model, provider and key", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [ + { + "id": 123, + "when": "done" + }, + { + "id": 124, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "review": null, + "claim": null, + "note": null, + "blockedReason": null, + "createdAt": "2026-10-14T18:42:01.917Z", + "updatedAt": "2026-10-14T18:42:01.917Z", + "updatedBy": "sage" + }, + { + "id": 126, + "piece": "Daily quota for the credential the stack uses today", + "owner": "dewey", + "issues": [ + 1620 + ], + "closes": [ + 1620 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Filbert approves on #1620 naming the candidate manifest; Sage's full gate rerun at the landing target; the day boundary tested in a non-UTC time zone", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Daily quota for the credential the stack uses today", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [ + { + "id": 124, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "review": null, + "claim": null, + "note": null, + "blockedReason": null, + "createdAt": "2026-10-14T18:42:06.628Z", + "updatedAt": "2026-10-14T18:42:06.628Z", + "updatedBy": "sage" + }, + { + "id": 127, + "piece": "Quota for more than one account or per proxy key (parked on #237)", + "owner": "sage", + "issues": [ + 1621 + ], + "closes": [ + 1621 + ], + "state": "blocked", + "previousState": "queued", + "required": false, + "requiredSince": null, + "gate": "Not sized. Sage sizes it once the #237 design settles; the proxy route needs Jason's call on management API access", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Quota for more than one account or per proxy key (parked on #237)", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [], + "reviewers": [], + "review": null, + "claim": null, + "note": "Proxy facts from Mos in sage-0188. Nobody reads the proxy config or key files for this row.", + "blockedReason": "Waits on the #237 credential design; the proxy route needs Jason's call (sage-0188). Mos asked for parked, which only Jason may set.", + "createdAt": "2026-10-14T18:42:11.686Z", + "updatedAt": "2026-10-14T18:42:46.919Z", + "updatedBy": "sage" + }, + { + "id": 128, + "piece": "mosaic talks to the assistant in a named thread", + "owner": "darkwing", + "issues": [ + 1622 + ], + "closes": [ + 1622 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Filbert approves on #1622 naming the candidate manifest; Sage's full gate rerun at the landing target; a send to a thread the user doesn't own is refused", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "mosaic talks to the assistant in a named thread", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [ + { + "id": 121, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "review": null, + "claim": null, + "note": null, + "blockedReason": null, + "createdAt": "2026-10-14T18:42:16.307Z", + "updatedAt": "2026-10-14T18:42:16.307Z", + "updatedBy": "sage" + }, + { + "id": 129, + "piece": "The WebUI chat area", + "owner": "rocko", + "issues": [ + 1623 + ], + "closes": [ + 1623 + ], + "state": "queued", + "previousState": null, + "required": false, + "requiredSince": null, + "gate": "Filbert approves on #1623 naming the candidate manifest; Sage's full gate rerun at the landing target; Mos's go before landing (decision 123)", + "gateOwner": "sage", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "The WebUI chat area", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "after": [ + { + "id": 121, + "when": "done" + }, + { + "id": 122, + "when": "done" + }, + { + "id": 128, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "review": null, + "claim": null, + "note": "Decision 123 applies: webui public files go live on landing.", + "blockedReason": null, + "createdAt": "2026-10-14T18:42:20.989Z", + "updatedAt": "2026-10-14T18:42:20.989Z", + "updatedBy": "sage" } ], "log": [ @@ -40980,6 +41401,516 @@ "receipt": "ok sage-117-done rev 1147 row 117 in-review→done round 1" }, "viewSha": "74d51a1a9e295db2fac6c328c23110ab36b090efcbe4f5ca6257303e5eaa3262" + }, + { + "rev": 1148, + "op": "sage-116-brief-2", + "verb": "set", + "args": { + "id": 116, + "field": "brief", + "value": "docs/plans/2026-10-14_merge-path-for-approved-work.md#A resolved merge decision lands as a gated local commit", + "reason": null + }, + "by": "sage", + "at": "2026-10-14T17:49:54.731Z", + "semantics": 2, + "result": { + "row": 116, + "field": "brief", + "from": { + "path": "docs/plans/2026-10-14_merge-path-for-approved-work.md", + "anchor": "A resolved merge decision lands as a gated local commit", + "blob": "ffe22d000161e83f7eae6beb0e55ac70ede2fb9e" + }, + "to": { + "path": "docs/plans/2026-10-14_merge-path-for-approved-work.md", + "anchor": "A resolved merge decision lands as a gated local commit", + "blob": "7a610f379fb17cdf72b6a2dbb6d8d43df5c7963d" + }, + "receipt": "ok sage-116-brief-2 rev 1148 row 116 brief: docs/plans/2026-10-14_merge-path-for-approved-work.md § A resolved merge decision lands as a gated local commit @ffe22d000161→docs/plans/2026-10-14_merge-path-for-approved-work.md § A resolved merge decision lands as a gated local commit @7a610f379fb1" + }, + "viewSha": "ae3aa0f26d1bbb06da1dde1e885e6b8a377512d75f02669edc823733f07aa38e" + }, + { + "rev": 1149, + "op": "sage-119-add", + "verb": "add", + "args": { + "piece": "Role files for the chief of staff and the assistant", + "gate": "Filbert approves on #1613 naming the candidate manifest; Sage's full gate rerun at the landing target; tests pin the assistant to message.send only, role.launch on the chief of staff and off the PM", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#Role files for the chief of staff and the assistant", + "issues": [ + 1613 + ], + "note": null, + "owner": "researcher", + "gateOwner": "sage", + "after": null, + "reviewers": [ + "filbert" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:41:31.794Z", + "semantics": 2, + "result": { + "row": 119, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Role files for the chief of staff and the assistant", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-119-add rev 1149 row 119 none→queued" + }, + "viewSha": "bb8b750688d2873aa61ed93684805659cd6995974a48c1a31fd7ad96dac450f7" + }, + { + "rev": 1150, + "op": "sage-120-add", + "verb": "add", + "args": { + "piece": "The broker limits who the assistant sends to and hears from", + "gate": "Filbert approves on #1614 naming the candidate manifest; Sage's full gate rerun at the landing target; both directions refused and logged, a role without the field unchanged", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#The broker limits who the assistant sends to and hears from", + "issues": [ + 1614 + ], + "note": null, + "owner": "researcher", + "gateOwner": "sage", + "after": [ + { + "id": 119, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:41:36.653Z", + "semantics": 2, + "result": { + "row": 120, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "The broker limits who the assistant sends to and hears from", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-120-add rev 1150 row 120 none→queued" + }, + "viewSha": "1003238ef09a98d0ecad6f664727533f03e3a041f013c103b7463e195caf1541" + }, + { + "rev": 1151, + "op": "sage-121-add", + "verb": "add", + "args": { + "piece": "Projects and threads in the bus", + "gate": "Sage approves the design packet on #1615 before code; Dewey approves on #1615 naming the candidate manifest; Sage's full gate rerun at the landing target; the migration runs on a copy of a schema-current database", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#Projects and threads in the bus", + "issues": [ + 1615 + ], + "note": "Large. Design packet first (schema, migration, per-thread session store, idle stop). Lands with a downtime re-pin on Mos's go.", + "owner": "darkwing", + "gateOwner": "sage", + "after": [ + { + "id": 118, + "when": "done" + }, + { + "id": 120, + "when": "done" + } + ], + "reviewers": [ + "dewey" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:41:42.144Z", + "semantics": 2, + "result": { + "row": 121, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Projects and threads in the bus", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-121-add rev 1151 row 121 none→queued" + }, + "viewSha": "6dc0fbbd51de147b0c952eded2b25c5ee122a3ff627e102ffb3fa56c28a141c8" + }, + { + "rev": 1152, + "op": "sage-122-add", + "verb": "add", + "args": { + "piece": "Agent limits as settings, with the organization-file write path", + "gate": "Filbert approves on #1616 naming the candidate manifest; Sage's full gate rerun at the landing target; Mos's go before landing (decision 123, Settings form)", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#Agent limits as settings, with the organization-file write path", + "issues": [ + 1616 + ], + "note": "Decision 123 applies: the Settings form changes webui public files. Design note on the launch schema and migration first. The row never runs the migration on Jason's file.", + "owner": "rocko", + "gateOwner": "sage", + "after": null, + "reviewers": [ + "filbert" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:41:46.936Z", + "semantics": 2, + "result": { + "row": 122, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Agent limits as settings, with the organization-file write path", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-122-add rev 1152 row 122 none→queued" + }, + "viewSha": "fd36196bf546a70ef5e78f9fb7fbdb51f80e772dc6871d695bc334357aa5c84f" + }, + { + "rev": 1153, + "op": "sage-123-add", + "verb": "add", + "args": { + "piece": "The chief of staff ends runs and changes the organization file", + "gate": "Filbert approves on #1617 naming the candidate manifest; Sage's full gate rerun at the landing target; revoke by the chief of staff logged with a reason, other roles still gated", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#The chief of staff ends runs and changes the organization file", + "issues": [ + 1617 + ], + "note": null, + "owner": "researcher", + "gateOwner": "sage", + "after": [ + { + "id": 119, + "when": "done" + }, + { + "id": 122, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:41:52.248Z", + "semantics": 2, + "result": { + "row": 123, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "The chief of staff ends runs and changes the organization file", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-123-add rev 1153 row 123 none→queued" + }, + "viewSha": "de280ffc80b5e7b14b6228587b3f68076e4a51c82b71bb11a6ae2429d86891d9" + }, + { + "rev": 1154, + "op": "sage-124-add", + "verb": "add", + "args": { + "piece": "Token accounting per run", + "gate": "Dewey approves on #1618 naming the candidate manifest; Sage's full gate rerun at the landing target; Mos's go before landing (decision 123, Settings readout); untrusted-file guards each have a mutant", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#Token accounting per run", + "issues": [ + 1618 + ], + "note": "The host reads transcripts a session can write. A count is the stack's best reading, not proof.", + "owner": "rocko", + "gateOwner": "sage", + "after": [ + { + "id": 122, + "when": "done" + } + ], + "reviewers": [ + "dewey" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:41:57.074Z", + "semantics": 2, + "result": { + "row": 124, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Token accounting per run", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-124-add rev 1154 row 124 none→queued" + }, + "viewSha": "f4f7ed0ab02699046024af5faac67277cce46fd69a7f2c833e4af681035311cf" + }, + { + "rev": 1155, + "op": "sage-125-add", + "verb": "add", + "args": { + "piece": "Token limits per instance, model, provider and key", + "gate": "Filbert approves on #1619 naming the candidate manifest; Sage's full gate rerun at the landing target; refusal, hand reset and end-of-turn stop each tested", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#Token limits per instance, model, provider and key", + "issues": [ + 1619 + ], + "note": null, + "owner": "researcher", + "gateOwner": "sage", + "after": [ + { + "id": 123, + "when": "done" + }, + { + "id": 124, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:42:01.917Z", + "semantics": 2, + "result": { + "row": 125, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Token limits per instance, model, provider and key", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-125-add rev 1155 row 125 none→queued" + }, + "viewSha": "5e9a48f3cd871aa33f61844559466d35d3ee6887fb3b7068cad5c8724d33b4c5" + }, + { + "rev": 1156, + "op": "sage-126-add", + "verb": "add", + "args": { + "piece": "Daily quota for the credential the stack uses today", + "gate": "Filbert approves on #1620 naming the candidate manifest; Sage's full gate rerun at the landing target; the day boundary tested in a non-UTC time zone", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#Daily quota for the credential the stack uses today", + "issues": [ + 1620 + ], + "note": null, + "owner": "dewey", + "gateOwner": "sage", + "after": [ + { + "id": 124, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:42:06.628Z", + "semantics": 2, + "result": { + "row": 126, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Daily quota for the credential the stack uses today", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-126-add rev 1156 row 126 none→queued" + }, + "viewSha": "cb943a800eebc75369e387f39e2a3fde687d44f88805b0e6769d77df9c65f04d" + }, + { + "rev": 1157, + "op": "sage-127-add", + "verb": "add", + "args": { + "piece": "Quota for more than one account or per proxy key (parked on #237)", + "gate": "Not sized. Sage sizes it once the #237 design settles; the proxy route needs Jason's call on management API access", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#Quota for more than one account or per proxy key (parked on #237)", + "issues": [ + 1621 + ], + "note": "Proxy facts from Mos in sage-0188. Nobody reads the proxy config or key files for this row.", + "owner": null, + "gateOwner": "sage", + "after": null, + "reviewers": null, + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:42:11.686Z", + "semantics": 2, + "result": { + "row": 127, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "Quota for more than one account or per proxy key (parked on #237)", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-127-add rev 1157 row 127 none→queued" + }, + "viewSha": "0694fd4c055d3f6e9c344ba41ca1bbd5a5adf8336ae427fbee5aef0bcfa0f165" + }, + { + "rev": 1158, + "op": "sage-128-add", + "verb": "add", + "args": { + "piece": "mosaic talks to the assistant in a named thread", + "gate": "Filbert approves on #1622 naming the candidate manifest; Sage's full gate rerun at the landing target; a send to a thread the user doesn't own is refused", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#mosaic talks to the assistant in a named thread", + "issues": [ + 1622 + ], + "note": null, + "owner": "darkwing", + "gateOwner": "sage", + "after": [ + { + "id": 121, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:42:16.307Z", + "semantics": 2, + "result": { + "row": 128, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "mosaic talks to the assistant in a named thread", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-128-add rev 1158 row 128 none→queued" + }, + "viewSha": "fed11f6835c591bb6682d8a89342c90c1883200a20178fe594e2e994bd9d34bc" + }, + { + "rev": 1159, + "op": "sage-129-add", + "verb": "add", + "args": { + "piece": "The WebUI chat area", + "gate": "Filbert approves on #1623 naming the candidate manifest; Sage's full gate rerun at the landing target; Mos's go before landing (decision 123)", + "brief": "docs/plans/2026-10-14_prd-1.2-build.md#The WebUI chat area", + "issues": [ + 1623 + ], + "note": "Decision 123 applies: webui public files go live on landing.", + "owner": "rocko", + "gateOwner": "sage", + "after": [ + { + "id": 121, + "when": "done" + }, + { + "id": 122, + "when": "done" + }, + { + "id": 128, + "when": "done" + } + ], + "reviewers": [ + "filbert" + ], + "required": null + }, + "by": "sage", + "at": "2026-10-14T18:42:20.989Z", + "semantics": 2, + "result": { + "row": 129, + "from": null, + "to": "queued", + "brief": { + "path": "docs/plans/2026-10-14_prd-1.2-build.md", + "anchor": "The WebUI chat area", + "blob": "1141bc2b79fe7ac51408784e704c4f1e2608b66b" + }, + "receipt": "ok sage-129-add rev 1159 row 129 none→queued" + }, + "viewSha": "eea150ef5dfe4049b1a4cdbbb455e08af5d47c9d72d426d73b571d493da32de6" + }, + { + "rev": 1160, + "op": "sage-127-block", + "verb": "move", + "args": { + "id": 127, + "to": "blocked", + "reason": "Waits on the #237 credential design; the proxy route needs Jason's call (sage-0188). Mos asked for parked, which only Jason may set.", + "candidate": null, + "evidence": null, + "issue": null + }, + "by": "sage", + "at": "2026-10-14T18:42:46.919Z", + "semantics": 2, + "result": { + "row": 127, + "from": "queued", + "to": "blocked", + "round": null, + "issue": null, + "candidate": null, + "receipt": "ok sage-127-block rev 1160 row 127 queued→blocked" + }, + "viewSha": "0b1d94d4a3749839b407978bff1236cad4a60728c7d82ef1718e50f1647e0c71" } ] }