reading working LLM
machine machine packs
------- ------- -----
essays /app/* agents
courses tools context
\ | /
\ | /
+------+------+
one domain_ ideas
|
v
┌─────────┐
│ swarm │──> digests
└────┬────┘
| decide
v
┌─────────┐
│ build │
└────┬────┘
|
v
ship_ prompt pile outcome
? ? ? ? --> defined
? ? ? ? success
criteria_/\ / \ | == | | || | /|_||_|\ /||\ ' '' '
.--. * / oo \ | (--) | o \ __ / /|\ || || / \ ^^ ^^ .
_ _ _ _| V| V| |_ / o \ | __| | | | | |___|__|__|
~\(@_@)/~ /| |\ ~ |~~~| ~ (_| |_)
>_ █
~~~~~~~~~~~~ ~ ~ ~ ~
.--. / . \ | ( ) | \ '-./ '--'
/------\ | nb: | | yes_ | \------/
┌──────────┐ │ decide │ │ later │ │ ··· │ └──────────┘
* \|/ --*-- /|\ *
/ / \/
. / /----> / *
+#**#o+o##*+#+*####o#+##**#o+#+####+o###o#oo###*#+ooo*+#o##*#*#+[ tools-and-plugins ]
* * + # # # # # # o * * # # + o + # o #
ODVM: query your footage without re-seeing it

Search what was said, lose what was shown
Every clip on my drives used to be searchable by exactly one thing: its filename.
The transcript pipelines fixed half of that. They index speech, so anything somebody said out loud became findable. But the moments I actually go hunting for are the ones nobody narrated. The take where the red jacket walks left. The quiet screen moment in the middle of a stream. The beat the chat scrolled past. None of those survive a transcript, because nobody said them out loud.
The fix is not a better transcript. It is a second memory, built from the pictures, that sits next to the first one.

This isn't magic, and it isn't cloud. Everything runs on my own hardware, the footage never leaves the disk it lives on, and the first release candidate proves plumbing before it promises understanding.
Sample the moments, not the frames
The naive move is to caption every frame. At twenty-four frames a second that is a pile of redundant work describing a static shot hundreds of times.
ODVM samples instead. Scene cuts anchor the timeline. A motion signal densifies coverage where something actually moves. A floor guarantees even a locked-off static shot gets looked at occasionally. A five-second clip might earn a handful of keyframes; a busy minute earns more.

One 60-second clip. Drag the budget from sparse to dense.
Observe once, then never again
Here is the whole trick: the vision model runs exactly once per clip.
Observe takes the sampled keyframes and asks a local vision model what is happening in each. The answers land in versioned sidecar files next to the project, keyed by which model wrote them. Swap the model later and the old observations stay put; the new ones version alongside.
Audio is first-class on the same pass. A local speech model writes utterances with start and end times, fused onto the same timeline as the visual observations. Not bolted on later: fused by time from the start.
The index is the memory
Sidecars are durable but slow to search. Index reads them once and builds the fast layer: SQLite full-text search over every observation and utterance, plus embeddings for the queries that phrase things differently than the captions did.
Delete the index and re-run odvm index: it rebuilds from sidecars alone. The sidecars are the truth. The index is a cache you can always regenerate.

Query without re-seeing
Query never touches the vision model. It searches the index and returns ranked time spans: this clip, from here to here, because these observations matched.
That is the property the whole design bends towards. Asking "when does the handheld walk-and-talk start" costs a database lookup, not a GPU minute. An agent with a token budget asks odvm pack for a sized context bundle and gets text chunks with times, ready to cite.

One indexed 60-second clip. Ask for something that happened in it.
Type a query, or pick one of the chips.
The model is replaceable. The memory you build is the asset.
The release candidate
ODVM v0.1.0-rc1 is a real CLI, not a demo. Four commands carry a clip from file to answer:
odvm sample --project myproject --asset clip.mp4 --job edit_shoot
odvm observe --project myproject
odvm index --project myproject
odvm query --project myproject "the red jacket walks left"
Two job profiles ship in the box. edit_shoot weights visual rank for takes and plates. stream_personal weights transcript for long recordings, while still indexing the silent beats a transcript-only tool would drop. One schema, one pipeline; the profile only moves the defaults.
A gold harness ships too, so quality is a number you can check instead of a vibe you trust. Change a prompt pack or a rank weight, re-run the gold queries, read the recall.
↓ODVM v0.1.0-rc1 (ARCHITECT members)The download is gated to ARCHITECT members while it is a candidate. Break it, and tell me where it broke: that is what a release candidate is for.
What I would steal from this
Even if you never install ODVM, the shape transfers. Pick the moments instead of the frames. Run the expensive model once and keep its answers in files you own. Treat the index as a cache, never the truth. Make the hundredth query as cheap as the first.
If the memory angle lands, the sibling post is A second brain for taste, not for notes: same discipline, pointed at style instead of footage.
Local first. Query without re-seeing. The discipline beats the tool.
[ comments ]
guests welcome. members show first in the list
no comments yet. start the thread_
* * + # # # # # # o * * # # + o + # o #
+#*o#o#oo####*#+o##+#+o#+o##+#o#+#*+*o##o++#*##*###o+o#*##oo*#*+