test: pin remaining README 'What is live in this repo' sub-claims to code (promise audit, lane 1) - #64
Conversation
…code The lane-1 audit (PR #63) pinned all 48 'What is live in this repo' bullets, but fresh spot-checking found three sub-claims inside pinned bullets with no regression pin of their own: - queued audit jobs: 'status polling before the private report loads' (UI pollAuditJob + /api/audit/jobs/ endpoint were unpinned) - saved private report URLs: 'tied to the beta owner email and invite where available' (owner_email/owner_invite_id storage was unpinned) - public /support, /terms, /privacy pages 'with no ranking guarantees' (the affirmative no-ranking copy on those pages was unpinned) Adds three pins to shared/promise-audit.test.mjs (44 tests total) so these claims cannot silently drift.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
Warning Review limit reached
Next review available in: 12 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: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b61bf38eff
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| assert.match(appSource, /async function pollAuditJob/, "the UI polls job status before the report loads"); | ||
| assert.match(appSource, /\/api\/audit\/jobs\//, "polling hits the job status endpoint"); |
There was a problem hiding this comment.
Assert that the polling helper is actually called
If the queued-audit submission path stops invoking pollAuditJob, these assertions still pass because they only find the unused helper declaration and the URL inside that helper. The test therefore does not protect the README claim that polling occurs before loading the private report; it should also pin the call from the queued response path, ideally together with its ordering before report loading.
AGENTS.md reference: AGENTS.md:L7-L7
Useful? React with 👍 / 👎.
| reportDataSource, | ||
| /INSERT INTO audit_reports[\s\S]*owner_email[\s\S]*owner_invite_id/, | ||
| "reports are stored with owner email and invite id" | ||
| ); | ||
| assert.match(auditsSource, /owner_invite_id: access\.inviteId/, "queued audits carry the owner invite"); |
There was a problem hiding this comment.
Verify ownership values are bound into saved reports
If the report insert continues naming owner_email and owner_invite_id but its .bind(...) values are changed to blanks, nulls, or unrelated fields, this test still passes; the separate queued-job assertion does not verify what saveAuditReportWithContext stores. That leaves the promised owner-bound report behavior unprotected, so the test should exercise the save operation or pin the corresponding bound access values.
AGENTS.md reference: AGENTS.md:L7-L7
Useful? React with 👍 / 👎.
| assert.match(pagesSource, /No ranking or traffic guarantee/, "terms page carries no ranking guarantee"); | ||
| assert.match(pagesSource, /No ranking, traffic, or revenue promise is made/, "privacy page carries no ranking promise"); | ||
| assert.match( | ||
| pagesSource, | ||
| /No ranking, indexing, traffic, revenue, or search-engine outcome is promised/, |
There was a problem hiding this comment.
Check the disclaimer on each claimed policy page
These matches search the entire pages.js module rather than the rendered page named by each assertion: the first phrase is in packagesHtml, the second is in supportHtml, and the third is in termsHtml, while privacyHtml currently has no no-ranking disclaimer at all. Consequently the test passes even though the privacy page does not satisfy the README claim and would keep passing if these phrases moved between pages; render supportHtml, termsHtml, and privacyHtml separately and assert against each result.
AGENTS.md reference: AGENTS.md:L7-L7
Useful? React with 👍 / 👎.
…code (#65) The lane-1 promise audit (PR #60-#64) pinned all 48 'What is live in this repo' bullets, but a fresh spot-check found eleven sub-claims inside pinned bullets with no regression pin of their own: - crawl inventory: 'from robots.txt and sitemaps' discovery was unpinned - large crawls: 'stored frontier/proof/retry state' tables/logic unpinned - competitor benchmarking: repair gaps added to reports and briefs unpinned - AI readiness: optional /llms.txt reachability checks unpinned - repair queue: acceptance checks, status, and action mode unpinned - repair board: 'no external publishing side effects' copy unpinned - implementation packs: approved change text requirement unpinned - repair proposals: execution modes, owner approval, delivery state unpinned - audit monitors: dashboard add/pause controls unpinned - developer API: safe repair_queue issue status unpinned - retention: cleanup for expired reports, sessions, and quota buckets unpinned Adds eleven pins to shared/promise-audit.test.mjs (55 tests total) so these claims cannot silently drift. Live spot-check of /demo, /methodology, and /packages against https://seofixkit.com still passes.
What
Fresh-verification follow-up to the lane-1 promise audit (PR #63, already merged). Re-ran the audit from a fresh
origin/mainand found three sub-claims inside already-pinned README bullets that had no regression pin of their own:with status polling before the private report loads: no pin existed for the frontend job poller (pollAuditJobinsrc/App.jsx) or the/api/audit/jobs/endpoint it hits (only the route list pin existed).tied to the beta owner email and invite where available:audit_reportstable existence was pinned, but not that reports are stored withowner_email+owner_invite_id(worker/lib/report-data.js) or that queued audits carryowner_invite_id: access.inviteId(worker/routes/audits.js)./support,/terms,/privacypageswith no ranking guarantees: routes were pinned, and methodology/packages/demo no-overclaim copy was pinned, but the affirmative no-ranking-promise copy on the three legal pages themselves was not.Verification (all from fresh origin/main)
npm run test:promise-audit— 44/44 pass (was 41; +3 new pins)What is live in this repobullets now have a pin inshared/promise-audit.test.mjs,worker/routes/pages.test.mjs, orscripts/live-promise-spot-check.mjsnpm run audit:live-promise— /demo, /methodology, /packages all pass against https://seofixkit.comworker/routes/pages.jscopy (independent fetch comparison)npm run check— full pipeline passes including buildWhat changed
Only
shared/promise-audit.test.mjs(+34 lines): three regression tests pinning the sub-claims above to load-bearing code strings, in the same style as PRs #60/#62/#63.