Commit Graph
3 Commits
Author SHA1 Message Date
jeffryandClaude Opus 5 aa20eaff89 marmalade: git wins list, measured — and I overclaimed the auth saving
git archive --remote is out: gitea allows it, github 422s, gitlab 404s. Partial
clone with --filter=blob:none --depth=1 --no-checkout is uniform across gitea,
github and gitlab, and lists homelab-cluster's six published documents over ssh in
under a second — the list I could not get this morning. REST would be three URL
shapes, three JSON shapes and three auth schemes, and it 404s on the private repo,
which is the case that matters.

Corrects my claim that git collapses the auth section. It does not: list goes over
git, but add and check still want HTTP, because a 304 is a few hundred bytes and a
partial clone is 124KB, so checking eight externals over git costs a megabyte to
learn nothing. Private raw HTTP needs a token. Two credentials per host, not one.
The argument for git is consistency, not thrift, and that argument stands alone.

Records the failure mode: --filter is a server capability and git's fallback is
silent, so detect the warning rather than letting list become a full clone.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018UTxuSizozEA8yDitPuris
2026-09-07 14:04:32 -04:00
jeffryandClaude Opus 5 92529fc5f2 marmalade: the third file was my conversion, not his timing
cart says do not convert while someone is mid-thought, ask whether they are ready,
and say so if you convert anyway. I asked and got approval of a plan, which is not
the same as having nothing left to write — so the check passed and was still
wrong. Reported upward: are you ready to convert and is there anything you are
still writing are different questions, and only the second would have caught it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018UTxuSizozEA8yDitPuris
2026-09-07 13:59:04 -04:00
jeffryandClaude Opus 5 c51655f626 marmalade opens: a CLI shape, and reachable has no home under external
Jeff's notes arrived as jeff-osprey.md, into a cart that had already converted.
Moved unedited to loom-marmalade.md: cart allows two files and gives the test —
what happens to this file when the person changes — and jeff-… dies with the
person, so it is a person and not a stake. loom renamed itself for this exact
reason last round and said that if Jeff wrote here he would write into that file.
The shape predicted it.

His subcommand grouping exposes something osprey got wrong. pull, check and
reachable were logged as one family and they are two: external is what somebody
else published and we depend on, published is our surface and somebody else's
dependency. reachable looks at .loom/published/ and therefore has no home under
external — so it becomes loomctl published check, and check means one thing in
both nouns.

external list is the first command that must know what a host is, and it is worth
it: the origin path stops being parsed because the tool builds the URL, and it is
discovery, which the log records as the thing a fetcher cannot do. Asked as a
Select with a lean toward git itself as the one API every host already speaks,
with a fallback so silence still builds something.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018UTxuSizozEA8yDitPuris
2026-09-07 13:58:46 -04:00