docs(readme): restore the #49 enrichment on top of main's grounded facts - #49
docs(readme): restore the #49 enrichment on top of main's grounded facts#49yakimoto wants to merge 2 commits into
Conversation
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_012353ed-1884-4749-92cb-bcf17471bc44) |
|
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 4 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
Both sides regenerated .wave/repo.json and README.md from d807aac, so every line conflicts. Resolved NOT by hand-merging text but by rebuilding the SSOT from main and re-rendering the README through the content engine — a hand-resolved generated file is a file no generator would ever produce. main (PR #50, the currency rewrite) is authoritative for grounded facts and is preserved VERBATIM: every top-level key except the new `sections` is byte-identical to origin/main. This branch contributes only the enrichment, filtered for currency. See the following commit message for what was dropped and why.
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_bf3e77d0-7515-40ba-b7e5-c59fcab5cc26) |
|
Follow-up note, recorded so the dropped content is recoverable rather than lost. Seven product examples were dropped from this PR because their capability is
They are not deleted — they remain at git show 63c67fc:.wave/repo.json | python3 -c "import sys,json;print(json.dumps(json.load(sys.stdin)['sections'],indent=2))"The condition for restoring any one of them is the same condition that made it wrong to ship now: its capability moving from Worth noting the engine cannot yet catch this class on its own: nothing today cross-checks a narrative |
Restores this branch's README enrichment on top of
main's grounded facts — and drops the parts of it that were no longer true.This PR had been
CONFLICTINGsince #50 landed. Both branches regenerated the same two files fromd807aac, so every line conflicted. Resolved by regeneration, not by hand-merge — a hand-resolved generated file is a file no generator would ever produce.The conflict was hiding a grounding regression
Reading the two sides rather than just the conflict markers:
mainis not merely newer here, it is more honest. PR #50 (the currency rewrite) replaced a uniformlibstatus with measured ones. This branch predates that and would have reverted it.63c67fc)main(e3864a7)liblib· 10planned· 2gaSo merging the old side in any form would have republished, on a public repo, runnable code examples for capabilities with no fleet backend.
What was dropped, and why
Seven product examples, each for a capability
mainmarksplannedor does not declare at all:These rendered as working
await wave.podcast…/await wave.phone…snippets. A reader would have pasted them and got nothing.plannedmeans the client surface exists and the backend does not.What was kept — and verified before keeping it
Six product examples, for the capabilities
mainmarkslib: Streams (Pipeline), Clips, Captions, Voice, Transcription, Editor. Every method they call was checked to exist insrc/onmainbefore the example was carried over:Twelve generic sections — Configuration, individual API imports, error handling, events, four troubleshooting entries, requirements, related packages. These assert no capability, so there is nothing to be stale about. Every npm link in Related packages was resolved (
@wave-av/adk,mcp-server,cli,create-app,workflow-sdkall200;wave-av/api-specis public).Three defects fixed on the way through
1. The API tables were mislabeled and incomplete. They were titled "All 34 APIs", listed 33 rows, and omitted 5 accessors —
client,drm,notifications,perception,realtime. Measured againstsrc/index.tsonmain: there are 38public readonlyaccessors (37 product modules +client) and 43 export subpaths.Retitled without the wrong count, given a Status column populated from the SSOT, and the four missing product modules added as an API modules — Platform table with descriptions quoted from each module's own header comment.
clientis the transport, not a product API, so it stays out.A legend section defines each label, so
sdk-surfacecannot be misread as shipping.2.
wave.voicewas described as "Text-to-speech, voice cloning" whilemain's own capability entry says voice-clone methods "exist as SDK client surface but are not backed by the wave-voice product yet." The table now says so.3. Requirements claimed "TypeScript 5.0+ (recommended 5.5+ for best subpath support)" with nothing behind either number. Replaced with what is checkable:
engines.nodeis>=18.0.0; TS 4.7+ is whatmoduleResolution: node16actually needs; this package builds on TypeScript 5.9.Receipts
main's grounded facts are preserved verbatim — not merged, not reconciled:The README is rendered by the engine, never hand-edited —
RepoFacts.parse→generateReadmefrom wave-context:The byte-identity check is the one that matters: it proves nobody touched the generated file after generation, which is exactly the failure mode a conflicted generated file invites.
Two engine findings this surfaced — neither is a blocker for this PR
generate --checkcannot verify a feature branch.discoverFactsSourcesresolves each repo's.wave/repo.jsonfrom its default ref viagit show— correct branch-truth discipline for a fleet scan, but it means an uncommitted or non-default-branch candidate is invisible to the CLI, which silently rendersmain's facts instead. I hit this first as a mystifying 101-line render. Verified here with a small branch-aware harness instead. Worth a--refflag.www.npmjs.comis not in the content-policy publish allowlist. The engine's ownlinks.npmfield emits an npmjs.com URL and its stage-⑥ scanner then flags it, somainalready trips this 3× today. This PR's Related packages table takes it from 3 → 15 findings — all one pre-existing class, every URL verified live. Filed separately against wave-context; not caused by this change.Verification caveat
CI has run on none of this. Actions are refusing every job org-wide on an account-level billing lock (
plan=free,locked=yes, re-confirmed today), so every number above is local measurement. Do not read a green-lookingmergeStateStatusas CI approval — during this outage GitHub creates no Actions check-run at all, so there is no red to see.This is public-facing copy on a public repo, so it wants a human read before it merges regardless of what CI eventually says.