From edb4f93d2d3a87efbbdd590f82b600655a68f345 Mon Sep 17 00:00:00 2001 From: Claude Code Agent Date: Tue, 14 Jul 2026 13:28:56 -0400 Subject: [PATCH 1/2] Add root AGENTS.md (workspace review-instructions pilot) Instantiated from ros2_agent_workspace's project_agents_md.md template (ADR-0017: reference, never fork). Closes #100 --- AGENTS.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..de56bb4 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,55 @@ +# AGENTS.md — cube_bathymetry + +Instructions for AI agents working in this repository — including **GitHub +Copilot code review**, which reads this file when reviewing PRs. There is no +`.agents/README.md` deep guide yet; start from the top-level `README.md` and +`docs/` (including this repo's ADRs under `docs/decisions/`). + +## Workspace Rules + +This repo is developed inside a +[ROS 2 Agent Workspace](https://github.com/rolker/ros2_agent_workspace). +The workspace root `AGENTS.md` carries the full shared rules (worktree +isolation, issue-first policy, commit conventions, AI signatures). This file +**references** those rules and adds repo-specific context only — it must +never restate or fork them. + +## Quality Standard + +This is software for autonomous robot boats operating on open water. +Robustness is not optional. + +- Fix bugs completely: add the test, handle the edge case, check the + lifecycle transition. +- Concerns about error handling, silent failures, stale data, or missing + validation are not nits — flag them unless the failure mode genuinely + cannot occur. "Config is under our control" and "pathological input" are + not blanket dismissals; field configs change under pressure. +- A change includes its consequences: tests, documentation, and dependent + references update in the same PR. + +## Reviewing PRs + +- If the PR carries a work plan (`.agent/work-plans/issue-/plan.md` or a + plan in the PR body), the plan is kept **in sync with the implementation + as it evolves** — an implementation that matches the current plan text is + not "plan drift", even if the plan changed after the PR opened. +- Verify claims against source: parameters, topics, services, and message + types in docs must match the code. + +## Review Context — cube_bathymetry + +- **This implements CUBE** (Brian Calder's bathymetric estimation + algorithm): changes to estimator behavior need methodological + justification against the algorithm's published semantics, not just green + tests — algorithm fidelity is a review dimension of its own. +- **Numerical/statistical code — watch signs and units**: depths vs + elevations, dB conventions, and transmission-loss corrections have all + produced sign bugs before; intensity statistics ride Welford accumulators + where order-independence and merge semantics matter. +- **Survey data is never lost to bound memory**: draft-tile eviction + persists to the durable store *before* dropping from RAM; the tile store + is the product of record for live coverage. +- **CI is industrial_ci with a prebaked GHCR deps image**: `ci.yml` and + `.github/ci/Dockerfile` must stay in sync — dependency changes usually + touch both. From 5088c025c520e3793cbcc59014a2f291e317d978 Mon Sep 17 00:00:00 2001 From: Claude Code Agent Date: Tue, 14 Jul 2026 13:49:17 -0400 Subject: [PATCH 2/2] Address Copilot review: guide-convention note, eviction phrasing, full CI paths --- AGENTS.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index de56bb4..02873c2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,8 +2,10 @@ Instructions for AI agents working in this repository — including **GitHub Copilot code review**, which reads this file when reviewing PRs. There is no -`.agents/README.md` deep guide yet; start from the top-level `README.md` and -`docs/` (including this repo's ADRs under `docs/decisions/`). +`.agents/README.md` deep guide yet (the workspace convention for project +agent guides — distinct from the `.agent/work-plans/` directory); start from +the top-level `README.md` and `docs/` (including this repo's ADRs under +`docs/decisions/`). ## Workspace Rules @@ -47,9 +49,10 @@ Robustness is not optional. elevations, dB conventions, and transmission-loss corrections have all produced sign bugs before; intensity statistics ride Welford accumulators where order-independence and merge semantics matter. -- **Survey data is never lost to bound memory**: draft-tile eviction - persists to the durable store *before* dropping from RAM; the tile store - is the product of record for live coverage. -- **CI is industrial_ci with a prebaked GHCR deps image**: `ci.yml` and - `.github/ci/Dockerfile` must stay in sync — dependency changes usually - touch both. +- **Eviction that bounds memory must never lose survey data**: draft-tile + eviction persists to the durable store *before* dropping from RAM; the + tile store is the product of record for live coverage. +- **CI is industrial_ci with a prebaked GHCR deps image**: + `.github/workflows/ci.yml` (build/test), `.github/workflows/ci-image.yml` + (image publish), and `.github/ci/Dockerfile` must stay in sync — + dependency changes usually touch more than one.