Files
jobtrackingapp/docs/redesign/phase-7/p7-09/README.md
T

35 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# P7-09 — Settings, Connections and data lifecycle
Follow the exact [Phase 6 handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries) and [implementation plan](../../IMPLEMENTATION_PLAN.md). P7-08 is implemented **CONDITIONAL GO** and normally pushed as **`c5176e3251c869e13284b994b59b2f7aa9220eb1`**. Direct verification at **2026-10-17T02:03:53.815275 UTC** proves clean HEAD = origin = live development; local/origin/live main remains **`27657f31131cd95d42f0e1290853ec9c9b3959a4`**. The exact receipt is `.artifacts/phase7/p7-08/operations-push-receipt.json`.
## Approved boundaries and preservation
| Boundary | Existing owners / required preservation |
|---|---|
| Preferences and Connections | Existing Settings tabs/mobile selector/panel associations, parent Rules draft session, local theme/table preferences, account language owner, notification preference, Profile/security links and mailbox-provider owners |
| Data/privacy/plan/backup | Existing independent General subcards, privacy, usage/entitlement, import/export and backup/deletion owners; preserve formats, counts, recent-auth and server availability/admission |
An independently reviewable [OAuth sender repair](OAUTH_SENDER.md) precedes presentation because two live callback listeners accept uncorrelated messages. It hardens the existing client handshake; it does not add a phase, provider, backend protocol, grant or route. Preferences/Connections presentation follows its verified publication, then data/privacy/plan/backup. Do not redo accepted Settings navigation, Rules ownership or P7-01 security presentation.
Keep Rules' six fields, saved baseline, validation, submitted-snapshot acknowledgement, internal-tab draft retention and explicit discard. Notification preferences are a separate one-boolean account save scope; in-app reminders and email delivery remain distinct. Preserve local preferences versus server-owned settings, dirty retry/discard behavior, explicit writes and account/session disposal.
No billing, deletion, restore, provider sync/send/grant, worker/model or other withheld capability is activated. Actual provider interoperation and destructive operations retain separate evidence/authority requirements.
## Fresh entry evidence
Fresh frontend **23 cases / 3 suites PASS**, **2026-10-17 02:05:04.985979–02:05:19.337394 UTC**, `p709-entry-20261017T020504Z`: Settings14, Connections3 and job-correspondence Gmail import6. The contemporaneous 15-input snapshot `.artifacts/phase7/p7-09/entry/source.json` and `post.json` prove held bytes matching committed c5176e3 canonical source; its capture is not represented as occurring before the command started.
Fresh unchanged-binary backend **40/40 PASS**, **02:05:30.082119–02:05:33.187997 UTC**, `p709-oauth-entry-20261017T020530Z`, covers ExternalOrigin/Gmail/Microsoft controller cases using `--no-build`. This is finite existing server-contract evidence, not new tests, a Release rebuild, real OAuth or production acceptance. The [portable entry](evidence/entry.json) records raw reports, commands and source/runtime identities.
Entry inventories are **frontend 791/95, browser 323, backend 1,054**, derived from completed bounded additions. Latest whole frontend573/89, backend1,033 and sidecar49 remain inherited until P7-12. Do not substitute affected subsets for an integrated run.
## Findings to validate in the presentation boundaries
Notification reads depend on locale callbacks and can replace an unsaved choice; failed initial reads lack GET recovery, state-only saves permit duplicates, and late acknowledgements replace newer edits. Provider status failures currently resemble disconnection. Privacy/data lifecycle owners require truthful read/retry/pending states and disposal checks; partial import must report completed writes honestly without inventing transactions or resume semantics. These are bounded source findings, not completed repairs.
All **57 groups remain 56 PARTIAL / C11 DEFERRED**, with **33 current routes**. RD11 language, RD12 notification and RD13 Rules failures remain independently diagnosed; successful reruns do not close them. F20/RD21, other reliability/scaling debt, human screen-reader, physical touch/software keyboard, real zoom and production fonts/photos/print remain qualified. P5-13 is withheld; followMode is deferred. Production remains **NO-GO**, main is unchanged and Phase 8 implementation has not started.
The [separate sender repair](OAUTH_SENDER.md) now has final39/3, four type/lint/build gates and nine ordinary browser cases passing, including P2-D01. [Finite results](evidence/oauth-results.json) retain the actual REDs,39/3 final source, three new client-guard cases and all qualifications. Derived inventories become807/95 frontend and326 browser; backend1054 unchanged. Sender repair final hygiene/publication remain pending; preferences/Connections then data/privacy/plan/backup are still the two approved presentation boundaries.
**P7-09 acceptance: PENDING.** Each repair/presentation boundary needs meaningful regression, applicable native/visual evidence, preservation reconciliation, hygiene, commit and normal push/direct verification.