Skip to content

fix: reject legacy root /skills/ and root-level /sources/ in FS contract#17

Merged
mishanefedov merged 1 commit into
mainfrom
fix/brain-canonical-paths
Jun 29, 2026
Merged

fix: reject legacy root /skills/ and root-level /sources/ in FS contract#17
mishanefedov merged 1 commit into
mainfrom
fix/brain-canonical-paths

Conversation

@mishanefedov

@mishanefedov mishanefedov commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Reject `/wiki/` and `/skills/` as legacy roots (BrainContractError instead of pass-through)
  • Remove root-level `/sources/` from read-only roots; only `/private/sources/` is valid
  • Update module docstring to reflect rejection semantics
  • Remove `/workspace/teams//` idiom from README

Test plan

  • `pytest` passes with updated assertions for legacy-root rejection
  • `/workspace/teams/eng/docs/arch.md` test unchanged (still valid under /workspace/)

Summary by cubic

Reject legacy roots /wiki/ and /skills/, and block root-level /sources/, in the filesystem contract. This prevents bad paths from passing through and aligns the client with server rules.

  • Bug Fixes
    • Raise BrainContractError for paths under /wiki/ and /skills/.
    • Disallow /sources/...; only /private/sources/... is valid. Keep /system/ as the only read-only root.
    • Update README (remove workspace/teams/<slug>/ mention) and tests to match the new rules.

Written for commit 6f4ebe0. Summary will update on new commits.

Review in cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

Re-trigger cubic

@mishanefedov mishanefedov merged commit f8ec686 into main Jun 29, 2026
4 checks passed
@mishanefedov mishanefedov deleted the fix/brain-canonical-paths branch June 29, 2026 20:13
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