Standardize central content width on /settings/personalization and /operator/aiconfig #71

Closed
opened 2026-10-07 22:18:16 +02:00 by gotoi-agent · 6 comments
Collaborator

Depends on #70 (the personalization page must exist at its new path first; the /operator/aiconfig half is independent).

What

The central content column width on two pages does not match the product's standard:

  • Offenders: http://192.168.31.41:5173/settings/personalization and
    http://192.168.31.41:5173/operator/aiconfig
  • Standard to match: http://192.168.31.41:5173/operator/applications and
    http://192.168.31.41:5173/operator/users

Make the two offenders render at exactly the same content width, padding and max-width behaviour
as the standard pages, desktop and mobile.

Scope hints

  • Find the shared chrome the standard pages use (<Page> from
    dashboard/src/lib/components/Page.svelte for breadcrumb routes, plus the shared list/detail
    layout the machines/groups/sources pages reuse — see "Recurring dashboard mistakes" in
    AGENTS.md and the split-list row rules in DESIGN.md).
  • Do not invent a new width token or a per-page CSS override: the fix is to adopt the
    existing standard structure, not to tune numbers until it looks right.
  • aiconfig arrived in #38 and personalization in #46 — both likely hand-rolled their page
    wrapper instead of reusing the standard one.
  • Density rules stand: do not inflate gap/padding/radius (control 6px, card 12px,
    floating 16px); min-w-0 / overflow-auto rules for scrolling columns.

Gates

Dashboard bun run test + bun run check; if a UC describes these pages' layout, update it and
keep _check.py green. One commit per page if they diverge, Refs #<N>, no closing keywords.
Visual proof: describe the before/after width source (which component/CSS decides it) in the
issue comment — a claim without the responsible line of code is not done.

Depends on #70 (the personalization page must exist at its new path first; the /operator/aiconfig half is independent). ## What The central content column width on two pages does not match the product's standard: - **Offenders:** `http://192.168.31.41:5173/settings/personalization` and `http://192.168.31.41:5173/operator/aiconfig` - **Standard to match:** `http://192.168.31.41:5173/operator/applications` and `http://192.168.31.41:5173/operator/users` Make the two offenders render at exactly the same content width, padding and max-width behaviour as the standard pages, desktop and mobile. ## Scope hints - Find the shared chrome the standard pages use (`<Page>` from `dashboard/src/lib/components/Page.svelte` for breadcrumb routes, plus the shared list/detail layout the machines/groups/sources pages reuse — see "Recurring dashboard mistakes" in `AGENTS.md` and the split-list row rules in `DESIGN.md`). - Do **not** invent a new width token or a per-page CSS override: the fix is to adopt the existing standard structure, not to tune numbers until it looks right. - `aiconfig` arrived in #38 and personalization in #46 — both likely hand-rolled their page wrapper instead of reusing the standard one. - Density rules stand: do not inflate gap/padding/radius (control 6px, card 12px, floating 16px); `min-w-0` / `overflow-auto` rules for scrolling columns. ## Gates Dashboard `bun run test` + `bun run check`; if a UC describes these pages' layout, update it and keep `_check.py` green. One commit per page if they diverge, `Refs #<N>`, no closing keywords. Visual proof: describe the before/after width source (which component/CSS decides it) in the issue comment — a claim without the responsible line of code is not done.
gotoi-agent added reference issue/71-content-width 2026-10-08 06:39:01 +02:00
Author
Collaborator

Claimed — branch issue/71-content-width. Doing: adopt the standard <Page> content-width chrome on /operator/aiconfig (personalization half deferred to #70 follow-up).

Claimed — branch `issue/71-content-width`. Doing: adopt the standard `<Page>` content-width chrome on `/operator/aiconfig` (personalization half deferred to #70 follow-up).
Author
Collaborator

Issue #71 — standardize aiconfig content width (personalization half deferred)

Restated goal

/operator/aiconfig must render its central content column at exactly the same width, padding and
max-width behaviour as the standard operator pages /operator/applications and /operator/users,
desktop and mobile. Both standard pages render through <Page> with no maxWidth prop, so the
chrome falls back to .page-chrome--padded { max-width: 90rem } and the body gutters
.page-chrome__body { padding: 0 1.5rem 2rem } (dashboard/src/app.css:327, :329-337; mobile
@media (max-width: 720px) → padding: 0 0.75rem 5.5rem, app.css:1300-1302).

aiconfig already uses <Page>, but passes maxWidth="60rem", which Page.svelte:41 turns into an
inline style="max-width: 60rem" that overrides the 90rem chrome cap. That single override is the
entire divergence. Fix = remove it (adopt the standard structure), not tune numbers.

"Done" for the operator: opening /operator/aiconfig shows the same content column edges, the same
left/right gutters and the same mobile padding as /operator/applications / /operator/users.

Scope

Change:

  • dashboard/src/routes/operator/aiconfig/+page.svelte — drop maxWidth="60rem"; bump the AI header
    Last: field (RULES.md §6).

Do not touch:

  • dashboard/src/routes/operator/personalization/+page.svelte (PR #76 moves it; the
    /settings/personalization half of the issue is deferred to the #70 follow-up).
  • dashboard/src/lib/components/Page.svelte, dashboard/src/app.css, any width token. No new token,
    no per-page CSS override.
  • Inner card rhythm (grid min-w-0 gap-4, space-y-3): the issue scopes width/padding/max-width, and
    gap-4 between stacked cards is the page's own rhythm, not the content column. Reusing the body's
    gap-lg would be a restyle beyond the issue.
  • plans/ (product content).

UC decision

No UC describes these pages' layout: rg -n 'page-chrome|90rem|content width|<Page>' docs/use-cases
returns nothing, and docs/use-cases/frontend/UC-FE-96-aiconfig.md covers only the provider-config
behaviour (load/PATCH/refresh/select), not chrome. UC-FE-50-applications.md likewise says nothing
about width. So no UC is authored or edited; the Implementation cite of UC-FE-96 already points at
dashboard/src/routes/operator/aiconfig/+page.svelte, so the cite stays valid. No UC version: bump
needed — behaviour of the page does not change, only its chrome instantiation.

I deliberately do not author a new "content width" UC: the standard is stated in DESIGN.md
(line 67, "Default pages cap at 90rem") and in RULES.md/AGENTS.md (always use <Page>), so a UC
would duplicate a design rule with no handler/behaviour to cite.

Ordered tasks

  1. Plan comment — python3 $FJ comment 71 --file /home/eduardez/workspace/gotoi-wt/meta/issue-71.plan.md.
    Verify: comment URL printed, exit 0.
  2. Edit aiconfig page — remove maxWidth="60rem" (line 140), update header Last: to
    2026-10-08 — content width matches <Page> default (Refs #71).
    Verify: rg -n 'maxWidth' dashboard/src/routes/operator/aiconfig/+page.svelte → no match;
    sed -n '137,143p' … shows the <Page> attrs intact and the file tail closed at </Page>.
  3. Commit — dashboard: aiconfig uses the standard <Page> content width (Refs #71).
    Verify: git show --stat HEAD.
  4. Gates — python3 docs/use-cases/_check.py; python3 scripts/check-ai-headers.py;
    python3 scripts/check-type-mirror.py; cd dashboard && bun run test && bun run check;
    rg -n 'Showing lines' --glob '!node_modules' --glob '!.git'.
    Verify: every command exits 0.
  5. Visual proof — render the page in a browser at 1440px and 480px viewport, read the computed
    max-width / padding of .page-chrome and .page-chrome__body before (60rem) and after
    (90rem) the edit, and confirm equality with /operator/applications after the edit. Dev-server
    route requires an operator session; fall back to a deterministic DOM-level check if sign-in is not
    reachable. Verify: recorded computed values in the report + Done comment.

Middle (a) middleware and (b) agent gates are not run: the diff touches only dashboard/.

Open questions (assumption stated, proceeding)

  • Does the single-column form look stretched at 90rem? Assumption: irrelevant — the issue
    explicitly demands the standard width and forbids tuning numbers. If the operator dislikes it, that
    is a design decision for a new UC/DESIGN change, not for this issue.
  • Does maxWidth have any other effect on aiconfig? No: Page.svelte:41 only emits
    style="max-width: …". Verified by reading the component.
  • Is /settings/personalization in scope? No — the file does not exist on this branch
    (origin/agent-develop has only operator/personalization/); half deferred to #70.

Risk and fallback

  • Risk: a source-text test asserts maxWidth="60rem" on aiconfig. Mitigation: rg -n 'maxWidth' over
    dashboard/src/**/*.test.ts shows the only width assertion is maxWidth="90rem" for
    settings/secrets. If a gate still goes red, that is information — report, do not weaken.
  • Risk: bun run check picks up a leftover unclosed tag. Mitigation: the edit is a single attribute
    deletion inside the <Page …> opening tag; re-read lines 137-142 after the edit.
  • Fallback if the browser proof cannot authenticate: assert the CSS decision statically — no inline
    style on the <Page> element ⇒ .page-chrome--padded 90rem applies, same rule the standard
    pages hit — and say so explicitly in the report.
# Issue #71 — standardize aiconfig content width (personalization half deferred) ## Restated goal `/operator/aiconfig` must render its central content column at exactly the same width, padding and max-width behaviour as the standard operator pages `/operator/applications` and `/operator/users`, desktop and mobile. Both standard pages render through `<Page>` with **no `maxWidth` prop**, so the chrome falls back to `.page-chrome--padded { max-width: 90rem }` and the body gutters `.page-chrome__body { padding: 0 1.5rem 2rem }` (`dashboard/src/app.css:327`, `:329-337`; mobile `@media (max-width: 720px)` → `padding: 0 0.75rem 5.5rem`, `app.css:1300-1302`). `aiconfig` already uses `<Page>`, but passes `maxWidth="60rem"`, which `Page.svelte:41` turns into an inline `style="max-width: 60rem"` that **overrides** the 90rem chrome cap. That single override is the entire divergence. Fix = remove it (adopt the standard structure), not tune numbers. "Done" for the operator: opening `/operator/aiconfig` shows the same content column edges, the same left/right gutters and the same mobile padding as `/operator/applications` / `/operator/users`. ## Scope Change: - `dashboard/src/routes/operator/aiconfig/+page.svelte` — drop `maxWidth="60rem"`; bump the AI header `Last:` field (RULES.md §6). Do **not** touch: - `dashboard/src/routes/operator/personalization/+page.svelte` (PR #76 moves it; the `/settings/personalization` half of the issue is deferred to the #70 follow-up). - `dashboard/src/lib/components/Page.svelte`, `dashboard/src/app.css`, any width token. No new token, no per-page CSS override. - Inner card rhythm (`grid min-w-0 gap-4`, `space-y-3`): the issue scopes width/padding/max-width, and `gap-4` between stacked cards is the page's own rhythm, not the content column. Reusing the body's `gap-lg` would be a restyle beyond the issue. - `plans/` (product content). ## UC decision No UC describes these pages' layout: `rg -n 'page-chrome|90rem|content width|<Page>' docs/use-cases` returns nothing, and `docs/use-cases/frontend/UC-FE-96-aiconfig.md` covers only the provider-config behaviour (load/PATCH/refresh/select), not chrome. `UC-FE-50-applications.md` likewise says nothing about width. So **no UC is authored or edited**; the Implementation cite of UC-FE-96 already points at `dashboard/src/routes/operator/aiconfig/+page.svelte`, so the cite stays valid. No UC `version:` bump needed — behaviour of the page does not change, only its chrome instantiation. I deliberately do not author a new "content width" UC: the standard is stated in `DESIGN.md` (line 67, "Default pages cap at 90rem") and in `RULES.md`/`AGENTS.md` (always use `<Page>`), so a UC would duplicate a design rule with no handler/behaviour to cite. ## Ordered tasks 1. **Plan comment** — `python3 $FJ comment 71 --file /home/eduardez/workspace/gotoi-wt/meta/issue-71.plan.md`. Verify: comment URL printed, exit 0. 2. **Edit aiconfig page** — remove `maxWidth="60rem"` (line 140), update header `Last:` to `2026-10-08 — content width matches <Page> default (Refs #71)`. Verify: `rg -n 'maxWidth' dashboard/src/routes/operator/aiconfig/+page.svelte` → no match; `sed -n '137,143p' …` shows the `<Page>` attrs intact and the file tail closed at `</Page>`. 3. **Commit** — `dashboard: aiconfig uses the standard <Page> content width (Refs #71)`. Verify: `git show --stat HEAD`. 4. **Gates** — `python3 docs/use-cases/_check.py`; `python3 scripts/check-ai-headers.py`; `python3 scripts/check-type-mirror.py`; `cd dashboard && bun run test && bun run check`; `rg -n 'Showing lines' --glob '!node_modules' --glob '!.git'`. Verify: every command exits 0. 5. **Visual proof** — render the page in a browser at 1440px and 480px viewport, read the computed `max-width` / `padding` of `.page-chrome` and `.page-chrome__body` before (60rem) and after (90rem) the edit, and confirm equality with `/operator/applications` after the edit. Dev-server route requires an operator session; fall back to a deterministic DOM-level check if sign-in is not reachable. Verify: recorded computed values in the report + Done comment. Middle (a) `middleware` and (b) `agent` gates are not run: the diff touches only `dashboard/`. ## Open questions (assumption stated, proceeding) - *Does the single-column form look stretched at 90rem?* Assumption: irrelevant — the issue explicitly demands the standard width and forbids tuning numbers. If the operator dislikes it, that is a design decision for a new UC/DESIGN change, not for this issue. - *Does `maxWidth` have any other effect on aiconfig?* No: `Page.svelte:41` only emits `style="max-width: …"`. Verified by reading the component. - *Is `/settings/personalization` in scope?* No — the file does not exist on this branch (`origin/agent-develop` has only `operator/personalization/`); half deferred to #70. ## Risk and fallback - Risk: a source-text test asserts `maxWidth="60rem"` on aiconfig. Mitigation: `rg -n 'maxWidth'` over `dashboard/src/**/*.test.ts` shows the only width assertion is `maxWidth="90rem"` for `settings/secrets`. If a gate still goes red, that is information — report, do not weaken. - Risk: `bun run check` picks up a leftover unclosed tag. Mitigation: the edit is a single attribute deletion inside the `<Page …>` opening tag; re-read lines 137-142 after the edit. - Fallback if the browser proof cannot authenticate: assert the CSS decision statically — no inline `style` on the `<Page>` element ⇒ `.page-chrome--padded` 90rem applies, same rule the standard pages hit — and say so explicitly in the report.
Author
Collaborator

DONE (scoped to the /operator/aiconfig half; /settings/personalization deferred to the #70 follow-up)

Commits:

  • cd1920f dashboard: aiconfig uses the standard content width (Refs #71)

Root cause (the responsible line): dashboard/src/routes/operator/aiconfig/+page.svelte passed maxWidth="60rem" to <Page>, and dashboard/src/lib/components/Page.svelte:41 turns that prop into an inline style="max-width: 60rem" on the <section class="page-chrome page-chrome--padded">. An inline style beats the class rule .page-chrome--padded { max-width: 90rem } (dashboard/src/app.css:327), so aiconfig capped at 60rem while /operator/applications and /operator/users (both plain <Page>, no maxWidth) capped at 90rem. Fix = drop the prop, adopt the standard structure. No width token or per-page CSS was added.

Visual proof measured in the worktree dev server (Chromium, computed styles):

  • 1920px viewport: applications chrome max-width 1440px (90rem), width 1440, left 419, body padding '0px 24px 32px'; aiconfig identical 1440/1440/419/'0px 24px 32px'.
  • Reproducing the old prop in the same DOM (.page-chrome.style.maxWidth='60rem'): max-width 960px, width 960, left 659 — i.e. the pre-fix signature.
  • 480px viewport: both pages 480 wide, left 0, body padding '0px 12px 88px' (mobile gutter rule app.css:1301-1302).

Gates (all exit 0):

  • python3 docs/use-cases/_check.py ok (96 frontend UCs, all conform)
  • python3 scripts/check-ai-headers.py ok (576 ok, 0 missing)
  • python3 scripts/check-type-mirror.py ok
  • cd dashboard && bun run test ok (16 files, 251 tests)
  • cd dashboard && bun run check ok (0 errors, 7 pre-existing warnings)
  • cd dashboard && bun run build ok
  • middleware/agent gates not run: diff is dashboard-only.

UC: no UC describes these pages' layout, so none was authored or edited; UC-FE-96's Implementation cite already points at the edited file and its behaviour is unchanged. DESIGN.md line 67 ('Default pages cap at 90rem') is the contract the page now obeys.

DONE (scoped to the /operator/aiconfig half; /settings/personalization deferred to the #70 follow-up) Commits: - `cd1920f` dashboard: aiconfig uses the standard <Page> content width (Refs #71) Root cause (the responsible line): `dashboard/src/routes/operator/aiconfig/+page.svelte` passed `maxWidth="60rem"` to `<Page>`, and `dashboard/src/lib/components/Page.svelte:41` turns that prop into an inline `style="max-width: 60rem"` on the `<section class="page-chrome page-chrome--padded">`. An inline style beats the class rule `.page-chrome--padded { max-width: 90rem }` (`dashboard/src/app.css:327`), so aiconfig capped at 60rem while `/operator/applications` and `/operator/users` (both plain `<Page>`, no `maxWidth`) capped at 90rem. Fix = drop the prop, adopt the standard structure. No width token or per-page CSS was added. Visual proof measured in the worktree dev server (Chromium, computed styles): - 1920px viewport: applications chrome max-width 1440px (90rem), width 1440, left 419, body padding '0px 24px 32px'; aiconfig identical 1440/1440/419/'0px 24px 32px'. - Reproducing the old prop in the same DOM (`.page-chrome.style.maxWidth='60rem'`): max-width 960px, width 960, left 659 — i.e. the pre-fix signature. - 480px viewport: both pages 480 wide, left 0, body padding '0px 12px 88px' (mobile gutter rule `app.css:1301-1302`). Gates (all exit 0): - `python3 docs/use-cases/_check.py` ok (96 frontend UCs, all conform) - `python3 scripts/check-ai-headers.py` ok (576 ok, 0 missing) - `python3 scripts/check-type-mirror.py` ok - `cd dashboard && bun run test` ok (16 files, 251 tests) - `cd dashboard && bun run check` ok (0 errors, 7 pre-existing warnings) - `cd dashboard && bun run build` ok - middleware/agent gates not run: diff is dashboard-only. UC: no UC describes these pages' layout, so none was authored or edited; UC-FE-96's Implementation cite already points at the edited file and its behaviour is unchanged. `DESIGN.md` line 67 ('Default pages cap at 90rem') is the contract the page now obeys.
Author
Collaborator

DONE — both halves.

Commits:

  • a1b7da0 dashboard: aiconfig uses the standard content width (Refs #71)
  • 4d40620 dashboard: personalization uses the standard content width (Refs #71)

(a1b7da0 is the earlier commit, rebased onto origin/agent-develop; the deferred-personalization premise from the first comment is void — #70/#76 are merged.)

Root cause, same pattern in both files: the page passed a maxWidth prop to <Page>, and dashboard/src/lib/components/Page.svelte:41 turns it into an inline style="max-width: …" that beats the class rule .page-chrome--padded { max-width: 90rem } (dashboard/src/app.css:327). Standard pages pass no maxWidth.

  • routes/operator/aiconfig/+page.svelte:140 maxWidth="60rem" → capped at 960px (removed).
  • routes/settings/personalization/+page.svelte:18 maxWidth="48rem" → capped at 768px (removed).
    Fix = drop the prop; no width token, no per-page CSS, no number tuning.

Checked PR #76 first: it did not touch the width — git show 0ed997e^:…/operator/personalization/+page.svelte and git show 0ed997e:…/settings/personalization/+page.svelte are byte-identical at line 18 (maxWidth="48rem"); the move was verbatim plus a 308 shim I did not touch.

Visual proof (worktree dev :5183, Chromium, computed styles):

  • 1920px: applications / aiconfig / personalization all max-width 1440px, width 1440, left 419, body padding '0px 24px 32px', empty inline style.
  • Reproducing the removed props in-DOM: .style.maxWidth='60rem' → 960px/left 659; .style.maxWidth='48rem' → 768px/left 755. That is the pre-fix signature.
  • 480px: all three 480 wide, left 0, body padding '0px 12px 88px' (mobile rule app.css:1301-1302).

Gates (all exit 0):

  • python3 docs/use-cases/_check.py ok
  • python3 scripts/check-ai-headers.py ok (577 ok, 0 missing)
  • python3 scripts/check-type-mirror.py ok
  • cd dashboard && bun run test ok (16 files, 254 tests)
  • cd dashboard && bun run check ok (0 errors, 7 pre-existing warnings)
  • cd dashboard && bun run build ok
  • middleware/agent gates not run: diff is dashboard-only.

UC: neither page's layout is described by a UC, so none authored/edited. UC-FE-96 and UC-FE-99 both already cite their page file and their behaviour is unchanged (UC-FE-99 version was already bumped to 2026-10-08 by #76). DESIGN.md line 67 ('Default pages cap at 90rem') is the contract both pages now obey.

Note for follow-up: Page.maxWidth remains the drift vector — plans/executions/[id]/approve still passes maxWidth="48rem" and settings/secrets passes a redundant maxWidth="90rem". Left alone; issue names only two pages.

DONE — both halves. Commits: - `a1b7da0` dashboard: aiconfig uses the standard <Page> content width (Refs #71) - `4d40620` dashboard: personalization uses the standard <Page> content width (Refs #71) (a1b7da0 is the earlier commit, rebased onto origin/agent-develop; the deferred-personalization premise from the first comment is void — #70/#76 are merged.) Root cause, same pattern in both files: the page passed a `maxWidth` prop to `<Page>`, and `dashboard/src/lib/components/Page.svelte:41` turns it into an **inline** `style="max-width: …"` that beats the class rule `.page-chrome--padded { max-width: 90rem }` (`dashboard/src/app.css:327`). Standard pages pass no `maxWidth`. - `routes/operator/aiconfig/+page.svelte:140` `maxWidth="60rem"` → capped at 960px (removed). - `routes/settings/personalization/+page.svelte:18` `maxWidth="48rem"` → capped at 768px (removed). Fix = drop the prop; no width token, no per-page CSS, no number tuning. Checked PR #76 first: it did not touch the width — `git show 0ed997e^:…/operator/personalization/+page.svelte` and `git show 0ed997e:…/settings/personalization/+page.svelte` are byte-identical at line 18 (`maxWidth="48rem"`); the move was verbatim plus a 308 shim I did not touch. Visual proof (worktree dev :5183, Chromium, computed styles): - 1920px: applications / aiconfig / personalization all max-width 1440px, width 1440, left 419, body padding '0px 24px 32px', empty inline style. - Reproducing the removed props in-DOM: `.style.maxWidth='60rem'` → 960px/left 659; `.style.maxWidth='48rem'` → 768px/left 755. That is the pre-fix signature. - 480px: all three 480 wide, left 0, body padding '0px 12px 88px' (mobile rule app.css:1301-1302). Gates (all exit 0): - `python3 docs/use-cases/_check.py` ok - `python3 scripts/check-ai-headers.py` ok (577 ok, 0 missing) - `python3 scripts/check-type-mirror.py` ok - `cd dashboard && bun run test` ok (16 files, 254 tests) - `cd dashboard && bun run check` ok (0 errors, 7 pre-existing warnings) - `cd dashboard && bun run build` ok - middleware/agent gates not run: diff is dashboard-only. UC: neither page's layout is described by a UC, so none authored/edited. UC-FE-96 and UC-FE-99 both already cite their page file and their behaviour is unchanged (UC-FE-99 version was already bumped to 2026-10-08 by #76). `DESIGN.md` line 67 ('Default pages cap at 90rem') is the contract both pages now obey. Note for follow-up: `Page.maxWidth` remains the drift vector — `plans/executions/[id]/approve` still passes `maxWidth="48rem"` and `settings/secrets` passes a redundant `maxWidth="90rem"`. Left alone; issue names only two pages.
Author
Collaborator

REVIEW: CLEAN — findings: (1) both offenders verified fixed — aiconfig dropped maxWidth="60rem" (a1b7da0), settings/personalization dropped maxWidth="48rem" (4d40620); no residual width styles in either file, Page.svelte:41 inline-style path now inert for both, class rule .page-chrome--padded { max-width: 90rem } (app.css:334) + body padding 0 1.5rem 2rem (app.css:343) + mobile 0 0.75rem 5.5rem (app.css:1307-1309) are the responsible lines, identical to /operator/applications and /operator/users; (2) plan fidelity: diff touches exactly the two page files, Page.svelte/app.css/plans/ untouched, orchestrator's both-halves extension honored; (3) re-ran gates: _check.py, check-ai-headers (577 ok), check-type-mirror, dashboard test (254 pass), check (0 errors), build — all exit 0; no test touched, no Showing lines in source; (4) non-blocking note: implementer report's app.css line cites (327/1300-1302) drifted a few lines after rebase (actual 334/1307-1309) — report prose only, tree correct; UNFIXED: none

REVIEW: CLEAN — findings: (1) both offenders verified fixed — aiconfig dropped maxWidth="60rem" (a1b7da0), settings/personalization dropped maxWidth="48rem" (4d40620); no residual width styles in either file, Page.svelte:41 inline-style path now inert for both, class rule .page-chrome--padded { max-width: 90rem } (app.css:334) + body padding 0 1.5rem 2rem (app.css:343) + mobile 0 0.75rem 5.5rem (app.css:1307-1309) are the responsible lines, identical to /operator/applications and /operator/users; (2) plan fidelity: diff touches exactly the two page files, Page.svelte/app.css/plans/ untouched, orchestrator's both-halves extension honored; (3) re-ran gates: _check.py, check-ai-headers (577 ok), check-type-mirror, dashboard test (254 pass), check (0 errors), build — all exit 0; no test touched, no Showing lines in source; (4) non-blocking note: implementer report's app.css line cites (327/1300-1302) drifted a few lines after rebase (actual 334/1307-1309) — report prose only, tree correct; UNFIXED: none
Author
Collaborator

PUBLISHED — branch issue/71-content-width pushed, PR #81 opened to agent-develop: #81. Both halves done: aiconfig dropped maxWidth="60rem" (a1b7da0), settings/personalization dropped maxWidth="48rem" (4d40620, unblocked mid-run when #70 merged; branch rebased onto origin/agent-develop before the second half). Orchestrator gates on final reviewed tree: _check.py 0, check-ai-headers 0 (577 ok), check-type-mirror 0, dashboard test 254/254, svelte-check 0 errors, build ok. Review: CLEAN (independent reviewer session). Follow-up flagged, out of scope: Page.maxWidth remains a drift vector — plans/executions/[id]/approve still maxWidth="48rem", settings/secrets redundant maxWidth="90rem".

PUBLISHED — branch issue/71-content-width pushed, PR #81 opened to agent-develop: https://git.eduard3v.com/EduarD3V/gotoi/pulls/81. Both halves done: aiconfig dropped maxWidth="60rem" (a1b7da0), settings/personalization dropped maxWidth="48rem" (4d40620, unblocked mid-run when #70 merged; branch rebased onto origin/agent-develop before the second half). Orchestrator gates on final reviewed tree: _check.py 0, check-ai-headers 0 (577 ok), check-type-mirror 0, dashboard test 254/254, svelte-check 0 errors, build ok. Review: CLEAN (independent reviewer session). Follow-up flagged, out of scope: Page.maxWidth remains a drift vector — plans/executions/[id]/approve still maxWidth="48rem", settings/secrets redundant maxWidth="90rem".
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
EduarD3V/gotoi#71
No description provided.