From 34cc18b4c7d76723a6b596a78195efab5abbabbd Mon Sep 17 00:00:00 2001 From: Bernd Worsch Date: Sat, 4 Apr 2026 09:55:41 +0000 Subject: [PATCH] =?UTF-8?q?chore(WP-0014):=20update=20workplan=20=E2=80=94?= =?UTF-8?q?=20A2/A3/A4=20complete,=20A1/A5=20pending=20build?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- ...IHUB-WP-0014-pre-flight-deployment-gaps.md | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 workplans/IHUB-WP-0014-pre-flight-deployment-gaps.md diff --git a/workplans/IHUB-WP-0014-pre-flight-deployment-gaps.md b/workplans/IHUB-WP-0014-pre-flight-deployment-gaps.md new file mode 100644 index 0000000..ce716c2 --- /dev/null +++ b/workplans/IHUB-WP-0014-pre-flight-deployment-gaps.md @@ -0,0 +1,79 @@ +--- +id: IHUB-WP-0014 +type: workplan +title: "Pre-flight: Close Deployment Gaps" +domain: inter_hub +repo: inter-hub +status: in_progress +owner: custodian +topic_slug: inter_hub +created: "2026-04-03" +updated: "2026-04-04" +state_hub_sync: done +state_hub_workstream_id: "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 (20–40 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