launcher/README.md

2.9 KiB

EDUT Launcher

Free control-plane application for EDUT onboarding and entitlement-aware installs.

Scope

  1. Local wallet create/import/recovery UX.
  2. Device readiness checks.
  3. Membership status and governance install controls.
  4. Signed package download and verification orchestrator.
  5. Member app-channel inbox.

Primary v1 wallet behavior and acceptance criteria are specified in:

  • docs/wallet-v1-product-spec.md

Out of Scope

  1. Governance runtime internals.
  2. Paid module execution engines.

Boundary

Launcher never contains private kernel internals. It verifies and installs signed paid runtimes only after entitlement checks pass.

Local Harness (Current)

app/index.html now exposes a product-first control surface with advanced harness tooling preserved.

Top-level control surface:

  1. Connect wallet
  2. Activate membership
  3. Refresh status + feed
  4. Governance status
  5. Wallet/session/membership/designation/last-sync overview cards
  6. Pull-first updates feed + support ticket action
  7. Identity assurance visibility (none / crypto_direct_unattested / sponsored_unattested / onramp_attested)

Advanced integration controls (collapsible):

  1. API/chain connection settings
  2. Wallet intent + verify primitives
  3. Membership quote + confirm primitives
  4. Marketplace offer list + checkout quote/send/confirm primitives
  5. Member channel register/poll primitives
  6. Governance install + lease primitives (with explicit operation_mode)
  7. Raw response log for deterministic troubleshooting

Wallet automation helpers remain available in advanced controls:

  1. Connect wallet fills address from window.ethereum.
  2. Sign intent (EIP-712) signs the current intent payload and fills walletSignature.
  3. Sign payer proof signs distinct-payer ownership proof and fills payerProof.
  4. Send membership tx submits the quote transaction via eth_sendTransaction and fills confirmTxHash.
  5. Membership confirm can optionally attach on-ramp attestation fields (identity_assurance_level, identity_attested_by, identity_attestation_id) for provider-integrated flows.
  6. Wallet verify returns a session token; launcher forwards it on marketplace/member/governance API calls via bearer + X-Edut-Session.

Policy behavior in launcher shell:

  1. Membership is required for all member-channel polling flows.
  2. onramp_attested identity assurance is required for owner support-ticket and governance install-token actions.
  3. Assurance state is displayed independently from membership state in the top summary cards.
  4. Owner-only buttons are UI-disabled until both membership is active and assurance is onramp_attested.
  5. Governance activation evidence must carry explicit signing authority class (identity_human or delegated).

Run locally:

cd /Users/vsg/Documents/VSG\ Codex/launcher/app
python3 -m http.server 4310

Then open http://127.0.0.1:4310 and point API base URL at running secretapi.