Tracked follow-ups after the x402 migration. None of these block end-to-end testing — they are quality, completeness, and polish items.
Items are roughly ordered by leverage / smallness. Strike through (~~item~~)
when shipped.
-
Wallet disconnect —DELETE /api/wallet/link/[address]+ button. -
"$ spent this month" tile —payments/summaryreturnsmonthUsdc/monthCalls; rendered on Pricing tab and Settings → Usage card. -
Document tagging UI — already shipped earlier; backend/api/documents/[id]/tags+ inline chip editor on document rows. -
More copy buttons —<CopyButton>on memory IDs, payment tx hashes (with BaseScan link), plusIdentityCardfor principal strings. - Settings page polish — currently has Identity + Organization. Still missing: API key rotation, default tags, danger zone (delete tenant).
- Toast feedback — success/error toasts on upload, memory delete, memory
view, wallet link/unlink. Currently uses
alert()for failures. - Empty states — friendly "no documents yet / no memories yet / no payments yet" panels on the three list pages.
- Memory viewer modal — wire memories list rows to open the existing viewer modal with decrypted content.
-
Keyboard shortcuts —g d/u/m/c/p/a/sjumps between pages,?shows a help overlay,Esccloses overlays. - Bulk select on documents/memories — checkbox column + select-all + bulk delete action bar. Substantial UI rebuild — own PR.
- Dark mode — currently the dashboard is dark-only. A toggle would
require auditing every hardcoded
text-zinc-*/bg-zinc-*for contrast.
-
OpenAPI schema export —GET /api/openapi.jsonreturns an OpenAPI 3.1 doc withx-x402-*extensions for every paid route. Built viabuildOpenApi()in@docdeploy/x402. -
MCP schema export —GET /schema.jsonon the MCP server returns the full tool inventory with input json-schema + per-tool USDC price. Built viabuildMcpSchema()inpackages/mcp-server/src/schema-export.ts. -
Cost estimator —POST /api/estimateaccepts{ calls: [{route, sizeBytes?, count?}] }and returnstotalUsdc+ per-line breakdown. Public, no auth. -
Unattended OAuth (m2m / client_credentials) —POST /tokennow acceptsgrant_type=client_credentialswith the MCP API key asclient_secret(or HTTP Basic). Returns the same Bearer used for /mcp. -
/healthecho polish — verify x402-api and MCP/healthreturn all expected fields (commit,network,payee,version).
- Rate limiting / quotas — payment is the rate limit by design.