diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-19 20:40:51 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-19 20:40:51 -0500 |
| commit | 113e8d868fdd95b269c0cc2ce4ec265aa76b539c (patch) | |
| tree | 774b1e68cc26a7f0997c68bef3f115a686eb229b /githooks | |
| parent | d49be0984bc616d584b02abbda1a91d4d46c3c80 (diff) | |
| download | rulesets-113e8d868fdd95b269c0cc2ce4ec265aa76b539c.tar.gz rulesets-113e8d868fdd95b269c0cc2ce4ec265aa76b539c.zip | |
test(ai-launcher): net current behavior and make bin/ai source-testable
Brings the session launcher under characterization tests ahead of the hardening refactor, so the pure-core extractions and footgun fixes land against a green net. The tmux/git-coupled functions can't be reached by running the launcher black-box, so I wrapped dispatch in main() behind a run-vs-sourced guard: run directly it dispatches as before, sourced it exposes the functions to the tests.
The net pins current behavior (record-not-spec) with a Normal/Boundary/Error set per unit: git_status_indicator across no-upstream/ahead/behind/dirty/clean, candidate discovery and filtering, selection parsing, and functional tests over create_window, find_window_id, and sort_windows ordering against a throwaway tmux server. Every tmux call runs on a private socket so nothing touches the live ai session, and the throwaway repos disable git auto-maintenance to dodge the teardown race that flaked rename-ai.
Also cleared the two pre-existing shellcheck warnings on the touched paths: quoted the "@{u}" revspecs (SC1083) and marked the intentionally-literal display tilde (SC2088). Both are behavior-neutral, and the existing runtime tests confirm the launch path is unchanged.
Diffstat (limited to 'githooks')
0 files changed, 0 insertions, 0 deletions
