generated from coulomb/repo-seed
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:
79
workplans/IHUB-WP-0014-pre-flight-deployment-gaps.md
Normal file
79
workplans/IHUB-WP-0014-pre-flight-deployment-gaps.md
Normal 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 (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
|
||||||
Reference in New Issue
Block a user