fred
8a2473da11
fix(gateway): serialize bootstrap setup with an advisory lock ( #1430 )
...
ci/woodpecker/pr/ci Pipeline was successful
POST /api/bootstrap/setup checked the zero-user count and then created the
first admin with nothing making the two atomic, so two concurrent setup
requests could both pass the check and each create an admin user plus an
admin API token.
Setup now runs inside a db.transaction that first takes
pg_advisory_xact_lock(BOOTSTRAP_SETUP_LOCK_KEY): the second concurrent
caller blocks until the first commits, re-reads the count, and gets 403.
The lock is transaction-scoped, so it also serializes across gateway
replicas sharing the database.
Spec: mock db gained transaction/execute; new assertions pin
lock-before-count ordering, and a new suite pins 403 + no createUser call
when users already exist.
Closes #1430
2026-08-26 17:23:58 -05:00
code-infra-01
b2d40dada0
fix( #1391 ): boot-time ValidationPipe metatype self-check — fail loud at startup ( #1419 )
...
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: code-infra-01 <[email protected] >
2026-08-25 14:01:24 +00:00
ops-deploy-01 and orch-01
4d24ae8618
fix( #1392 ): hash-ledger migrations + install-time schema verification ( closes #1392 , closes #1402 ) ( #1403 )
...
ci/woodpecker/push/publish Pipeline failed
Co-authored-by: ops-deploy-01 <[email protected] >
2026-08-24 23:11:50 +00:00
9b6869fab7
fix( #1179 ): require security authority wiring ( #1189 )
...
ci/woodpecker/push/publish Pipeline was canceled
Co-authored-by: Ghost <>
2026-08-20 16:19:45 +00:00
ops-01
b01950e92f
merge: absorb main into next — 23-commit divergence (08-05..13 base=main window)
...
ci/woodpecker/pr/ci Pipeline failed
17 content commits + 3 merge bubbles were genuinely missing from next (~8,000 lines:
goal controller #1152 , framework enforcement #1174/#1195, pr-edit wrapper #1173/#1200,
pipefail series #1100/#1105/#1106/#1107, git-tools fixes #1073/#1085/#1086/#1089,
#991 , #1007 , enrollment tolerance #1094 ). 3 commits were already in next by content
(#1060 identical, #1066/#1062 evolved twins — conflicts resolved to next's side).
Per-commit classification and evidence: mosaic-brain fleet/lanes/stack-remediation/main-next-divergence.md.
Conflict resolutions (6 files) itemized in the PR body.
2026-08-19 16:27:17 -05:00
jarvis
7669321ea2
test(gateway): cross-user-isolation cleanup honors dbAvailable — unblocks gated publish verify ( #1275 ) ( #1304 )
...
ci/woodpecker/push/publish Pipeline failed
Squash-merged by topher (jarvis principal) via break-glass API path (wrapper main-only gap, documented in #1275 log). Gates: CI 2487 green at head 81f500bd , review 180 APPROVED (fred) at pinned head. Unblocks gated publish: verify's no-DB path now skips cleanly.
Co-authored-by: Jarvis <[email protected] >
2026-08-18 04:24:48 +00:00
shaggy and mos-dt-0
216cd72226
refactor(chat): route browser chat through one runtime (P3 Slice-Zero Task 5) ( #1172 )
...
ci/woodpecker/push/publish Pipeline failed
Co-authored-by: shaggy <[email protected] >
2026-08-12 20:11:12 +00:00
jason.woltje and Claude Opus 4.8
f16f206a0a
feat(gateway): expose generic harness catalog and selection
...
ci/woodpecker/pr/ci Pipeline failed
Add the Slice-Zero catalog and selection HTTP surfaces for P3 Task 3:
GET /api/harnesses, GET /api/harnesses/:harnessId/catalog,
GET+PUT /api/chat/preferences/selection. Scope is always server-derived
via scopeFromUser(CurrentUser); selection tuples are validated against the
live catalog with no fallback substitution and persisted in a transitional
owner-scoped in-memory store. HarnessModule is wired into AppModule.
Co-Authored-By: Claude Opus 4.8 <[email protected] >
Claude-Session: https://claude.ai/code/session_01ESFAnh2t9HmLwng8oW95St
2026-08-11 19:56:11 -05:00
jason.woltje
43513c28f7
feat(gateway): add harness registry and fake adapter
ci/woodpecker/pr/ci Pipeline failed
2026-08-11 19:22:27 -05:00
shaggy (mosaic-dev box)
4cefa5cd88
fix(gateway): resolve InteractionCoordinationService handoff factory via optional DI token ( #1145 )
...
ci/woodpecker/pr/ci Pipeline failed
root cause: emitDecoratorMetadata reflected the third constructor parameter as Function and Nest attempted to resolve it
fix: optional HANDOFF_ID_FACTORY injection token, no production provider, preserving undefined -> crypto.randomUUID() default and unchanged positional construction
TDD: real CoordModule red at Function index [2], then green; test overrides only unrelated AuthGuard because its AUTH provider comes from AppModule's global AuthModule context
Closes #1145
2026-08-11 18:37:54 -05:00
shaggy (mosaic-dev box)
bda308efd9
fix(gateway): repair routing health and MCP command wiring
ci/woodpecker/pr/ci Pipeline was successful
2026-08-11 15:28:57 -05:00
Mos
e00cc475a2
Merge pull request 'P3 — Typed SPA chat (Phase P webUI)' ( #1151 ) from feat/webui-p3-chat into next
ci/woodpecker/push/publish Pipeline failed
2026-08-10 22:57:07 +00:00
shaggy (mosaic-dev box)
7d84e4ee03
fix(gateway): sanitize raw exceptions in /mcp status + /reload sources (P3 re-review#5 blocker)
ci/woodpecker/pr/ci Pipeline was successful
2026-08-10 16:58:07 -05:00
shaggy (mosaic-dev box)
4aaf41dd1a
fix(web,gateway): close P3 re-review#4 findings — sanitize all executor catches; lock pre-start turn boundary (wire turnId deferred)
2026-08-10 16:07:12 -05:00
shaggy (mosaic-dev box)
d46a2d675a
fix(web,gateway): close P3 re-review#3 findings — sanitize command errors, harden turn-lock & caps
2026-08-10 14:21:52 -05:00
shaggy
8c27024d0e
Merge pull request 'fix(gateway): gate FederationModule on tier === 'federated' ( #1138 )' ( #1140 ) from fix/1138-conditional-federation into next
ci/woodpecker/push/publish Pipeline failed
2026-08-10 07:09:51 +00:00
shaggy (mosaic-dev box)
406e40584d
test(gateway): raise module-graph import timeout for CI load robustness ( #1138 )
ci/woodpecker/pr/ci Pipeline was successful
2026-08-10 01:34:24 -05:00
shaggy (mosaic-dev box)
677aeb0c93
fix(gateway): restore daemon config discovery ( #1138 )
ci/woodpecker/pr/ci Pipeline failed
2026-08-10 00:31:58 -05:00
shaggy (mosaic-dev box) and Claude Haiku 4.5
bd0ef2ab25
fix(gateway): anchor remaining config loads ( #1138 )
...
Co-Authored-By: Claude Haiku 4.5 <[email protected] >
2026-08-09 23:54:53 -05:00
shaggy (mosaic-dev box)
2d5a8c81ec
fix(gateway): anchor config discovery and isolate env tests ( #1138 )
2026-08-09 23:11:09 -05:00
shaggy (mosaic-dev box)
884d527cc8
fix(gateway): anchor dotenv discovery to module ( #1138 )
2026-08-09 22:21:17 -05:00
shaggy (mosaic-dev box)
b82a51da80
fix(gateway): load dotenv before federation tier gate ( #1138 )
2026-08-09 20:50:37 -05:00
shaggy (mosaic-dev box)
a34e92cf39
fix(gateway): harden workspace repository cloning
ci/woodpecker/pr/ci Pipeline was successful
2026-08-09 20:12:39 -05:00
shaggy (mosaic-dev box)
b4753a75cd
fix(gateway): gate FederationModule on tier federated ( #1138 )
...
ci/woodpecker/pr/ci Pipeline was successful
CaService hard-requires STEP_CA_URL/provisioner config at construction, so an
unconditional FederationModule import makes every standalone/local boot die at
DI time. Gate the module on loadConfig().tier === federated, matching the
documented intent of the federation compose profile (must not start in
non-federated dev).
Verified in mosaic-dev box: standalone tier boots to "Gateway listening on
port 14242" with bootstrap/socket.io/auth surfaces responding; federated tier
path unchanged.
2026-08-09 17:26:28 -05:00
Mos
42ac19af48
test(gateway): size the enrollment clamp tolerance to CI jitter, not to a fast machine ( closes #1090 ) ( #1094 )
ci/woodpecker/push/publish Pipeline failed
ci/woodpecker/push/ci Pipeline was successful
2026-08-07 05:33:38 +00:00
coder-mos2
b8844e1ff0
fix(sync): close local queue semantic merge gap
ci/woodpecker/pr/ci Pipeline was successful
2026-08-02 23:16:09 -05:00
coder-mos2
906ad8dc30
wip(sync): merge main into next with combined resolutions
2026-08-02 23:11:22 -05:00
jason.woltje
eb4e14ae5c
feat(mos): add logical identity connector fencing ( #757 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-14 23:33:06 +00:00
jason.woltje
ba13c08890
Fixes #756 ( #763 )
ci/woodpecker/push/ci-image Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was canceled
2026-07-14 20:26:15 +00:00
jason.woltje
d077183554
docs(tess): remediate M5 qualification findings ( #750 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-13 19:59:38 +00:00
jason.woltje
405984af5a
De-hardcode orchestrator and interaction agent names ( #748 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-13 18:59:27 +00:00
jason.woltje
b7b0f508e6
feat(gateway): register Hermes runtime provider ( #740 )
ci/woodpecker/push/publish Pipeline failed
ci/woodpecker/push/ci Pipeline was successful
2026-07-13 14:45:08 +00:00
jason.woltje
3378b857eb
feat(memory): bind operator plugin to agent sessions ( #739 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-13 13:44:20 +00:00
jason.woltje
e2376190e5
feat(gateway): expose Mos coordination boundary ( #737 )
ci/woodpecker/push/ci Pipeline is pending
ci/woodpecker/push/publish Pipeline is pending
2026-07-13 13:14:44 +00:00
jason.woltje
76325ca3f2
feat(tess): add Mos coordination boundary ( #735 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-13 11:59:16 +00:00
jason.woltje
f1c6b37b46
fix(tess): route bare Discord approvals ( #733 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-13 10:29:10 +00:00
jason.woltje
0b621660c8
feat(tess): wire durable interaction surfaces ( #732 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was canceled
2026-07-13 10:05:29 +00:00
jason.woltje
84d884b932
feat( #709 ): add configured Discord interaction binding ( #730 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-13 09:02:45 +00:00
jason.woltje
8246ee0137
feat(tess): add generic interaction CLI ( #731 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-13 05:52:41 +00:00
jason.woltje
99a2d0fc9d
feat(tess): persist durable session state ( #729 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-13 05:14:11 +00:00
jason.woltje
86a50138a9
feat(tess): add safe runtime observability ( #726 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-13 01:29:18 +00:00
jason.woltje
7b9f40d3b7
fix(tess): redact chat persistence and egress ( #725 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was canceled
2026-07-13 01:14:16 +00:00
jason.woltje
753a360517
fix( #707 ): scope session GC retention ( #720 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was canceled
2026-07-13 00:44:19 +00:00
jason.woltje
e92186d768
feat: add Tess runtime provider registry ( #722 )
ci/woodpecker/push/ci-image Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-12 23:53:54 +00:00
jason.woltje
119f64e69d
feat( #707 ): secure Discord service ingress ( #716 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-12 23:18:29 +00:00
jason.woltje
46ca3ce742
fix(tess): enforce command authorization approvals ( #718 )
ci/woodpecker/push/publish Pipeline was canceled
ci/woodpecker/push/ci Pipeline was canceled
2026-07-12 23:18:01 +00:00
jason.woltje
227b73fcdf
fix(security): enforce Tess MCP server identity ( #717 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-12 22:49:00 +00:00
jason.woltje
353e43c947
fix: enforce Tess session ownership scope ( #715 )
ci/woodpecker/push/ci Pipeline is pending
ci/woodpecker/push/publish Pipeline is pending
2026-07-12 22:14:17 +00:00
jason.woltje
56787fabf1
fix(gateway): disable Redis consumers on local tier ( #689 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-25 17:17:24 +00:00
jason.woltje and Claude Opus 4.8
a3c1ab923c
test( #462 ): add federation M3 integration coverage ( #685 )
...
ci/woodpecker/push/ci Pipeline was successful
FED-M3-10 integration tests for the federation M3 verbs (list/get/scope). Test-infra + docs only; green PR-event CI 1623 (all steps incl ci-postgres).
Co-Authored-By: Claude Opus 4.8 <[email protected] >
2026-06-25 04:14:56 +00:00