desk: read the gamecult.fork.* contract as served #83

Merged
void merged 1 commit from void/desk-fork-contract into dev 2026-11-10 21:08:13 +00:00
Member

Slice 1 desk moves from the org.gamecult.feedback projection to CultLib fork-card (0c19eddb) as Bifrost serves it (PR #40 shapes): entry/list decoded as served, record and counted_answer_id rendered as given (no client re-derivation or per-account folding), note rendered only when non-null, options-hash verifier and vectors kept (re-pointed at card members), seed rewritten to contract shape (demo only), feedback.ts removed.

Dropped because the contract does not carry them: asked-at age, synced/stale (stamp is not a time), hidden/erased, answerer names, dependency status. Row order stays oldest-first by card.order.

Checked: vitest desk+preview-demo 81 pass; looked at desktop 1280 and phone 390 on Starfire.

🤖 Generated with Claude Code

Slice 1 desk moves from the org.gamecult.feedback projection to CultLib fork-card (0c19eddb) as Bifrost serves it (PR #40 shapes): entry/list decoded as served, record and counted_answer_id rendered as given (no client re-derivation or per-account folding), note rendered only when non-null, options-hash verifier and vectors kept (re-pointed at card members), seed rewritten to contract shape (demo only), feedback.ts removed. Dropped because the contract does not carry them: asked-at age, synced/stale (stamp is not a time), hidden/erased, answerer names, dependency status. Row order stays oldest-first by card.order. Checked: vitest desk+preview-demo 81 pass; looked at desktop 1280 and phone 390 on Starfire. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
desk: read the gamecult.fork.* contract as Bifrost serves it
All checks were successful
Build pull request / Build pull request (pull_request) Successful in 3m8s
3436f1874a
Replace the org.gamecult.feedback projection types (feedback.ts) with forkContract.ts, a read-only
mirror of fork-card.md (list, entry, card, record, desk_answer). The desk renders the record as served:
counted_answer_id marks the counted answer, answers keep admission order, a note shows only when
non-null, and nothing is re-derived or folded per account. The navigator count reads list.open_count.
The options-hash verifier now reads card.{title,context,options,recommendation,depends}, pinned to the
0c19eddb vectors. The demo seed is contract-shaped.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
void merged commit 8e0e3b8986 into dev 2026-11-10 21:08:13 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Ratatoskr!83
No description provided.