Core Docs

core.console Roadmap

core.console Roadmap



Living task list for core.console — the unified management plane and API gateway of the UNVRSL platform.

Current State (audit 2026-07-19)



Greenfield scaffold. The repo contains only a 14-line JSON health endpoint (index.php) and a README. No structure, no composer, no DB.

Status: greenfield implementation of the finalized L2 design. Architecture is fully specified in a single comprehensive L2 article (07-console): three-layer model, user model (dev users + organizations), ownership model, full data model (15 tables), scoping model, billing model, stats/logs architecture, console UI architecture, request flow, SSO integration, service registration, SDK shape, storage pool provisioning.

Architectural rule (confirmed 2026-07-19): core.console is the ONLY service user-facing projects ever talk to. core.auth, core.ai, core.storage, core.hypermedia never serve projects directly — all traffic routes through core.console with project API keys, for stats, logging, and payment. (Like the Google Cloud Console.) Exception: core.assets is a public CDN, not console-routed.

→ L4 code reference will be initialized once the Phase 0 scaffold lands.

Dependencies



Depends OnFor







core.authSSO, sessions, user identity, account quotas — console delegates auth entirely (no passwords/sessions/2FA stored)
core.backendDocumentShell for console pages; later hosts the Console\Client SDK
core.assetsDesign CSS + ui.js for the console UI (public CDN, consumed directly)
core.auth / core.ai / core.storage / core.hypermediaRoute targets behind the gateway
MySQLAll console tables (dev_users, orgs, projects, keys, logs, stats, …)
SMTPOrg invites, transfer notifications, system alerts

Sequencing note: Phase 0's SSO handshake needs core.auth's session core (core.auth L3 Phase 0) to exist first.

Current Sprint — Phase 0: Foundation



  • [ ] Repo scaffold — structure per L4 conventions (public/, src/, env/), real composer.json (PSR-4)

  • [ ] DB schema — all 15 tables from L2 07: dev_users, organizations, organization_members, org_member_scopes, projects, pending_project_transfers, api_keys, project_security_rules, billing_profiles, project_billing, request_log, project_stats, avatars, todos, notifications

  • [ ] SSO handshake — redirect to core.auth → return → console session context (delegates auth fully)

  • [ ] Dev user onboarding — first-visit flow: terms acceptance → username selection (pre-filled from auth) → dev_users row → empty dashboard

  • [ ] Console shell — top bar (user/org selector, project selector, search, User Circle via core.console-delivered core.auth script) + left nav skeleton, styled via core.assets design CSS through DocumentShell

Backlog



Phase 1: Projects & API Keys


  • [ ] Project CRUD (owner = dev user XOR org, chk_single_owner), slug, avatar, status/kill switch

  • [ ] Service enablement per project (enabled_services JSON)

  • [ ] API keys: scoped subsets of enabled services, Argon2id hash storage, show-once + prefix display, expiry, revoke, last_used_at

  • [ ] Project security rules: IP/CIDR/domain/wildcard, project-wide + per-service override resolution, deny-by-default when zero rules

  • [ ] Project creation form (1–2 pages) + auto-generated setup to-do checklist

Phase 2: API Gateway (runtime)


  • [ ] Request pipeline in L2 order: resolve project from key → security rules → project status → key service scope → quota → route → log

  • [ ] Internal clients for the four microservices (service-to-service calls)

  • [ ] request_log writes on every request (error-focused fields)

  • [ ] Rate limiting

Phase 3: Organizations


  • [ ] Org CRUD, slug, avatar

  • [ ] Members: invite by dev username (email + in-console notification), accept flow, roles (admin/member/viewer)

  • [ ] org_member_scopes resolution (admin implicit full; project-level overrides org-wide; default deny)

  • [ ] Project transfers: admin immediate; non-admin → pending_project_transfers → admin approve + assign billing

Phase 4: Billing


  • [ ] Billing profiles at owner level (dev user / org), multiple profiles per owner

  • [ ] project_billing assignment on creation + reassignment on transfer

  • [ ] Pooled billing views at owner level; plan limits surfaced in UI

Phase 5: Stats & Logs


  • [ ] Request log viewer (filters: status, service, time range, API key)

  • [ ] Hourly aggregation job: request_log → project_stats (upsert per project/service/hour)

  • [ ] Dashboards: charts from project_stats (never raw request_log), pooled owner-level views

Phase 6: Ecosystem Glue


  • [ ] Service registration (name, endpoints, quota model, health endpoint) + health surfacing

  • [ ] Console\Client SDK in core.backend (storage/auth/hypermedia/ai facades through the gateway)

  • [ ] Storage pool provisioning orchestration: provider catalog from core.storage → selection UI → pool creation (console never touches S3 credentials)

Completed



  • [x] L2 architecture finalized (2026-07-05)

  • [x] Repo scaffold placeholder + subdomain live (health endpoint)