Skip to content

Ship 2026-05-06: 5 GH closed + 12 features + Bug #1 (squashed eb-branch)#30

Open
ballinbigE wants to merge 1 commit into
mainfrom
ship-2026-05-06
Open

Ship 2026-05-06: 5 GH closed + 12 features + Bug #1 (squashed eb-branch)#30
ballinbigE wants to merge 1 commit into
mainfrom
ship-2026-05-06

Conversation

@ballinbigE
Copy link
Copy Markdown
Collaborator

What

Single-commit squash of every commit on eb-branch ahead of main, including 19 substantive commits from 2026-05-06's full-day session. Created as a fresh branch off current main so the diff applies cleanly without the hash-mismatch conflict that's been blocking PR #29.

Today's changes (2026-05-06)

Tier-2 GH burn-down (5 issues closed)

Sim-QA fix (install-verified)

Connection + PTT visibility

  • Story G: BackendPickerSheet shows live per-backend reachability dot + caption (Connected / Connecting… / Unreachable / PIN required / Off)
  • Story H: Single-line PTT health banner above the mic — surfaces Whisper offline / mid-press disconnect / warming up

Codex CLI integration (live-verified)

  • Story I: Codex CLI image-paste path — new CLIKind enum on WindowState; TerminalStateDetector.classifyCLI sniffs process names; KeystrokeInjector.pasteImage writes NSImage to clipboard + Cmd+V into iTerm2

A11y + paste + scrollback + numbered prompts

  • §B15 slot-row a11y sweep — traits + hints on every chip
  • §35 Cross-app clipboard paste via keyboard long-press (32 KiB cap, multi-byte-safe trim)
  • §38 iTerm scrollback nav — chevron buttons in panel header, Shift+PageUp/Down + Cmd+Home/End via System Events
  • §18 Context-aware numbered-prompt chips — pure detector requires cursor marker to disambiguate from prose

Picker last-seen + top-bar enrichment + image upload recovery

  • Story J: Picker shows "Last seen Xm/Xh/Xd ago" per backend (new lastConnectedAt field)
  • Story K: Top-bar 4-state pill (unpaired / connected / connecting / authFailed / stalled)
  • Story L: Image-upload categorized error chip + recovery action (Reset / Pick window / Try another / Retry)

Diagnostic capture

  • §26 Shake-to-diagnose — ShakeDetector + DiagnosticsSheet with frozen iPhone snapshot, copy + Request Mac bundle buttons

Test coverage

Suite Start End Δ
QuipMac 256 298 +42
QuipiOS 195 275 +80
Combined 451 573 +122

All green across 13 new test files.

Why a squash + new branch

PR #29 blocked by hash-mismatch conflict from a git filter-repo redaction of historical commit 71af40e (device name leak). Per branch memory feedback_no_filter_repo_main_conflict.md, force-pushing main is permanently off the menu. This branch is the path-B/C alternative — fresh branch off current main with a single squash commit of all 49 ahead-of-main commits.

Closes PR #29 (please close manually when this lands).

Test plan

  • CI builds both schemes
  • Mac suite green
  • iOS suite green
  • Hardware: rebuild + reinstall iPhone + Mac, run punch list in docs/superpowers/handoffs/2026-05-06-session-handoff.md

🤖 Generated with Claude Code

Single-commit squash of every commit on eb-branch ahead of main since
the cont-2 filter-repo divergence. Cherry-pick was infeasible due to
xcodeproj merge conflicts across all 19 today commits — this branch
exists so a fresh PR can land cleanly on main without the hash-mismatch
conflict that's been blocking PR #29.

Tracks every commit's intent in the per-feature handoffs in
docs/superpowers/handoffs/. Most recent canonical handoff is
2026-05-06-session-handoff.md (49 commits ahead summarized inline).

Today's 19 substantive commits (all on eb-branch tip a103604):

Tier-2 GH burn-down (5 closed):
- 3817e2b GH #15 CloudflareTunnel audit — argv-array form, 7 tests
- 32cb484 GH #14 PIN UserDefaults→Keychain + 8-digit entropy
- a9e2c5a GH #19 Mac→iOS app-level heartbeat (15s interval)
- babdc67 GH #20 arrange_windows.layout String→enum
- 640b507 GH #24 APNsMetadataStore + requireAuth lock test coverage

Sim-QA install-verified fix:
- f779bd3 Bug #1 disconnect clears stale lastError + connectingStartedAt

Connection + PTT visibility:
- 0001371 Stories G+H — picker per-row reachability + PTT health banner

Codex CLI integration (live-verified):
- 6186fee Story I — Codex Cmd+V image paste path

A11y + paste + scrollback + numbered prompts:
- 13b69da §B15 slot-row a11y sweep + cont-5 wishlist Done entries
- 4d1d21a §35 cross-app clipboard paste via keyboard long-press
- 5fe7493 §38 iTerm scrollback nav (Shift+PageUp/Down, Cmd+Home/End)
- 551ca20 §18 context-aware numbered-prompt chips (NumberedPromptDetector)

Picker last-seen + top-bar enrichment + image upload recovery:
- ab27a16 §J PairedBackend.lastConnectedAt + "Last seen Xm ago" caption
- 43466d3 §K top-bar 4-state TopBarStatus pill
- 95f2e52 §L ImageUploadFailure categorization + recovery affordance

Diagnostic capture:
- 8641ab7 §26 shake-to-diagnose ShakeDetector + DiagnosticsSheet

Plus session handoffs (7481360, d8b4c40, a103604).

Test suite end-of-day: Mac 256→298 (+42), iOS 195→275 (+80), combined
451→573 (+122 across 13 new test files), both schemes green.

Branch memory feedback_no_filter_repo_main_conflict.md locks GH #16
filter-repo and PR #29 path A (force-push main) as do-not-do per user
policy from 2026-05-06.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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