mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-20 09:09:35 +02:00
fix(#648): anchor antigravity's working line to the start of a row
_probePaneWorking() tests the pattern against the whole pane, so an answer that quoted the spinner row (an agent explaining this entry: it matches `⣯ Generating...`) kept the session busy for as long as the text was on screen. Anchored like gemini's braille branch; every agy capture draws the spinner at column 0. The prose test now covers the quoted row. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
0085a75c33
commit
9dfbb29a64
2 files changed
+7
-1
No files matched your search
@@ -1012,9 +1012,13 @@ const ANTIGRAVITY: CliEntry = {
|
||||
// too. The footer hint is drawn only at rest, and the turn's last repaint carries it.
|
||||
// The schema caps a glyph at 8 characters, so this is the head of `? for shortcuts`. It also
|
||||
// keeps the submit verifier inert (no row starts with it and holds prompt text).
|
||||
// The working line is anchored to the start of a row, like gemini's braille branch: the
|
||||
// idle probe tests it against the whole pane, and an answer that QUOTES the spinner row
|
||||
// (an agent explaining this entry) would otherwise hold the tab busy while it is on screen.
|
||||
// Every `agy` capture draws the spinner at column 0.
|
||||
workDetect: {
|
||||
promptGlyph: '? for sh',
|
||||
workingLine: String.raw`[⠀-⣿] [A-Z][A-Za-z ]{2,30}(?:\.\.\.|…)`,
|
||||
workingLine: String.raw`(?:^|\n)[⠀-⣿] [A-Z][A-Za-z ]{2,30}(?:\.\.\.|…)`,
|
||||
},
|
||||
// Like codex: an ABSENT config already defaults safe (no bypass flag), so only a
|
||||
// SENT config needs the flag forced off — nothing is materialized.
|
||||
|
||||
@@ -1018,6 +1018,8 @@ describe("antigravity's work-detection descriptor", () => {
|
||||
expect(working().test(AGY_AT_REST)).toBe(false);
|
||||
expect(working().test(AGY_CONFIRM)).toBe(false);
|
||||
expect(working().test('Loading... is what the spinner label reads\n')).toBe(false);
|
||||
// An answer that quotes the spinner row mid-line must not hold the tab busy.
|
||||
expect(working().test(` ok\n it matches \`⣯ Generating...\` in the pane\n${AGY_RULE}\n>\n`)).toBe(false);
|
||||
});
|
||||
|
||||
it('names the footer hint the turn end carries, and no working repaint does', () => {
|
||||
|
||||
Reference in new issue
Block a user