Repository navigation
chore: saved Claude workflows stay LF; budgeted-autonomy close-out cleanup - #794
Merged
Merged
Conversation
…ilot-file cleanup .gitattributes pins .claude/workflows/*.js to LF: with core.autocrlf=true they were checked out CRLF, and the Workflow tool refuses a script holding a control character, so `project-audit` could not be run by name. tests/scripts/claude-workflows.test.sh asserts the attribute and that no checked-out workflow holds a CR (compared with tr/cmp: Git for Windows' grep cannot see a CR). README: the controller takes tasks the operator adds (nothing reads cards from GitHub); the tick posts nothing to the outbox itself; the "Not in PR 3" adapter and transfer lines say what PR 5 added. Removes tools/autonomy-controller/PILOT-PR4.md, the PR 4 pilot's throwaway file (#777). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
scripts/phase-end/check_workflows.js refuses a workflow holding a control character other than tab and newline (the Workflow tool refuses one; a CRLF checkout holds a CR on every line), with a CRLF fixture in tests/scripts/claude-workflows.test.sh replacing the test's own byte check. ci/cert-gate-assertions.md's row for the test names both rules. README and the package docstring: task add names a card optionally. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
IanFrelinger
force-pushed
the
chore/budgeted-autonomy-close-cleanup
branch
from
October 13, 2026 20:22
248c088 to
f011cf6
Compare
IanFrelinger
pushed a commit
that referenced
this pull request
Oct 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The budgeted-autonomy close-out's one cleanup PR (owner decision of 2026-10-13, decisions log row "Workstream", landed by #793).
What changed
.gitattributespins.claude/workflows/*.jstotext eol=lf. Withcore.autocrlf=true, as on this Windows host, they were checked out CRLF. The Workflow tool then refusedproject-auditby name: "script contains control characters that would be hidden in the approval dialog". So the phase F handoff had to run an LF copy throughscriptPath.scripts/phase-end/check_workflows.jsnow refuses a workflow that holds a control character other than tab and newline. It names the code point and the line, and prints the fix:rm <file> && git checkout -- <file>. Before, the checker printedokfor a CRLF workflow that the tool refuses.tests/scripts/claude-workflows.test.sh:.claude/workflows/*.jsis pinned LF (git check-attr eol);ci/cert-gate-assertions.mdrow 82 names both new rules.tools/autonomy-controller/README.md:task add, optionally naming a card, and that nothing reads cards from GitHub. The package docstring inashlar_controller/__init__.pysays the same.outbox.pyrow says the operator enqueues and flushes the posts, and the tick posts nothing itself.task transfer.tools/autonomy-controller/PILOT-PR4.md, the PR 4 pilot's throwaway file (Add the file tools/autonomy-controller/PILOT-PR4.md containing one short paragraph saying it was written by the budgeted autonomy controller's pilot of PR 4 on 2026-10-11 in the workspace it was given. Create no other file and change nothing else. #777), is removed. Nothing references it.CHANGELOG.mdgets an[Unreleased]"Fixed" entry.After merge
Merging does not rewrite existing Windows checkouts: git rewrites no file whose blob is unchanged, and the
.jsblobs did not change. So each active Windows clone needs the fix once:rm <file> && git checkout -- <file>for both workflows. Until thenclaude-workflows.test.shfails there, with that command in its message. I will run it in the session checkout.Verified
Observed red, then green, by hand on this host.
grep $'\r', passed on CRLF copies. Git for Windows' grep cannot see a CR before a line end. That check was replaced, first bytr/cmpand then by the checker rule.tr/cmpversion went red on the CRLF working copies and green after the re-checkout.project-audit.js, withholds a control character (U+000D at line 1)and the fix. It goes green on the LF copy.scripts/mutation-check.sh, withASHLAR_MUTATION_RUNNER="bash scripts/phase-end/mutation-runner.sh"(thetest_validate.pysuite plus this test), at248c0886c:eol: unspecifiedandeol: crlf.An adversarial review (portability, records, breakage) found these, and all are fixed here:
The reviewer also ran the attribute check on Linux (Ubuntu 24.04,
autocrlfunset), checked every output form ofgit check-attr, ran the test from another cwd and from a worktree, and confirmed the.jsblobs are unchanged, so no renormalize is needed.Other checks:
scripts/check-docs-phantom-paths.shreports 0 missing. The knowledge graph is current; a rebuild changed only line endings in this checkout.🤖 Generated with Claude Code