fix(deploy): sync docker workspace snapshot lockfile

This commit is contained in:
dirtydishes 2026-05-15 18:55:34 -04:00
parent 9c2e2e8bed
commit 0db40562ee
4 changed files with 1087 additions and 2 deletions

View file

@ -1,3 +1,4 @@
{"_type":"issue","id":"islandflow-xll","title":"Fix bun.lock drift causing frozen-lockfile Docker build failures","description":"Docker image builds fail in multiple targets (candles, web, ingest services) because bun install --frozen-lockfile detects lockfile changes. Update workspace lockfile to match manifests and verify frozen install succeeds.","status":"closed","priority":1,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-15T22:52:38Z","created_by":"dirtydishes","updated_at":"2026-05-15T22:55:23Z","started_at":"2026-05-15T22:52:40Z","closed_at":"2026-05-15T22:55:23Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-9nd","title":"Hosted synthetic tape redesign with internal control surface","description":"Implement hosted synthetic market redesign with shared deterministic regime engine, internal JetStream KV control plane, ingest coupling across options and equities, and an internal bottom-right synthetic-control drawer with Next proxy routes. Preserve the six public smart-money categories while adding hidden subtype families, soft coverage accounting, and backend-only admin endpoints.\n","status":"closed","priority":1,"issue_type":"feature","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-14T01:25:02Z","created_by":"dirtydishes","updated_at":"2026-05-14T02:10:03Z","started_at":"2026-05-14T01:25:09Z","closed_at":"2026-05-14T02:10:03Z","close_reason":"Completed","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-9nd","title":"Hosted synthetic tape redesign with internal control surface","description":"Implement hosted synthetic market redesign with shared deterministic regime engine, internal JetStream KV control plane, ingest coupling across options and equities, and an internal bottom-right synthetic-control drawer with Next proxy routes. Preserve the six public smart-money categories while adding hidden subtype families, soft coverage accounting, and backend-only admin endpoints.\n","status":"closed","priority":1,"issue_type":"feature","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-14T01:25:02Z","created_by":"dirtydishes","updated_at":"2026-05-14T02:10:03Z","started_at":"2026-05-14T01:25:09Z","closed_at":"2026-05-14T02:10:03Z","close_reason":"Completed","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-9dz","title":"Tune synthetic smart-money scenario coverage","description":"Redesign synthetic smart-money option prints so the emitted scenarios trigger each classifier category more consistently while staying directionally plausible. Focus on scenario mix, DTE/moneyness, price placement, and event/structure context so the Electron demo reliably shows institutional directional, retail whale, event-driven, vol seller, arbitrage, and hedge reactive hits.\n","status":"in_progress","priority":1,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-13T21:36:37Z","created_by":"dirtydishes","updated_at":"2026-05-13T21:36:41Z","started_at":"2026-05-13T21:36:41Z","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-9dz","title":"Tune synthetic smart-money scenario coverage","description":"Redesign synthetic smart-money option prints so the emitted scenarios trigger each classifier category more consistently while staying directionally plausible. Focus on scenario mix, DTE/moneyness, price placement, and event/structure context so the Electron demo reliably shows institutional directional, retail whale, event-driven, vol seller, arbitrage, and hedge reactive hits.\n","status":"in_progress","priority":1,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-13T21:36:37Z","created_by":"dirtydishes","updated_at":"2026-05-13T21:36:41Z","started_at":"2026-05-13T21:36:41Z","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-zuf","title":"Fix Home to Tape tab navigation freeze","description":"Home-to-Tape navigation becomes unresponsive because TerminalAppShell enters a live-mode rerender loop. The pinned-evidence prune effect writes new Map instances even when contents are unchanged, which can retrigger state updates indefinitely on the Home route where alert evidence prefetch is active. Make pruning idempotent and add regression coverage.\n","status":"closed","priority":1,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-13T15:05:56Z","created_by":"dirtydishes","updated_at":"2026-05-13T15:08:01Z","started_at":"2026-05-13T15:06:06Z","closed_at":"2026-05-13T15:08:01Z","close_reason":"Completed","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"islandflow-zuf","title":"Fix Home to Tape tab navigation freeze","description":"Home-to-Tape navigation becomes unresponsive because TerminalAppShell enters a live-mode rerender loop. The pinned-evidence prune effect writes new Map instances even when contents are unchanged, which can retrigger state updates indefinitely on the Home route where alert evidence prefetch is active. Make pruning idempotent and add regression coverage.\n","status":"closed","priority":1,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-13T15:05:56Z","created_by":"dirtydishes","updated_at":"2026-05-13T15:08:01Z","started_at":"2026-05-13T15:06:06Z","closed_at":"2026-05-13T15:08:01Z","close_reason":"Completed","dependency_count":0,"dependent_count":0,"comment_count":0}

File diff suppressed because it is too large Load diff

View file

@ -11,8 +11,12 @@
"dev": "bun run scripts/dev.ts", "dev": "bun run scripts/dev.ts",
"dev:infra": "docker compose up", "dev:infra": "docker compose up",
"dev:infra:down": "docker compose down", "dev:infra:down": "docker compose down",
"dev:desktop": "bun run scripts/dev-desktop.ts",
"dev:desktop:remote": "bun run scripts/dev-desktop.ts --remote",
"dev:web": "bun --cwd=apps/web run dev", "dev:web": "bun --cwd=apps/web run dev",
"dev:services": "bun run scripts/dev-services.ts", "dev:services": "bun run scripts/dev-services.ts",
"package:desktop": "bun --cwd=apps/desktop run package",
"make:desktop": "bun --cwd=apps/desktop run make",
"deploy": "bun run scripts/deploy.ts", "deploy": "bun run scripts/deploy.ts",
"deploy:main": "./deploy main", "deploy:main": "./deploy main",
"deploy:current-branch": "./deploy current-branch", "deploy:current-branch": "./deploy current-branch",

View file

@ -0,0 +1,84 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Turn Report - 2026-05-15 - Docker workspace lockfile sync</title>
<style>
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; margin: 2rem auto; max-width: 920px; padding: 0 1rem; }
h1, h2 { line-height: 1.25; }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
pre { background: #f6f8fa; border-radius: 8px; padding: 0.75rem; overflow-x: auto; }
.summary { background: #eef6ff; border: 1px solid #cfe3ff; border-radius: 8px; padding: 0.85rem 1rem; }
</style>
</head>
<body>
<h1>Turn Report: Docker frozen-lockfile build fix</h1>
<p><strong>Date/Time:</strong> 2026-05-15 18:53:46 EDT</p>
<h2>Summary</h2>
<div class="summary">
Docker build failures were caused by an out-of-sync deployment workspace snapshot at
<code>deployment/docker/workspace-root/</code>. I refreshed the snapshot files so Docker builds
use current manifest and lock data for <code>bun install --frozen-lockfile</code>.
</div>
<h2>Changes Made</h2>
<ul>
<li>Created and claimed Beads issue <code>islandflow-xll</code>.</li>
<li>Ran <code>bun run sync:docker-workspace</code>.</li>
<li>Updated:
<ul>
<li><code>deployment/docker/workspace-root/package.json</code></li>
<li><code>deployment/docker/workspace-root/bun.lock</code></li>
</ul>
</li>
<li>Added this turn report in <code>docs/turns/</code>.</li>
</ul>
<h2>Context</h2>
<p>
The deployment compose stack uses additional build context named <code>workspace</code>, pointing to
<code>deployment/docker/workspace-root</code>. Dockerfiles copy root files from that snapshot instead of directly
from repository root. If snapshot files are stale, frozen lockfile installs fail in container builds.
</p>
<h2>Important Implementation Details</h2>
<ul>
<li>Pre-sync check failed with snapshot drift and missing workspace entries in deployment lock data.</li>
<li>Post-sync check passed and reported the deployment snapshot is in sync.</li>
<li>This directly addresses the server-side error where frozen lockfile install detected changes.</li>
</ul>
<h2>Validation</h2>
<ul>
<li>Passed: <code>bun run check:docker-workspace</code> (after sync).</li>
<li>Passed: <code>bun install --frozen-lockfile</code> at repo root.</li>
<li>Could not run: <code>docker compose -f deployment/docker/docker-compose.yml build candles web</code>
because local Docker daemon was unavailable.</li>
</ul>
<pre>Cannot connect to the Docker daemon at unix:///Users/kell/.orbstack/run/docker.sock. Is the docker daemon running?</pre>
<h2>Issues, Limitations, and Mitigations</h2>
<ul>
<li><strong>Limitation:</strong> Full container build validation was not possible in this environment.</li>
<li><strong>Mitigation:</strong> Updated the exact snapshot files Docker consumes and verified snapshot consistency with the project check script.</li>
</ul>
<h2>Follow-up Work</h2>
<ul>
<li>On the deployment host, pull and rebuild target images:</li>
</ul>
<pre>cd /home/delta/islandflow
git pull --ff-only
docker compose -f deployment/docker/docker-compose.yml build candles web ingest-equities</pre>
<ul>
<li>If this recurs after dependency changes, run and commit:</li>
</ul>
<pre>bun run sync:docker-workspace
bun run check:docker-workspace</pre>
<ul>
<li>Tracking issue: <code>islandflow-xll</code>.</li>
</ul>
</body>
</html>