Skip to content

Stop reading the dashboard's tag in the security-dash bridge - #1902

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:dash-drop-tag
Oct 29, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
potiuk:dash-drop-tag

Conversation

@potiuk

@potiuk potiuk commented Oct 29, 2026

Copy link
Copy Markdown
Member

Summary

  • apache/security-dash#62 reverted the tag field from the reports API (#58): the tag is the ASF Security team's internal name for a case, may change or disappear, and integrations should identify a case by the Message-ID of the thread's first message.
  • tools/asf-security-dash no longer reads or emits tag. Cases were already keyed by Message-ID, so pairing with tracker issues is unchanged.
  • Multi-thread label entries are still skipped by their glasswing / non-fwd states. The catch-all labels (aaa-support, zzz-admin, …) are listed as untriaged cases and the API does not mark them, so an untriaged case with no tracker issue is always review (a human checks the thread), never import; that was already the behaviour whenever the API omitted the tag.
  • README output contract, the D4 eval fixture, the eval README and specs/adapters.md follow; the magpie-security-tools plugin copy is regenerated by check-family-plugins.

Type of change

  • Skill change (.claude/skills/<name>/) — eval fixtures updated below
  • Tool / bridge contract (tools/<system>/*.md)
  • Python package (tools/*/ with pyproject.toml)
  • Groovy reference impl
  • Cross-cutting (RFC, AGENTS.md, sandbox, privacy-LLM)
  • Documentation (docs/, README.md, CONTRIBUTING.md)
  • Project template (projects/_template/)
  • CI / dev loop (prek, workflows, validators)
  • Other:

Test plan

  • uv run pytest in tools/asf-security-dash (68 passed), including a case where the API still returns a tag: it is ignored and the case stays review.
  • prek run on the changed files passes.
  • Other: the D4 eval fixture only drops "tag": null from the case object; the expected proposal is unchanged.

Linked issues

Follows apache/security-dash#62; amends #1780.


Generative AI tooling was used: Claude Code (Opus 5).

🤖 Generated with Claude Code

apache/security-dash#62 reverted apache#58: the tag is the ASF Security
team's internal name for a case, may change or disappear, and is not
part of the reports API. Integrations identify a case by the
Message-ID of the thread's first message.

The bridge no longer reads or emits `tag`. Standing labels are still
skipped by their `glasswing` / `non-fwd` states; the catch-all labels
(`aaa-*`, `zzz-*`) cannot be told apart, so every untriaged case with
no tracker issue stays `review`, never `import`.

Generated-by: Claude Opus 5
@potiuk
potiuk enabled auto-merge (squash) October 29, 2026 22:38
@github-actions github-actions Bot added family:security security-* skills family:tools tools/* family:docs Docs, MISSION.md, READMEs capability:intake Import external signal + sync tracker state contract:security-tracker Tool capability: security-tracker backend for embargoed reports (GitHub / files / Jira) labels Oct 29, 2026
@potiuk
potiuk merged commit ac5419e into apache:main Oct 29, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capability:intake Import external signal + sync tracker state contract:security-tracker Tool capability: security-tracker backend for embargoed reports (GitHub / files / Jira) family:docs Docs, MISSION.md, READMEs family:security security-* skills family:tools tools/*

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant