Skip to content

docs: changelog-agent - Document specification decisions #3470

Open

Description

@eleshar

Part of #3464.

Design decisions in .github/specs/016-changelog-agent-quality/ raised by CodeRabbit on #3434. They need an owner decision before code changes.

  • CLI contract (contracts/cli-interface.md) does not match the shipped validator (.github/validation/changelog/): required path, --output-format, csv, --strict, --max-entries, exit codes. Implement an adapter or document the existing interface.
  • REST interface (contracts/rest-api-interface.md): define path confinement for changelog_path and merge targets.
  • Data model: line numbers used as immutable IDs; use a stable hash and treat line number as location.
  • plan.md is still the template.
  • Skill model: metadata.yml vs SKILL.md (resolved by task: conform all skills to the Agent Skills SKILL.md spec #3467).
  • Lock files: stale .changelog.lock after a crash; add owner metadata and stale recovery or an OS lock.
  • Merge must block until validation completes; the research design allows validation without a lock.
  • package-json-validator.js and structure-checker.js enforce different rules; centralise (overlaps task: revise spec 014 to AGENTS.md, *.agent.md frontmatter and SKILL.md #3466).
  • Registry validation (T064) checks two fields only; validate against contracts/registry-schema.json and fail the phase on errors.

Activity

  1. linear-code commented on Sep 23, 2026

    @linear-code
  2. eleshar commented on Sep 23, 2026

    @eleshar
    ContributorAuthor

    Status update: a coderabbitai[bot] commit (334c1d1, 2026-09-23 05:50 UTC) on #3434 rewrote the spec 016 contracts and docs ("align changelog specifications with the shipped CLI, locking protocol and repository path boundaries"): contracts/cli-interface.md, contracts/rest-api-interface.md, data-model.md, plan.md, quickstart.md, research.md, spec.md, plus registry-schema.json and a schema validator for T064.

    These are design decisions written by a bot. They now sit in #3434 and need an owner read before they are treated as agreed. Please review each checklist item above against that commit and tick the ones you accept.

  3. eleshar commented on Sep 23, 2026

    @eleshar
    ContributorAuthor

    Status after 447ed24 on #3434, rechecked against the branch:

    • CLI contract matches the shipped validator (validate.js --help options, defaults, exit codes, GITHUB_TOKEN fallback).
    • REST path confinement for changelog_path and server-resolved merge targets.
    • Data model: stable hash/UUID IDs; line number is mutable location.
    • plan.md is concrete (no template markers).
    • Skill model: SKILL.md frontmatter across research, spec, data model and quickstart.
    • Lock files: owner metadata, lease, stale recovery.
    • Merge blocks until validation completes (reader/writer protocol, FR-011).
    • Package validation centralised in PackageJsonValidator.
    • Registry validation against contracts/registry-schema.json; phase fails on errors.
    • Open: REST request body: must changelog_path and changelog_content be mutually exclusive (CodeRabbit: oneOf, exactly one), or is changelog_path always required with changelog_content as an optional inline override? The text currently says path is required and content is optional.
  4. eleshar commented on Sep 23, 2026

    @eleshar
    ContributorAuthor

    Last item resolved in b29c26b on #3434 (decided 2026-09-23): changelog_path is always required and confined; changelog_content is an optional inline body that is validated instead of the file on disk; the validate endpoint never writes, and merge operates only on its own confined changelog_path. All items are now done; this issue closes when #3434 merges.

  5. changed the title [-]task: resolve spec 016 changelog-agent design findings[/-] [+]docs: changelog-agent - Document specification decisions[/+] on Oct 10, 2026
  6. self-assigned this
    on Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions