Synapse

Synapse — the LifeOS Input Router

Last synced: Aug 1, 2026

Synapse — the LifeOS Input Router

Synapse is how anything that crosses your attention enters LifeOS. Every input — a URL, a bookmark, a spoken thought, a feed item, a PDF — plugs into one capture contract, is preserved instantly in the amber ledger (Synapse’s write-ahead journal), summarized and graded against what you’re actually trying to do (TELOS), and routed to the destination it earns. One contract in, weighted transmission through, the right home out.

Why “Synapse.” A synapse is weighted transmission: a signal crosses only if it’s strong enough. That is exactly this system’s job — grading sets the weight, routing propagates what clears the bar, and everything is journaled before any of that can fail. The brain analogy runs through the whole stack: Conduit and Feed are the senses (internal and external), Synapse is the relay that grades and routes every signal, and Cortex (the memory system) is the store it promotes into.

Renamed from Amber, 2026-07-28. The old name described only one stage — preservation — while the system’s real identity is the router. The metaphor survives at the scope it earned: the append-only journal is still called the amber ledger, because an insect in amber is preserved perfectly, permanently, the moment it’s caught, and that is precisely the ledger’s guarantee. Prior doc: DOCUMENTATION/Amber/AmberSystem.md (see git history).

Claims live in the ISA. This doc explains; LIFEOS/SYNAPSE/ISA.md carries the subsystem’s claims with the probes that would falsify them. The concrete instance map — hostnames, worker URLs, the newsletter sheet — lives in the USER-zone ISA per LIFEOS/DOCUMENTATION/SystemUserBoundary.md. Deployed infrastructure keeps its internal names (arbol-a-amber-ledger worker, amber D1, com.lifeos.amberroute launchd job, the amber CLI): identity is what changed, not plumbing.


The place in the stack

LayerSystemJob
Senses (internal)Conduitperceives you — where attention actually goes (app focus, commits, sessions)
Senses (external)Feedperceives the world — polls sources, normalizes items
RouterSynapseone capture contract in; journal, grade, route
— journalthe amber ledgerwrite-ahead, append-only, permanent; nothing entering Synapse is ever lost
StoreCortexcurated KNOWLEDGE promoted from the ledger; hot-layer; retrieval

Feed and Conduit sense; Synapse decides; Cortex keeps. Before the rename these functions were smeared across three overlapping identities — “Amber” claimed capture, preservation, grading, and routing, while Feed ran its own grade/route stages. The carving above is the fix: the pipeline stages Feed runs (summarize, rate, route) are conceptually Synapse’s work executed in Feed’s plumbing.


The One Loop

The order is load-bearing: preservation happens at capture, not at the end. The raw signal is written to the amber ledger the instant it’s caught, unconditionally, before any grader can reject it or any router can drop it. Write-ahead-log semantics: nothing entering Synapse is ever lost, even if everything downstream fails.

             ┌───────────────────── RESURFACE ─────────────────────┐
             │        search · Pulse /synapse · promote            │
             ▼                                                     │
  CAPTURE ─→ JOURNAL ──────→ GRADE ────→ ROUTE ──┬─→ KNOWLEDGE idea-note (promoted)
  (inputs)   amber ledger    score vs   where    ├─→ work issue Type:queue / Type:project
             D1: append-     TELOS      to?      ├─→ Newsletter (sheet → platform)
             only, dedup,                        ├─→ Blog seed
             never deleted                       └─→ Feed source registry

  inputs: summarize hotkey · bookmarks · voice markers · feed · reader extract · manual · gesture*
  • Capture grabs the raw thing with the least possible friction.
  • Journal writes it to the amber ledger immediately and unconditionally. Everything downstream operates on a record that already exists.
  • Grade summarizes and scores it — not “is this good?” but “is this good for what the principal is doing?” (TELOS). In some components grade and route are fused into one call; the stage split is the conceptual model, not always a separate worker.
  • Route answers the question that used to be manual: where does this belong? It fans the signal to the destinations it earns.
  • Resurface is the other half of preservation: a signal journaled and never dug back out is a write-only archive. Recall is part of the contract — search, the Pulse surface, and promotion of the best ledger rows into curated KNOWLEDGE notes.

Inputs (the capture surfaces)

Everything that can drop a signal into Synapse. Each is real unless marked roadmap. Component names are LifeOS-internal; exact hosts/URLs are in the instance ISA.

#InputTriggerLifeOS componentStatus
1Summarize hotkeybrowser hotkey on any pageArbol arbol-a-summarizelive
2Bookmarks → idea-issuesbookmark sweep (tb)the X bookmarks skill → Type:queue work issueslive
3Bookmarks → summarize (cloud)hourly cronArbol bookmark-summarize worker → sheetlive
4Harvest → Knowledge/ha on a URL/video/textthe harvest skill → Arbol harvest + classify workerslive
5Voice markers”begin idea … end idea” on the wearablethe lifelog skill → blogginglive (extract loop manual)
6Feed pipelineRSS/YouTube/social source pollingthe Feed projectlive (rules engine designed)
7Reader extractionthe reader curates + extracts ideasthe reader applive (extraction sparse)
8Report-only mine/ha for LifeOS-system usefulnessthe harvest skill’s Mine workflowlive (feeds decisions, not the store)
9Reader upvote → capturethumbs-up on a reader itemroadmap
10Gesture / wearable ad-hoc triggera physical trigger from anywhereroadmap
11Email → capture (via assistant)forward to a capture addresspartialroadmap

Adding input #12 means “wire it to the capture contract,” never “invent a new pipeline.” That is the entire payoff of having a named router.


The Capture Contract (what every input plugs into)

Every capture, from any input, is one record:

FieldRequiredMeaning
sourceyeswhich input produced it (summarize-hotkey, x-bookmark, lifelog, feed, …)
external_idyesthe input’s own id for the item — half the dedup key
urlurl or contentnormalized source URL
contenturl or contentraw text/transcript when there’s no URL
captured_atyeswhen it entered Synapse
content_kindyesarticle | video | tweet | paper | note | tool | …
title / authornowhen the input knows them
privacy_classyespublic | personal — gates the local→cloud flow

Contract behavior (non-negotiable):

  • Write-ahead. The record hits the amber ledger first, unconditionally, before grading.
  • Idempotent. Dedup identity = normalized url + content hash (falling back to source+external_id). The same item arriving via three inputs is one ledger row.
  • Async downstream. Grade and route run after the write, off the capture path — capture never blocks on a model call.
  • Privacy-gated. A personal record never crosses to cloud storage without an explicit rule.

The amber ledger (the journal)

The append-only D1 ledger is the source of truth for everything ever captured — including grade-rejects. It is the one part of the old system name that survives, because the metaphor names exactly its guarantee: caught in amber, preserved perfectly, forever.

  • Every capture persists the instant it’s caught, before grading, independent of any downstream consumer.
  • Raw rows are immutable; grading/routing enrich, never rewrite.
  • Grade versions are stored next to scores, so historical grades stay interpretable as TELOS evolves.
  • KNOWLEDGE idea notes are a curated promotion layer built FROM the ledger, never a parallel history. The ledger is authoritative; the notes are a view of its best rows.
  • A low-scoring capture earns no destination but lives in the ledger forever — only routing is conditional on the score, never preservation.

Grade (setting the weight)

The graders turn raw content into a summary + a score. Synapse’s job is to make them speak a common grade shape, not to replace them.

GraderWhat it scoresHome
summarize scorercategory + SCORE: + extracted URLsthe Arbol summarize worker
TELOS classifier10-way classification + confidence, grounded in MISSION/GOALS/PROBLEMS/STRATEGIESthe Arbol harvest-classify worker
reader label+ratequality tier + main/supporting ideasthe reader app’s worker
Feed label+ratequality_score 1–100 + labelsthe Feed project + Arbol

The TELOS classifier is the important one for routing — it’s the only grader that asks “good for what the principal is trying to do,” not just “good.”


Route (propagating what clears the bar)

The routing brain grades every capture into one of ten routes, each carrying routed_actions:

knowledge | learning | help_understand | project_integration | tech_upgrade |
telos_modification | work_item | reminder | blog_seed | none

Routing rules: an item opens a Type:queue work issue when its score clears the threshold and the classification is action-shaped; Type:project when it’s build-sized. Issues dedup on idea identity, and every routed_action is logged to the ledger for audit. Below threshold, a signal still lives forever in the ledger — it just hasn’t earned a destination yet.

Destinations

DestinationWhat it’s for
KNOWLEDGE idea notethe curated history layer — the best signals, promoted from the ledger, aging inbox → seedling → budding → evergreen
work issue Type:queuecaptured idea — needs triage
work issue Type:projectan idea big enough to build
Newsletterthe IDEAS + DISCOVERY sections of the edition
Blog seedan idea worth writing up
Feed source registrythe signal’s source becomes a monitored feed

What Synapse Is NOT (the boundary)

SystemJobRelationship to Synapse
Conduitsenses you — attention, commits, sessionsan internal sense; its record feeds Cortex/TELOS, not the ledger
Feedpolls sources, normalizes the outside worldthe external sense; its rate/route stages are Synapse’s work in Feed’s plumbing
The reader (Surface)curates the incoming stream; deletes items after ~5 daysan input, and the case-in-chief for the ledger’s permanence
Harvest skill (/ha Mine)report-only — mines content for LifeOS upgradesa decision tool, writes nothing to the store
Cortexstores and retrieves what the system knowsthe store Synapse promotes into; never a second router

Synapse is the routing and orchestration layer that makes these pieces one system. It doesn’t replace any of them.


Surfaces

  • Pulse /synapse — the live surface: a stream-first page (unified reverse-chron feed of captures, promoted notes, and bookmark issues), stats, and system documentation tabs. Backed by the Pulse synapse module (GET /api/synapse).
  • CLI — the amber CLI (named for the ledger it drives) captures, lists, routes, and reports stats. A named /synapse skill is roadmapped in the ISA (ISC-24).

Roadmap

The roadmap is claims, not prose: LIFEOS/SYNAPSE/ISA.md carries every phase with the probe that would falsify it — input breadth (one gesture from every surface), content-type fidelity (transcript for video, body for articles, extracted text for PDFs), the skill, and closing the newsletter loop (ledger as source, sheet as generated view). Phases 1–2 (the ledger, auto-routing) shipped 2026-07-08 and are live-verified.


Examples

One signal, weighted and routed

A reader skimming an article hits the capture hotkey.

  1. Journal, before anything can judge it. The raw item is written to the amber ledger immediately. The signal is now safe, even if every step after this crashes.
  2. Grade, off the capture path. Asynchronously, a grader summarizes and scores it against what the reader is actually working on. Say it clears the bar.
  3. Route to where it belongs. It scored well and looks build-shaped, so it opens a work issue and seeds a Knowledge note — the decision that used to happen by hand.
  4. Resurface months later. The reader searches in plain words and the signal is right there, with its score and its links.

The weak signal still survives

A half-formed thought grades poorly and earns no destination. It is not discarded — it lives in the ledger forever, exactly as caught. Preservation is unconditional; only routing is weighted. That’s the synapse mechanic and the amber guarantee working together: weak signals don’t propagate, but nothing is ever lost.

sequenceDiagram
    participant In as Input (hotkey, bookmark, voice, feed)
    participant L as amber ledger (append-only)
    participant G as Grader (vs TELOS)
    participant D as Destinations
    In->>L: write raw capture
    L-->>In: acked — the signal is safe now
    Note over L,G: everything below is async, off the capture path
    L->>G: summarize + score (set the weight)
    G->>D: route only if it clears the bar
    G-->>L: mark routed (raw row stays immutable)

Cross-References

  • Subsystem claims: LIFEOS/SYNAPSE/ISA.md
  • Capture endpoint: LIFEOS/USER/CUSTOMIZATIONS/ARBOL/summarize/
  • TELOS-graded routing: the Arbol harvest + harvest-classify workers, writer LIFEOS/TOOLS/HarvestExecutor.ts
  • Knowledge Archive schema: LIFEOS/MEMORY/KNOWLEDGE/_schema.md (kb-v3, idea note type)
  • Work System: LIFEOS/DOCUMENTATION/Work/WorkSystem.md
  • Senses: LIFEOS/DOCUMENTATION/Conduit/ConduitSystem.md (internal) · LIFEOS/DOCUMENTATION/Feed/FeedSystem.md (external)
  • Cortex (the store): LIFEOS/DOCUMENTATION/Memory/MemorySystem.md
  • System/User boundary: LIFEOS/DOCUMENTATION/SystemUserBoundary.md