Establish the persistent contracts shared by pages, collections, desks, binders, and future Age grammar. This issue defines writing data; it does not interpret symbols into world generation.
Acceptance criteria:
Define a namespaced symbol identifier and versioned data-pack symbol metadata schema
Define codecs and network codecs for ordered writing entries and symbol references
Preserve unknown or removed symbol IDs as readable unresolved entries instead of deleting them
Ship a small built-in symbol catalog sufficient to exercise every Milestone 4 workflow
Keep display metadata client-safe while the server remains authoritative for valid symbols
Document the boundary between Milestone 4 storage and Milestone 5 grammar interpretation
Establish the persistent contracts shared by pages, collections, desks, binders, and future Age grammar. This issue defines writing data; it does not interpret symbols into world generation.
Acceptance criteria:
- [ ] Define a namespaced symbol identifier and versioned data-pack symbol metadata schema
- [ ] Define codecs and network codecs for ordered writing entries and symbol references
- [ ] Preserve unknown or removed symbol IDs as readable unresolved entries instead of deleting them
- [ ] Ship a small built-in symbol catalog sufficient to exercise every Milestone 4 workflow
- [ ] Keep display metadata client-safe while the server remains authoritative for valid symbols
- [ ] Document the boundary between Milestone 4 storage and Milestone 5 grammar interpretation
dnorberg
added this to the Milestone 4 — Writing system milestone 2026-09-23 06:00:21 -04:00
Implemented and verified in commit b8d23ee (Rivencraft 0.3.1.0).
Completed:
Added namespaced symbol references and a versioned data-pack metadata schema.
Added persistent and bounded network codecs for ordered writing entries.
Preserved unknown or removed symbol IDs as readable unresolved entries.
Added six built-in symbols covering the Milestone 4 workflows.
Kept display metadata client-safe while the server catalog remains authoritative.
Documented the Milestone 4 storage / Milestone 5 grammar boundary in docs/WRITING_DATA.md.
Verification: clean Gradle build passed; the symbol catalog loaded all six built-ins; the new writing GameTests completed without failures. The broader GameTest run still encounters the previously known dynamic-dimension test stall.
Implemented and verified in commit b8d23ee (Rivencraft 0.3.1.0).
Completed:
- Added namespaced symbol references and a versioned data-pack metadata schema.
- Added persistent and bounded network codecs for ordered writing entries.
- Preserved unknown or removed symbol IDs as readable unresolved entries.
- Added six built-in symbols covering the Milestone 4 workflows.
- Kept display metadata client-safe while the server catalog remains authoritative.
- Documented the Milestone 4 storage / Milestone 5 grammar boundary in docs/WRITING_DATA.md.
Verification: clean Gradle build passed; the symbol catalog loaded all six built-ins; the new writing GameTests completed without failures. The broader GameTest run still encounters the previously known dynamic-dimension test stall.
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.
Establish the persistent contracts shared by pages, collections, desks, binders, and future Age grammar. This issue defines writing data; it does not interpret symbols into world generation.
Acceptance criteria:
Implemented and verified in commit
b8d23ee(Rivencraft 0.3.1.0).Completed:
Verification: clean Gradle build passed; the symbol catalog loaded all six built-ins; the new writing GameTests completed without failures. The broader GameTest run still encounters the previously known dynamic-dimension test stall.