Folders represent real directories inside the managed library directory.
## Scope
- Self-referencing parent relationship for hierarchy
- Path relative to the library root, unique
- Name, created/updated timestamps
- Index supporting listing children of a folder
## Acceptance criteria
- [ ] Hierarchy representable to arbitrary depth
- [ ] Relative path unique and indexed
- [ ] Deleting a folder row is prevented while it still has children or models
---
Blocked by: #12, #1
keith
added this to the M2 - Data Model & Migrations milestone 2026-10-10 22:18:26 +00:00
Acceptance reconciliation at c1ef2ee: keeping open. Folder schema exists. Root representation, hierarchy invariants and delete behavior still need acceptance reconciliation. This is a source/test review, not a newly executed crash or restore experiment. Fresh Windows suite: 291 tests, 1801 assertions, 22 skips; lint passes. PostgreSQL fixture success does not waive these feature criteria.
Acceptance reconciliation at c1ef2ee: keeping open. Folder schema exists. Root representation, hierarchy invariants and delete behavior still need acceptance reconciliation. This is a source/test review, not a newly executed crash or restore experiment. Fresh Windows suite: 291 tests, 1801 assertions, 22 skips; lint passes. PostgreSQL fixture success does not waive these feature criteria.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Folders represent real directories inside the managed library directory.
Scope
Acceptance criteria
Blocked by: #12, #1
Acceptance reconciliation at
c1ef2ee: keeping open. Folder schema exists. Root representation, hierarchy invariants and delete behavior still need acceptance reconciliation. This is a source/test review, not a newly executed crash or restore experiment. Fresh Windows suite: 291 tests, 1801 assertions, 22 skips; lint passes. PostgreSQL fixture success does not waive these feature criteria.