Skip to content

Portal: relay Flow's save-approval tasks to the paired phone - #207

Merged
abrichr merged 1 commit into
mainfrom
feat/save-approval-portal-relay
Oct 18, 2026
Merged

abrichr merged 1 commit into
mainfrom
feat/save-approval-portal-relay

Conversation

@abrichr

@abrichr abrichr commented Oct 18, 2026

Copy link
Copy Markdown
Member

Contract/relay layer for one-tap phone approval of saves, built on the existing decision portal.

  • Allowlists Flow's /api/save-approvals console routes behind /api/portal/save-approvals: list, signed task detail, exact screenshot (no-store), and decision.
  • Decisions go through the same session, origin and CSRF checks as attended decisions and are forwarded verbatim. Desktop adds no authority.
  • request_id must be 32 lowercase hex characters at both the HTTP surface and the client.
  • docs/DECISION_PORTAL.md → Approving a save documents the routes, payloads and receipts for the portal UI work.

No shell/UI changes: the portal screens are owned separately and can build on this branch.

Depends on the Flow console routes in OpenAdaptAI/OpenAdapt#1234 (held by the monorepo merge freeze). Against an older console the new routes return 404, which the portal relays unchanged.

Allowlist Flow's /api/save-approvals routes (list, signed task detail, exact
screenshot, decision) behind /api/portal/save-approvals with the same session,
origin and CSRF checks as attended decisions. Desktop forwards the phone's
answer verbatim and adds no authority. Contract documented in
docs/DECISION_PORTAL.md for the portal UI work to build on.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant