Schema: folders mirroring the managed library tree #13

Open
opened 2026-10-10 22:18:26 +00:00 by keith · 1 comment
Owner

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

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
keith added the area:dbtype:featurepriority:high labels 2026-10-10 22:18:26 +00:00
Author
Owner

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.
Sign in to join this conversation.