# no-hype-ai-official/idea-capture-pipeline architecture

> Architecture diagram of the GitHub repository no-hype-ai-official/idea-capture-pipeline, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/no-hype-ai-official/idea-capture-pipeline
- Repository: https://github.com/no-hype-ai-official/idea-capture-pipeline
- Video tour (about a minute): https://gitdiagram.com/no-hype-ai-official/idea-capture-pipeline/video

## Overview

idea-capture-pipeline turns captured notes into classified, safely routed files. The main workflow is inbox discovery, read-only AI classification, deterministic validation and filing, then visible status, archive, or escalation. Its distinct filing destinations include context lists, dated idea notes, and reference notes. The templates and Windows/Obsidian example document supported note formats and an adapted setup. Source excerpts are partial, so the graph omits uncertain internal call wiring; the classifier and route behaviors are also documented in the README and script comments.

Main entry points: [`scripts/sort_inbox.py`](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/scripts/sort_inbox.py) (Inbox sorter), [`examples/windows-obsidian/notes-root`](https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root) (Inbox notes), [`examples/windows-obsidian/notes-root/lists`](https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root/lists) (Context lists), [`templates/inbox-note.md`](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/templates/inbox-note.md) (Inbox template)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_capture["Capture and notes"]
  node_inbox["Inbox notes"]
  node_inbox_template["Inbox template<br/>[inbox-note.md]"]
end

subgraph group_classify["Classification"]
  node_classifier["Classifier agent"]
  node_claude["Claude CLI"]
  node_decision["Route decision<br/>[sort_inbox.py]"]
end

subgraph group_filing["Deterministic filing"]
  node_sorter["Inbox sorter<br/>[sort_inbox.py]"]
  node_context_template["Context template<br/>[context-list.md]"]
  node_idea_template["Idea template<br/>[idea-note.md]"]
  node_reference_template["Reference template<br/>[reference-note.md]"]
end

subgraph group_state["Filed state"]
  node_lists["Context lists"]
  node_ideas["Idea notes"]
  node_references["Reference notes"]
  node_archive["Archived notes"]
  node_escalation["Human triage"]
  node_decision_log["Decision log<br/>[sort_inbox.py]"]
end

node_person(("Note taker"))

node_person -->|"captures notes"| node_inbox
node_inbox_template -.->|"formats notes"| node_inbox
node_sorter -->|"scans and reads"| node_inbox
node_sorter -->|"requests classification"| node_claude
node_claude -->|"loads agent"| node_classifier
node_claude -->|"returns JSON"| node_decision
node_sorter -->|"validates route"| node_decision
node_sorter -->|"appends action"| node_lists
node_context_template -.->|"formats entries"| node_lists
node_sorter -->|"writes dated note"| node_ideas
node_idea_template -.->|"formats notes"| node_ideas
node_sorter -->|"writes dated note"| node_references
node_reference_template -.->|"formats notes"| node_references
node_sorter -->|"archives filed notes"| node_archive
node_sorter -->|"leaves for triage"| node_escalation
node_sorter -->|"records outcome"| node_decision_log

click node_inbox "https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root"
click node_inbox_template "https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/templates/inbox-note.md"
click node_sorter "https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/scripts/sort_inbox.py"
click node_classifier "https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/agents/inbox-classifier.md"
click node_decision "https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/scripts/sort_inbox.py"
click node_context_template "https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/templates/context-list.md"
click node_idea_template "https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/templates/idea-note.md"
click node_reference_template "https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/templates/reference-note.md"
click node_lists "https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root/lists"
click node_ideas "https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root"
click node_references "https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root"
click node_archive "https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root"
click node_escalation "https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root"
click node_decision_log "https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/scripts/sort_inbox.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_inbox,node_inbox_template toneBlue
class node_classifier,node_claude,node_decision toneAmber
class node_sorter,node_context_template,node_idea_template,node_reference_template toneMint
class node_lists,node_ideas,node_references,node_archive,node_escalation,node_decision_log toneRose
class node_person toneIndigo
```

## Components

### Capture and notes

- [Inbox notes](https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root): `examples/windows-obsidian/notes-root`
- [Inbox template](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/templates/inbox-note.md): `templates/inbox-note.md`

### Classification

- [Classifier agent](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/agents/inbox-classifier.md): `agents/inbox-classifier.md`
- **Claude CLI**
- [Route decision](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/scripts/sort_inbox.py): `scripts/sort_inbox.py`

### Deterministic filing

- [Inbox sorter](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/scripts/sort_inbox.py): `scripts/sort_inbox.py`
- [Context template](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/templates/context-list.md): `templates/context-list.md`
- [Idea template](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/templates/idea-note.md): `templates/idea-note.md`
- [Reference template](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/templates/reference-note.md): `templates/reference-note.md`

### Filed state

- [Context lists](https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root/lists): `examples/windows-obsidian/notes-root/lists`
- [Idea notes](https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root): `examples/windows-obsidian/notes-root`
- [Reference notes](https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root): `examples/windows-obsidian/notes-root`
- [Archived notes](https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root): `examples/windows-obsidian/notes-root`
- [Human triage](https://github.com/no-hype-ai-official/idea-capture-pipeline/tree/main/examples/windows-obsidian/notes-root): `examples/windows-obsidian/notes-root`
- [Decision log](https://github.com/no-hype-ai-official/idea-capture-pipeline/blob/main/scripts/sort_inbox.py): `scripts/sort_inbox.py`

### Other components

- **Note taker**

## Connections

- Note taker → Inbox notes: captures notes
- Inbox template → Inbox notes: formats notes
- Inbox sorter → Inbox notes: scans and reads
- Inbox sorter → Claude CLI: requests classification
- Claude CLI → Classifier agent: loads agent
- Claude CLI → Route decision: returns JSON
- Inbox sorter → Route decision: validates route
- Inbox sorter → Context lists: appends action
- Context template → Context lists: formats entries
- Inbox sorter → Idea notes: writes dated note
- Idea template → Idea notes: formats notes
- Inbox sorter → Reference notes: writes dated note
- Reference template → Reference notes: formats notes
- Inbox sorter → Archived notes: archives filed notes
- Inbox sorter → Human triage: leaves for triage
- Inbox sorter → Decision log: records outcome
