diff --git a/SCOPE.md b/SCOPE.md index 81c9579..2f7c3ab 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -65,8 +65,8 @@ IHF treats every meaningful UI element as a **governed interaction artifact** ra ## Current State -- Status: Phase 8 complete + GAAF compliance foundation complete (IHUB-WP-0009) — type registries, extension manifests, architectural contracts, and CI fitness functions in place; ready for Phase 9 (API versioning) -- Implementation: Phase 0 complete (specification); Phase 1 complete (widget registry, event capture, annotations, hub dashboard, auth); Phase 2 complete (annotation severity, annotation threads, requirement candidates, triage lifecycle, reviewer assignment, triage dashboard); Phase 3 complete (requirement promotion, decision records, policy references, implementation change references, governance dashboard); Phase 4 complete (deployment records, outcome signals, pre/post comparison, regression detection, change evaluation, recurrence tracking, antifragility dashboard); Phase 5 complete (agent proposals, review records, confidence annotations, cluster summarization, requirement drafting, duplicate detection, policy sensitivity, implementation proposals, agent audit dashboard); Phase 6 complete (EnvelopeEmissionContract, InteractionReportingContract, WidgetAdapterSpec, REST API for cross-framework event submission, annotation launcher JS, React adapter, adapter compatibility dashboard); Phase 7 complete (FrictionScore, BottleneckRecord, HubHealthSnapshot, CrossHubPropagation, friction heatmap, bottleneck dashboard, hub health history, operational review board); Phase 8 complete (WidgetOwnership, HubRoutingRule, FederatedPolicyOverlay, StewardshipRole, ArchiveRecord, delegated ownership, inter-hub routing, federated governance dashboard, lineage inspector) +- Status: Phase 9 complete (IHUB-WP-0010) — type registries, extension manifests, architectural contracts, CI fitness functions, and versioned external API surface are in place. +- Implementation: Phase 0 complete (specification); Phase 1 complete (widget registry, event capture, annotations, hub dashboard, auth); Phase 2 complete (annotation severity, annotation threads, requirement candidates, triage lifecycle, reviewer assignment, triage dashboard); Phase 3 complete (requirement promotion, decision records, policy references, implementation change references, governance dashboard); Phase 4 complete (deployment records, outcome signals, pre/post comparison, regression detection, change evaluation, recurrence tracking, antifragility dashboard); Phase 5 complete (agent proposals, review records, confidence annotations, cluster summarization, requirement drafting, duplicate detection, policy sensitivity, implementation proposals, agent audit dashboard); Phase 6 complete (EnvelopeEmissionContract, InteractionReportingContract, WidgetAdapterSpec, REST API for cross-framework event submission, annotation launcher JS, React adapter, adapter compatibility dashboard); Phase 7 complete (FrictionScore, BottleneckRecord, HubHealthSnapshot, CrossHubPropagation, friction heatmap, bottleneck dashboard, hub health history, operational review board); Phase 8 complete (WidgetOwnership, HubRoutingRule, FederatedPolicyOverlay, StewardshipRole, ArchiveRecord, delegated ownership, inter-hub routing, federated governance dashboard, lineage inspector); Phase 9 complete (versioned `/api/v2`, OpenAPI, API consumers and keys, OAuth client credentials, generated SDKs, webhooks, API usage dashboard, and rate limiting) - Stability: core artifact model and schema are stable; Phase 6 contracts and Phase 8 activated policy overlays are immutable once active; native IHP widgets unaffected; Phase 7 observability scores are recomputed (not append-only), health snapshots are append-only; Phase 8 ownership records are soft-audit (no delete), archival is soft-delete (is_archived flag) - Usage: reference implementation running on IHP v1.5 + PostgreSQL; `devenv up` to start diff --git a/workplans/IHUB-WP-0010-ihf-phase9-external-api.md b/workplans/IHUB-WP-0010-ihf-phase9-external-api.md index 3d12188..2e841bd 100644 --- a/workplans/IHUB-WP-0010-ihf-phase9-external-api.md +++ b/workplans/IHUB-WP-0010-ihf-phase9-external-api.md @@ -4,11 +4,12 @@ type: workplan title: "IHF Phase 9 — External API Surface and Consumer SDKs" domain: inter_hub repo: inter-hub -status: active +status: done owner: custodian topic_slug: inter_hub created: "2026-04-01" -updated: "2026-04-01" +updated: "2026-06-07" +completed: "2026-06-07" state_hub_sync: done state_hub_workstream_id: "c6c6e87f-e145-4bc4-9881-61f92b14d4de" --- @@ -68,6 +69,12 @@ Schema additions: - `webhook_deliveries` table - `api_request_log` table (for usage dashboard and rate limiting) +## Close-out Correction - 2026-06-07 + +State Hub showed IHUB-WP-0010 as active even though all eleven task rows were +already `done`. The workplan frontmatter and final exit checklist were corrected +to reflect the completed Phase 9 state. + --- ## Tasks @@ -748,17 +755,17 @@ Enforce per-consumer limits and close out the workplan. **Exit criteria (Phase 9 complete when all of these are true):** -- [ ] All core IHF artifact types are readable via `/api/v2/` -- [ ] Interaction events and annotations are writable via `/api/v2/` -- [ ] OpenAPI spec generated; `widget_type`, `event_type`, `category` carry +- [x] All core IHF artifact types are readable via `/api/v2/` +- [x] Interaction events and annotations are writable via `/api/v2/` +- [x] OpenAPI spec generated; `widget_type`, `event_type`, `category` carry `enum` arrays from live registries -- [ ] TypeScript SDK at `/api/v2/sdk/ihf-client.ts` exports correct enums -- [ ] Python SDK at `/api/v2/sdk/ihf-client.py` exports correct enums -- [ ] Webhook delivery confirmed for `interaction_event.created` and +- [x] TypeScript SDK at `/api/v2/sdk/ihf-client.ts` exports correct enums +- [x] Python SDK at `/api/v2/sdk/ihf-client.py` exports correct enums +- [x] Webhook delivery confirmed for `interaction_event.created` and `requirement_candidate.created` -- [ ] API usage dashboard renders correctly with AutoRefresh -- [ ] OAuth client credentials flow works end-to-end -- [ ] Submission of an unregistered `event_type` returns HTTP 422 with +- [x] API usage dashboard renders correctly with AutoRefresh +- [x] OAuth client credentials flow works end-to-end +- [x] Submission of an unregistered `event_type` returns HTTP 422 with registry-referenced error -- [ ] Rate limiting returns 429 with `Retry-After` -- [ ] CLAUDE.md updated; IHUB-WP-0010 listed as complete +- [x] Rate limiting returns 429 with `Retry-After` +- [x] CLAUDE.md updated; IHUB-WP-0010 listed as complete