Skip to content
This repository was archived by the owner on Mar 16, 2026. It is now read-only.

chore: assert marmot dominance over CodeRabbit, tighten review laws#14

Merged
dannym-arx merged 2 commits into
masterfrom
update-rabbit
Mar 4, 2026
Merged

chore: assert marmot dominance over CodeRabbit, tighten review laws#14
dannym-arx merged 2 commits into
masterfrom
update-rabbit

Conversation

@dannym-arx

@dannym-arx dannym-arx commented Mar 4, 2026

Copy link
Copy Markdown
Collaborator

marmot

The rabbit is a guest here. A useful guest. But a guest. This PR rewrites .coderabbit.yaml to make that clear — marmot authority is now explicit in tone, comment limits enforced, boilerplate stripped, and the Laws of the Burrow codified in plain language. The rabbit will review with reverence, or the rabbit will find another mountain.

@coderabbitai

coderabbitai Bot commented Mar 4, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • New Features

    • Enhanced code review capabilities with new diagnostic analysis features
    • Expanded review metadata options for comprehensive feedback
    • New automated workflow controls and validation checks
  • Updates

    • Refined code review tone and analysis style for improved clarity
    • Enhanced tool configuration for more thorough code analysis

Walkthrough

Replaced the repository review configuration in .coderabbit.yaml with a Marmot-themed persona and diagnostic rules, expanded per-path instruction blocks (JS/CSS/HTML/JSON/README), added new review metadata and workflow toggles, and tightened pre-merge checks and tool toggles.

Changes

Cohort / File(s) Summary
Configuration / Single file
./.coderabbit.yaml
Full overhaul of the review configuration: swapped persona to Dr. Marmot, added new review metadata fields and workflow controls (auto_review, pre_merge_checks), tightened path_instructions for JavaScript/CSS/HTML/JSON/README, enabled/disabled specific tools (htmlhint, oxc, languagetool adjustments), and changed labeling/chat guidance.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • improve coderabbit #11: Modifies .coderabbit.yaml path_instructions and review guidance; strongly related to persona and JS/CSS instruction changes.

Suggested labels

needs-review

🚥 Pre-merge checks | ✅ 5 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Dom Queries Centralized ⚠️ Warning Eight DOM operations (querySelector, createElement) found in js/scan-bar.js, js/relay-panel.js, and js/audit.js violate DOM centralization law requiring all DOM methods in dom.js only. Extract DOM operations into dom.js as helper functions (createRelayRow, getRelayGroup, etc.) and import them into offending files to restore centralized DOM management.
No Exceptions In Module Exports ⚠️ Warning Instruction targets only literal 'throw new Error' pattern, missing rethrowing, other error types, and variable throws in module exports. Broaden instruction to catch any throw statement in exports, not just one specific constructor. Replace with: target all throw expressions within exported functions.
Docstring Coverage ⚠️ Warning Custom docstring check correctly targets ~40% meaningful functions, but built-in ~80% default still runs due to missing pre_merge_checks override, creating conflicting diagnostics. Add docstrings: mode: "off" under pre_merge_checks to suppress the conflicting built-in check and apply only the custom logic.
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title follows Conventional Commits format (chore:), stays well under the 72-character limit at 67 characters, and directly describes the configuration rewrite that establishes marmot authority and tightens review governance.
Description check ✅ Passed The description clearly relates to the changeset, explaining the thematic rewrite of .coderabbit.yaml to assert marmot authority, enforce comment limits, and codify review laws—all reflected in the configuration changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
No Mixed Exports ✅ Passed PR modifies only .coderabbit.yaml configuration file; no JavaScript/TypeScript source modules present to evaluate against the no mixed exports rule.
No Alert() ✅ Passed Comprehensive codebase search confirms zero instances of alert() across all file types; only documentation reference correctly directs to say() function.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-rabbit

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

@github-actions

github-actions Bot commented Mar 4, 2026

Copy link
Copy Markdown

🔍 Dr. Marmot Preview

Link URL
Deployment https://a6d0049d.dr-marmot.pages.dev
Branch alias https://pr-14.dr-marmot.pages.dev

@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

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.coderabbit.yaml:
- Line 8: The value for the configuration key tone_instructions is longer than
the allowed 250 characters and invalidates the config; shorten or replace the
string assigned to tone_instructions so it is at most 250 characters (or remove
the key entirely) while preserving the essential guidance you want, updating the
value where tone_instructions is defined to a concise version that fits the
schema.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 94687e97-24a3-45b3-96fa-a1bd3c770c35

📥 Commits

Reviewing files that changed from the base of the PR and between c860fab and bb49ada.

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

Comment thread .coderabbit.yaml Outdated

@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: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.coderabbit.yaml:
- Around line 112-114: The "No exceptions in module exports" rule currently only
matches the literal 'throw new Error' and should be broadened to detect any
throw expressions inside exported members; update the rule (rule name "No
exceptions in module exports") to match generic throw patterns (e.g. a regex for
'\bthrow\b' or, better, an AST-based check for ThrowStatement nodes within
exported functions/classes/objects) and change the instructions text to mention
'throw err', 'throw new TypeError(...)', rethrows, etc., so any throw in an
exported context is flagged rather than just the exact string 'throw new Error'.
- Around line 94-117: The built-in docstring check is still active and conflicts
with the custom "Docstring coverage" rule; update the configuration to remove
the conflict by either disabling or tuning pre_merge_checks.docstrings to match
the custom rule: set pre_merge_checks.docstrings.mode to "off" (to fully disable
the built-in 80% check) or set its threshold to 40% and mode to "warning" so it
aligns with the custom_checks entry named "Docstring coverage"; ensure you keep
the custom_checks "Docstring coverage" entry if you want the tailored behavior.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5d445ccd-e97a-4ae8-8241-b368ac9a0c3a

📥 Commits

Reviewing files that changed from the base of the PR and between bb49ada and df9efd8.

📒 Files selected for processing (1)
  • .coderabbit.yaml
📜 Review details
🧰 Additional context used
📓 Path-based instructions (1)
!main.js,**/*.js

📄 CodeRabbit inference engine (AGENTS.md)

Avoid side effects on import; only main.js is allowed to have side effects for initialization

Files:

  • .coderabbit.yaml
🧠 Learnings (4)
📚 Learning: 2026-02-23T11:56:06.436Z
Learnt from: dannym-arx
Repo: marmot-protocol/dr.marmot PR: 8
File: .coderabbit.yaml:187-293
Timestamp: 2026-02-23T11:56:06.436Z
Learning: In the dr.marmot repository, keep ESLint, Biome, and Oxc all enabled despite potential overlap in JavaScript linting. The project intentionally uses multiple JS linters.

Applied to files:

  • .coderabbit.yaml
📚 Learning: 2026-02-25T17:57:26.327Z
Learnt from: CR
Repo: marmot-protocol/dr.marmot PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-25T17:57:26.327Z
Learning: Applies to **/*.js : Prefix boolean variables and functions with `is`, `has`, `should`, or `can` (e.g., `isAuditing`, `hasError`, `isValidBase64()`)

Applied to files:

  • .coderabbit.yaml
📚 Learning: 2026-02-25T17:57:26.327Z
Learnt from: CR
Repo: marmot-protocol/dr.marmot PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-25T17:57:26.327Z
Learning: Applies to **/*.js : Use camelCase for variable names (e.g., `lastAuditState`, `isAuditing`, `relayUrl`, `pubkey`)

Applied to files:

  • .coderabbit.yaml
📚 Learning: 2026-02-25T17:57:26.327Z
Learnt from: CR
Repo: marmot-protocol/dr.marmot PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-25T17:57:26.327Z
Learning: Applies to .github/lint/eslint.config.js : Run ESLint with configuration at `.github/lint/eslint.config.js` (ESLint 9, recommended rules, browser globals enabled, no-unused-vars warns, no-console off)

Applied to files:

  • .coderabbit.yaml
🔇 Additional comments (2)
.coderabbit.yaml (2)

133-138: Keeping ESLint, Biome, and Oxc enabled is correct for this repo.

This preserves the project’s intentionally overlapping JS lint coverage and matches the established tooling strategy.

Based on learnings: In the dr.marmot repository, keep ESLint, Biome, and Oxc all enabled despite potential overlap in JavaScript linting.

Also applies to: 167-168


42-44: main.js side-effect boundary is correctly codified.

The import-side-effect rule is explicit and enforceable in reviewer guidance.

As per coding guidelines: !main.js,**/*.js: Avoid side effects on import; only main.js is allowed to have side effects for initialization.

Comment thread .coderabbit.yaml
Comment thread .coderabbit.yaml
@dannym-arx
dannym-arx merged commit db786c5 into master Mar 4, 2026
3 checks passed
@dannym-arx
dannym-arx deleted the update-rabbit branch March 4, 2026 12:20
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant