Skip to content

feat(writ): the repo command — first-class layer registration, guide corrected - #352

Merged
David-Noble-at-work merged 1 commit into
developfrom
feat/writ-repo-command
Aug 9, 2026
Merged

David-Noble-at-work merged 1 commit into
developfrom
feat/writ-repo-command

Conversation

@David-Noble-at-work

Copy link
Copy Markdown
Contributor

The chartered fresh-user packaging command: writ repo add/remove/list (rm/ls aliases; bare writ repo lists) over the settled layers-directory symlink mechanism — packaging, never configuration, zero config-API debt. Unit tests cover the round-trip, aliases, bare invocation, all error paths, and the broken-link marker. The scenario harness now registers its layer through the command, so the fresh-user path is proven on ubuntu, macos, and windows by every scenario run. The repositories guide is rewritten onto reality (config-set fiction removed, structure corrected to Home/<project>[.<Segment>], writ status for the retired writ inspect, layers-directory truth for the fictional storage section). Also rides the scenario plan's phase-4 closure and the queued Tuckr-parity question.

…corrected

writ repo add/remove/list (rm and ls aliases, bare invocation lists —
git-remote's idiom with docker's aliases) gives the fresh-user story a
real surface over the settled mechanism: the layers-directory symlink,
packaging never configuration, so the future config API owes this
nothing. The scenario harness now dogfoods writ repo add, proving the
path on all three platforms every run. The repositories guide is
rewritten onto reality: the config-set registration fiction removed,
the upside-down project/Home structure corrected to
Home/<project>[.<Segment>], writ status replacing the retired
writ inspect, and the fictional configuration-storage section replaced
by the layers-directory truth. Rides the phase-4 closure and the
queued Tuckr-parity question in the scenario plan.
@David-Noble-at-work David-Noble-at-work self-assigned this Aug 9, 2026
@David-Noble-at-work
David-Noble-at-work merged commit d0b6ac1 into develop Aug 9, 2026
5 checks passed
@David-Noble-at-work
David-Noble-at-work deleted the feat/writ-repo-command branch August 9, 2026 03:11
David-Noble-at-work added a commit that referenced this pull request Aug 9, 2026
… grammar (#353)

The location operand is polymorphic (ruled 2026-08-09): a local
working-tree-root, or a repository URL that clones first — git-clone's
own grammar, with the optional trailing working-tree-root as the
destination and --branch as the one flag. URL detection is git's own
rule (schemes, scp-like, single-letter-is-a-drive). Without a
destination the clone lands in the writ-owned home
(XDG_DATA_HOME/devlore/writ/repos/<layer>); after placement the
repository is entirely the user's — no hidden git operations, ever.
The local form now validates git-working-tree-ness at add (deploy's
pin refuses non-repos anyway; failing early is kinder). The guide's
VCS-agnostic claim — false since pinning landed, and carried
unexamined through the #352 rewrite — is replaced by the honest git
basis. Tests: the URL-detection table, every malformed combination,
and real offline file:// clones into both destinations, with remove
proven to leave the clone untouched.

Co-authored-by: David Noble <[email protected]>
David-Noble-at-work added a commit that referenced this pull request Aug 9, 2026
…Rs (#355)

A plan committed inside its own PR predates the merge by construction,
so no completed plan recorded where it landed. Each of the five now
ends with the PR it landed as and the squash date:
implicit-common-project and git-crypt-pinning (#354), writ-repo-remote
(#353), writ-repo-command (#352), archive-root-confinement (#345).

Co-authored-by: David Noble <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant