# Linkset Extraction Prep — PREP-EXCITITOR-CORE-AOC-19-002-LINKSET-EXTRAC Status: Draft (2025-11-20) Owners: Excititor Core Guild Scope: Identify the extraction rules and ordering needed to produce linksets from VEX/advisory inputs before idempotent raw upsert work starts. ## Required content to unblock - Canonical linkset schema version (pending Cartographer/Concelier alignment); need field list and conflict markers. - Source ranking/precedence table shared with Concelier LNM 21-002 fixtures. ## Proposed extraction rules (draft) - Inputs: advisory documents (component PURLs, version ranges, references, severities, CVSS vectors); output: linkset entries with `advisory_id`, `component_purl`, `version_range`, `references[]`, `severity`, `cvss`. - Ordering: sort entries by `(component_purl, advisory_id, version_range)`; within references, sort lexicographically. - Conflict handling: if multiple sources disagree, emit `conflicts[]` with `source`, `field`, `reason`; never collapse values. - Determinism: no wall-clock; timestamps only from source payloads (UTC ISO-8601) and preserved as-is. ## Handoff Treat this as the prep artefact for PREP-EXCITITOR-CORE-AOC-19-002-LINKSET-EXTRAC. Once the shared linkset schema and precedence table land, finalize the rules and move the sprint task to DONE.