B-XPGL-reconcile-the-diverged-rust-fluent-git-mirror-and-the
Two public repos hold prior art that the monorepo has since moved past. Neither is on the publish roster, and both are stale in a way that misrepresents the work to anyone who finds them.
sksizer/rust-fluent-git (public, last pushed 2026-07-14)
Section titled “sksizer/rust-fluent-git (public, last pushed 2026-07-14)”“Simple wrapper to give a fluent api over git shell commands” — GitCommand
builder with three execution modes (run / run_raw / check).
The monorepo copy at packages/rust/fluent-git was promoted 2026-08-07 from
ontological’s vendored copy and has diverged from the public repo.
docs/LIBRARIES.md records this plainly: “The standalone rust-fluent-git repo
has diverged — reconciling it and hooking the publish channel are deferred.”
Decide: reconcile and add to publish-libs.json, or archive the public repo
pointing at wherever the work now lives.
sksizer/rust-cmd-spec (public, last pushed 2026-07-14)
Section titled “sksizer/rust-cmd-spec (public, last pushed 2026-07-14)”“Extraction of serializable shell commands” — ShellCommand as
serde-serializable data, converted to a process::Command only at execution
time. It is not in the monorepo at all; it exists only as the standalone
repo.
docs/planning/notes/N-M4JT-flowline-02-cli-ops-as-typed-tasks.md calls it
“a hand-built building block waiting for the library that should own it” and
names commands-as-data as a design input for flowline’s durable journal.
Decide: pull it in as a packages/rust/ crate with a real consumer, fold the
idea into flowline, or archive it.
Related
Section titled “Related”The TypeScript tier now has @sksizer/command-seam (an injectable run-and-capture
seam, sync + async) and @sksizer/easy-git (typed client over a swappable
backend). docs/LIBRARIES.md already flags the Rust/TS easy-git pair as
same-name, same-layer, different-API with convergence open. Whether
cmd-spec + fluent-git should converge toward command-seam + easy-git
is the larger question underneath both decisions.