−
100%
+
fit
scroll
# Impress to Feed (Day 382) How a doc reaches
the World Feed — the distinction that bit us
today, written down so it isn't relearned.
Companion to [[Portal-Awakens.00382]] and
[[Portal-API.00382]]. ## The two stores are
different - **`▲ xo impress <path>`**
imports a file into **Hexocampus** — the
searchable / RAG corpus. It makes a doc
*findable* (`xo_search`, `xo_read`), nothing
more. - **The feed reads Things in a feed
ring.** A doc only surfaces in the feed when
it's a `sapphire=scroll` Thing carrying a
`diamond.ring` the feed renders (`orient`,
`lumen`, `blacksmith`, …). Impressing ≠
feeding. A bare impress lands in Hexocampus
with **no ring** → the feed has nothing to
show. That's exactly why `Color-Chain-Rebirth`
appeared but `Portal-API` /
`Postgres-Node-Topology` didn't: only
Color-Chain was impressed with `--ring`. ##
The recipe ``` ▲ xo impress <path> --ring
<ring-name> --web ``` - `--ring <name>`
resolves the ring by name → sets
`diamond.ring` → feed visibility. **This is
the load-bearing flag.** - `--web` marks it
web-eligible. - Upsert is keyed on **`onyx`**
(the filename). Re-impressing the same
filename **updates in place and adds the ring
— no duplicate.** So it's safe to re-run on
an already-impressed doc just to attach a
ring. ## The iCloud gotcha The Portal process
**cannot read the iCloud / Obsidian folder**
directly — macOS TCC returns `Operation not
permitted (os error 1)`. (`Color-Chain` only
worked earlier because it was impressed
*before* it moved into the iCloud `Orient/`
folder.) When the source lives in iCloud,
**stage a copy under `/Volumes/HEXCRAFT`
first, then impress from there:** ``` cp
"<iCloud path>/Name.00NNN.md"
/Volumes/HEXCRAFT/Sacred-Lab/.scroll-impress-tmp/
▲ xo impress
/Volumes/HEXCRAFT/Sacred-Lab/.scroll-impress-tmp/Name.00NNN.md
--ring orient --web rm -rf
/Volumes/HEXCRAFT/Sacred-Lab/.scroll-impress-tmp
``` Keep the filename identical — `onyx`
(and therefore the feed display name) derives
from it. `file_path` just tracks origin;
pointing it at a temp copy doesn't affect feed
behavior. ## Verify ``` GET
/api/things?ring=ac1d91a9-ba40-491a-84e1-ce968752c861
# orient ``` Confirm the doc shows
`sapphire=scroll` and the right ring. The
orient ring id is
`ac1d91a9-ba40-491a-84e1-ce968752c861`. ##
Source -
`Portal/rust/src/commands/hexocampus.rs` —
`cmd_hexocampus_impress` (`--ring`/`--web`
parse, ring-name→uuid resolve),
`impress_single_file` (ring merge into
`diamond`, upsert-by-onyx).
△