Skip to content

[docs] Harmonized AGENTS.md with @openwisp guidelines - #82

Merged
nemesifier merged 4 commits into
masterfrom
agents-harmonization
Aug 5, 2026
Merged

[docs] Harmonized AGENTS.md with @openwisp guidelines#82
nemesifier merged 4 commits into
masterfrom
agents-harmonization

Conversation

@nemesifier

Copy link
Copy Markdown
Member

Checklist

  • I have read the OpenWISP Contributing Guidelines and Anti AI Spam Policy.
  • N/A: Contributor instructions and QA dependency declarations only.
  • N/A: No application code or test cases changed.
  • I have updated the documentation.

Reference to Existing Issue

N/A: Organization-wide maintenance change.

Description of Changes

  • Harmonized AGENTS.md with the shared OpenWISP contributor guidance while retaining repository-specific instructions.
  • Updated the declared QA dependency to the current OpenWISP Utils development reference.

Screenshot

N/A: No user interface changes.

Aligned this repository's AGENTS.md with @openwisp
contributing guidelines and its technology-family conventions.

Removed redundant generic instructions while preserving
repository-specific requirements, commands, and safety guidance.
@kilo-code-bot

kilo-code-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (1 file)
  • AGENTS.md
Previous Review Summaries (3 snapshots, latest commit 60691ca)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 60691ca)

Status: No Issues Found | Recommendation: Merge

Overview

Incremental review of the changes since the prior review (commit af19097). Both changed files are documentation/dependency declarations only — no application code or tests were modified.

  • AGENTS.md — Relocated the contributing-guidance section to the top of the file, refreshed the test/CLI wording, and removed the now-redundant master-branch dev-install note to align with the dependency update below.
  • requirements-test.txtopenwisp-utils[qa] now resolves to the 1.3 release-branch archive.

No critical bugs, security vulnerabilities, or logic errors were introduced by these changes.

Files Reviewed (2 files)
  • AGENTS.md
  • requirements-test.txt

Previous review (commit af19097)

Status: No Issues Found | Recommendation: Merge

Overview

This is a documentation-only PR harmonizing AGENTS.md with shared OpenWISP contributor guidance and updating the declared QA dependency in requirements-test.txt from the 1.3 branch to master.

  • No application code or test cases are changed (confirmed by PR checklist and diff).
  • No critical bugs, security vulnerabilities, or logic errors identified.
  • The AGENTS.md guidance is internally consistent, with previously separate testing and contributing sections consolidated coherently.
Files Reviewed (2 files)
  • AGENTS.md - harmonized with @openwisp guidelines; consolidated testing/QA and contributing sections; removed redundant generic instructions; preserved repository-specific requirements
  • requirements-test.txt - updated openwisp-utils[qa] dependency reference from 1.3 branch to master branch

Previous review (commit bd1bea5)

Status: No Issues Found | Recommendation: Merge

Overview

This is a documentation-only PR harmonizing AGENTS.md with shared OpenWISP contributor guidance and updating the declared QA dependency in requirements-test.txt from the 1.3 branch to master.

  • No application code or test cases are changed (confirmed by PR checklist and diff).
  • No critical bugs, security vulnerabilities, or logic errors identified.
  • The AGENTS.md guidance is internally consistent, with previously separate testing and contributing sections consolidated coherently.
Files Reviewed (2 files)
  • AGENTS.md - harmonized with @openwisp guidelines; consolidated testing/QA and contributing sections; removed redundant generic instructions; preserved repository-specific requirements
  • requirements-test.txt - updated openwisp-utils[qa] dependency reference from 1.3 branch to master branch

Reviewed by ling-3.0-flash-free · Input: 73.8K · Output: 8.8K · Cached: 166.1K

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@nemesifier, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 22 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 2f3f6e28-6ec5-4347-a78c-2da46fbe82ff

📥 Commits

Reviewing files that changed from the base of the PR and between 60691ca and a2152cc.

📒 Files selected for processing (1)
  • AGENTS.md
📝 Walkthrough

Walkthrough

Updated AGENTS.md with rules for repository inspection, focused changes, testing, formatting, verification, failure reporting, branching, commits, naming, documentation, API compatibility, grouped subTest usage, and decorator preference. Replaced older troubleshooting guidance with documentation-versus-CI precedence and scope rules.

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


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (1 error)

Check name Status Explanation Resolution
General Rules ❌ Error The latest PR commit is titled “Further improvements to AGENTS.md”, but AGENTS.md requires descriptive, past-tense commit subjects. Use a descriptive past-tense subject, such as “[docs] Improved AGENTS.md further”, while preserving the repository rule against amending existing commits.
✅ Passed checks (7 passed)
Check name Status Explanation
Title check ✅ Passed The title uses the required [docs] prefix and accurately describes the AGENTS.md documentation changes.
Description check ✅ Passed The description covers the checklist, issue reference, changes, and screenshot sections with appropriate details for a documentation-only update.
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.
Bug Fixes ✅ Passed Not applicable: the commit changes only AGENTS.md and the QA dependency; it contains no core functionality fix, implementation change, or regression test.
Features ✅ Passed The commit changes only AGENTS.md and requirements-test.txt; it adds no application feature, UI change, or tests, so feature-specific requirements do not apply.
Changes ✅ Passed The branch changes only AGENTS.md; no application behavior, UI, tests, or public APIs change. Documentation is updated, so screenshots and behavior tests are not applicable.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agents-harmonization

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

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@AGENTS.md`:
- Line 64: Update the testing guidance near the bug-fix requirement to align
with Lines 39-40: require a regression test for every bug fix, explicitly
document the approved exceptions, and specify the documented build and QA
workflow as the required fallback when a regression test cannot run.

In `@requirements-test.txt`:
- Line 6: Update the openwisp-utils[qa] dependency URL to pin to a specific,
immutable reference instead of the master branch. Replace the
`refs/heads/master` portion of the URL with a concrete tag (like
`refs/tags/v1.0.0`), a release version, or a commit SHA. Alternatively, if
tracking the master branch is intentional, add an explanatory comment above the
dependency line documenting the reason for this choice.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 39bc703b-da95-4973-bcc3-5e0d9317a24b

📥 Commits

Reviewing files that changed from the base of the PR and between b73f57b and bd1bea5.

📒 Files selected for processing (2)
  • AGENTS.md
  • requirements-test.txt
📜 Review details
⏰ Context from checks skipped due to timeout. (1)
  • GitHub Check: Python==3.13
🧰 Additional context used
📓 Path-based instructions (3)
**/*

📄 CodeRabbit inference engine (Custom checks)

**/*: If a pull request is flagged as invalid, immediately stop reviewing it.
Flag potential security vulnerabilities and obvious performance regressions, including heavy loops, repeated I/O, and unoptimized queries.
Bug fixes must address the root cause rather than hide or bypass the problem.
Regression tests must not depend on timing, sleeps, system time, randomness without a fixed seed, race conditions, improperly awaited asynchronous operations, network or external services, filesystem state, environment-specific configuration, execution order, shared global state, or hardcoded ports.
Valid exceptions to regression-test requirements include one-line fixes and fixes where writing a regression test is highly impractical, such as GitHub Actions workflow fixes.
When documented behavior changes, update the documentation to reflect the new behavior.
For UI changes, the pull request description must include screenshots or screen recordings.
Flag changes that could break existing behavior or public APIs unless a clear migration path is provided.
Feature requests must have an issue explaining the feature, validated and accepted by an organization member.
New features must be documented; heavily UI-related features should have a dedicated documentation section or page.
Cryptic or non-obvious code, including regexes, complex shell commands, and hard-to-read logic, must include a concise explanation of its necessity and acceptable complexity.
Avoid unnecessary comments and docstrings when the code is already clear.
Keep code formatting compact and readable; avoid excessive blank lines, especially inside functions and methods.
Flag unused or redundant code.
Flag outdated or incorrect documentation, comments, and docstrings.
Use descriptive and consistent names for variables, functions, classes, and files.
Handle errors appropriately: log user-unresolvable errors at error level, unusual conditions at warning level, and important background actions at info level; provide use...

Files:

  • requirements-test.txt
  • AGENTS.md
**/AGENTS.md

📄 CodeRabbit inference engine (Custom checks)

When AGENTS.md is present, verify that the code follows the rules defined in it.

Files:

  • AGENTS.md
**/*.{py,rst,md}

📄 CodeRabbit inference engine (AGENTS.md)

Update documentation when behavior, public APIs, setup steps, or supported versions change.

Files:

  • AGENTS.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: openwisp/netengine

Timestamp: 2026-08-04T14:58:24.124Z
Learning: Use `README.rst` and `docs/` for setup, package usage, and baseline commands; use `.github/workflows/ci.yml` for CI-tested dependencies, QA commands, and supported Python versions. Repository configuration and CI take precedence over official documentation, which takes precedence over this file.
Learnt from: CR
Repo: openwisp/netengine

Timestamp: 2026-08-04T14:58:24.124Z
Learning: Before editing, inspect the relevant implementation, tests, documentation, and configuration; follow existing repository patterns and do not invent behavior or requirements.
Learnt from: CR
Repo: openwisp/netengine

Timestamp: 2026-08-04T14:58:24.124Z
Learning: When documentation and CI commands differ, use CI for verification and report the exact paths and differing commands; do not change documentation until the user explicitly chooses the permitted scope.
Learnt from: CR
Repo: openwisp/netengine

Timestamp: 2026-08-04T14:58:24.124Z
Learning: When starting work on a new issue, create a branch from `master` named `issues/<issue-number>-<short-title>`; otherwise use a short descriptive branch name.
Learnt from: CR
Repo: openwisp/netengine

Timestamp: 2026-08-04T14:58:24.124Z
Learning: Commit messages must be descriptive and use past tense; issue commits must use an allowed prefix, a capitalized past-tense subject ending with `#<issue-number>`, and repeat the issue reference in the body when appropriate.
Learnt from: CR
Repo: openwisp/netengine

Timestamp: 2026-08-04T14:58:24.124Z
Learning: Send new commits in response to review feedback instead of amending existing commits.
🔇 Additional comments (5)
AGENTS.md (5)

28-35: LGTM!


58-58: LGTM!


60-63: LGTM!


65-65: LGTM!


66-70: LGTM!

Comment thread AGENTS.md Outdated
Comment thread requirements-test.txt Outdated
- Listed "Contributing Guidelines" rules early on, some rules
  have been adapted to this repository to avoid ambiguity.
- Ensured following rules do not repeat nor contradict the rules
  listed in "Contributing Guideliens".
@nemesifier nemesifier self-assigned this Aug 4, 2026
@nemesifier

Copy link
Copy Markdown
Member Author

@coderabbitai do you see any issue?
If not, resolve.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="openwisp/netengine"
pr_number="82"

echo "== Pull request =="
gh pr view "$pr_number" --repo "$repo" --json number,title,state,reviewDecision,mergeable,headRefName,baseRefName,url

echo
echo "== Changed files =="
gh pr diff "$pr_number" --repo "$repo" --name-only

echo
echo "== Diff =="
gh pr diff "$pr_number" --repo "$repo" -- AGENTS.md requirements-test.txt

echo
echo "== Reviews =="
gh api "repos/$repo/pulls/$pr_number/reviews" --paginate \
  --jq '.[] | {id, user: .user.login, state, body, submitted_at}'

echo
echo "== Review threads =="
gh api graphql \
  -F owner="openwisp" \
  -F name="netengine" \
  -F number="$pr_number" \
  -f query='
query($owner: String!, $name: String!, $number: Int!) {
  repository(owner: $owner, name: $name) {
    pullRequest(number: $number) {
      reviewThreads(first: 100) {
        nodes {
          id
          isResolved
          isOutdated
          path
          line
          originalLine
          comments(first: 20) {
            nodes {
              author { login }
              body
              createdAt
              url
            }
          }
        }
      }
    }
  }
}' --jq '.data.repository.pullRequest.reviewThreads.nodes'

Length of output: 1913


🏁 Script executed:

#!/bin/bash
set -uo pipefail

repo="openwisp/netengine"
pr_number="82"

echo "== Current diff =="
gh pr diff "$pr_number" --repo "$repo" || true

echo
echo "== Reviews =="
gh api "repos/$repo/pulls/$pr_number/reviews" --paginate \
  --jq '.[] | {id, user: .user.login, state, body, submitted_at}' || true

echo
echo "== Review threads =="
gh api graphql \
  -F owner="openwisp" \
  -F name="netengine" \
  -F number="$pr_number" \
  -f query='
query($owner: String!, $name: String!, $number: Int!) {
  repository(owner: $owner, name: $name) {
    pullRequest(number: $number) {
      reviewThreads(first: 100) {
        nodes {
          id
          isResolved
          isOutdated
          path
          line
          originalLine
          comments(first: 20) {
            nodes {
              author { login }
              body
              createdAt
              url
            }
          }
        }
      }
    }
  }
}' --jq '.data.repository.pullRequest.reviewThreads.nodes' || true

Length of output: 21392


🏁 Script executed:

#!/bin/bash
set -euo pipefail

gh api graphql \
  -F threadId="PRRT_kwDOAOqvjc6WXrks" \
  -f query='
mutation($threadId: ID!) {
  resolveReviewThread(input: {threadId: $threadId}) {
    thread {
      id
      isResolved
    }
  }
}' \
  --jq '.data.resolveReviewThread.thread'

Length of output: 465


@nemesifier No active issue remains in the current diff. I resolved the outdated AGENTS.md review thread.

You are interacting with an AI system.

@nemesifier

Copy link
Copy Markdown
Member Author

@coderabbitai resolve

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
✅ Action performed

Comments resolved and changes approved.

@nemesifier
nemesifier merged commit fbbe5f2 into master Aug 5, 2026
7 checks passed
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