A model is the logical entity users browse; it owns one or more files.
## Scope
- Title, optional notes, optional source URL
- Owning folder reference
- `added_at` recording the catalog event per ADR-0002
- Updated timestamp
## Acceptance criteria
- [ ] Model exists independently of its files
- [ ] `added_at` set once at creation and never overwritten by re-scans
- [ ] Folder reference enforced by a foreign key
---
Blocked by: #13, #2
keith
added this to the M2 - Data Model & Migrations milestone 2026-10-10 22:18:27 +00:00
Acceptance reconciliation at c1ef2ee: keeping open. Model schema exists; full specified metadata and timestamp semantics remain to be reconciled. 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. Model schema exists; full specified metadata and timestamp semantics remain to be reconciled. 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.
A model is the logical entity users browse; it owns one or more files.
Scope
added_atrecording the catalog event per ADR-0002Acceptance criteria
added_atset once at creation and never overwritten by re-scansBlocked by: #13, #2
Acceptance reconciliation at
c1ef2ee: keeping open. Model schema exists; full specified metadata and timestamp semantics remain to be reconciled. 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.