Skip to content

Tell CodeRabbit not to check keyDates asOf against bsky.app - #114

Merged
sparkyfen merged 2 commits into
mainfrom
chore/coderabbit-asof-instruction
Sep 21, 2026
Merged

sparkyfen merged 2 commits into
mainfrom
chore/coderabbit-asof-instruction

Conversation

@sparkyfen

@sparkyfen sparkyfen commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

What this changes

This PR adds one reviews.path_instructions entry to .coderabbit.yaml for the root *.json files. The entry tells CodeRabbit that keyDates.*.asOf is the source post's record.createdAt, and that a difference between asOf and 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 source URL on bsky.app and compares the timestamp it finds there with asOf.

The bsky.app page has one timestamp, in article:published_time and datePublished, and it is the AppView's indexedAt. The record's createdAt, which the keydates worker copies into asOf, is not in the page. For the post cited on #113, getPosts returns createdAt 2026-09-18T01:26:16.105Z and indexedAt 2026-09-18T01:26:16.360Z, and the page shows .360Z. indexedAt can also be earlier than createdAt when 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

  • All 238 root *.json files are convention data, so the instruction attaches to nothing else. The single * does not reach tools/, .github/, or import_pending/.
  • inheritance: true stays. CodeRabbit merges arrays across levels and deduplicates them by path, so organization-level path instructions still apply.
  • This is a config-only change, so it has no test. validate.yml does not read YAML.

Rollout

  1. The repo owner merges this PR.
  2. The keydates worker rebuilds bot/bsky-keydates from main on its next run, so the bot PR picks up the config with no manual step. CodeRabbit reads the config from the branch under review.
  3. One @coderabbitai full review comment on the open bot PR tests it. The instruction works if no asOf comment 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

  • Documentation
    • Added review guidance for JSON files clarifying that keyDates.*.asOf must match the source post’s record.createdAt timestamp.
    • Specified the authoritative timestamp source and clarified that differences from other timestamps should not be reported as issues.

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.
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Understand this PR’s impact

Explore downstream dependencies and potential security impact with Blast Radius.

View blast radius →

Warning

Review limit reached

Next included review available in 56 minutes.

Check out review usage here.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Advanced

Run ID: 111c5237-3b60-48ad-8959-f6f8c9511474

📥 Commits

Reviewing files that changed from the base of the PR and between a470a6b and e250984.

📒 Files selected for processing (1)
  • .coderabbit.yaml
📝 Walkthrough

Walkthrough

The CodeRabbit configuration now adds JSON-specific review instructions for keyDates.*.asOf. The instructions define Bluesky record.createdAt as authoritative and exclude comparisons with indexedAt.

Changes

JSON review guidance

Layer / File(s) Summary
Timestamp authority guidance
.coderabbit.yaml
Adds path_instructions for *.json. The instructions require keyDates.*.asOf to match the source post’s record.createdAt and exclude validation against bsky.app pages, web searches, or MCP output.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Merge Risk: 🔵 Low · up to fa3d8

Clarify the selector to ensure false-positive timestamp findings are suppressed for all intended JSON fields.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main configuration change: preventing CodeRabbit from comparing keyDates.*.asOf with timestamps exposed by bsky.app.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between a470a6b and fa3d805.

📒 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.

Comment thread .coderabbit.yaml Outdated
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.
@sparkyfen

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 56 minutes.

@sparkyfen
sparkyfen merged commit 90bf086 into main Sep 21, 2026
2 checks passed
@sparkyfen
sparkyfen deleted the chore/coderabbit-asof-instruction branch September 21, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant