fix(WP-0014/A2): continued type-correctness fixes and Tailwind CSS output

- Schema.sql: add FK constraints for phases 6–12 so IHP generates Id X
  instead of UUID for FK columns (widget_adapter_specs, friction_scores,
  hub_routing_rules, agent_proposals, hub_capability_manifests, etc.)
- HubHealth, ModelRouter, ApiInteractionEvents: remove toUUID() wrappers
  now that FK columns carry proper Id types
- FederatedGovernance/Dashboard, HubRoutingRules/Index: same Id comparison fix
- AgentProposals/Index, DecisionRecords/Index, ApiConsumers/Edit: Id type fixes
- BottleneckDetector: add Data.Coerce import; CrossHubPropagation: add guard
- ApiKeys: qualify cryptohash-sha256 import to resolve package ambiguity
- WebhookDeliveryJob: use LBS.fromStrict; remove duplicate diffUTCTime
- Sessions/New: use renderFlashMessages (IHP built-in)
- ArchiveRecords/LineageInspector: simplify renderChainStep signature
- static/app.css: Tailwind CSS output (2011 lines) — A3 confirmed
- workplans/IHUB-WP-0015-local-deployment-intro-ui.md: add workplan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-08 01:49:41 +00:00
parent 34cc18b4c7
commit 74bab5f6f2
17 changed files with 2218 additions and 32 deletions

View File

@@ -0,0 +1,89 @@
---
id: IHUB-WP-0015
type: workplan
title: "Local Deployment — Intro and Tutorial Web UI"
domain: inter_hub
repo: inter-hub
status: open
owner: custodian
topic_slug: inter_hub
created: "2026-04-03"
updated: "2026-04-03"
state_hub_sync: done
state_hub_workstream_id: "946d50b8-441c-4c0a-b1a0-2a4fb3340d16"
depends_on: IHUB-WP-0014
---
# IHUB-WP-0015 — Local Deployment: Intro and Tutorial Web UI
## Goal
Deploy inter-hub locally and add the public-facing intro/tutorial web
interface so that the running instance presents both a self-contained
introduction to the framework and access to the management UI — with no
domain extensions registered yet.
## Background
Depends on IHUB-WP-0014 (clean build, Tailwind CSS, admin user). Once the
pre-flight gaps are closed, this workplan adds the missing web layer: a
landing page, capabilities overview, and domain-extension tutorial as actual
rendered pages within the IHP app — surfacing the rich content already in
`docs/` and `specs/` through the web interface rather than only as files.
The management UI (58 controllers, all dashboards) already exists and needs
no new code — only a navigational entry point.
## Tasks
### B1 — Create `StaticPages` controller
New `Web/Controller/StaticPages.hs` with actions:
`LandingAction`, `CapabilitiesAction`, `TutorialAction`, `ExtensionGuideAction`.
No auth guard — these pages are public. Register routes in `Web/Routes.hs`.
### B2 — Landing page view
`Web/View/StaticPages/Landing.hs` — what inter-hub is, the traceability chain
(Widget → InteractionEvent/Annotation → RequirementCandidate → Requirement →
DecisionRecord → DeploymentRecord → OutcomeSignal → Learning), key capabilities
at a glance, and two CTAs: "Explore Capabilities" + "Go to Management UI".
Content drawn from `SCOPE.md` and `ARCHITECTURE-LAYERS.md`.
### B3 — Capabilities page view
`Web/View/StaticPages/Capabilities.hs` — the 12-phase capability map, GAAF
scorecard (3.68 Strong), the API surface (v1 + v2), the learning loop, the
type registry system, and the hub federation model. Structured HTML with
section anchors. Draws from `ARCHITECTURE-LAYERS.md` and
`specs/InteractionHubFrameworkSpecification_v0.2.md`.
### B4 — Tutorial and extension guide views
`Web/View/StaticPages/Tutorial.hs` — step-by-step overview of how the IHF
works from a developer perspective (Widget lifecycle, governance flow, outcome
loop).
`Web/View/StaticPages/ExtensionGuide.hs` — how to build and register a domain
hub extension: HubCapabilityManifest, type registry entries, hub-owned widget
types, hub-scoped controllers. Content drawn from
`docs/domain-hub-extension-guide.md`.
### B5 — Update root route
Change `GET /` from `HubsAction` to `LandingAction` in `Web/FrontController.hs`
or `Web/Routes.hs`. Management entry point becomes `GET /hubs`.
### B6 — Navigation integration
Add "Docs" / "About" / "Tutorial" links to the existing nav bar in
`Web/FrontController.hs`. Add "Management" link pointing to `/hubs`.
Ensure the nav is accessible from all static pages without requiring login.
### B7 — Final deployment run and verification
With WP-0014 complete: confirm `devenv up` is clean, log in as admin, walk
the full intro → capabilities → tutorial flow, enter the management UI,
create a test hub, verify all dashboards load. Document the local URL, admin
credentials location, and any operational notes.
## Exit Criteria
- `http://localhost:8000` shows the landing page (no login required)
- Landing → Capabilities → Tutorial → ExtensionGuide navigation works
- "Management UI" link from landing takes authenticated users to `/hubs`
- Hub management, all dashboards, and API v2 remain functional
- No domain extensions pre-registered (clean starting state confirmed)
- All pages render with correct Tailwind styling