File records are distinct from model records and carry integrity state.
## Scope
- Owning model reference
- Path relative to the library root, unique
- Original source path recorded at import
- SHA-256 content hash, byte size, filesystem mtime
- Format discriminator so non-STL formats need no structural change later
- Status supporting `ok`, `missing`, `updated`
- Index on hash for duplicate detection
## Acceptance criteria
- [ ] One model can own many files
- [ ] Hash indexed for efficient duplicate lookup
- [ ] Adding a future format requires no table restructuring
- [ ] Status transitions cover the lifecycle states in the spec
---
Blocked by: #14, #3
keith
added this to the M2 - Data Model & Migrations milestone 2026-10-10 22:18:27 +00:00
Acceptance reconciliation at c1ef2ee: keeping open. Multipart files and indexed hashes exist. Source mtime and explicit format metadata are missing; reconcile lifecycle naming with the spec. 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. Multipart files and indexed hashes exist. Source mtime and explicit format metadata are missing; reconcile lifecycle naming with the spec. 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.
File records are distinct from model records and carry integrity state.
Scope
ok,missing,updatedAcceptance criteria
Blocked by: #14, #3
Acceptance reconciliation at
c1ef2ee: keeping open. Multipart files and indexed hashes exist. Source mtime and explicit format metadata are missing; reconcile lifecycle naming with the spec. 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.