Skip to content

Promote incident reports to named advisory subtype#85

Merged
kurtseifried merged 1 commit into
mainfrom
feat/advisory-incident-subtype
May 28, 2026
Merged

Promote incident reports to named advisory subtype#85
kurtseifried merged 1 commit into
mainfrom
feat/advisory-incident-subtype

Conversation

@kurtseifried

Copy link
Copy Markdown
Collaborator

Summary

Wires up the `advisory + ["incident"]` subtype on the SecID side after SecID-Service PR #12 declared the value in the canonical `type-registry.ts`. Bundles a CLAUDE.md WARNING-block accuracy fix surfaced by the audit that preceded this work.

Changes

Documentation:

  • `docs/reference/TYPES-AND-SUBTYPES.md` — new `### advisory` section under "Named subtypes in use today"; advisory row removed from "Implicit overloads" with a forward-pointer note.
  • `CLAUDE.md` — SecID Types table row for advisory now reflects the tagged status; WARNING block corrected (4 inaccuracies: wrong file name for SecID-Service, missing schema enum, missing `registry_loader.py`, client-SDK clarification).

Registry tagging (5 source-level match_nodes across 4 files; no backfill sweep):

  • `registry/advisory/gov/nhtsa.json` — SGO match_node only. `av-recalls` and `odi` stay untagged (advisories, not incidents).
  • `registry/advisory/org/aiaaic.json` — AIAAIC Repository (sole match_node).
  • `registry/advisory/gov/ca/dmv.json` — `av-collision` + `av-disengagement`. `av-permits` stays untagged (permit records).
  • `registry/advisory/org/partnershiponai.json` — AIID (sole match_node).

Test plan

  • `python3 scripts/validate-subtypes.py` — passes; 49 usages across 12 distinct (type, value) pairs including `advisory + incident`.
  • All 4 modified JSON files parse cleanly.
  • SecID-Service `/api/v1/types` returns `incident` under advisory's `subtypes` array (already verified live).
  • After merge: the registry-KV-upload chain will sync the tagged values to KV; `?subtype=incident` filtering will then return the tagged namespaces.

Out of scope

  • Tagging existing non-incident namespaces under control's `benchmark` / `documentation-standard` patterns (still in "Implicit overloads").
  • Adding new incident-source namespaces (e.g., FDA MAUDE, OECD AIM) — future work.

🤖 Generated with Claude Code

Pairs with SecID-Service PR #12 (already merged + deployed) which declared
"incident" as a valid subtype value in the canonical type-registry. This PR
wires up the SecID side: documentation, registry tagging, and a CLAUDE.md
WARNING-block accuracy fix that the audit surfaced.

Documentation
- docs/reference/TYPES-AND-SUBTYPES.md: new "### advisory" section under
  "Named subtypes in use today" with the canonical incident subtype row;
  promotes the row OUT of "Implicit overloads" with a forward-pointer note.
- CLAUDE.md SecID Types table: advisory cell updated to reflect the now-
  tagged status (was "implicit, untagged today").
- CLAUDE.md WARNING block: corrects four inaccuracies surfaced by the audit
  (src/types.ts -> src/type-registry.ts; missing schemas/registry-namespace
  enum; missing python/registry_loader.py; client-SDK clarification).

Tagging (5 source-level match_nodes across 4 files, no backfill sweep)
- registry/advisory/gov/nhtsa.json: SGO match_node only. Recall and ODI
  match_nodes stay untagged — they are advisories, not incidents.
- registry/advisory/org/aiaaic.json: AIAAIC Repository (sole match_node).
- registry/advisory/gov/ca/dmv.json: av-collision + av-disengagement;
  av-permits stays untagged (permit records, not incidents).
- registry/advisory/org/partnershiponai.json: AIID (sole match_node).

Validation
- python3 scripts/validate-subtypes.py: passes (49 subtype usages across
  12 distinct (type, value) pairs; advisory + incident is one of them).
- All four modified JSON files parse cleanly.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@kurtseifried kurtseifried merged commit 38b512d into main May 28, 2026
1 check passed
@kurtseifried kurtseifried deleted the feat/advisory-incident-subtype branch May 28, 2026 04:41
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.

1 participant