feat(experiments): indexOnly Phase 1 battery + results on moutai devnet - #322
PastaPastaPasta wants to merge 1 commit into
Conversation
Adds scripts/experiment-indexonly.mjs (throwaway-contract battery, 41 strict checks, all passing live) and docs/INDEXONLY_PHASE1_RESULTS.md with the fee table and experiment verdicts for the like-overhaul design sprint. Bumps @dashevo/evo-sdk to 4.2.0-dev.5 for the indexOnly + propertyAgreement grammar. Verdicts: D1 '' sentinel viable; D2a query recovery of the $createdAt delete tuple works end-to-end; byAuthor [postAuthor] terminal $ownerId is structurally broken (one like per author+liker) and byAuthorPost [postAuthor, postId] is the working replacement; proved counts require exact index-property match; steady-state indexOnly like ~58M credits with uniform preallocated pricing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🕓 Ready for review — 2 ahead in queue (commit 1f0d97c) |
Deploying yappr with
|
| Latest commit: |
1f0d97c
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://f5e18ce5.yappr.pages.dev |
| Branch Preview URL: | https://feat-like-overhaul-phase1.yappr.pages.dev |
Deploying yappr-v2 with
|
| Latest commit: |
1f0d97c
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://103ecb3c.yappr-v2.pages.dev |
| Branch Preview URL: | https://feat-like-overhaul-phase1.yappr-v2.pages.dev |
The Phase 1 experiment harness (PR #322) targeted throwaway contracts and is superseded by verify-v4.mjs; the results doc is the durable artifact (verbatim consensus errors, fee table, grammar findings) and belongs with the contract it shaped. #322 closes unmerged; branch feat/like-overhaul-phase1 stays on origin for reference. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Closing unmerged per review: the experiment harness targeted throwaway contracts and is superseded by the verify-v4 battery landing on #323. The durable artifact — docs/INDEXONLY_PHASE1_RESULTS.md — now rides #323 (commit c3294d0); the distilled findings live in PLAN_LIKE_OVERHAUL.md. Branch feat/like-overhaul-phase1 stays on origin for reference. 🤖 Posted autonomously by Claude on behalf of pasta. |
What
Phase 1 of the like-overhaul design sprint (PLAN_LIKE_OVERHAUL.md §5.1): a 41-check live experiment battery for protocol v14
indexOnlydocument types, plus the measured results that resolve the sprint's open design questions. Two new files, no app code touched:scripts/experiment-indexonly.mjs— registers a throwaway 5-doctype contract on moutai (final run:Bk3kWM5b…) and runs strict-assertion experiments: propertyAgreement''-sentinel, $createdAt tuple recovery + delete-by-values, structural-uniqueness traps, batchedin-on-terminal membership, the first ranked/having queries this codebase has ever issued, and a balance-delta fee battery.docs/INDEXONLY_PHASE1_RESULTS.md— verdicts, fee table, working query shapes, grammar surprises.Headline findings (full detail in the doc)
''hashtag sentinel is viable (agreement enforces it exactly; ranked pins on''work).$createdAtworks end-to-end (93% refund) — but needs the 3-property[postAuthor, $createdAt, postId]index; the 2-property variant collides for same-block likes. Also: jsdocuments.create()does not return the confirmed Document for indexOnly types (upstream issue to file).byAuthor [postAuthor] → $ownerIdis structurally broken (one like per author per liker, ever — reproduced);[postAuthor, postId]is the working shape. Global creator leaderboards are impossible server-side.countable→rangeCountable→rankedCountablechain makes ranked indexes the dominant cost; preallocation transfers ~52M/post to the poster. Feature-parity-only like ≈ 40–45% cheaper; the index set is the real fee lever (drives decisions D6/D7).Validation
41/41 checks passed live on moutai (dev.5, protocol 14). Independent code review: approved with suggestions — both one-liners applied here (fee-table label, empty-table guard). Rebased onto current staging; the evo-sdk dev.5 pin collapsed into #319's. Note the results doc's honest footnote: a few of the 41 checks are deliberately permissive either-outcome probes (the doc records which branch fired).
🤖 Generated with Claude Code