Milestones
List view
Personas use the app, a review layer turns their findings into design changes: five agent personas who would really use a mobile database client run concrete jobs to be done, and UX, Designer, product owner and Flutter developer agents consolidate, decide and implement. Done when: Every persona's jobs ran with findings in one comparable format (screen, step, expected, happened, severity), every proposed change carries the product owner agent's accept, reject or defer with a reason, and every accepted change is merged without relaxing a guard test in test/architecture/. Depends on M14; needs the Q&A versus QA ambiguity answered before the personas are defined.
No due date•0/1 issues closedWhat a new user meets before and during sign-in: a login screen that reads as LibreDB's own, an onboarding flow that explains Platform, Studio and Mobile with live adoption figures read at runtime, and a Platform entry that no longer competes with Studio for attention. Done when: The login screen takes every colour and type value from the M14 tokens, onboarding explains the three parts of the ecosystem and renders its committed fallback figures when the fetch fails, is slow or answers an unexpected shape, and the Platform entry is settled after #270 lands. The runtime figures need an owner decision first: libredb/libredb-adoption is a private repository, which a shipped app cannot read.
No due date•8/9 issues closedOne source of truth for colour, type and spacing, shared by the app and by anyone reviewing it: the design system of the LibreDB web properties lands in this repository as tokens under lib/shared/design_system/, reconciled with the app's own theme, typography and colour tokens, with every conflict reported rather than silently resolved. Done when: Every token the app uses has one named home a reviewer can cite, the owner has ruled on which side wins where the web design system and the app's tokens disagree, and the 17 golden-image baselines are regenerated if that ruling called for it. Gates M16 and the login-screen part of M15.
No due date•6/7 issues closedPlaceholder. A user asks for access to a connection, and a Platform admin approves or refuses the request on the phone. Designed after M10-P to M12-P ship, and it needs new Platform work, so the upstream drafts go to the owner before anything is filed.
No due date•0/9 issues closedPlatform mode reaches the stores: Data safety answers and store notes for Platform mode, the release defines (PLATFORM_API_URL, PLATFORM_CERT_PINS) set only after the owner approves, an end-to-end check against Studio and Platform inside a Platform installer environment, the iOS walkthrough on a macOS host, and Helm verification once the Platform chart creates the mobile client.
No due date•12/16 issues closedRead-only diagnostics and a few guarded actions for a Studio admin on call: governance status, fleet health, connection health, the monitoring dashboard, kill session, per-object maintenance behind its preview, and recent Studio activity. Done when: M8-99 passes: a user whose Studio role is admin sees an Admin section (hidden and route-guarded for 'user'), can read governance status, fleet health and the monitoring dashboard of one connection, can terminate a session and run a previewed per-object maintenance operation with an explicit confirmation, and a 403 from an admin route is shown as 'not permitted', never as a session end.
No due date•0/1 issues closedThe features that make the app useful beyond a first query: interactive transactions and sandbox mode, EXPLAIN with a plan tree, saved queries and synced preferences from Studio's user storage, autocomplete, grid sort and columns, export through the share sheet, the table profiler, charts, bound parameters, the Studio-backed preview and lifecycle gate, and the rest of the later items from the surveys. Done when: Each child issue ships on its own; the milestone closes when transactions, EXPLAIN, saved queries, autocomplete and export are released. The remaining items can move to a later milestone without blocking it.
No due date•0/3 issues closedShip the first store release of the connections, object browser, results and editor work: release hardening, removal of the dead lifecycle gate, app lock, local data removal, a full walkthrough on physical devices, and store listings with a release pipeline. Done when: Signed release builds pass the full walkthrough (M6-04) on a physical Android phone and on iOS against a governed Studio, certificate pinning and Sentry are configured for release with the iOS native scrubber in place, the lifecycle gate that reads a route Studio does not have is gone, app lock and 'Remove my data' work, and the release pipeline publishes to the internal testing tracks of both stores. No Studio prerequisite blocks this milestone.
No due date•38/44 issues closed