Skip to content

chore: replace the stale csaf packaging keyword with psirt - #13

Merged
Ali Bahaloo (alibahaloo) merged 1 commit into
mainfrom
chore/psirt-keyword
Jul 27, 2026
Merged

chore: replace the stale csaf packaging keyword with psirt#13
Ali Bahaloo (alibahaloo) merged 1 commit into
mainfrom
chore/psirt-keyword

Conversation

@alibahaloo

Copy link
Copy Markdown
Collaborator

One-line metadata fix. pyproject.toml still advertised csaf as a keyword, but the tool no longer fetches or parses CSAF — that capability went with caia/cisco.py in 4.0.0.

-keywords = ["cisco", "security", "advisory", "firewall", "csaf", "vulnerability"]
+keywords = ["cisco", "security", "advisory", "firewall", "psirt", "vulnerability"]

psirt is what the tool actually queries, and what someone looking for a tool like this would search for.

How it was missed

The residue sweep for spec 007 (FR-032) grepped for the AI provider's name, agentic, ai-driven, ai-assisted, and the old product name. It never looked for csaf — the data format the retired mode consumed, rather than the mode itself. Worth noting as a gap in how that check was framed: removing a capability leaves traces under the names of the things it touched, not only under its own name.

Confirmed this is the only live occurrence:

$ grep -rniE '\bcsaf\b' --exclude-dir={.git,.venv,specs,brds,build} .
pyproject.toml:12:  keywords = [... "csaf" ...]
.specify/memory/constitution.md:32,35:  (Sync Impact Report — amendment history)

The two constitution hits are inside the v3.0.0 Sync Impact Report, which has to name what it removed. Those stay.

Verification

  • 246 tests pass
  • pyproject.toml still parses and metadata resolves: caia-cli, description and keywords as expected

Not included

VERSION stays at 4.0.0. Packaging keywords don't warrant a release of their own, so this rides along with whatever ships next — the constitution's release gate only requires that the tag match VERSION when a tag is pushed, and none is.

Separately, the GitHub repo topics carry the same stale csaf term (cisco, csaf, firewall, python, vulnerability-management-cybersecurity). That's a repository setting rather than code, so it isn't in this PR — worth swapping csaf for psirt there too, alongside the repo description update.

🤖 Generated with Claude Code

The tool no longer fetches or parses CSAF — that went with caia/cisco.py in 4.0.0. The
packaging keyword survived the residue sweep for spec 007 because that sweep grepped for the
AI provider's name and the old product name, not for the data format the retired mode used.

`psirt` is what the tool actually queries, and what someone looking for this would search.

VERSION is deliberately left at 4.0.0: packaging keywords do not warrant a release of their
own, so this rides along with whatever ships next.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@alibahaloo Ali Bahaloo (alibahaloo) added the enhancement New feature or request label Jul 27, 2026
@alibahaloo
Ali Bahaloo (alibahaloo) merged commit e156578 into main Jul 27, 2026
2 checks passed
@alibahaloo
Ali Bahaloo (alibahaloo) deleted the chore/psirt-keyword branch July 27, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant