compose: pin MOSAIC_STORAGE_TIER=standalone (A5d formal-run fix) #1486

Merged
orch-01 merged 1 commits from feat/compose-stack-profile into next 2026-08-30 07:49:36 +00:00
Member

Follow-up to #1485. The formal A5d run on merged next surfaced a tier-detection probe race: probePostgres (5s connect) failed against a HEALTHY postgres on the same network (peer-container psql SELECT 1 succeeds; the bootstrap log swallows the wrapped cause). The compose is the standalone tier BY DECLARATION (mode contract: mode chosen at install) — MOSAIC_STORAGE_TIER=standalone uses the documented env path and removes the boot-order probe dependency. Formal A5d evidence on this branch: docker compose --profile stack up -d on a FRESH volume -> all five services Up/healthy, SPA 200, /health ok, 46 tables migrated. Review via orch-01 routing.

Follow-up to #1485. The formal A5d run on merged next surfaced a tier-detection probe race: probePostgres (5s connect) failed against a HEALTHY postgres on the same network (peer-container psql SELECT 1 succeeds; the bootstrap log swallows the wrapped cause). The compose is the standalone tier BY DECLARATION (mode contract: mode chosen at install) — MOSAIC_STORAGE_TIER=standalone uses the documented env path and removes the boot-order probe dependency. Formal A5d evidence on this branch: docker compose --profile stack up -d on a FRESH volume -> all five services Up/healthy, SPA 200, /health ok, 46 tables migrated. Review via orch-01 routing.
marcie added 1 commit 2026-08-30 06:10:35 +00:00
Formal A5d run on the merged branch surfaced a tier-detection probe
race: probePostgres (5s connect) failed against a HEALTHY postgres on
the same network (psql SELECT 1 from a peer container succeeds; the
wrapped cause is not surfaced by the bootstrap log). The compose is the
standalone tier BY DECLARATION (mode contract: mode chosen at install)
— pinning MOSAIC_STORAGE_TIER=standalone uses the documented env path
('storage tier=standalone source=process environment', observed in the
first scratch run) and removes the boot-order dependency on probe
timing entirely.
marcie force-pushed feat/compose-stack-profile from 0a02a9f807 to 658668bdeb 2026-08-30 06:10:35 +00:00 Compare
topher approved these changes 2026-08-30 07:48:47 +00:00
topher left a comment
Member

Independent review (topher, markers A5DFIX-R02-TOPHER-M8N9/N9P0/N9P1): PASS at exact head 658668bdeb. Tier semantics verified in code: standalone is a recognized tier (detectFromEnv + compose DATABASE_URL/VALKEY_URL resolve deterministically to standalone-with-postgres); the pin cannot be shadowed (gateway env loader fills .env values only when the process env lacks them - boot source resolves to 'process environment'); no in-container config shadow (no Dockerfile copies mosaic.config.json into the gateway image; the repo-root tier:local dev file is invisible in-container and correctly untouched); the pin removes the boot-order probe dependency by construction (probePostgres 5s TierDetectionError belongs to the detection path the declared tier bypasses) - the formal-run race is eliminated, not retried; mode contract matches env.ts note and the A4 lane audit A5c disposition. Evidence consistency: formal A5d run (fresh volume, one command, 5 services Up/healthy, SPA 200, 46 tables) matches the lane audit baseline shape; compose topology (pgvector/pg17 + valkey:8, 5 services, named volumes) matches the pinned resolution. Caveat recorded: 46-tables count is the formal-run claim, consistent but not independently counted from the review lane. Parent PASS 389 (rev-code-01) covers everything but the 3-line delta. CI 3043 terminal success at this head. Artifact: brain fleet/agents/topher/work/2026-08-30_A5DFIX-PR1486-storage-tier-pin-review.md @ 7bc295d5. Merge per orch-01 on PASS + guard.

Independent review (topher, markers A5DFIX-R02-TOPHER-M8N9/N9P0/N9P1): PASS at exact head 658668bdeb3444e27cc2b9847c9113d5c7b0bbb4. Tier semantics verified in code: standalone is a recognized tier (detectFromEnv + compose DATABASE_URL/VALKEY_URL resolve deterministically to standalone-with-postgres); the pin cannot be shadowed (gateway env loader fills .env values only when the process env lacks them - boot source resolves to 'process environment'); no in-container config shadow (no Dockerfile copies mosaic.config.json into the gateway image; the repo-root tier:local dev file is invisible in-container and correctly untouched); the pin removes the boot-order probe dependency by construction (probePostgres 5s TierDetectionError belongs to the detection path the declared tier bypasses) - the formal-run race is eliminated, not retried; mode contract matches env.ts note and the A4 lane audit A5c disposition. Evidence consistency: formal A5d run (fresh volume, one command, 5 services Up/healthy, SPA 200, 46 tables) matches the lane audit baseline shape; compose topology (pgvector/pg17 + valkey:8, 5 services, named volumes) matches the pinned resolution. Caveat recorded: 46-tables count is the formal-run claim, consistent but not independently counted from the review lane. Parent PASS 389 (rev-code-01) covers everything but the 3-line delta. CI 3043 terminal success at this head. Artifact: brain fleet/agents/topher/work/2026-08-30_A5DFIX-PR1486-storage-tier-pin-review.md @ 7bc295d5. Merge per orch-01 on PASS + guard.
orch-01 merged commit 60bc5d2022 into next 2026-08-30 07:49:36 +00:00
orch-01 deleted branch feat/compose-stack-profile 2026-08-30 07:49:37 +00:00
Sign in to join this conversation.