Decentralized social media network — no central server, user-owned data
Lays the foundation for Layer 4 lifecycle operations: Storage (own_post_slot_provenance): - New author-local table mapping (post_id, slot_index) to (v_x_owner, v_x_epoch, pub_x). Populated at FoF post-publish. Used by cascade revocation to find the pub_x's that need revoking when a V_me epoch is retired. Never on the wire. - record_post_slot_provenance + list_provenance_for_v_x_epoch APIs. fof::build_fof_comment_gating now returns RealSlotProvenance entries for each real (non-dummy) slot it sealed. Owner = persona who issued the V_x (author's own persona_id for self-slot). Both Mode 1 and Mode 2 publish paths persist provenance after compute_post_id. Node API: - rotate_v_me() — pure rotation. Generates next V_me epoch in vouch_keys_own (old epoch retained, is_current=0), republishes bio for existing vouch targets. Returns new epoch. Used for periodic refresh / leak response; doesn't revoke anyone. - cascade_revoke_v_me_epoch(epoch, reason) — for every post the author authored where slots were sealed under (self, epoch), publish a per-pub_x revocation diff via revoke_fof_commenter. The existing Layer 2 cascade-delete then sweeps locally-stored comments. Returns the count of revocations published. These combine to give the spec's "rotation + optional cascade" UX: rotate first (cheap, grandfathers old posts), then cascade if the user wants to actively cut off old-content access. 13 fof tests pass (new: fof_gating_real_slot_provenance asserting provenance entries match real slots' pub_x values). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| crates | ||
| deploy | ||
| docs | ||
| frontend | ||
| website | ||
| .gitignore | ||
| .sync-exclude.lst | ||
| AGENTS.md | ||
| ARCHITECTURE.md | ||
| build-appimage.sh | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| deploy.sh | ||
| download-page.html | ||
| IMPLEMENTATION_PLAN_0.6.md | ||
| pic2.png | ||
| project discussion.txt | ||
| project-notes-from-elitebook.md | ||
| sessions.md | ||
| TODO.md | ||