Skip to content

Protect historical changesets from agent-driven maintenance #575

Description

@kaklakariada

Problem

The spec-driven-development skill directs agents to inspect existing changesets. Without an explicit immutability rule, agents may update old changesets to repair broken links, refresh references, clean up checklists, or respond to documentation/link-checker failures. That rewrites historical implementation records and creates unrelated churn.

Proposed change

Add a Changeset Immutability rule to the spec-driven-development skill:

Treat changesets from issues other than the current issue as historical records. Do not modify them for broken links, trace failures, checklist cleanup, formatting, or agent-driven maintenance. Create or update only the current issue’s changeset. Repair the authoritative documentation or tracked artifact that now needs correction; report historical defects separately. Edit a historical changeset only when the user explicitly authorizes the named file and correction.

Also clarify in “Read Before Planning” that related changesets may be inspected for context but must not be changed.

Link checking

Historical changesets can contain references that inevitably rot. Link checkers should exclude the historical changeset directory from their scan scope while continuing to validate maintained documentation (README, user guide, requirements, and design). A broken link in a historical changeset should be reported only as an observation, not repaired in place.

Acceptance criteria

  • The skill says to create/update only the current issue’s changeset.
  • The skill explicitly forbids unsolicited edits to other changesets for link, trace, formatting, or checklist cleanup.
  • The skill directs agents to repair authoritative current documentation instead.
  • The skill asks for explicit authorization identifying the historical changeset before editing it.
  • The link-checking guidance recommends excluding historical changesets rather than forcing retroactive edits.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions