chore(WP-0014): update workplan — A2/A3/A4 complete, A1/A5 pending build

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 09:55:41 +00:00
parent f1978c3888
commit 34cc18b4c7

View File

@@ -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 (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