fabro/lib/crates
Marcel Hild 8a6f83bb08
fix(cli): use working_directory for manifest git detection
build_manifest_git() was called with the CLI's cwd, which detects the
wrong repo/branch when fabro is invoked from a workspace directory that
differs from the target repo (e.g. via `[run] working_dir = "repos/foo"`
in .fabro/project.toml). Now resolve working_directory once in
build_run_manifest, share it with resolve_manifest_goal (dropping the
duplicate resolution), and pass it to build_manifest_git.

Also rename the build_manifest_git parameter from `cwd` to `repo_path`
to reflect that it now receives the resolved working directory.

Add a regression test that spins up a workspace git repo and a
separate target git repo beneath it, points `[run] working_dir` at the
target, and asserts the manifest's git branch and origin come from the
target repo.

Ports https://github.com/durandom/fabro/pull/2 to the post-v2-schema
code (Settings -> SettingsLayer).

Closes #159

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 16:53:55 -04:00
..
fabro-agent refactor: adopt strum for enum string conversions 2026-04-22 17:16:25 -04:00
fabro-api Merge remote-tracking branch 'origin/main' 2026-04-22 21:18:50 -04:00
fabro-auth Merge remote-tracking branch 'origin/main' 2026-04-19 20:32:02 -04:00
fabro-checkpoint Adjust store dump export paths 2026-04-22 16:13:27 -04:00
fabro-cli fix(cli): use working_directory for manifest git detection 2026-04-23 16:53:55 -04:00
fabro-client chore: fix nightly clippy lints on worker jwt branch 2026-04-23 12:08:55 -04:00
fabro-config Merge remote-tracking branch 'origin/main' 2026-04-23 08:52:44 -04:00
fabro-core refactor(unwrap): clean runtime hotspot call sites 2026-04-19 20:48:44 -04:00
fabro-devcontainer refactor(unwrap): clear non-test workspace warnings 2026-04-19 20:56:38 -04:00
fabro-github refactor(server): relocate github helpers and use macros for test context 2026-04-20 08:39:12 -04:00
fabro-graphviz refactor: adopt strum for enum string conversions 2026-04-22 17:16:25 -04:00
fabro-hooks refactor(auth): scrub FABRO_WORKER_TOKEN from worker env at startup 2026-04-23 15:10:58 -04:00
fabro-http refactor: remove CLI client mTLS 2026-04-20 17:37:24 -04:00
fabro-install refactor(server): lock down server secrets 2026-04-23 07:15:27 -04:00
fabro-interview Merge remote-tracking branch 'origin/main' 2026-04-19 20:32:02 -04:00
fabro-llm refactor: adopt strum for enum string conversions 2026-04-22 17:16:25 -04:00
fabro-macros refactor(config): move settings combine into types 2026-04-23 08:42:19 -04:00
fabro-mcp fix: simplify fabro-http crate and fix correctness issues 2026-04-12 12:20:55 -04:00
fabro-model refactor: adopt strum for enum string conversions 2026-04-22 17:16:25 -04:00
fabro-oauth test(cli): suppress browser launch under spawned fabro test subprocesses 2026-04-22 07:50:34 -04:00
fabro-proc fix(proc): expect disallowed_methods on /proc walk 2026-04-21 12:26:41 -04:00
fabro-retro refactor: simplify metadata snapshot + retro upload paths 2026-04-21 08:27:59 -04:00
fabro-sandbox refactor(auth): scrub FABRO_WORKER_TOKEN from worker env at startup 2026-04-23 15:10:58 -04:00
fabro-server chore: fix nightly clippy lints on worker jwt branch 2026-04-23 12:08:55 -04:00
fabro-slack refactor(http): centralize reqwest behind fabro-http 2026-04-12 11:48:54 -04:00
fabro-spa Merge remote-tracking branch 'origin/main' 2026-04-22 21:18:50 -04:00
fabro-store fix(status): align archive outcomes and clean lint drift 2026-04-22 17:55:07 -04:00
fabro-telemetry refactor(server): lock down server secrets 2026-04-23 07:15:27 -04:00
fabro-template refactor(async): lint std::process::Command across all targets 2026-04-12 13:35:57 -04:00
fabro-test refactor(server): lock down server secrets 2026-04-23 07:15:27 -04:00
fabro-tracker refactor(unwrap): clear non-test workspace warnings 2026-04-19 20:56:38 -04:00
fabro-types refactor(auth): simplify worker jwt helpers and reuse existing utilities 2026-04-23 12:01:22 -04:00
fabro-util refactor(auth): scrub FABRO_WORKER_TOKEN from worker env at startup 2026-04-23 15:10:58 -04:00
fabro-validate fmt: apply nightly rustfmt after merge 2026-04-11 13:43:30 -04:00
fabro-vault lint(clippy): disallow blocking std::fs on Tokio paths 2026-04-19 17:22:21 -04:00
fabro-workflow refactor(auth): use per-run worker JWTs for subprocesses 2026-04-23 11:04:45 -04:00