Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
language: en-US
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

[sev2/product] NO-SCAFFOLD-THEATRE: this PR adds the CodeRabbit integration config while the downstream consumer is not wired up; the PR also leaves manual smoke PRs unrun, so the config is orphaned and unverified. Install/wire CodeRabbit for this repo and run the src/tests/style smoke checks, or keep the integration out of the default surface until it is live.

tone_instructions: Be direct and concise. Prioritize correctness, security, and runtime behavior.

reviews:
profile: assertive
review_status: true
review_details: true
path_filters:
- "src/forge_loop/**"
- "!tests/**"
path_instructions:
- path: "src/forge_loop/**"
instructions: >-
Review forge-loop production code as a second-opinion correctness and
security reviewer. Focus on logic bugs, missing edge cases, unsafe I/O,
API contract drift, concurrency hazards, and Python idiom issues that
can change behavior. Do not leave generic style, naming, formatting,
docstring, import-order, or preference comments; Ruff and the
manifesto-aware critic own those findings.
tools:
ruff:
enabled: true
flake8:
enabled: false
pylint:
enabled: false
markdownlint:
enabled: false
languagetool:
enabled: false
10 changes: 10 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,16 @@ uv run pytest tests/ --cov=src/forge_loop --cov-fail-under=70
4. Don't lower the coverage floor. If a refactor genuinely needs to, justify it in the PR body.
5. Adversarial tests preferred — hunt the sad path, not the happy path.

## Reviewers

The manifesto-aware critic is the primary reviewer for forge-loop's style,
architecture, testing discipline, and project-specific quality rules.
CodeRabbit runs alongside it as a second-opinion reviewer for correctness,
security, runtime behavior, and Python API-contract issues that the manifesto
does not yet encode. When the two disagree, the manifesto wins on style and
architecture; CodeRabbit wins on correctness unless the critic cites a
documented manifesto rule.

## Architecture conventions

- Single source of config: `forge_loop.settings.Settings`. No new `os.environ.get("LOOP_*")` outside `settings.py` — the `test_no_loop_env_reads_outside_settings` regression test enforces this.
Expand Down
Loading