7.4 KiB
P6-01 — Shared design-system corrections
Current owner's P6-01 follows P6-00 audit. The earlier README/FINDINGS in this folder retain their historical checkpoint meaning. Baseline application source is 9d6d29d; all existing dirty company/i18n/toast/browser changes were preserved. Parent execution log owns final commit hashes, checkpoint pushes and remote verification.
Bounded changes
| Audit finding | Existing owners / correction | Protected behavior and focused evidence |
|---|---|---|
| P6-DC01 | CareerProfilePage and ProfilePage Avatar use existing primary.main/primary.contrastText instead of default grey/white. | Image upload/crop/remove and identity source unchanged. Two initials tests prove rendered default-theme contrast reaches 4.5; real app themes are separately measured by parent's native evidence. |
| P6-DC02 | Login root gains main; existing h5-style title explicitly renders h1. | Sign-in/register/provider/verification/2FA/remember-me payloads and routes unchanged. Two mode cases identify title inside main. |
| P6-DC03 | Career/Profile/Admin contextual titles/sections get explicit h2/h3/h4; metric values remain styled text. CV Content Sections becomes h3 under existing h2 editing region. Career field-group headings are h4; raw accordion subtitle is span inside existing MUI heading. | Styling/font/spacing remain approved. No global variant mapping or print renderer edit. Career/Admin actual heading sequence, account hierarchy and CV no-write test preserve route-specific context. Existing Admin audit/users cases now require contextual level-two title. |
| P6-DC04 | Settings existing tabs link settings-tab-0…3 to settings-panel-0…3. Existing active-only TabPanel gets role, labelledby and translated label fallback. | Inactive panel unmount behavior, Rules session/draft owner, save/discard and mobile selector unchanged. Test traverses all four sections and phone selector. |
Every changed presentational owner uses MUI/Emotion and existing translations/tokens. No new component framework, font, option, form model, save model, navigation or information architecture was introduced. AppShell is unchanged: the parent's settled native naming proof must determine whether historical transitional flags represent a defect. P5-13 stays withheld/deferred; no model run, AI activation or renderer/pagination modification occurs.
Test-first record and current evidence
Local raw logs and exact Jest JSON remain under .artifacts/phase6/current/design/. They are execution artifacts, not portable browser/human qualification.
red.json: initial eight new cases fail. Initial test setup also used an incorrect CV label and expected DU instead of actual unchanged DD initials; these setup errors are retained rather than called product regressions.red-corrected.json/red-initials.json: corrected CV semantics and both Avatar rendered pairs fail for the intended missing feature; initials default pair is 1.878 in the default MUI/JSDOM test environment, distinct from historical real-app ratios.red-admin.json: contextual title assertions fail before Admin source changes.red-hierarchy.json: after actual Career data loads, descendant h6 skips h3; explicit contextual field-group semantics repair it. Earlier wrong Career label and early empty field setup are retained in intermediate logs.green.json: first seven-suite run has 117 passing / 2 failures. One was the corrected Career test setup; the new Admin test also required its own jest-dom matcher import. No product assertion was relaxed.green-final.jsonandgreen-semantic.json: detect a remaining genuine Admin latest-summary subtitle2=h6 after h4. Its semantic component is corrected to h4.green-race-semantic.json: 30/30 across complete Profile, AdminSystem and I18n suites, zero failed/skipped/todo. Other six complete suites in the prior focused run pass their unchanged tests; parent's fresh integrated full-suite run is authoritative final acceptance after the last source edit.- Whitespace check passes. Final type/lint/build, native theme/locale/reflow, complete browser and full regression evidence belong to the parent execution manifest, not an inferred PASS here.
Added semantic tests: Login 2, Settings 1, meaningful initials 2, Career hierarchy 1, account hierarchy 1, CV hierarchy/no-write 1, AdminSystem hierarchy 1 = 9; AdminUsers/Audit existing cases were strengthened without changing counts. Existing dirty feedback tests and final full-suite count reconciliation are separately owned by P6-02/final acceptance.
P6-02 dependency discovered during independent review
The existing dirty language-feedback repair could deliver an older failure after a newer successful choice, or keep an earlier Retry that reapplied an obsolete language. Independent review reproduced both cases before fixing them. red-language-race.json records two actual failures: obsolete alert delivery and EN reverting to NB through stale Retry.
I18nProvider now keeps the current choice and latest preference-request sequence at the existing owner. Both failure delivery and Retry check those values; ordinary account save still uses the same endpoint/payload, local choice still changes immediately, server hydration still avoids a write, and storage changes update the current-choice guard. green-race-semantic.json includes both passing regressions in the complete six-case I18n suite. Two additional race tests are counted in P6-02, separate from nine semantic cases. This is a frontend stale-feedback repair, not a diagnosis or repair of historical database preference500 contention.
Company failed-save Alert/draft/retry and consistent list/card date locales were independently reviewed as bounded existing-owner corrections. Their final focused/browser results are parent-owned; no duplicate source edits were made here.
Preservation and outcome
Applicable traces: PRES-E02/E06/E07/E08, C06–C09, S01/S03/S04; canonical profile/CV override/save owners and authorization remain untouched. All 57 inherited groups remain contractual; no group is promoted to full PASS from finite semantic tests. P2-D01 must remain ordinary passing in final native regression.
Bounded corrections are ready for integrated validation. Human screen-reader, physical touch/software keyboard, production-equivalent font/photo, contextual preview main/incomplete axe and operational release evidence remain unverified. Full Phase 7 visual migration and Phase 8 customization were not attempted; Production remains NO-GO.
Native error localisation correction
The first native company error cases actually rendered an Alert and retained the draft, but exposed Request failed with status code 500 in both languages instead of the caller's translated fallback. The unit API stub had concealed this shared-helper difference. Current source has126 getApiErrorMessage call sites; the root is corrected once after existing server-validation/message extraction: ordinary Axios transport failures use the caller's fallback, while structured server explanations, sanitisation, explicit cancellation/session and ordinary application errors are retained. Five real-helper cases cover both locales, HTTP/network/timeout, validation, HTML, cancellation and application errors:2RED/3already passing→5GREEN. Complete-suite/native affected-route validation is repeated after this final helper edit; no assertion is relaxed to accept mixed-language transport text.