Source Dependency Graph¶
Method — instantiates Independent Evidence Triangulation
A directed lineage map that traces copied claims, shared datasets, common instruments, overlapping samples, and other paths by which nominally separate streams can fail together.
Two streams can look independent and share a hidden spine — the same upstream dataset, the same calibration model, the same vendor, the same sampling frame — so that an error in the spine surfaces in both and their "agreement" is one signal counted twice. The Source Dependency Graph is the method for making that spine visible. It draws streams as nodes and their derivations as directed edges, tracing each stream back through the data, instruments, samples, and transformations it rests on until shared ancestors appear. Its defining trait is that it reasons about structure over lineage: it does not rate quality or classify agreement, it maps the paths by which streams can fail together, converting "how many streams" into "how many genuinely separate origins."
Example¶
A security team is assessing whether a particular threat actor is behind a wave of intrusions, drawing on what looks like five independent indicators: two commercial threat-intelligence feeds, an ISAC advisory, an internal detection, and a vendor blog post. Five streams agreeing feels like strong attribution — until they draw the dependency graph.
Nodes for each stream; edges back to their sources. The graph shows that both commercial feeds ingest the same open-source indicator list upstream, so their agreement is one origin, not two. The ISAC advisory, it turns out, cites the vendor blog post, collapsing another pair. The internal detection — fired by the team's own telemetry, on infrastructure the external feeds never touched — stands alone as a genuinely separate node. What looked like five-fold corroboration resolves into two independent origins plus a cluster of derivatives, and the graph also exposes a common-cause risk: three of the streams key off the same shared indicator that, if poisoned, would light them all up at once. The attribution is not abandoned, but its confidence is rebuilt on the two legs that actually stand apart.
How it works¶
- Nodes are streams; edges are derivations. An arrow from A to B means B's evidence is drawn from, calibrated by, or sampled from A.
- Trace each stream to its origins — upstream datasets, instruments, sampling frames, teams, and transformations — until independent branches or shared ancestors are reached.
- Read the graph for common ancestors and shared choke-points. Streams sharing a decisive upstream node are grouped as one effective lineage for corroboration purposes.
- Flag common-cause nodes — a single dataset, model, or vendor that, if wrong, would corrupt multiple streams at once — even where no stream copied another.
Tuning parameters¶
- Tracing depth — how far upstream each stream is followed. Shallow tracing is fast but misses deep shared ancestors; deep tracing is expensive and can chase lineage past the point of decision relevance.
- Edge typing — whether edges distinguish "copied claim" from "shared dataset" from "common instrument." Typed edges reveal which kind of dependence links two streams; untyped is quicker.
- Grouping threshold — how much shared lineage collapses two nodes into one effective origin. Aggressive grouping guards hardest against double-counting but can discard partial independence.
- Common-cause sensitivity — how speculative a shared-failure path may be before it is drawn. Drawing more paths catches subtle correlated error but clutters the map.
When it helps, and when it misleads¶
Its strength is that it is the direct antidote to pseudo-independence, the central failure of triangulation: it exposes common-mode dependence — the shared upstream cause that makes several streams fail as one[1] — that no amount of counting or blinding will reveal. Where a corroboration table catches copied claims, the graph catches shared plumbing beneath streams that never cited each other.
Its failure mode is that lineage is often undocumented and partly invisible, so the graph is only as good as what the analyst can trace — an undrawn edge reads as independence it may not deserve, giving false comfort precisely where the hidden dependence is most dangerous. It can also over-collapse: two streams sharing one upstream dataset may still be independent for the particular error that matters, and treating them as one origin throws away real evidence. The guarding discipline is to record independence as claim-and-error-specific rather than a global label — two streams independent for one failure may be dependent for another — and to treat missing edges as unverified rather than confirmed-absent.
How it implements the components¶
dependency_and_common_cause_map— the graph is that map: the explicit directed structure of copied claims, shared datasets, instruments, samples, and common-cause paths among the streams.independence_criterion— by resolving streams into distinct origins, it operationalizes independence as a structural property — how many genuinely separate ancestors back the claim — and tests each nominal stream against it.
It maps structure but does not act on it: classifying whether each source supports, repeats, or contradicts a claim is source_diversity_plan, owned by Cross-Source Corroboration Table, and enforcing independence at the moment of judgment is a separate matter handled by Blinded Parallel Analysis.
Related¶
- Instantiates: Independent Evidence Triangulation — supplies the lineage structure that separates real corroboration from repetition.
- Sibling mechanisms: Cross-Source Corroboration Table · Blinded Parallel Analysis · Evidence Stream Matrix · Confidence Update Worksheet
Editorial Notes¶
Form Classification¶
Form family: Representation, Specification & Plan
Rationale: Source Dependency Graph operates as a static representation, map, specification, schema, or prospective plan that externalizes information because it a directed lineage map that traces copied claims, shared datasets, common instruments, overlapping samples, and other paths by which nominally separate streams can fail together.
Independent corroboration: The frozen evidence defines Source Dependency Graph as 'A directed lineage map that traces copied claims, shared datasets, common instruments, overlapping samples, and other paths by which nominally separate streams can fail together', so its operative form is Representation, Specification & Plan.
Nearest alternative: Analysis, Modeling & Optimization — Source Dependency Graph includes features of an analytical, modeling, inference, comparison, or optimization procedure that derives insight or a solution, but its defining operation is a static representation, map, specification, schema, or prospective plan that externalizes information.
Review outcome: Independent reviewer agreement; medium confidence.
Origin Attribution¶
Primary origin: Library & Information Science
Origin pattern: Cross-disciplinary synthesis
Present-day reach: Universal
Rationale: Tracing claims and datasets through copied, shared, or derived sources is provenance modeling. W3C PROV defines entities, activities, agents, derivation, and attribution; library and information science supplies durable descriptive lineage.
Related originating lineages:
- Computer Science & Software Engineering — Computer science and software-engineering practice supplies a parallel or contributing lineage for the mechanism's defining operation: a directed lineage map that traces copied claims, shared datasets, common instruments, overlapping samples, and other paths by which nominally separate streams can fail together.
- Data Science & Analytics — Dependency graphs expose correlated evidence and shared data-generating processes.
- History & Historiography — Textual transmission analysis traces copying and dependence among sources.
- Statistics & Experimental Design — Statistics, experimental design, and measurement theory supplies a parallel or contributing lineage for the mechanism's defining operation: a directed lineage map that traces copied claims, shared datasets, common instruments, overlapping samples, and other paths by which nominally separate streams can fail together.
- Systems Thinking & Cybernetics — Common upstream nodes create coupled failure across nominally separate streams.
Review resolution: The blind reviewers disagree on primary lineage (library_information_science versus data_science). Authoritative or primary research supports library_information_science as the best historical origin: Tracing claims and datasets through copied, shared, or derived sources is provenance modeling. W3C PROV defines entities, activities, agents, derivation, and attribution; library and information science supplies durable descriptive lineage. The cited W3C, PROV-O: The PROV Ontology; W3C, PROV Model Primer directly supports the mechanism's defining operation. All independently supported contributing domains are retained without an arbitrary cap. origin_mode=cross_disciplinary_synthesis records lineage, while domain_reach=universal records later applicability separately from provenance.
Encyclopedia synthesis: The exact catalogued form synthesizes established practice rather than reproducing a single standard historical label.
Review outcome: Researched adjudication after independent review; high confidence.
Sources consulted:
Notes¶
The graph and Blinded Parallel Analysis attack two different dependencies that are easy to conflate: blinding removes coordination-dependence (analysts influencing each other), while the graph removes common-source-dependence (streams resting on the same upstream origin). A rigorous triangulation usually needs both, because each is silent about the other's failure.
References¶
[1] International Electrotechnical Commission. IEC 61508-2:2010, Functional safety of electrical/electronic/programmable electronic safety-related systems — Part 2: Requirements for electrical/electronic/programmable electronic safety-related systems (Edition 2.0, 2010). Treats common-cause failure as shared interference that can defeat multiple nominally separate elements together. registry ↩