11 KiB
11 KiB
EDUT ID Roadmap Status
Status key:
DONE: committed in this repoIN_PROGRESS: partially implementedPENDING: specified but not yet built in this repo
Core Steps
- Lock core model (
membership required,membership != license):DONE - Freeze token taxonomy:
DONE - Finalize membership contract interface targets:
DONE - Lock signature + intent protocol:
DONE - Add membership mint transaction stage in web flow:
DONE(frontend + backend deployed; on-chain Base Sepolia quote/confirm flow validated end-to-end againstapi.edut.dev) - Implement membership gate in marketplace checkout:
DONE(live API active onapi.edut.dev; control-plane smoke confirms checkout -> entitlement activation on Base Sepolia) - Ship offer registry schema:
DONE - Ship entitlement purchase schema/pipeline contracts:
IN_PROGRESS - Bind entitlements to runtime activation:
PENDING - Add issuer layer interfaces and manifest schema:
DONE - Harden policy/legal surfaces for utility-access framing:
DONE - Add conformance vectors for fail-closed gating:
DONE - Freeze org-boundary + availability class model (
connected/sovereign):DONE - Freeze owner-gated admin/support plane (
org_root_ownervsworkspace_member):DONE
This Repo Specifically (web)
Implemented now:
- Wallet-first landing flow with intent + signature + membership tx hooks.
- Post-mint app delivery step (
download your platform) for immediate member value. - Membership-gated architecture spec.
- Step-based roadmap without timelines.
- Frozen v1 schemas and examples.
- Interface target document for contracts/APIs.
- Pricing policy with 100 USDC floor rule.
- Terms utility-only non-investment clause.
- Store page upgraded from static to live-state scaffold with membership gate behavior.
- OpenAPI contract + request/response examples for secret-system endpoints.
- Conformance vectors + failure matrix + release gate + security checklist.
- Deployment templates + invariants + chain operations runbook.
- Issuer onboarding pack, migration policy, trust page spec, and integration mapping docs.
- Public
/trustpage scaffold aligned with trust-page spec. - Dedicated marketplace OpenAPI contract and examples.
- Member app channel contract, examples, backend handoff checklist, and conformance vectors.
- Download endpoints now validate wallet membership status before authorizing channel messaging.
- Governance install API contract, examples, backend handoff checklist, and conformance vectors.
- Repo boundary blueprint and free launcher specification aligned with first paid governance model.
- Store UI now supports distinct payer wallet overrides with ownership-proof signing before quote requests.
- Public web store preview is noindex and disabled by default unless explicit internal preview mode is enabled.
- Catalog distribution and public-surface deployment guardrails are documented for launcher-only commerce.
- Split repos (
launcher,governance,contracts) are published to Gitea with seed commits and runbook alignment. - Boundary and availability model documented with deterministic state machine and conformance vectors.
- Owner-gated admin/support model documented in API contracts, terms, and conformance vectors.
- Local backend implementation (
web/backend/secretapi) now serves membership endpoints, governance install/lease endpoints, sponsor-aware payer flow, and deterministic integration tests. - Local backend member app channel endpoints now serve deterministic register/unregister, poll, idempotent ack, and owner-only support ticket flows with sqlite-backed event/audit state.
- Membership confirm now supports strict fail-closed mode (
SECRET_API_REQUIRE_ONCHAIN_TX_VERIFICATION) that requires chain receipt verification when enabled. secretapinow validates critical config at startup and fails fast on invalid deploy combinations.secretapinow ships an explicit.env.exampledeployment template aligned to current endpoint/runtime requirements.- Marketplace checkout confirm now validates on-chain tx sender/receipt and supports strict fail-closed verification mode.
- Wallet session issuance and validation are implemented (
session_tokenfrom/secret/wallet/verify) with optional fail-closed enforcement viaSECRET_API_REQUIRE_WALLET_SESSION. - Marketplace/member/governance OpenAPI contracts now declare wallet-session usage for launcher/app-channel calls.
- Offer catalogs and marketplace responses now carry execution pacing profiles (
governed_human_pacevslocal_hardware_speed) for connector/runtime policy alignment. - Membership and checkout confirm handlers now reject tx-hash replay across different designations/quotes (
tx_hash_replay) with deterministic tests and live validation. - Wallet sessions now bind to client context (
X-Edut-Device-Bindingwith user-agent fallback) and reject foreign-context replay (wallet_session_context_mismatch) with deterministic tests. - Dependency-edge degraded-mode controls are now enforced in
secretapi: chain edge blocks settlement confirms (dependency.chain_unavailable), on-ramp degradation blocksfiat_onrampwhile preservingcrypto_direct, cloud edge blocks remote channel/support mutations, model edge blocks AI-layer checkout activation, and recovery-window hold semantics are tested (AB6-*coverage inbackend/secretapi/app_test.goandbackend/secretapi/dependency_edges_test.go). - Member-channel anti-fatigue controls are now enforced in
secretapi: deterministic event burst throttling with digest fallback (channel_digest) is configurable viaSECRET_API_MEMBER_CHANNEL_EVENT_BURST_LIMITandSECRET_API_MEMBER_CHANNEL_EVENT_BURST_WINDOW_SECONDS, digest payloads track aggregatedsuppressed_countwithin each throttle window, andGET /member/channel/eventsnow returns digest summary fields (digest_active,digest_suppressed_count) (backend/secretapi/app_test.go). - Member-channel trust calibration signals are now exposed in
secretapi: each event includes deterministictrust_postureandreview_level, and event polling responses include aggregatetrusted_event_count/review_event_countfor operator triage (backend/secretapi/app.go,backend/secretapi/models.go,backend/secretapi/app_test.go). - Chain-adjacent degraded-mode controls now include TLS and DNS dependency edges: membership and marketplace confirm fail closed with
dependency.tls_unavailable/dependency.dns_unavailable, health surface exposestls/dnsdependency states, and conformance vectors include AB6-007/AB6-008 (backend/secretapi/app.go,backend/secretapi/dependency_edges.go,backend/secretapi/app_test.go,backend/secretapi/dependency_edges_test.go). - Marketplace checkout now supports deterministic financial threshold governance: quote responses expose
approval_required/approval_reason, confirm fails closed withapproval_requiredwhen threshold-gated approvals are missing, and confirm/audit outputs persistapproval_token_ref+approval_actor(backend/secretapi/marketplace.go,backend/secretapi/store.go,backend/secretapi/app_test.go). - Admin assurance gates are now explicitly separated from EDUT ID state: governance admin controls (install token issuance + lease heartbeat/offline renew) and owner support tickets require
onramp_attestedassurance in addition to active membership/owner-role checks, and governance install status reports deterministicidentity_assurance_insufficientblockers (backend/secretapi/app.go,backend/secretapi/app_test.go,docs/api/governance-installer.openapi.yaml,docs/api/member-channel.openapi.yaml). - Secret API error envelopes now include deterministic remediation guidance via
next_stepalongsidecodeandcorrelation_id, with coverage for approval, assurance, session, dependency, and context failure paths (backend/secretapi/app.go,backend/secretapi/app_test.go,docs/api/governance-installer.openapi.yaml,docs/api/member-channel.openapi.yaml). - Dependency-edge stability windows now explicitly cover TLS and DNS recovery behavior in settlement paths: membership/marketplace confirmations remain fail-closed during recovery and resume automatically after window completion (
backend/secretapi/app_test.go,docs/conformance/availability-boundary-vectors.mdAB6-009/AB6-010). - Setup health diagnostics endpoint now exposes deterministic onboarding readiness checks (
/secret/setup/health) for wallet/session/membership/assurance/principal state, with actionable next steps for failed checks and regression coverage inbackend/secretapi/app_test.go(docs/api/secret-system.openapi.yaml). - Marketplace checkout confirm now enforces setup readiness before high-impact entitlement activation: non-bundled confirms fail closed with
setup_incompletewhen wallet setup health is not checkout-ready, with deterministic remediation to/secret/setup/health(backend/secretapi/marketplace.go,backend/secretapi/app.go,backend/secretapi/app_test.go).
Remaining in this repo:
- Wire live store checkout flow to production marketplace APIs when available.
- Replace deployment templates with real contract addresses after chain deployment:
IN_PROGRESS(Base Sepolia addresses captured indocs/deployment/contract-addresses.base-sepolia.json; mainnet pending). - Keep cross-repo address parity with
<workspace-root>/contracts/deploy/runtime-addresses.base-sepolia.json:IN_PROGRESS. - Add launcher/governance install UI that consumes governance installer APIs.
Cross-repo dependencies (kernel/backend/contracts):
- Implement
/secret/membership/quoteand/secret/membership/confirm:DONE(api.edut.devlive; typed-signature intent, quote, tx submit, confirm, and membership status read validated on Base Sepolia). - Implement membership contract and membership status reads:
IN_PROGRESS(membership contract deployed on Base Sepolia in ETH test mode; mainnet USDC deployment pending). - Implement checkout APIs and entitlement mint pipeline:
IN_PROGRESS(staging path live on Base Sepolia and validated by control-plane smoke; mainnet USDC settlement path pending). - Implement runtime entitlement gate and evidence receipts.
- Implement member app channel APIs and deterministic event stream storage:
IN_PROGRESS(live deployment active with sqlite-backed deterministic event store). - Implement governance install token/confirm/status APIs and signed package delivery:
IN_PROGRESS(local implementation inweb/backend/secretapi; package signing/deploy wiring pending). - Implement org-root boundary claims and access class state transitions in runtime/API responses:
IN_PROGRESS(principal/access-class scaffolding implemented locally; full runtime integration pending).