Implements RFC-001 P1 (the first shippable slice): deterministic Matrix
presence/liveness on a single-instance dev Synapse.
- infra/matrix/: DEV Synapse (RFC-002 Mode B, federation OFF, self-signed TLS,
enable_registration:false, appservice registration wired). Rendered from
parameterized templates — zero hardcoded topology. .data is gitignored.
- packages/comms/: minimal MACP presence SDK — set presence, run the
mosaic.presence heartbeat (seq + interval per RFC-001 §4.5), and a
deterministic liveness reader (online/away/offline from heartbeat age, NOT
native-presence-timeout). Liveness core written RED-FIRST. 19 vitest tests.
- tools/matrix-presence-harness/: minimal provisioner (registers >=3 agent
MXIDs, creates the fleet presence room, joins them — reuses the existing
@mosaicstack/appservice intent lib) + an E2E validation harness proving
A2/A3/A4 against a real Synapse.
- eslint.config.mjs: register packages/comms/vitest.config.ts with the
type-aware project service (same as other packages' vitest configs).
DEV-compose validated only; production deploy is a separate coordinated step
(deploy-holds respected).
Part of the comms-evolution program (RFC-001 P1)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0158NZqN2n2ymKFeJAZ4GUCb
Completes the bootstrap repo migration with remaining files:
- PowerShell scripts (.ps1) for Windows support (bin/ + tools/)
- Runtime adapters (claude, codex, generic, pi)
- Guides (17 .md files) and profiles (domains, tech-stacks, workflows)
- Wizard test suite (6 test files from bootstrap tests/)
- Memory placeholder, audit history
Bootstrap repo (mosaic/bootstrap) is now fully superseded:
- All 335 files accounted for
- 5 build config files (package.json, tsconfig, etc.) not needed —
monorepo has its own at packages/mosaic/
- skills-local/ superseded by monorepo skills/ with mosaic-* naming
- src/ already lives at packages/mosaic/src/