Repository navigation
fix(paths): resolve default output and composer paths from the repo root - #691
Merged
calesthio merged 1 commit intoNov 8, 2026
Merged
Conversation
A few tools still resolved paths against the current working directory, so running them from outside the repo wrote projects/ into the caller's folder or could not find remotion-composer. Route them through lib.paths: - video_analyzer: default output_dir under PROJECTS_DIR/_analysis - character_animation: default output_path under PROJECTS_DIR - remotion_caption_burn: look up remotion-composer at REPO_ROOT only - scaffold_atelier_project: --root defaults to the repo, and progress printing no longer raises when cwd is outside the repo Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
calesthio
approved these changes
Nov 7, 2026
calesthio
left a comment
Collaborator
There was a problem hiding this comment.
Thank you for making default paths independent of the caller's working directory. Reviewed all four changed files against main 63d1087a; defaults now use the canonical repository/projects roots and explicit caller paths remain usable. Validation: 10 character/caption contract and workspace tests passed. An additional actual scaffold run from a different working directory succeeded and exercised the safe path reporting. Composer dependencies are absent, so no full Remotion render was run.
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.
Summary
A few tools still resolved paths against the current working directory instead of the repo root, so running them from outside the repo (e.g. a Claude Code session started in another project with OpenMontage invoked by absolute path) wrote
projects/into the caller's folder or failed to findremotion-composer. This routes them through the existinglib/paths.py, which is already the single source of truth forREPO_ROOT/PROJECTS_DIR.Related issue
None filed; found while running OpenMontage alongside another project.
Changes
tools/analysis/video_analyzer.py: defaultoutput_dirisPROJECTS_DIR / "_analysis" / ...(also honoursOPENMONTAGE_PROJECTS_DIRnow)tools/character/character_animation.py: defaultoutput_pathis underPROJECTS_DIRtools/video/remotion_caption_burn.py: look upremotion-composeratREPO_ROOTonly, so a strayremotion-composer/in the cwd can't shadow the repo'sscripts/scaffold_atelier_project.py:--rootdefaults to the repo instead of., and the progress printing no longer raisesValueErrorwhen cwd is outside the repoExplicit inputs (
output_dir,output_path,--root) behave exactly as before.Testing
pytest testson this branch: 1828 passed, 12 skipped, 3 xfailed (Windows 11, Python 3.12)python <repo>/scripts/scaffold_atelier_project.py some-slugnow creates<repo>/projects/some-slug; onmainthe same command creates./projects/some-slugin the caller's folderRemotionCaptionBurn()._find_remotion_root()returns<repo>/remotion-composerChecklist
make test-contracts/make test) where applicable.🤖 Generated with Claude Code