Skip to content

docs: add CHANGELOG and wire it into agent guidance#369

Open
giuliocalzo wants to merge 1 commit into
NVIDIA:mainfrom
giuliocalzo:docs/changelog
Open

docs: add CHANGELOG and wire it into agent guidance#369
giuliocalzo wants to merge 1 commit into
NVIDIA:mainfrom
giuliocalzo:docs/changelog

Conversation

@giuliocalzo

Copy link
Copy Markdown
Collaborator

Summary

  • Add CHANGELOG.md in 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).
  • Update AGENTS.md and .claude/CLAUDE.md to list CHANGELOG.md in the repository map, add a Documentation Impact Evaluation row for user-facing release notes, and extend the pre-push checklist.

Test plan

  • Markdown-only change; no code or chart behavior affected
  • Verified changelog links and section structure against git tags and GitHub releases

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-apps

greptile-apps Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR introduces CHANGELOG.md in Keep a Changelog format covering v0.1.0, v0.3.0, v0.4.0, and an [Unreleased] section, and wires it into the agent guidance files (AGENTS.md and .claude/CLAUDE.md) by adding it to the repository map, the documentation impact evaluation table, and the pre-push checklist.

  • CHANGELOG.md: New file with per-version Added / Changed / Fixed / Removed entries and reference-style comparison links; the [Unreleased] section blends already-merged PRs with entries from PR feat(node-data-broker): run broker as main container with health probes #368, which has not yet landed on main.
  • AGENTS.md / .claude/CLAUDE.md: Identical, correctly-synced additions pointing agents to CHANGELOG.md and instructing them to update [Unreleased] for user-facing changes.

Confidence Score: 4/5

The 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

Filename Overview
CHANGELOG.md New file introducing release history in Keep a Changelog format; [Unreleased] section includes entries for PR #368 which is not yet merged to main, causing the section to pre-announce changes not yet on the default branch.
AGENTS.md Adds CHANGELOG.md to the repository map, documentation impact table, and pre-push checklist; identical to the .claude/CLAUDE.md additions and correctly kept in sync.
.claude/CLAUDE.md Mirrors the AGENTS.md additions — CHANGELOG.md entry in repo map, new documentation impact row, and pre-push checklist item — all correctly matched to AGENTS.md.

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]
Loading
%%{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]
Loading

Reviews (1): Last reviewed commit: "docs: add CHANGELOG and wire it into age..." | Re-trigger Greptile

Comment thread CHANGELOG.md
Comment on lines +21 to +37

- **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)).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 [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!

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.

2 participants