docs: add CHANGELOG and wire it into agent guidance#369
Conversation
Add a Keep a Changelog-formatted release history covering v0.1.0 through [Unreleased], and document when contributors should update it in AGENTS.md and .claude/CLAUDE.md. Signed-off-by: Giulio Calzolari <gcalzolari@nvidia.com>
Greptile SummaryThis PR introduces
Confidence Score: 4/5The agent-guidance updates in AGENTS.md and .claude/CLAUDE.md are clean and correctly mirrored. The only concern is in CHANGELOG.md, where the [Unreleased] section pre-documents changes from PR #368, a PR that is not yet on main. The node-data-broker main-container entries (new Helm values, probe config, migration table) all reference #368, which does not appear in the git log as of the current HEAD. Operators or tools reading [Unreleased] expect it to reflect what is actually checked in; including unmerged work risks premature Helm migrations or confusion about what the current codebase supports. CHANGELOG.md — specifically the [Unreleased] entries for PR #368 and the accompanying Migration section. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Feature / Fix PR merged to main] --> B{User-facing change?}
B -- Yes --> C[Update CHANGELOG.md\nunder Unreleased]
B -- No --> D[No changelog entry needed]
C --> E[PR pre-push checklist\nmake qualify + doc impact]
E --> F[PR merged to main]
F --> G{New release?}
G -- Yes --> H[Move Unreleased entries\ninto versioned section\ne.g. 0.5.0 - date]
G -- No --> I[Unreleased accumulates\nuntil next tag]
H --> J[git tag vX.Y.Z]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[Feature / Fix PR merged to main] --> B{User-facing change?}
B -- Yes --> C[Update CHANGELOG.md\nunder Unreleased]
B -- No --> D[No changelog entry needed]
C --> E[PR pre-push checklist\nmake qualify + doc impact]
E --> F[PR merged to main]
F --> G{New release?}
G -- Yes --> H[Move Unreleased entries\ninto versioned section\ne.g. 0.5.0 - date]
G -- No --> I[Unreleased accumulates\nuntil next tag]
H --> J[git tag vX.Y.Z]
Reviews (1): Last reviewed commit: "docs: add CHANGELOG and wire it into age..." | Re-trigger Greptile |
|
|
||
| - **node-data-broker** runs as the DaemonSet main container instead of an init container plus a `curlimages/curl` placeholder ([#368](https://github.com/NVIDIA/topograph/pull/368)). The `node-data-broker-initc` binary applies node annotations at startup, serves `/healthz`, and stays running until the pod receives SIGTERM. | ||
| - New `node-data-broker.port` Helm value (default `8080`) for the broker health HTTP server. | ||
| - New `node-data-broker.refreshInterval` Helm value (default `5m`) to re-apply node annotations periodically after startup. Set to `0` to disable periodic refresh. | ||
| - New `node-data-broker.startupProbe` settings (default `failureThreshold: 30`, `periodSeconds: 10`, i.e. a 5-minute startup budget) so slow providers such as InfiniBand `ibnetdiscover` can finish before liveness/readiness probes take effect. | ||
| - Startup, liveness, and readiness probes on the node-data-broker container, all targeting `/healthz`. | ||
| - New CLI flags on `node-data-broker-initc`: `--port` and `--refresh-interval`. | ||
|
|
||
| ### Changed | ||
|
|
||
| - **Slinky engine**: `nvidia.com/gpu.clique` can override provider accelerator domains when present on a node ([#342](https://github.com/NVIDIA/topograph/pull/342)). | ||
| - **Kubernetes engine**: prefer the GPU clique label for accelerator domains when configured ([#341](https://github.com/NVIDIA/topograph/pull/341)). | ||
| - **Node observer** watches the Topograph API pod and triggers topology regeneration when the API becomes Ready after startup or a container restart ([#367](https://github.com/NVIDIA/topograph/pull/367)). | ||
| - Helm image tags default to the chart **`appVersion`** when unset ([#360](https://github.com/NVIDIA/topograph/pull/360)). | ||
| - Providers reuse the shared retrying HTTP helper; string-map config parsing replaced with mapstructure ([#356](https://github.com/NVIDIA/topograph/pull/356), [#355](https://github.com/NVIDIA/topograph/pull/355)). | ||
| - Node attribute handling simplified in the canonical graph ([#349](https://github.com/NVIDIA/topograph/pull/349)). | ||
| - Helm install docs updated to use the chart repository ([#357](https://github.com/NVIDIA/topograph/pull/357)). |
There was a problem hiding this comment.
[Unreleased] pre-documents an open PR that hasn't landed on main
The entries referencing PR #368 (node-data-broker as main container, new port/refreshInterval/startupProbe Helm values, new CLI flags, the Migration table, and corresponding Changed/Removed bullets) describe code that is not yet on main. The git log confirms 0f94ca9 is the current HEAD and only #367 appears near the top — #368 is absent. Operators who read [Unreleased] expect those changes to be available in a checkout of main; pre-loading entries for an unmerged PR violates that contract and could trigger premature Helm migrations.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
CHANGELOG.mdin Keep a Changelog format with release notes for v0.1.0, v0.3.0, v0.4.0, and an [Unreleased] section covering changes since v0.4.0 (including merged work such as node-observer API restart handling and pending node-data-broker main-container changes).AGENTS.mdand.claude/CLAUDE.mdto listCHANGELOG.mdin the repository map, add a Documentation Impact Evaluation row for user-facing release notes, and extend the pre-push checklist.Test plan