Fix sub_dir default after kennel→fido package rename (closes #919)#920
Merged
Conversation
`src/fido/config.py:114` was still computing `Path(__file__).resolve().parent.parent / "sub"`, which was correct when the Python package lived directly at the repo root (`kennel/`). After the move to `src/fido/` the package is one level deeper, so the relative walk now needs to go up one more directory to reach the repo-root `sub/` tree. Switches to `parents[2] / "sub"` and adds a regression test that the default `sub_dir` points at a real directory containing the five canonical sub-skill markdown files (persona/setup/task/ci/resume). The existing name-only test would have continued to pass with the broken path, so the new assertion is what catches the rename drift.
rhencke
approved these changes
Apr 24, 2026
This was referenced Apr 24, 2026
FidoCanCode
added a commit
that referenced
this pull request
Apr 24, 2026
Fixes #921. Three separate modules (`gh_status.py`, `status.py`, `worker.py`) still had their own pre-rename copies of the filesystem walk to `sub/`. Only `config.py` was updated when the package moved from `kennel/` to `src/fido/` (#920). The other three kept pointing at the non-existent `/workspace/src/sub/`, which is why ClaudeSession launched claude with `--system-prompt-file /workspace/src/sub/persona.md` and claude exited silently with: ``` ClaudeSession[pid=54] stderr: Error: System prompt file not found: /workspace/src/sub/persona.md ``` That error was hidden behind an unread stderr pipe until #922 landed the stderr drain and made it visible. This PR fixes the actual crash by moving all four callers onto a single `fido.config.default_sub_dir()` helper — inline `parents[N] / "sub"` is now a review-time smell. `./fido ci` green. Co-authored-by: Fido Can Code <190991155+FidoCanCode@users.noreply.github.com>
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.
Fixes #919.
Default
sub_dirwas walkingPath(__file__).resolve().parent.parent, which yielded/workspace/src/subnow that the package lives atsrc/fido/— the realsub/is at the repo root (/workspace/sub). Preflight rejected the missing directory and the supervisor marked the containeraction=fail, refusing to auto-retry.Switches to
parents[2] / "sub"and adds a regression test that the default path actually contains the five canonical sub-skill markdown files. The existing name-only test would have kept passing with the broken path../fido cigreen locally.