Skip to content

fix(tui): stabilize chat turns, ChatGPT sign-in UX, sibling aliases, and stream repaints - #53

Merged
DannyBaanks merged 15 commits into
mainfrom
codex/gmail-hive
Oct 18, 2026
Merged

DannyBaanks merged 15 commits into
mainfrom
codex/gmail-hive

Conversation

@DannyBaanks

Copy link
Copy Markdown
Owner

Summary

Stability A delivery from the approved plan (docs/superpowers/plans/2026-10-18-isycode-tui-stability.md). Gmail Hive remains deferred and is not part of this PR.

  • Preserve completed assistant answers across later turns — a finished response no longer reuses lane.stream_widget, so the next turn cannot overwrite it (72bbab1).
  • ChatGPT subscription model picker — the Model button opens the signed-in account's model catalog; auto stays selected until an explicit choice; provider switching remains in Settings (c856b35).
  • Actionable OAuth link — an explicit "Open sign-in in browser" control opens only HTTPS URLs on the approved auth hosts, so the wrapped URL no longer breaks activation; cancellation and secret absence from history/state are covered by tests (de5efcf).
  • Sibling-folder aliases — mixed-case aliases like Github register canonically as github; case-only duplicates stay rejected and existing grants remain scoped to the exact selected path (a60e913).
  • Streaming render cost — coalesce content repaints (1/30 s), skip unchanged content, and flush on successful finish, failure, cancellation, and lane switch; full streamed source text, history records, transport, and provider chunking are unchanged (fbdb849).

Evidence

  • Plan/spec: docs/superpowers/plans/2026-10-18-isycode-tui-stability.md, docs/superpowers/specs/2026-10-18-isycode-stability-and-gmail-hive-design.md
  • Baseline: docs/superpowers/results/2026-10-18-isycode-stability-baseline.md
  • Offline stream profile (no network, synthetic provider): docs/superpowers/results/2026-10-18-isycode-stream-profile.md — targeted Markdown render CPU −99.7% / −97.7% (1025→3 and 129→3 constructions per sample); thinking preview stayed ~1.3% and was left unchanged.

Tests

  • Focused chat/streaming: 15 passed; chatgpt auth / model / workspace folders: 66 passed.
  • Full local suite (python3 -m pytest -q -m "not integration" with PYTHONPATH=src, matching CI's editable install): 2045 passed, 151 skipped, 11 deselected. One timing flake was observed under full-suite load (tests/test_file_preview_tui.py::test_copy_path_for_selected_directory, green standalone and as a whole file); its cause remains NOT_DEMONSTRATED.
  • Platform CI runs on this PR; each job URL and status will be recorded in the baseline report after completion.

Not demonstrated

  • Historical Windows journal-race failure (CI run 38974723145): not reproduced on Linux; cause NOT_DEMONSTRATED.
  • Live provider inference and real account catalogs: not exercised (offline fixtures only).

DannyBaanks added a commit that referenced this pull request Oct 18, 2026
All PR jobs green on head 3d5fed5: Tests (Linux), Tests (Linux,
Textual 8), Gate evidence, Tests (Windows, 1857 passed), packages, and
native platform contracts (ubuntu-latest, windows-latest). Update the
release recommendation to ship after review. Historical Windows failure
cause stays NOT_DEMONSTRATED.
Batch content repaints at 1/30s, skip unchanged content, and force a
final flush on success, failure, cancellation, and lane switch. Preserve
the full streamed source text, history records, transport, and chunking;
stop painting into a detached widget after a lane switch.
Add the offline streaming render-cost harness and its result report,
and extend the stability baseline with the post-fix suite evidence and
release recommendation. CI stays NOT_DEMONSTRATED until the branch runs
on the platform jobs.
All PR jobs green on head 3d5fed5: Tests (Linux), Tests (Linux,
Textual 8), Gate evidence, Tests (Windows, 1857 passed), packages, and
native platform contracts (ubuntu-latest, windows-latest). Update the
release recommendation to ship after review. Historical Windows failure
cause stays NOT_DEMONSTRATED.
On head 688d826 (same commit): the Textual 8 job timed out once on the
interrupted-turn resume test and passed in the parallel push run and on
rerun; a slow Windows runner failed test_visual_tui.py on a 10s banner
deadline and hit the 60-minute job timeout while the parallel Windows
job passed in 18:31. Both are load/timing flakes; causes NOT_DEMONSTRATED.
@DannyBaanks
DannyBaanks merged commit b2b4c40 into main Oct 18, 2026
11 of 12 checks passed
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