Tell CodeRabbit not to check keyDates asOf against bsky.app - #114
Conversation
CodeRabbit posted the same false positive on the bot PR 15 times across 9 PRs: it opens the entry's source bsky.app URL and compares the timestamp there against asOf. That page exposes only the AppView's indexedAt, as article:published_time and datePublished. The record's createdAt, which the keydates worker copies verbatim into asOf, is not in the page, and indexedAt can run later or earlier than createdAt. Seven saved learnings did not stop it, because a learning applies to similar code segments rather than as a general rule. A path instruction is the documented place for a rule like this.
|
Understand this PR’s impact Explore downstream dependencies and potential security impact with Blast Radius. Warning Review limit reachedNext included review available in 56 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe CodeRabbit configuration now adds JSON-specific review instructions for ChangesJSON review guidance
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~3 minutes Change: Other Merge Risk: 🔵 Low · up to Clarify the selector to ensure false-positive timestamp findings are suppressed for all intended JSON fields. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Advanced
Run ID: cfbe7691-653c-4048-b366-4d9b724a8a12
📒 Files selected for processing (1)
.coderabbit.yaml
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.
asOf sits at keyDates.<category>.<kind>.asOf, two levels down, so keyDates.*.asOf described the wrong shape. Say every asOf nested under keyDates and give one full path as an example.
|
@coderabbitai full review |
|
What this changes
This PR adds one
reviews.path_instructionsentry to.coderabbit.yamlfor the root*.jsonfiles. The entry tells CodeRabbit thatkeyDates.*.asOfis the source post'srecord.createdAt, and that a difference betweenasOfand any other timestamp is not a finding.Why
CodeRabbit has posted the same false positive on the keydates bot PR 15 times across 9 PRs, most recently on #113. It opens the entry's
sourceURL on bsky.app and compares the timestamp it finds there withasOf.The bsky.app page has one timestamp, in
article:published_timeanddatePublished, and it is the AppView'sindexedAt. The record'screatedAt, which the keydates worker copies intoasOf, is not in the page. For the post cited on #113,getPostsreturnscreatedAt2026-09-18T01:26:16.105ZandindexedAt2026-09-18T01:26:16.360Z, and the page shows.360Z.indexedAtcan also be earlier thancreatedAtwhen the poster's clock runs ahead, so an ordering check is not valid either.Seven saved learnings did not stop it. CodeRabbit's note on each one says that learnings apply to similar code segments, and it points to review instructions for general rules.
Scope
*.jsonfiles are convention data, so the instruction attaches to nothing else. The single*does not reachtools/,.github/, orimport_pending/.inheritance: truestays. CodeRabbit merges arrays across levels and deduplicates them bypath, so organization-level path instructions still apply.validate.ymldoes not read YAML.Rollout
bot/bsky-keydatesfrommainon its next run, so the bot PR picks up the config with no manual step. CodeRabbit reads the config from the branch under review.@coderabbitai full reviewcomment on the open bot PR tests it. The instruction works if noasOfcomment comes back.If the finding comes back, the fallback is to turn off web search and MCP lookups for this repo in the same file. That also removes the source-post checks that have caught real errors, so it is the second choice.
Summary by CodeRabbit
keyDates.*.asOfmust match the source post’srecord.createdAttimestamp.