Skip to content

docs: advisory pivot + first live advisory run (2026-09-18) - #15

Merged
erxxc merged 1 commit into
mainfrom
docs/advisory-pivot-live-run
Oct 22, 2026
Merged

erxxc merged 1 commit into
mainfrom
docs/advisory-pivot-live-run

Conversation

@erxxc

@erxxc erxxc commented Sep 18, 2026

Copy link
Copy Markdown
Owner

What

Docs-only. Brings README, CLAUDE.md and ROADMAP to the shipped state (two packs on one engine; schema v5 current for the advisory pack; conflict-report in the CLI; parser_role → source_record_kind attestation; GEI-14 JSON fetcher; version-set grouping), and records the first live advisory run.

Live run (scratch only, zero code changes)

Real NVD API + real GHSA records for CVE-2024-21626 / -23897 / -6387 / -3400, real model (claude-opus-4-8, extract_advisory_v1). KEV left out (catalog is ~1.7 MB, one extract call).

Step Result
ingest 8/8 fetched, 0 errors
extract 8/8, 0 errors, 45 claims, 1 alias_collision conflict
conflict-report 4 CVEs, 8 contradicted groups, but almost none cross-source

Four forks for the next plan gate, detailed in docs/ROADMAP.md → Live run 2026-09-18:

  1. CVE entities dropped 4/4 (entity.vendor required; CVEs have none) → CVSS claims cascade-dropped.
  2. All exploit_status claims dropped: the prompt never lists the enum.
  3. Cross-source identity: GHSA pkg_runc vs NVD prod_runc_cpe never group, so no NVD-vs-GHSA row appears live. G3 refused the alias union correctly; the golden corpus hand-aligned ids and hid this.
  4. Same-document per-branch ranges (PAN-OS 10.2/11.0/11.1, macOS 12/13/14, Jenkins LTS/weekly) are reported as disjoint → contradicted; 6 of 8 live groups are this shape.

Also noted: NVD cna vs cpe roles read the same response (CNA strings stamped nvd_cpe), and the runc GHSA id in the GEI-11 golden is a typo (rv7p → live vfvv).

Verification

  • uv run pytest -m "not live": 245 passed
  • uv run pytest --run-live: 248 passed, 1 skipped (the unconditionally skipped live fetch case in test_gei14_json_ingest.py)

🤖 Generated with Claude Code

README, CLAUDE.md and ROADMAP still described the foundry pack as the
product and schema v4/v3 as current. Bring them to the shipped state:
two packs on one engine, schema v5 (advisory) current, conflict-report
in the CLI, parser_role -> source_record_kind attestation, GEI-14
advisory JSON fetcher, version-set grouping.

ROADMAP records the first live advisory run (real NVD API + GHSA + real
model, scratch only, zero code changes): 8/8 docs, 0 errors, but the
output exposes four forks for the next plan gate — CVE entities dropped
(vendor required), exploit_status claims dropped (enum never listed in
the prompt), cross-source entity identity never joins GHSA and NVD, and
same-document branch ranges surface as contradictions. KEV catalog size
and NVD cna/cpe role overlap noted as follow-ups.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@erxxc
erxxc merged commit 266d1cb into main Oct 22, 2026
1 check passed
@erxxc
erxxc deleted the docs/advisory-pivot-live-run branch October 22, 2026 12:31
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