fix: repair three cross-merge breakages redding main's CI - #6517
Conversation
UX Review (Fable 5) — ✅ PASSUX-level review of The diff contains only backend test fixes and the removal of a lint-suppression comment — no user-facing strings, components, rendered states, or behavior change anywhere in this PR. UX-Verdict: PASS No user-visible surface changes: two test-only fixes plus a deleted eslint comment leave every rendered pixel and string untouched. [UX-REVIEWED] 9768608 |
GPT 5.6 Review — ✅ no blocking findingsGPT 5.6 completed its review of This comment is updated in place on each push. Review detailsNo findings. False positive or not applicable? A repository writer can comment: |
Opus 4.8 Review — ✅ no blocking findingsReviewed Verdict parsed from the review's SHA-scoped output markers for commit False positive or not applicable? A repository writer can comment: |
Design Review (Fable 5) — ✅ PASSDesign-level review of Design-Verdict: PASS Three real, independently verified main-breaking regressions, each fixed at its root (dead directive removed, doubles matched to the real signature) rather than papered over. Notably, the lint fix removes the dead suppression instead of raising the 664 ceiling — the right call given the ratchet-down convention — and the [DESIGN-REVIEWED] 9768608 |
First Principles Review (Fable 5) — ✅ PASSPremise-level review of All claims verified against the repo. Emitting the review. First-Principles-Verdict: PASS A pure CI unwedge: one deletion and two test-double corrections, each traced to its named breaking commit, with zero riders and zero unfixed siblings. What this change shipsIntent: turn main's CI green again by fixing three independent cross-merge collisions — a FIX.
Every item is declared in the description. Only one of the two lambda tests was actually red ( [FIRST-PRINCIPLES-REVIEWED] 9768608 |
782004a to
2424dda
Compare
NicholasRBowers
left a comment
There was a problem hiding this comment.
Tier 1 auto-approve: fix (2 files). Criteria: no conflict, no requested changes, security path denylist clean, design-doc gate clean, SAST annotations clean, security checklist all-NO, AI reviewers green. Category: cross-merge CI repair with clear root cause -- test monkeypatch updated for the new cotenant_sids cached kwarg, plus removal of a stale eslint-disable comment.
Main is red on every PR's merge ref (and its own CI) from three independent cross-merge collisions: 1. Frontend Lint & Type Check: the whole-file jsx-a11y/control-has-associated-label eslint-disable in website/src/apps/aws-control/DrivePage.tsx (added in #6446) no longer suppresses anything, so eslint counts the directive itself, putting src/ at 665 warnings against the hard ceiling of 664. Deleting the dead directive re-introduces nothing and returns the tree to exactly 664. 2. Backend Tests (3.10, 3) + (Windows) (3): test_session_storage.py's TestCotenantRefusalTextIsForgeSafe monkeypatches cotenant_sids with zero-arg lambdas (added in #6444), but #6313 (merged after) gave cotenant_sids a keyword-only 'cached' parameter — TypeError. Fixed both lambdas to accept the keyword, matching the named doubles #6313 already updated in the same file. 3. Backend Tests (3.10, 2): test_dashboard_chat.py's new test_slot_create_inherits_nearest_folder_project (added in #6465) builds its cfg as a bare MagicMock; the handler stamps cfg.default_agent (a truthy MagicMock) as the slot's agent on an agent-less create, and the coalesced slots broadcast then dies in json.dumps ('Object of type MagicMock is not JSON serializable'), 500ing the create. Pinned default_agent to a string like the sibling cfg mocks in the same file. Verified on this branch (rebased onto 5c925e4): TestFolderCRUD 50 passed, test_session_storage.py 174 passed, npx eslint src/ back at 664; isort/flake8/black clean on touched files.
2424dda to
9768608
Compare
iamwhatever
left a comment
There was a problem hiding this comment.
Tier 1 auto-approve: fix (3 files). Criteria: no conflict, no requested changes, security path denylist clean, design-doc gate clean, SAST annotations clean, security checklist all-NO, AI reviewers green. Category: repairs three cross-merge CI breakages -- pins mock_cfg.default_agent to a string so the slots broadcast stays JSON-serializable, updates two cotenant_sids monkeypatches to the new keyword-only signature, and drops a now-stale jsx-a11y eslint-disable; test-only plus one comment removal, no runtime behaviour change.
dwu96
left a comment
There was a problem hiding this comment.
Tier 1 auto-approve: fix (3 files). Criteria: no conflict, no requested changes, security path denylist clean, design-doc gate clean, SAST annotations clean, security checklist all-NO, AI reviewers green. Category: repairs three independent cross-merge CI breakages at cause — a dead eslint-disable directive removed, and two hand-rolled cotenant_sids test doubles updated to the real keyword-only signature, plus a MagicMock cfg field pinned to a string; test-only plus one comment deletion, no runtime behaviour change.
bolichen97
left a comment
There was a problem hiding this comment.
Tier 1 auto-approve: fix (3 files). Criteria: no conflict, no requested changes, security path denylist clean, design-doc gate clean, SAST annotations clean, security checklist all-NO, AI reviewers green. Category: repairs three cross-merge CI breakages on main (test mock pinned to string, cotenant_sids signature updated in two test callsites, stale eslint-disable removed) with clear per-file root causes.
Problem / Motivation
mainis red on every open PR's merge ref (and on its own CI) from three independent cross-merge collisions:Frontend Lint & Type Check: the whole-file
jsx-a11y/control-has-associated-labeleslint-disable at the top ofwebsite/src/apps/aws-control/DrivePage.tsx(added in feat(aws-control): the cloud drive becomes a page #6446) no longer suppresses anything, so eslint counts the directive itself as a warning (Unused eslint-disable directive) — puttingsrc/at 665 warnings against the job's hard ceiling of 664 (npx eslint src/ --max-warnings 664).Backend Tests (3.10, 3) + Backend Tests (Windows) (3):
test_session_storage.py'sTestCotenantRefusalTextIsForgeSafemonkeypatchescotenant_sidswith zero-arg lambdas (added in fix: repr co-tenant names in reclaim refusal text (#6430) #6444), but fix(session-storage): give the co-tenant lookup the scan cache's opt-in caching #6313 (merged after) gavecotenant_sidsa keyword-onlycachedparameter andmove_to_trashnow callscotenant_sids(cached=...)→TypeError: ... got an unexpected keyword argument 'cached'. fix(session-storage): give the co-tenant lookup the scan cache's opt-in caching #6313 updated the two named test doubles in the same file (claimed_late,unreadable_late) but missed these two lambdas.Backend Tests (3.10, 2):
test_dashboard_chat.py's newtest_slot_create_inherits_nearest_folder_project(added in fix(dashboard): inherit folder project when creating sessions #6465) builds its cfg as a bareMagicMock; the slot-create handler stampscfg.default_agent(a truthy MagicMock) as the slot's agent on an agent-less create, and the coalesced slots broadcast dies injson.dumps(Object of type MagicMock is not JSON serializable) → 500. Pinneddefault_agentto a string like the sibling cfg mocks in the same file. (Reproduced on pristine main tip5c925e4e3— the commit that added it.)Why it matters
Every open PR currently inherits both reds regardless of its own diff. The lint gate's own comment says to ratchet the ceiling down, never up — so the correct fix is removing the dead directive, not raising the number.
What changed (motivation → approach → change)
DrivePage.tsx(8 comment lines). The suppression is genuinely dead: the file lints at zero problems without it, andnpx eslint src/returns to exactly 664.lambda *, cached=False: ...), matching the signature fix(session-storage): give the co-tenant lookup the scan cache's opt-in caching #6313 already gave the named doubles in the same file.Tests
Full
test/test_session_storage.py: 174 passed (was 1 failing on both affected shards). The frontend-lint CI job is itself the regression test for the eslint half.Manual verification
npx eslint src/apps/aws-control/DrivePage.tsx→ 0 problems;npx eslint src/ --max-warnings 664→ exit 0 at 664.isort/flake8/blackclean on the touched test file.Screenshots / video
N/A — no user-visible change (comment deletion + test-double signature fix).
no linked issue: main-CI breakage discovered while driving PR #6513; filed directly to unblock all open PRs.