feat: Enhance architecture and roadmap documentation with material extensibility and persistence layer details
This commit is contained in:
+4
-1
@@ -23,6 +23,7 @@ Exit criteria:
|
||||
- CI skeleton in place for formatting, linting, and tests.
|
||||
- ADR for project revision lifecycle (draft/publish/supersede).
|
||||
- ADR for composable extension mechanism (shape, namespacing, discovery).
|
||||
- ADR for persistence layer architecture (PostgreSQL as primary target; repository abstraction pattern; query library selection; SQLite future-option strategy).
|
||||
- Initial repository layout includes dedicated locations for API contracts and extension schemas.
|
||||
- Documented answer to Q38: personal data categories and lawful basis for each (prerequisite for any user data model work).
|
||||
- Draft privacy notice template and operator guidance (prerequisite for any public-facing instance).
|
||||
@@ -36,6 +37,7 @@ Goals:
|
||||
- Basic publishing lifecycle (draft, published, updated).
|
||||
- Search and browse within one instance.
|
||||
- Support extension payloads in project data model without requiring domain-specific first-party implementations.
|
||||
- Support extension payloads on material entries using the same extension mechanism, enabling domain-specific material attributes (yarn weight, filament profile, component spec) without changing the core material record.
|
||||
- User-level personal moderation: block and mute individual accounts; keyword and wildcard content filters. No moderator approval required.
|
||||
- Personal collections and bookmarks (private by default).
|
||||
- Self-service data export (right to access) and account deletion (right to erasure) with defined retention and purge windows.
|
||||
@@ -45,7 +47,8 @@ Exit criteria:
|
||||
- A user can publish and update a complete project end-to-end.
|
||||
- Project pages are discoverable and readable on one node.
|
||||
- Test coverage exists for core behavior paths.
|
||||
- At least one extension payload can be stored, validated, and rendered as non-breaking optional data.
|
||||
- At least one project-level extension payload can be stored, validated, and rendered as non-breaking optional data.
|
||||
- At least one material-level extension payload can be stored, validated, and rendered as non-breaking optional data.
|
||||
- A user can block another user and have that block take effect immediately without moderator involvement.
|
||||
- A user can bookmark and organize projects into personal collections.
|
||||
- A user can export all their personal data without admin involvement.
|
||||
|
||||
Reference in New Issue
Block a user