Problem
basectl workspace check and workspace doctor verify that repos declared in the workspace manifest are healthy, but the inverse check is missing: repos that exist under workspace.root on disk but are not declared in the manifest are silently ignored. This lets the manifest and the actual workspace drift apart with no signal.
Example scenario: A developer checks out an unrelated repo directly under ~/work/ (the workspace root), or the workspace grows as new projects are created. The workspace manifest falls behind, but workspace doctor reports everything green because it only validates declared repos.
Proposed solution
Add a new workspace doctor finding (new stable ID, e.g. BASE-W0xx) that:
- Scans all directories under
workspace.root that look like Git repos (have a .git directory or are bare repos).
- Compares against the set of repos declared in the workspace manifest.
- Reports repos present on disk but not declared — with warn severity (non-blocking by default).
The finding should suggest one of two remediation paths:
- Add the repo to the workspace manifest (if it should be managed).
- Mark it explicitly as unmanaged in the manifest (if it is intentionally outside workspace control).
Acceptance criteria
Problem
basectl workspace checkandworkspace doctorverify that repos declared in the workspace manifest are healthy, but the inverse check is missing: repos that exist underworkspace.rooton disk but are not declared in the manifest are silently ignored. This lets the manifest and the actual workspace drift apart with no signal.Example scenario: A developer checks out an unrelated repo directly under
~/work/(the workspace root), or the workspace grows as new projects are created. The workspace manifest falls behind, butworkspace doctorreports everything green because it only validates declared repos.Proposed solution
Add a new workspace doctor finding (new stable ID, e.g.
BASE-W0xx) that:workspace.rootthat look like Git repos (have a.gitdirectory or are bare repos).The finding should suggest one of two remediation paths:
Acceptance criteria
docs/doctor-findings.mdor equivalent).workspace doctoroutput (both human-readable and--format json).workspace checkpassing).workspace manifest --helpor equivalent documentation updated to mention the undeclared-repo scenario.