-
Notifications
You must be signed in to change notification settings - Fork 4
Analysis Templates
The Analysis Templates represent the core analytical frameworks of the Claude Sleuth toolkit. These templates transition the investigation from raw data collection into structured intelligence by enforcing rigorous methodologies such as the POLE (Person, Object, Location, Event) schema, the ACH (Analysis of Competing Hypotheses) matrix, and UTC-normalized chronological mapping.
These templates are assembled into the investigator's workspace by the template_builder.py utility, drawing from the skills/claude-sleuth/templates/analysis/ directory.
The POLE template implements the primary ontological framework for Step 6 (Structured Extraction). It is designed to parse unstructured text—such as witness statements, scraped web data, or investigative notes—into a machine-readable format.
The template enforces a strict schema for four canonical entities:
-
Person: Requires
givenName,familyName,birthDate, and unique identifiers (e.g., Passport, DUNS). - Object: Digital assets, vehicles, or physical items.
- Location: Physical addresses or coordinates.
- Event: Specific occurrences tied to a timestamp.
Data extracted via this template flows into the Entity Resolution (ER) Pipeline, which utilizes the Fellegi-Sunter framework for probabilistic record linkage.
The following diagram illustrates how natural language entities are transformed into code-level objects within the system.
Diagram: Entity Extraction and Resolution Flow
graph TD
subgraph "Natural Language Space"
A["Unstructured Text/Notes"]
end
subgraph "Template Entity Space (pole.md)"
B["Person Record"]
C["Object Record"]
D["Location Record"]
E["Event Record"]
end
subgraph "Code Entity Space (entity_resolver.py)"
F["Fellegi-Sunter Matcher"]
G["Candidate Match List"]
H["CSDb 'entities' Table"]
end
A -->| "Task 6.2 Parsing" | B
A -->| "Task 6.2 Parsing" | C
B -->| "Task 7.1 Probabilistic Linkage" | F
F -->| "Confidence Threshold" | G
G -->| "Manual/Auto Resolution" | H
The Chronological Matrix is the "temporal backbone" of the investigation (Step 9). It prevents sequencing errors in multi-jurisdictional cases by mandating UTC normalization for every dated event.
- Master Chronology Construction: Aggregates all dated events from the evidence register.
- Gap Analysis: Explicitly documents "unknowns" to identify periods of unaccounted activity.
- Conflict Resolution: Compares source reliability (Admiralty Grades) when timestamps for the same event conflict.
This template facilitates Step 10 (Relational Processing) by generating an Edge List. This list is the precursor to Quantitative Social Network Analysis (SNA).
The template requires four mandatory fields for every relationship:
- Source (Entity A)
- Target (Entity B)
- Relationship Type (e.g., "Owned By", "Director Of")
- Evidence Citation
The resulting graph is analyzed for:
- Degree Centrality: To identify "Central Hubs".
- Betweenness Centrality: To identify "Bridge Nodes" acting as gatekeepers.
The Analysis of Competing Hypotheses (ACH) template is the primary tool for Phase 5 (Hypothesis Reasoning). It operates on the Inconsistency Principle: the most likely explanation is the one with the fewest inconsistencies against the evidence.
- Exclusivity: The matrix must evaluate at least three mutually exclusive hypotheses.
- Diagnosticity: Analysts score evidence based on how well it distinguishes between hypotheses.
- Traceability: Every evidence item in the matrix must retain its Admiralty 6x6 grade from Phase 2.
These specialized templates ground the investigation in physical and digital reality (Step 11).
| Template | Analytical Framework | Key Outputs |
|---|---|---|
verification.md |
Map Regression | Historical landscape changes, chronolocation via shadows/weather. |
morphological.md |
Spatial Econometrics | Significance assessments of regional economies and site evolution. |
The following diagram maps the verification process from visual evidence to the structured report.
Diagram: Media Authentication and Spatial Analysis
graph LR
subgraph "Input Space"
IMG["Raw Image/Video"]
MAP["Historical Maps"]
end
subgraph "Analysis Scripts (scripts/)"
V_SC["evidence_preservation.py"]
G_SC["geolocation.py"]
end
subgraph "Analysis Templates (templates/analysis/)"
VER["verification.md"]
MOR["morphological.md"]
end
IMG --> V_SC
V_SC -->| "SHA-256 Hash" | VER
IMG --> G_SC
G_SC -->| "EXIF/Visual Cues" | VER
MAP -->| "Regression Analysis" | MOR
VER -->| "Authentication" | OUT["Final Briefing"]