Conversation
Canonical all/any documents share a CID across causes; CauseStarter can promote a selected view; the implication attester mints only the pairwise arrows. ADR 0010 records why.
Promotion now refuses unread or nested operands, persists anchors on remote-only causes, and CauseStarter plus Tally open referenced statements at /statement/:cid instead of a missing /document route.
The home nudger panel had been reworded to "suggesters" but two strings and its test still said "mediators", so causestarter's suite failed. Also re-synced NoteIntentAbi, which had drifted from the Hardhat artifact and was failing the indexer's check-abis typecheck step. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
AdamSpitz
left a comment
There was a problem hiding this comment.
Review receipt.
Scope: repo-root typecheck, full workspace unit suites, eslint, and a read of the branch's most recent commits. Two defects found and fixed in 65ae914 (stale suggester/mediator copy breaking causestarter tests; drifted NoteIntentAbi breaking check-abis). Not covered: a line-by-line read of all 314 changed files, and the UI Playwright e2e suite, which needs a live local stack.
Reviewed-with: claude-code
Reviewed-files: 314
Reviewed-commit: 65ae914
A combinator CID is a pure function of operator plus sorted operands, so an
anchor only ever describes the selection it was minted from. The cause stored
a bare {any, all} pair, so changing the selection left the old CID on screen
under a selection it did not describe, and re-promoting silently overwrote a
handle that may already be signed on chain. Anchors are now a list, each
carrying its operand set, and the cause page shows only the anchor matching
the current selection. ADR 0010 names this failure directly.
Statement pages also wrote operand bodies without checking whether the load
had been superseded. In CauseStarter the operand block rendered on
operandBodies.length alone, so navigating from a combinator to an ordinary
plank could paint the previous statement's operands onto it, without the
combinator eyebrow that would have explained them.
Two smaller follow-ups from the same review are filed in TODO.md: operand
reads still block the page spinner, and the ui/ statement loader's other
writes are still unguarded.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
AdamSpitz
left a comment
There was a problem hiding this comment.
Review receipt.
Focused review of the 9 commits against dev. Two defects found and fixed in e7394da: promoted anchors were not keyed to the operand set that minted them (stale handle shown under a changed selection; re-promotion overwrote a possibly-signed anchor), and statement pages wrote combinator operand bodies without checking the load had been superseded. Two smaller follow-ups filed in TODO.md. Verified: repo-root typecheck, causestarter (151 tests) and ui conceptspace (363 tests) suites, eslint. Playwright e2e not run — needs a live local stack.
Reviewed-with: claude-code
Reviewed-files: 41
Reviewed-commit: 65ae914
AdamSpitz
left a comment
There was a problem hiding this comment.
Review receipt.
Focused review of the 9 commits against dev. Two defects found and fixed in e7394da: promoted anchors were not keyed to the operand set that minted them (stale handle shown under a changed selection; re-promotion overwrote a possibly-signed anchor), and statement pages wrote combinator operand bodies without checking the load had been superseded. Two smaller follow-ups filed in TODO.md. Verified: repo-root typecheck, causestarter (151 tests) and ui conceptspace (363 tests) suites, eslint. Playwright e2e not run — needs a live local stack.
Reviewed-with: claude-code
Reviewed-files: 41
Reviewed-commit: e7394da
Nine commits on top of
dev: combinator statements as the graph form of a promoted view, anchor thinking, plank-text resolution fixes, and the CauseStarter founder-e2e description.The last commit fixes two things found while reviewing the branch:
YourNudgersAndNudgeshad been reworded from "mediators" to "suggesters", but two strings and its test still said "mediators", so the causestarter suite was failing.indexer/abis/NoteIntentAbi.tshad drifted from the Hardhat artifact (a staleInvalidStatementIdentry), failingcheck-abisand the repo-root typecheck.Testing
npm run typecheckpasses.🤖 Generated with Claude Code