coily exec repo_no_config from a cwd where coily lint reads .coily/coily.yaml fine #3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally filed by @coilysiren on 2026-05-23T01:28:33Z - https://github.com/coilysiren/coily/issues/327
Symptom
On kai-server (
coily v2.23.0),coily exec <verb>from a repo root that has.coily/coily.yamlreturnsrepo_no_config, butcoily lintfrom the same cwd reads the same file fine.Reproducer (via
coily sshso the working-dir is the infrastructure repo root):The file is present and tracked at HEAD (
coily ssh kai-server -- coily git show HEAD:.coily/coily.yamlreturns the contents). Adding--cwd=...infrastructure/scripts(so ancestor walk should hitinfrastructure/.coily/coily.yaml) gives the same error. Adding--commit-scope=...infrastructurealso gives the same error.Hypothesis
coily lintandcoily exec(therepo: execverb) appear to use different config-discovery paths.lintfinds<cwd>/.coily/coily.yamldirectly;exec's "ancestor walk or direct-child scan" apparently doesn't include cwd itself, or walks differently. Whatever the difference, it makescoily execunusable on this host even thoughcoily lintis happy.Why it matters
coily exec <verb>is the user-defined-authorized command path (the metacharacter policy hint specifically calls it out). When the auto-mode classifier denies a bare remote shell write, the documented escape hatch is to declare a verb in.coily/coily.yamland invoke it viacoily exec. Ifcoily execcan't find the config from the same cwd that everything else uses, that escape hatch is broken on the kai-server host.Surfaced while landing coilysiren/infrastructure#286 - tried to run
setup-git-lfsviacoily ssh kai-server -- coily exec setup-git-lfsand hit this. Ended up needing the operator (Kai) to approvecoily systemctl start coilysiren-pull-all.servicedirectly because nocoily execinvocation reached the verb.Repro steps
coily ssh kai-server) into any repo root with a.coily/coily.yaml.coily lint→ reads the file, prints verb count.coily exec <any-declared-verb>→repo_no_config.Same on coily v2.23.0; local (newer?) coily not yet checked.