generated from coulomb/repo-seed
Some checks failed
Test / test (push) Has been cancelled
All three active inter-hub workplans are complete: - WP-0017: all E1–E5 done (clean build, 615 modules) - WP-0014: A1–A5 done (smoke test passed on haskelseed 2026-04-29) - WP-0015: B1–B7 done (static pages live, root route fixed) Release: v0.2.0-alpha.1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
91 lines
3.8 KiB
Markdown
91 lines
3.8 KiB
Markdown
---
|
|
id: IHUB-WP-0015
|
|
type: workplan
|
|
title: "Local Deployment — Intro and Tutorial Web UI"
|
|
domain: inter_hub
|
|
repo: inter-hub
|
|
status: done
|
|
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 ✓
|
|
Verified 2026-04-29 on haskelseed (192.168.178.135:8080):
|
|
- / → Landing (200), /capabilities (200), /tutorial (200), /extension-guide (200)
|
|
- Login as admin@inter-hub.local succeeds, all dashboards load
|
|
- Root route fix: parseRoute' changed from endOfInput to string "/" >> endOfInput
|
|
- Tagged v0.2.0-alpha.1
|
|
|
|
## 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
|