Workstream split out from tracking #8.
Scope
Dependencies
- Schema extension + validation should land first; UI components build on it.
- Design question: thread storage strategy (edges in posts contract vs. separate thread contract per root) — must be resolved before schema lands.
References
web/src/freenet-api.ts — ContractPost TS interface.
contracts/posts/src/lib.rs — Rust contract validation.
web/src/components/compose-box.ts — current compose box (to be parameterized for reply context).
Parent: #8
Workstream split out from tracking #8.
Scope
ContractPostschema (web/src/freenet-api.ts:21+contracts/posts/src/lib.rs):reply_to: Option<PostId>,thread_root: Option<PostId>,quoted_post: Option<PostId>.contracts/posts/src/lib.rs(signature check, parent existence).Dependencies
References
web/src/freenet-api.ts—ContractPostTS interface.contracts/posts/src/lib.rs— Rust contract validation.web/src/components/compose-box.ts— current compose box (to be parameterized for reply context).Parent: #8