Repository navigation
fix(756): measure the /about retry flag, and unpin a test from terminal width - #785
Conversation
…al width TWO INDEPENDENT FINDINGS, both from catching a live occurrence. 1. THE /about RETRY FLAG IS NOW MEASURED. The 2026-09-10 spike got 0/5 -- the redirect had stopped reproducing on ci-probe -- and recorded that as unmeasured rather than as transience. It then named exactly what would settle it: catch a live occurrence and re-run with --attempts 5. While measuring the #780 consent bar, denon82 turned out to be redirecting. The script was run UNMODIFIED, so its pre-registered reading still governs: 5 of 5 landed on /about, over ~3 minutes, 31-35 s each. The session was healthy throughout (flow_session_cookie_present, not expired, sapisid present, 68 cookies) and the project is the account's OWN, listed by `gflow project list` on that same profile. So this is neither an expired session nor a project the account cannot see. Per the inherited reading, N/N means stable: a retry is doomed for an account in this state. `retryable=False` at raise_if_known_landing was a PRESERVED default and both the code comment and FlowAppError's docstring said so in as many words. Those two statements became false the moment this ran, and they are corrected here. Behaviour is unchanged -- the flag was already right; it just wasn't known to be. Still not measured, and said so: WHY the redirect happens, and whether it ever clears. What is newly excluded is narrow but real: not an expired session, not a missing project, not transience. This also explains, rather than merely notes, why the #780 spike could not measure the covering geometry on a second account's editor: denon82 and pr389fresh2 both land here, so neither mounts a composer at all. 2. AN AUTH TEST DEPENDED ON TERMINAL WIDTH. Found while running the suite for (1), and proven NOT to be my change by a control: same --basetemp, my edits stashed, still fails. test_auth_steps.py asserts substrings of Rich's output, which hard-wraps to the terminal. A temp path landing near the wrap column split the word: --basetemp=.../t9 -> "profile_e\nxperiments" -> FAILS --basetemp=.../t10b -> "profile_experiments" -> passes Same code, same assertion, one character of path. That is a latent CI flake waiting for a runner whose tmp path is a different length. Pinned COLUMNS at the shared CliRunner fixture rather than normalising newlines at each of the ten assertion sites -- the fixture is the single chokepoint, and fixing the symptom ten times would let the eleventh one in. Verified across the four path lengths that flipped it, then the full suite at the path that exposed it: 4234 passed. Refs #756 Claude-Session: https://claude.ai/code/session_01Nr4XuvvZv3PrL3pKEzkrLc
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe changes document five consecutive ChangesRedirect evidence and test stability
Priority: ➖ Normal Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Other · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The documentation reflects the measured redirect behavior, and the auth test output is stabilized without changing production CLI behavior. No merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 3 files. (3 skipped: 3 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Two independent findings, both from catching a live
/aboutoccurrence while measuring something else.1. The
/aboutretry flag is now measuredThe 2026-09-10 spike got 0/5 — the redirect had stopped reproducing — and recorded that as unmeasured rather than as transience. It then named exactly what would settle it: catch a live occurrence and re-run with
--attempts 5.denon82was redirecting. The script was run unmodified, so its pre-registered reading still governs./about, every time5 of 5, over ~3 minutes. The session was healthy throughout (cookie present, not expired, SAPISID present, 68 cookies) and the project is the account's own. So this is neither an expired session nor a project the account cannot see.
Per the inherited reading, N/N means stable: a retry is doomed, and costs a user ~35 s to learn nothing.
retryable=Falsewas a preserved default, and both the code comment andFlowAppError's docstring said so in as many words. Those two statements became false the moment this ran. Behaviour is unchanged — the flag was already right, it just was not known to be.Still not measured, and it says so: why it happens, and whether it ever clears. Newly excluded, narrowly: not an expired session, not a missing project, not transience.
This also explains rather than merely notes why the #780 spike could not measure the covering geometry on a second account's editor —
denon82andpr389fresh2both land here, so neither mounts a composer.2. An auth test depended on terminal width
Found while running the suite for (1), and proven not to be my change by a control: same
--basetemp, my edits stashed, still fails.test_auth_steps.pyasserts substrings of Rich's output, which hard-wraps to the terminal. A temp path landing near the wrap column split the word:Same code, same assertion, one character of path. A latent CI flake waiting for a runner whose tmp path is a different length.
Pinned
COLUMNSat the sharedCliRunnerfixture rather than normalising newlines at each of the ten assertion sites — the fixture is the single chokepoint, and fixing the symptom ten times lets the eleventh one in.Verification
ruff,ruff format,pyright src0 errors, doc links, hygiene, website mirror.https://claude.ai/code/session_01Nr4XuvvZv3PrL3pKEzkrLc
Summary by CodeRabbit
Documentation
/aboutredirect across five consecutive attempts.Tests