Skip to content

fix: resolve repo_access through sandbox profile merge cascade#6

Merged
crypdick merged 1 commit intomainfrom
fix/repo-access-profile-resolution
Mar 1, 2026
Merged

fix: resolve repo_access through sandbox profile merge cascade#6
crypdick merged 1 commit intomainfrom
fix/repo-access-profile-resolution

Conversation

@crypdick
Copy link
Owner

@crypdick crypdick commented Mar 1, 2026

Summary

  • Fixed 6 call sites across 4 files that read repo_access from raw per-sandbox config instead of the three-tier merge cascade (sandbox_universal < sandbox_profiles < per-sandbox)
  • This caused admin-1 (which inherits repo_access from the pynchy-dev profile) to get no /workspace/project mount, crashing containers with "Working directory does not exist: /workspace/project"
  • Updated resolve_repo_for_group(), get_repo_access(), get_repo_access_groups(), reconcile_workspaces(), _reconcile_state(), and _write_env_file() to use load_resolved_config()

Test plan

  • All 2187 tests pass (3 skipped)
  • Pre-commit hooks pass (ruff format, ruff check, tests)
  • Monitor auto-deploy on pynchy-server — admin-1 should recover from crash loop
  • Verify curl -s http://pynchy-server:8484/status shows mount_count restored to 9

Multiple call sites were reading repo_access directly from the raw
per-sandbox WorkspaceConfig instead of the three-tier merged config
(universal < profile < per-sandbox). This caused sandboxes that inherit
repo_access from a sandbox profile (e.g. admin-1 via pynchy-dev) to
get repo_access=None, resulting in:

- No /workspace/project mount (6 mounts instead of 9)
- Container crash: "Working directory does not exist: /workspace/project"
- Infinite retry loop on admin-1

Updated all call sites to use load_resolved_config() which correctly
resolves repo_access through the merge cascade.
@crypdick crypdick merged commit 03e1642 into main Mar 1, 2026
1 of 2 checks passed
@crypdick crypdick deleted the fix/repo-access-profile-resolution branch March 1, 2026 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant