Skip to content

Rate: persist bounded visual layout preferences (#4433) - #4467

Draft
d-sorgcodexagent[bot] wants to merge 2 commits into
codex/4433-visual-performance-budgetsfrom
codex/4433-visual-layout-persistence
Draft

Rate: persist bounded visual layout preferences (#4433)#4467
d-sorgcodexagent[bot] wants to merge 2 commits into
codex/4433-visual-performance-budgetsfrom
codex/4433-visual-layout-persistence

Conversation

@d-sorgcodexagent

Copy link
Copy Markdown
Contributor

Summary

  • add a versioned, fail-closed presentation-preference contract for the canonical Club camera, React module-help disclosure, and bounded PyQt shell sidebar fraction
  • preserve the existing primary-tab/order authority while keeping scientific results, imported mesh bytes, selections, playback phase, and export ownership session-only
  • restore supported layouts without hiding primary visuals, including a two-row PyQt Club toolbar at 150% DPI
  • add production browser reload evidence, real PyQt restart evidence, protected workflow authority, exact probe-only assertion policy, and SPEC 1.17.00 handoffs

Why

Issue #4433 requires durable visual workspace choices without allowing presentation state to become scientific authority. Prior camera/help/sidebar choices were lost between sessions, while corrupted storage needed to fail closed without breaking the application.

Validation

  • full web suite: 130 files / 1,078 tests
  • focused PyQt preference, camera, and navigation: 34/34
  • post-rebase preference/render/workflow lane: 38/38
  • Playwright persistence: 2/2 at 1440x900 and 390x844
  • PyQt restart evidence: 2/2 at DPI 1.0 and 1.5; all-tab visibility 1/1
  • TypeScript, ESLint, production Vite build, Ruff lint/format, Python 3.12 + MyPy 1.13, workflow/assertion/module-size governance, and diff checks green

Boundaries

Artifacts remain diagnostic rather than approved goldens or formal AT qualification. Per-tab inner layout, portable workspace/archive replay, cross-device synchronization, approved baselines, and manual assistive-technology validation remain open under #4433.

* feat(rate): formalize visual accessibility evidence

* test(rate): generate visual baseline candidates (#4472)

* test(rate): generate visual baseline candidates

* fix(rate): bound native plots accessibility count

* fix(rate): bind candidate and accessibility authority

* fix(rate): bound cross-platform control inventory

* test(rate): freeze Explorer baseline playback

* test(rate): propose protected visual baselines

* fix(rate): narrow hosted baseline typing

---------

Co-authored-by: codex-scheduled <codex-scheduled@users.noreply.github.com>

---------

Co-authored-by: codex-scheduled <codex-scheduled@users.noreply.github.com>
Co-authored-by: d-sorgcodexagent[bot] <289268460+d-sorgcodexagent[bot]@users.noreply.github.com>
@dieterolson

Copy link
Copy Markdown
Collaborator

Blocker: this branch commits six orphan gitlinks

git ls-tree -r on this branch shows six entries at mode=160000 type=commit — git submodule references — under .codex-worktrees/:

.codex-worktrees/friction-factors-3659
.codex-worktrees/pr-3602-fix
.codex-worktrees/pr-3752-movement
.codex-worktrees/pr-3766-modern-robotics-dbc
.codex-worktrees/pr-3780-pressure-flow
.codex-worktrees/pr-3784-deterministic-te

There is no .gitmodules on the branch, so nothing defines where these submodules come from. They are scratch Codex worktrees that got committed as gitlinks. Landing them would break git clone --recurse-submodules and any checkout with submodules enabled, and they point at commits that may exist only in a local worktree.

This is corroborated independently: #4473's description states it is a "clean scoped rebuild" that excludes, among other things, "six scratch-worktree gitlinks" — the same six.

Scope observation

Measured against the union of main and the four campaign branches (#4446, #4447, #4466, #4473), this branch's tree of ~5,950 files contains no source paths that exist nowhere else — the only unique paths are the gitlinks above. So the real work here is modifications to files the campaign branches already carry, not new modules, and this reads as one layer of a stack rather than an independent change.

Path-level containment is not content-level containment, so this is not a claim that the work is already covered — the per-file content still needs checking before anything here is closed. Recording it now so the gitlinks are dealt with first either way.

Suggested next step

Remove the .codex-worktrees/ gitlinks from the branch (git rm --cached each path) before this leaves draft. Per the decision on the #4447/#4473 collision, the campaign is landing via #4446/#4447/#4466, so it is also worth confirming what this branch still adds on top of those once they merge.

No action taken on this branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant