jason.woltje
94e5cd7a81
ci: eliminate cold pnpm install via pre-baked CI base image (Phase 1) ( #635 )
2026-06-22 22:50:21 +00:00
jason.woltje
4e84f8e850
feat(fleet): comms-block emitter + FLEET-LAUNCH runbook ( #633 ) ( #638 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 22:23:50 +00:00
jason.woltje
cf8ceb3095
CI: add pre-baked ci-base image (producer) [Phase 1a] ( #637 )
2026-06-22 22:20:48 +00:00
jason.woltje
bf2a6745c8
fix(install): preserve user fleet data on re-seed + refresh active units (CRITICAL) ( #632 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 21:38:09 +00:00
jason.woltje
d539d61e0e
refactor(fleet): rename tmux socket mosaic-factory → mosaic-fleet ( #630 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 21:08:43 +00:00
jason.woltje
3f69d45334
docs(fleet): consolidate north-star doctrine (budget + control plane + identity) ( #629 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 21:08:41 +00:00
jason.woltje
e2336bb0ca
chore(release): mosaic CLI 0.0.40 ( #624 )
2026-06-22 19:49:45 +00:00
jason.woltje
7342415a32
fix(fleet): consume model_hint + fix socket-default trap (stand-up fixes) ( #627 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 19:18:01 +00:00
jason.woltje
095e19443b
feat(fleet): onboarding-injection — comms cheat-sheet + peer roster per agent ( #621 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 17:54:54 +00:00
jason.woltje
fabc413407
feat(fleet): F4 Phase 2a — Matrix CS-API connector client + factory ( #618 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 16:48:17 +00:00
jason.woltje
858d90329d
feat(fleet): F4 Phase 1 — chat connector abstraction + Matrix design ( #617 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 16:14:32 +00:00
jason.woltje
2bf66136e4
feat(fleet): enhancer role + two-agent floor (orchestrator + enhancer) ( #615 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 13:15:59 +00:00
jason.woltje
4434c3c481
docs(fleet): orchestrator+enhancer two-agent floor + role library + Discord plugin north-star ( #613 )
2026-06-22 13:15:05 +00:00
jason.woltje
dd0a0d38c6
ci(publish): gate kaniko image builds + publish on changed paths (CI throughput) ( #619 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 13:14:31 +00:00
jason.woltje
d46ac40890
fix(fleet): boot-survival symmetry — disable-on-remove + add-enable + init-R5 ( #612 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 08:12:58 +00:00
jason.woltje
8ddd48c843
feat(mosaic): mosaic update re-seeds framework + relaunches agents (R13) ( #610 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 03:34:05 +00:00
jason.woltje
528700ceea
feat(framework): P6 — docs + compliance matrix + resident-budget CI ( #607 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 02:20:35 +00:00
jason.woltje
32f4215461
chore(release): bump @mosaicstack/mosaic 0.0.38 -> 0.0.39 ( #608 )
2026-06-22 02:16:12 +00:00
jason.woltje
23343bb7f0
feat(mosaic): P5 — overlay composer (compose-contract + *.local overlays) ( #605 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 02:16:05 +00:00
jason.woltje
c8b2dab0ca
chore(release): bump @mosaicstack/mosaic 0.0.37 -> 0.0.38 ( #603 )
2026-06-22 01:48:27 +00:00
jason.woltje
6dbe452a9f
fix(fleet): watch viewer-session leak + workdir test settle-race ( #601 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 01:43:21 +00:00
jason.woltje
59c755067e
feat(fleet): F3-m2 — native Pi heartbeat + model surface + mosaic_mission_status tool ( #602 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 01:43:18 +00:00
jason.woltje
6ffb27787e
fix(fleet): complete HB reader/writer consistency + sidecar hardening ( #599 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-22 01:22:35 +00:00
jason.woltje
130837365f
chore(release): bump @mosaicstack/mosaic 0.0.36 -> 0.0.37 ( #597 )
2026-06-21 23:27:14 +00:00
jason.woltje
67df06f1c4
feat(fleet): orchestrator-mutable fleet — fleet add/remove (F5/R9) ( #596 )
2026-06-21 23:26:21 +00:00
jason.woltje
60a309d5a4
fix(fleet): heartbeat consistency — MOSAIC_HOME path + configurable interval ( #595 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-21 23:25:53 +00:00
jason.woltje
2dc0f24828
docs(fleet): Fleet Suite PRD (init/configure/operate + Mos-on-Discord) ( #588 )
2026-06-21 23:17:10 +00:00
jason.woltje
31e7a4d25e
docs(framework): P4.1 — fix stale install.sh comments + cmp-equal early-exit ( #593 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-21 23:12:31 +00:00
jason.woltje
ca19d57bba
feat(fleet): config-type presets + AI-free init wizard (F1) ( #591 )
2026-06-21 23:07:41 +00:00
jason.woltje
bb7d549080
feat(framework): P4 — upgrade-safe Constitution migration (both installers) ( #590 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-21 23:03:48 +00:00
jason.woltje
5bef2c35eb
feat(fleet): fleet ps surfaces unmanaged socket sessions ( #586 )
2026-06-21 22:37:34 +00:00
jason.woltje
2849a8f9db
chore(release): bump @mosaicstack/mosaic 0.0.35 -> 0.0.36 ( #585 )
2026-06-21 21:46:15 +00:00
jason.woltje
7ced5588c9
feat(fleet): launcher heartbeat sidecar — HB for all runtimes (pi/claude/codex) ( #584 )
2026-06-21 21:14:20 +00:00
jason.woltje
afcbbb302f
feat(fleet): auto-enable units on install + drift recognizes wrapped runtimes ( #583 )
2026-06-21 20:02:19 +00:00
jason.woltje
c2c0b5fe8d
chore(release): bump @mosaicstack/mosaic 0.0.34 -> 0.0.35 ( #582 )
2026-06-21 18:59:39 +00:00
jason.woltje
c9cfe36204
docs(framework): P3.1 fast-follow — governance wording + gate scope + bare-launch note ( #577 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-21 18:56:50 +00:00
jason.woltje
fc90c89913
fix(fleet): durable runtime PATH for detached agent launch ( #581 )
2026-06-21 17:30:40 +00:00
jason.woltje
af2eede7a9
feat(fleet): Phase-2 observability — fleet ps + watch + send verify ( #579 )
2026-06-21 04:23:51 +00:00
jason.woltje
5118be74cb
feat(framework): P3 — extract Constitution (L0) + gut AGENTS dispatcher ( #575 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-21 03:20:32 +00:00
jason.woltje
bf24066a49
feat(framework): P1+P2 — public sanitization + blocking CI gate ( #572 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-21 02:40:11 +00:00
jason.woltje
92316ab41e
feat(framework): P0 — MIT license + executable-leak sanitization ( #570 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-21 01:43:49 +00:00
jason.woltje
b354bc8fae
docs(framework): add agency & persistence patterns to config + guides ( #543 )
...
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-21 01:43:36 +00:00
jason.woltje
e834bbb83c
fix(fleet): install executable tmux helpers ( #568 )
2026-06-20 22:27:46 +00:00
jason.woltje
7498fcb20d
fix(fleet): preserve agent env overrides on install ( #567 )
2026-06-20 21:50:46 +00:00
jason.woltje
42d081613f
chore(release): bump mosaic cli to 0.0.32 ( #566 )
2026-06-20 21:15:25 +00:00
jason.woltje
b5c1381e45
fix(fleet): harden operator sends for release ( #565 )
2026-06-20 20:41:11 +00:00
jason.woltje
6dfd78f643
feat(fleet): add local canary CLI ( #563 )
2026-06-20 17:49:01 +00:00
jason.woltje
45e2c2aad8
docs: plan durable tmux fleet install ( #557 )
2026-06-20 16:19:19 +00:00
jason.woltje
57919c38d8
fix(framework/tools): wrapper hardening — TLS validation, cred-path fallback, no-CI fast-exit ( #551 )
2026-06-20 10:16:38 +00:00
jason.woltje
87f561c1f8
fix(launch): include Pi native skill roots in 'all' mode; dedup 'discover' force-loads ( #556 )
2026-06-19 19:58:09 +00:00
jason.woltje
8c45857859
feat(launch): force-load fleet-critical Pi skills + reconcile skill docs ( #555 )
2026-06-19 18:31:02 +00:00
jason.woltje
605221d42f
docs(framework/tools): lead TOOLS.md with high-salience fleet-tools cheatsheet ( #554 )
2026-06-19 18:03:03 +00:00
jason.woltje
ee584ab48c
fix(framework/tools): prettier-format woodpecker README — restore main format gate ( #553 )
2026-06-18 22:39:35 +00:00
jason.woltje
ab4e138003
feat(framework/tools): orchestration helpers — lane-brief.sh + ci-wait.sh ( #547 )
2026-06-18 22:08:40 +00:00
jason.woltje
719c6ac3db
fix(framework/tools): eval injection, broken JSON, tmpfile leak ( #549 )
2026-06-18 21:35:32 +00:00
jason.woltje
b8807e60df
feat(agent-reflection): durable kernel — reflection.v1 capture + risk-floor + Phase-0 ( #545 )
2026-06-16 21:35:40 +00:00
jason.woltje
c461380a4a
feat(mosaic-as): agent registration + scoped/revocable tokens (US-007) ( #541 )
2026-06-16 01:10:44 +00:00
jason.woltje
98a771c8f8
Fix Gitea wrapper login resolution ( #538 )
2026-06-12 02:34:18 +00:00
jason.woltje
bd9527c033
docs(framework): canonize merge-authority policy (hard gate 13 + E2E gate note) ( #537 )
2026-06-11 23:56:20 +00:00
jason.woltje
aa221bf92e
release(mosaic): bump @mosaicstack/mosaic 0.0.30 -> 0.0.31 ( #534 )
2026-06-11 19:55:43 +00:00
jason.woltje
799df40f4e
feat(appservice): room provisioning (M4c) ( #535 )
2026-06-11 19:50:55 +00:00
jason.woltje
b79e9f32c6
chore(framework): canonize Vault-as-SSOT + ESO-default secrets policy ( #519 )
2026-06-11 19:07:00 +00:00
jason.woltje
89d69eb23b
docs: add mission control and coordination resilience docs ( #511 )
2026-06-11 19:06:35 +00:00
jason.woltje
59b611ba8a
refactor(framework): thin-core prompt diet — cut injected contract ~53% ( #529 )
2026-06-11 18:10:42 +00:00
jason.woltje
dfa0be42f6
feat(framework/tools): inter-agent tmux comms — agent-send.sh + addressing standard ( #533 )
2026-06-11 18:01:44 +00:00
jason.woltje
bb96a3f23e
ci: publish mosaic-as appservice image ( #532 )
2026-06-10 23:00:38 +00:00
jason.woltje
48b2f28e45
feat(appservice): mosaic-as daemon host + container (M4a) ( #531 )
2026-06-10 22:16:28 +00:00
jason.woltje
8f09c910a9
feat(appservice): Matrix Application Service core library (M4a) ( #530 )
2026-06-10 21:23:25 +00:00
jason.woltje
dde95a59b3
fix(pi): reduce startup skill-token overhead ( #527 )
2026-06-05 18:36:42 +00:00
jason.woltje
821e19dcbb
fix(mosaic-tools): roll up Gitea and Woodpecker wrapper fixes ( #524 )
2026-05-26 20:56:09 +00:00
jason.woltje
755df9079e
Merge pull request 'fix(db): bootstrap migrations on local-tier gateway startup' ( #510 ) from fix/db-bootstrap-migrations into main
2026-05-04 22:13:14 +00:00
jason.woltje and Claude Opus 4.7
ac5650d9f9
fix(db): bootstrap migrations on local-tier gateway startup
...
Fresh `mosaic gateway install` (npm) left the gateway DB schema empty —
sign-in 500'd with `relation "users" does not exist`, and every entry
point (auth, bootstrap setup) failed because they all query the users
table first. Five stacked bugs on the local (PGlite) tier:
1. `packages/db/package.json` `files: ["dist"]` excluded the `drizzle/`
SQL migrations from the published tarball.
2. `runMigrations()` only supports postgres-js — unusable for embedded
PGlite.
3. `apps/gateway/src/database/database.module.ts` never invoked
migrations at startup.
4. `createPgliteDb` didn't load pgvector, so migration 0001's
`CREATE EXTENSION vector` failed.
5. Drizzle's PG migrator wraps every migration in one outer
transaction, which trips Postgres' `check_safe_enum_use` on
migration 0009 (`ALTER TYPE ADD VALUE 'pending'` → `SET DEFAULT
'pending'` in the same tx).
Changes:
- Ship `drizzle/` in the published tarball.
- `createPgliteDb` loads `@electric-sql/pglite/vector`.
- New `runPgliteMigrations(handle)` walks the Drizzle journal and
runs each statement-breakpoint chunk through PGlite's `client.exec()`
(autocommit per statement). Records into `drizzle.__drizzle_migrations`
for interop with the postgres-js path. Per-statement try/catch
surfaces which statement of which migration failed.
- `DatabaseModule` runs migrations in `OnModuleInit` before
`app.listen()`. Local tier: explicit `runPgliteMigrations` then
`storageAdapter.migrate()`. Postgres tier: just `storageAdapter.migrate()`,
which already calls `runMigrations(url)` internally — no double-call.
- Removed `packages/storage/src/test-utils/pglite-with-vector.ts`. The
"intentionally not exported" rationale is moot now that migration
0001 forces pgvector load anyway. The integration test uses
`createPgliteDb` + `runPgliteMigrations` from `@mosaicstack/db`.
Tests: BetterAuth tables exist after migrate; idempotent (re-runs 0009);
partial-failure surfaces statement-level context and leaves no ledger row.
QA on a fresh PGlite install:
- `Applying PGlite schema migrations...` then `Initializing storage
adapter (pglite)...` in startup log.
- `GET /api/bootstrap/status` → `{"needsSetup":true}` HTTP 200 (was 500).
- `POST /api/bootstrap/setup` reaches Zod validator (was 500).
Scope: this PR fixes the local (PGlite) tier. Postgres-tier first
install still has the outer-transaction problem and a journal ordering
bug (0009's `when` < 0008's). Documented inline as TODO and in the
scratchpad — needs a separate change with real-Postgres validation.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected] >
2026-05-04 17:06:50 -05:00
jason.woltje
bd83f86740
Merge pull request 'feat(federation): mTLS AuthGuard with OID-based grant resolution (FED-M3-03)' ( #509 ) from feat/federation-m3-auth-guard into main
2026-04-25 13:27:20 +00:00
jason.woltje
b67f2c9f08
Merge pull request 'feat(federation): outbound mTLS FederationClient (FED-M3-08)' ( #508 ) from feat/federation-m3-client into main
2026-04-24 04:30:29 +00:00
jason.woltje
89c733e0b9
feat(federation): two-gateway test harness scaffold (FED-M3-02) ( #505 )
2026-04-24 03:01:25 +00:00
jason.woltje
ee3f2defd9
feat(types): federation v1 DTOs (FED-M3-01) ( #506 )
2026-04-24 02:54:40 +00:00
jason.woltje
7342c1290d
fix(federation): use real PEM certs in enrollment + ca service tests ( #507 )
2026-04-24 02:43:42 +00:00
jason.woltje
e64ddd2c1c
docs(federation): M3 mission planning — 14-task decomposition ( #504 )
2026-04-24 01:13:40 +00:00
jason.woltje
4ece6dc643
chore(federation): M2 milestone close (FED-M2-13) ( #503 )
2026-04-22 06:09:54 +00:00
jason.woltje
194c3b603e
docs(federation): M2 Step-CA setup guide + admin CLI reference (FED-M2-12) ( #502 )
2026-04-22 06:06:45 +00:00
jason.woltje
fc1600b738
fix(federation): security hardening — OID verification, atomic activation, audit on failure ( #501 )
2026-04-22 06:02:52 +00:00
jason.woltje
0ee5b14c68
test(federation): M2 E2E peer-add enrollment flow (FED-M2-10) ( #500 )
2026-04-22 05:37:06 +00:00
jason.woltje
3eee176cc3
test(federation): M2 integration tests (FED-M2-09) ( #499 )
2026-04-22 05:08:24 +00:00
jason.woltje
74fe60d8d6
feat(federation): admin controller + CLI federation commands (FED-M2-08) ( #498 )
2026-04-22 04:39:46 +00:00
jason.woltje
0bfaa56e9e
feat(federation): enrollment controller + single-use token flow (FED-M2-07) ( #497 )
2026-04-22 04:23:19 +00:00
jason.woltje
01dd6b9fa1
feat(federation): grants service CRUD + status transitions (FED-M2-06) ( #496 )
2026-04-22 03:57:12 +00:00
jason.woltje
1038ae76e1
feat(federation): Step-CA client service for grant certs (FED-M2-04) ( #494 )
2026-04-22 03:34:37 +00:00
jason.woltje
bf082d95a0
feat(federation): seal federation peer client keys at rest (FED-M2-05) ( #495 )
2026-04-22 03:10:20 +00:00
jason.woltje
bb24292cf7
fix(federation): healthcheck + restart policy for federated-test stacks ( #492 )
2026-04-22 02:56:40 +00:00
jason.woltje
f2cda52e1a
fix(deploy): bump gateway image digest to sha-9f1a081 [DEPLOY-IMG-FIX] ( #491 )
2026-04-22 02:35:19 +00:00
jason.woltje
7d7cf012f0
feat(federation): scope schema validator [FED-M2-03] ( #489 )
2026-04-22 02:31:13 +00:00
jason.woltje
c56dda74aa
feat(federation): Step-CA sidecar in federated compose [FED-M2-02] ( #490 )
2026-04-22 02:21:49 +00:00
jason.woltje
9f1a08185e
docs(federation): S21 tracking — DEPLOY-01/02 done, IMG-FIX in flight, M2-01 in remediation ( #487 )
2026-04-22 02:02:36 +00:00
jason.woltje
d2e408656b
fix(docker): pnpm deploy for self-contained gateway runtime image ( #488 )
2026-04-22 02:02:29 +00:00
jason.woltje
54c278b871
feat(db): federation schema — grants/peers/audit_log [FED-M2-01] ( #486 )
2026-04-22 02:02:21 +00:00
jason.woltje
4dbd429203
feat(deploy): portainer stack template for federation test instances [DEPLOY-02] ( #485 )
2026-04-22 01:34:44 +00:00
jason.woltje
b985d7bfe2
docs(federation): M2 mission planning — TASKS decomposition + manifest update ( #483 )
2026-04-22 01:24:00 +00:00
jason.woltje
45e8f02c91
feat(mosaic-portainer): PORTAINER_INSECURE flag for self-signed TLS ( #484 )
2026-04-22 01:21:54 +00:00
jason.woltje
54c422ab06
Merge pull request 'docs(federation): close FED-M1 milestone' ( #481 ) from feat/federation-m1-close into main
2026-04-20 02:20:43 +00:00
jason.woltje
78841f228a
docs(federation): operator setup + migration guides (FED-M1-11) ( #480 )
2026-04-20 02:07:15 +00:00