desk: read-only Mind desk, slice 1 #77
Loading…
Reference in a new issue
No description provided.
Delete branch "void/desk-slice-1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What changed
Slice 1 of the Mind desk (spec:
ratatoskr-desk-spec-20261110.mdsection 11.5;docs/mind-feedback-pages.mdsections 5, 8, 9, 12). Read-only, no network, chromeless, phone first.src/app/features/desk/feedback.ts: typedorg.gamecult.feedback.question.v0/answer.v0with the section 12 names (fork_id,options_hash,answer,answered_at).answerer,kind,weightPermilleare receiver-stamped; there is no write shape in the client.fixtures.ts: a projection for every section 8 state (unpublished, empty, no answers, stale, long-open, blocked, settled, answered, hidden, erased).buildDesk.ts(pure): open first (oldest first), recorded-as-rulings list, recommendation resolved to its option text, depends line with the cited question's status, folded standing answers, withheld hidden/erased rows, derived booth counts (open, viewer-answered). The page tallies nothing.deskMood.ts(pure): the original Fork Desk's mood()/choose() rules, each tested exactly; moods mapped to the shared pose labels.DeskView.tsx,Desk.tsx,DeskEntry.tsx, route/desk/:mind/: rows streamed, folded behind titles on phones (aria-expanded), options as bare text with "(recommended)" in words, disabled note with a plain sign-in sentence, booth through the existingPoseAvatar, only for Minds in the pose catalogue.src/preview-demo/deskForks.ts: invented, public-safe forks for nibu and eureka (the demo's groups), installed byinstallDemothroughsetDeskSource. In a real build the source returns nothing, so a desk reads "not published yet", which is true.Read-only slice 1 with demo-seeded forks.
Verification
tsc --noEmit -p .: no new errors. The worktree's baseline already has about 990 errors (matrix-js-sdk types do not resolve here); the error set is identical before and after.VITE_PREVIEW_DEMO=1 CINNY_BASE=/void/x/ vite build: succeeds (scene/desk.css.tsexport no functions).options_hash (changed after review)
The desk now recomputes each card's
options_hashfrom what it shows (optionsHash.ts: RFC 8785 after NFC, SHA-256, the five shown members; rule per CultLibcontracts/cultnet/governance/fork-card.md) and withdraws a card that differs: no options, no count, a line saying it does not match its published hash. The 15 CultLib vectors (fork-card-vectors.json, CultLib a499c581) run inoptionsHash.test.tsfrom a copy whose header names its source. Two caveats: the check is async (WebCrypto), so a card shows until the recompute lands in the page; and the navigator's "Desk · N open" count is synchronous and counts a card the desk would withdraw. No new dependency.Booth portrait
PoseAvatartakesonClickas optional; without it the portrait is aspanwith the image, not a button or tab stop. The booth passes none, and a test fails if it becomes a button.Not done
options_hashcheck,lean/flagmarks (no schema field), expired/inactive sign-in sentences, send-failed state, close requests.thinking, triumphhappy, concernedsurprised); per-Mind signatures (eureka/void determined, nibu triumph) are a later refinement.🤖 Generated with Claude Code
6aa34b21d10f82576d9fUnchecked: the Starfire render and the 390x844 re-measure. Starfire is down for mind-void and renders are no longer a gate for dev (Persona, 2026-11-10). Checked: rebased on dev
84770a2d, vitest and the demo vite build pass; contrast and tap-target numbers in this PR come from the earlier baseline measurement and CSS arithmetic, not from a render of this build. Open: follow-up starfire-renders-merge-77-78.Soul pass (read-only) holds on #77, no blocks, no defect in navigator wiring; mutations on deskMood and hidden-at-zero fail tests; the 15 CultLib vectors are byte-identical. Recorded, not fixed in this PR:
Unchecked: the Starfire render and the 390x844 re-measure (Starfire down for mind-void). Follow-ups: desk-slice-1-soul-findings, starfire-renders-merge-77-78.