mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-14 10:39:32 +01:00
fix(story-mode): a failed check that Claude fixes in its next command says so
Flagged by four readers across rounds 10 to 12: after a push, "but a check after that fails" never said that Claude repaired what the check found (the new remote pointed at a branch with no commits) and checked again. When Claude's next command runs that same check again after a change (`git -C remote.git symbolic-ref HEAD refs/heads/main && git -C remote.git log …`) and passes, the caption adds "; Claude fixes it, and the check passes next." A check re-run with no change before it, or one that fails again, claims nothing. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
b0898b5441
commit
ed6c89ff98
4 files changed
+41
-3
No files matched your search
@@ -100,7 +100,7 @@
|
||||
{
|
||||
"kind": "save",
|
||||
"ok": true,
|
||||
"story": "Claude starts a git repository, saves the work: \"add kebab CLI that turns text into URL slugs\" and copies it to remote.git, a folder on this computer, but a check after that fails.",
|
||||
"story": "Claude starts a git repository, saves the work: \"add kebab CLI that turns text into URL slugs\" and copies it to remote.git, a folder on this computer, but a check after that fails; Claude fixes it, and the check passes next.",
|
||||
"unaskedSave": false,
|
||||
"director": "git commit -q -F - · git push -u origin main · 1 error",
|
||||
"balloon": null,
|
||||
|
||||
@@ -129,7 +129,7 @@ describe('Story Mode on real sessions', () => {
|
||||
// One commit, then a push in a command of its own: one commit, not two.
|
||||
// The folder had no repository: the first save starts one, and the reader is told.
|
||||
story:
|
||||
'Claude starts a git repository, saves the work: "add kebab CLI that turns text into URL slugs" and copies it to remote.git, a folder on this computer, but a check after that fails.',
|
||||
'Claude starts a git repository, saves the work: "add kebab CLI that turns text into URL slugs" and copies it to remote.git, a folder on this computer, but a check after that fails; Claude fixes it, and the check passes next.',
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -1373,6 +1373,31 @@ describe('buildStoryPage', () => {
|
||||
expect(loop('Add mode() with tests.')).not.toMatch(/as you asked/);
|
||||
});
|
||||
|
||||
it('a check that failed after a push and passes in the next command after a change reads as fixed', () => {
|
||||
const save = (next: string, nextOk = true) =>
|
||||
pageOf([
|
||||
prompt('ship it'),
|
||||
...bash('b1', 'git commit -qm "add a"', 'Commit', ''),
|
||||
...bash(
|
||||
'b2',
|
||||
'git push -u origin main && git -C remote.git log --oneline',
|
||||
'Push',
|
||||
'Exit code 128\nTo ./remote.git\n * [new branch] main -> main\nfatal: your current branch does not have any commits yet',
|
||||
true
|
||||
),
|
||||
...bash('b3', next, 'Next', nextOk ? 'f4c840d add a' : 'Exit code 1\nfatal: no', !nextOk),
|
||||
end(1000),
|
||||
]).panels.find((p) => p.kind === 'save')!.caption.story;
|
||||
expect(save('git -C remote.git symbolic-ref HEAD refs/heads/main && git -C remote.git log --oneline')).toMatch(
|
||||
/, but a check after that fails; Claude fixes it, and the check passes next\.$/
|
||||
);
|
||||
// Run again with no change before it, or failing again: no claim of a fix.
|
||||
expect(save('git status -sb && git -C remote.git log --oneline')).toMatch(/, but a check after that fails\.$/);
|
||||
expect(
|
||||
save('git -C remote.git symbolic-ref HEAD refs/heads/main && git -C remote.git log --oneline', false)
|
||||
).toMatch(/, but a check after that fails\.$/);
|
||||
});
|
||||
|
||||
it('a check after a push is named a check, and tests in a fresh copy say so', () => {
|
||||
const page = pageOf([
|
||||
prompt('ship it'),
|
||||
|
||||
Reference in new issue
Block a user