Commit Graph
17 Commits
Author SHA1 Message Date
jason.woltjeandClaude Opus 5.5 ccccc16932 row 68 (#1561) round 1 packet: bus host pins MOSAIC_CLAUDE_BIN
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:57:01 -05:00
jason.woltjeandClaude Opus 5.5 02da0929c4 vikunja: Q80, delete #19 view 76 extra buckets 55, 56, 158, 160 with a one-time key (sage)
Jason: "Q80: Have the PM decide. Then fix". project-manager decided to
delete all four and moved their tasks to todo. Mos ruled no standing
delete scope on any bot key. svc-mosaic-stack minted key 10 for the pm
user with only projects.views_buckets_delete and a 30-minute expiry,
held in memory only. The pre-read showed all four buckets empty. Four
DELETEs answered 200, and key 10 was revoked (204) at once. The pm user
now lists only key 8. The read-back shows buckets 57 done, 159 todo
(default), 161 in-progress, 248 in-review and 162 blocked, with task
counts unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 14:47:29 -05:00
jason.woltjeandClaude Opus 5.5 ef69a2c4ac vikunja: row 62 gate-read probe, cross-project task read works for the sync key (sage)
GETs only, sync key 9. Project list 200, total 30 (31 with archived #15).
#18, #20 and #21 have parent 19, none archived. GET /tasks with
filter project in 19, 18, 20, 21: 200, 42 tasks across all four. The
per-project open reads give 18, 4, 3 and 1. A follow-up row moves a tick
to the single read after row 62 is done.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 14:14:43 -05:00
jason.woltjeandClaude Opus 5.5 c8a7389615 vikunja: Q61a #19 install, bus on #19, SetSpark #35 and Launchpad #36; shares read (sage)
install-19.mjs renames 57 done, 159 todo, 161 in-progress, 162 blocked,
adds 248 in-review and moves the default to 159; no task moved. Writes go
to /api/v1 (v2.7.0 405s bucket writes under /api/v2). create-33.mjs adds
#35 and #36 under #33. Records hold no secret; shares-read titles removed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 13:22:50 -05:00
jason.woltjeandClaude Opus 5.5 8060426035 vikunja: Q61a re-mint, pm key 8 and sync key 9; rows A and B brief; decision 86 (sage)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 13:12:39 -05:00
jason.woltjeandClaude Opus 5.5 20735a3706 vikunja: Q58a/Q60 teams 1 and 2, pm key 7 replaces key 2 (sage)
svc-mosaic-stack created mosaic-agents (team 1, bots pm/cto/coder/reviewer)
and mosaic-sync (team 2, bot sync), made jason.woltje team admin, then left
both teams so a team share gives svc no project access. The pm key gained
projects read_all, read_one and update; no key has task or project delete
or a share route (read back via GET /tokens?owner_id). Old pm key 2 revoked,
now 401. Record holds ids and scopes only; checked for secrets.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 12:56:04 -05:00
jason.woltjeandClaude Opus 5.5 f0a30d65ef docs(slice1): S3 live run on tasks.mosaicstack.dev, startup ready and 17/17 steps; row 35 gate met (#1517, lead decision 75)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 17:53:27 -05:00
jason.woltjeandClaude Opus 5.5 a6382f7bdf docs(slice1): tasks.mosaicstack.dev on Vikunja 2.7.0, runbook sections 2-3 by Sage (row 35, #1517, lead decision 75)
Jason asked for tasks.mosaicstack.dev operational with agents configured in it.
Sage backed it up, tested the restore, pinned 2.7.0 (infra PR #325) and ran
sections 2 and 3 through the API: owner id 4, svc-mosaic-stack id 5, project 32,
bots 6-10, scoped tokens to 2027-01-07. Probes pass. Scope is Mosaic Stack only
(Mos relaying Jason, his Q9 open). OIDC has been broken since a 2026-04-27
NetworkPolicy; infra PR #326 is with ops-01. BUILD-LOG also records the cert
renewal fix and the last-applied annotation slip.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 17:49:40 -05:00
jason.woltjeandClaude Opus 5.5 5fe6a051d2 docs(slice1): runbook section 1 run through the Gitea admin API (row 35, #1517, lead decision 74)
Jason ruled that agents run the steps his admin grant to the jarvis
Gitea token covers. Sage created the four mosaic-stack bots (ids
114-117, restricted, non-admin), added them as collaborators (W/W/W/R),
and minted one scoped token each (ids 191-194). The tokens were written
0600 outside the repo. Scripts and receipt are in
agents/sage/work/gitea-setup/. The guide and SR brief now say who
runs which section. Sections 2 to 4 (Vikunja) stay with Jason.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 17:25:08 -05:00
jason.woltjeandClaude Opus 5.5 befd26e366 docs(records): 2026-10-09 ledger rerun for week 2026-09-27 to 2026-10-03, two runs (row 7, #1508)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 17:08:31 -05:00
jason.woltjeandClaude Opus 5.5 2be51cf5b1 chore(sage): drop my trackers-boot copy, landed in packages/cli/tests (row 45)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 09:27:34 -05:00
jason.woltjeandClaude Opus 5.5 ec2a2c6773 docs: lead decision 72, the S4 follow-up and cohort briefs, and the trackers boot test
Decision 72 rules on F2 (five definite refusals stop a DM; unknown
outcomes keep retrying) and J4 (type-check confirmed journal lines),
and opens two rows: the S4 follow-up for Rocko and the K1, K3 and K10
cohort failures for Darkwing. The trackers boot test from the row 39
gate is kept under agents/sage/work/s4-follow-up/ until the follow-up
moves it into packages/cli/tests/.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 07:54:52 -05:00
jason.woltjeandClaude Opus 5.5 e250933de7 docs(records): 2026-10-05 weekly ledger run, refused on a T3 header conflict (row 7, #1508)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 18:05:19 -05:00
jason.woltjeandClaude Opus 5.5 0d6658b57d docs(records): 2026-09-28 weekly ledger output (row 7, #1508)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 08:26:12 -05:00
jason.woltjeandClaude Opus 5.5 f87cd6e201 docs(records): SetSpark approver fix landed in shared-signals cc74d92, lead decision 24
Packet, Rocko's R1 and R2 reviews, DEFERRED outcome and SESSIONS.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-26 18:52:04 -05:00
jason.woltjeandClaude Opus 5.5 20ea5a0b64 fix(discord): row 25 approvers are user names, never Discord ids in tool text (#1509)
Jason's live check after the 20:58Z restart posted no Approve button. The
Discord Sage wrote DEC-009's required_approvers as names; the SetSpark
service stores approvers as discord:<id> and accepted the names, and the
connector correctly refused the approval request ("bad approver id").

- binding.mjs derives setspark.approvers from the binding's users (name to
  id); a binding-set approvers key and duplicate names are refused. With
  setspark set, a user id or name change refuses the reload (pi's approvers
  are fixed at start).
- setspark.mjs: record_create/record_update map required_approvers names to
  discord:<id> and refuse unknown names, ids, duplicates and non-lists
  before any request, without echoing the value. hideIds turns mentions,
  discord: values and standalone 17-20 digit runs into the user's name or
  "unknown user" in every verb's text and refusal, including the service
  message and code before they are cut. The connector's approval request
  keeps the bare ids.
- tests: boundary test over nested, keyed, numeric, mention and cut ids;
  a local contract fixture from create through validateRequest, with the
  old name-stored shape still refused.

Rocko: R1 revise, R2 revise, R3 approve (81379830..., report da75219f...).
Suites on an index export: 24/90/43/17/14/15/63/18; Discord node tests 173/173.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-26 16:30:11 -05:00
jason.woltjeandClaude Opus 5.5 34777c56bc docs(records): row 25 SetSpark fix, Discord restart receipt, Gate F rulings
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-26 15:58:59 -05:00