Files
inter-hub/workplans/IHUB-WP-0014-pre-flight-deployment-gaps.md

3.1 KiB
Raw Blame History

id, type, title, domain, repo, status, owner, topic_slug, created, updated, state_hub_sync, state_hub_workstream_id
id type title domain repo status owner topic_slug created updated state_hub_sync state_hub_workstream_id
IHUB-WP-0014 workplan Pre-flight: Close Deployment Gaps inter_hub inter-hub in_progress custodian inter_hub 2026-04-03 2026-04-04 done 532761e7-7c97-42e6-a5ea-59a972a80230

IHUB-WP-0014 — Pre-flight: Close Deployment Gaps

Goal

Reach a verified, locally-runnable state of inter-hub before building the public-facing intro/tutorial UI. Three concrete gaps must be closed: CSS pipeline not building, no admin user seeding, and the build never verified in this environment.

Background

All 12 IHF phases are implemented (58 controllers, 115+ views, 1102-line schema, 13 migrations). Nix/direnv are installed. However:

  • static/app.css is empty (0 bytes) — Tailwind build command is commented out in flake.nix; views use Tailwind classes throughout all phases.
  • Application/Fixtures.sql is empty — no default admin user, so the app is inaccessible after a clean DB init.
  • The codebase has never been compiled in this environment — compilation errors from any of the 12 phases would block everything else.

Tasks

A1 — Attempt first build

Run devenv up and record all output. First run downloads Nix deps (2040 min). Observe for compilation errors; record results. STATUS: PENDING — requires user to run devenv up.

A2 — Fix compilation errors ✓

Resolved proactively before first build based on static analysis of all 140+ modified files. Key fixes (commit f1978c3):

  • Removed inline FK constraints from Schema.sql (IHP schema parser cannot parse them); restored via 1744329600-restore-fk-constraints.sql.
  • Renamed #label#label_ to avoid Haskell built-in clash.
  • Fixed UUID comparisons (toUUID hub.id).
  • Replaced setStatus/respondJson with renderJsonWithStatusCode.
  • Refactored 100+ HSX inline lambdas to named helper functions (GHC type inference limitation in quasi-quotes).
  • Fixed missing imports throughout helpers and controllers.
  • Moved type-registry INSERT seeds to 1744502400-seed-type-registries.sql.

A3 — Enable Tailwind build pipeline ✓

  • tailwindcss added to flake.nix packages.
  • tailwind.exec process uncommented in devenv shell.
  • tailwind/tailwind.config.js and tailwind/app.css created.
  • static/app.css will be populated when devenv up runs the watcher.

A4 — Admin user seed migration ✓

  • Application/Migration/1744416000-seed-admin-user.sql: inserts admin@inter-hub.local / admin1234! (bcrypt cost 10).
  • .env.example added documenting all required env vars and admin creds.

A5 — Smoke test

Verify: login works, hub list renders styled, one hub can be created, hub dashboard loads, API v2 /api/v2/widgets returns []. STATUS: PENDING — requires running app.

Exit Criteria

  • devenv up starts cleanly with no compilation errors
  • static/app.css is non-empty (Tailwind output present)
  • Login with seeded admin user succeeds at http://localhost:8000
  • Hub list page renders with correct styling
  • Smoke test A5 passes for all five checks