object-storelisted
Install: claude install-skill bks-lab/open-bridge
# Object store
Owns every object reference in this tree and the stores they point into. The
decision it implements is [`docs/object-store.md`](../../docs/object-store.md);
where this file and the ADR disagree, the ADR wins.
The engine is `skills/object-store/objstore/` behind the shim
`skills/object-store/object-store.sh`. The grammar it parses is a copy of
`infra/object-stores/_schema.yaml`, and `scripts/check-object-grammar.py`
fails CI the day the two drift.
## The principle
Git holds what is read as text, diffed and reviewed. A store holds what is read
whole and moved as bytes. An entry in the tree keeps the reference, the size,
the content hash and the class; the bytes stay in the store.
**There is deliberately no command that prints an object.** Not behind a flag,
not in a pipe. `path` returns a filesystem path, `fetch` writes a file the
caller names, `stat` returns size and sha256. An agent reads this output, and a
multi-gigabyte object in it would end the session that asked for it.
## Arguments
```bash
skills/object-store/object-store.sh stores # the declarations here
skills/object-store/object-store.sh stat object://recordings/2026-09/a.m4a
skills/object-store/object-store.sh path object://recordings/2026-09/a.m4a --sha256 <hash>
skills/object-store/object-store.sh fetch object://exports/q3.csv --to /tmp/q3.csv
skills/object-store/object-store.sh put object://recordings/2026-09/a.m4a --from ./a.m4a
skills/object-store/object-store