b26ed7c3e4
Working copies were stored as /data/working-copies/{repo_id}/{workspace_name}/,
so git clone was forced into a user-named directory. That meant the container
mount basename was the workspace name (e.g. main) instead of the repo name.
- Generate the workspace UUID before cloning and clone into
/data/working-copies/{workspace_id}/ so git creates {repo_name}/ naturally
- Set workspace.path to /data/working-copies/{workspace_id}/{repo_name}/
- Update _migrate_clone_into_workspace() to use the same layout
- _get_repository_mount_name() now prefers workspace.path basename and only
falls back to remote URL / repo.name for legacy repo-only instances
- Update unit tests to assert workspace path basename is used for mounts
Quality gates:
- pytest tests/unit: 219 passed
- ruff: clean on changed files
- mypy: clean on changed files
1.1 KiB
1.1 KiB
openspec (index)
dir: openspec
role
Defines the OpenSpec methodology and project configuration for managing software requirements, specifications, and task tracking as living documentation within a Docker-based coding agent management platform.
parent
index: ./.pi-map.index.md map: ./.pi-map.md
children
- openspec/changes index: openspec/changes/.pi-map.index.md map: openspec/changes/.pi-map.md
- openspec/designs index: openspec/designs/.pi-map.index.md map: openspec/designs/.pi-map.md
- openspec/docs index: openspec/docs/.pi-map.index.md map: openspec/docs/.pi-map.md
- openspec/explorations index: openspec/explorations/.pi-map.index.md map: openspec/explorations/.pi-map.md
- openspec/proposals index: openspec/proposals/.pi-map.index.md map: openspec/proposals/.pi-map.md
- openspec/specs index: openspec/specs/.pi-map.index.md map: openspec/specs/.pi-map.md
- openspec/tasks index: openspec/tasks/.pi-map.index.md map: openspec/tasks/.pi-map.md
files
- README.md
- config.yaml
links
index: openspec/.pi-map.index.md map: openspec/.pi-map.md