Skip to content

feat(sei): re-point legis git-rename consumer to /git/rename-feed#73

Merged
tachyon-beep merged 1 commit into
mainfrom
feat/legis-rename-feed-repoint-v2
Jun 25, 2026
Merged

feat(sei): re-point legis git-rename consumer to /git/rename-feed#73
tachyon-beep merged 1 commit into
mainfrom
feat/legis-rename-feed-repoint-v2

Conversation

@tachyon-beep

Copy link
Copy Markdown
Collaborator

Re-implements the stale feat/legis-rename-feed-repoint (63745e7, 1 commit but 337 behind on the pre-rename crates/clarion-cli/ path) against current main. Federation ledger B3 (Loomweave/Clarion half).

What

LegisGitRenameSource now reads the committed leg of legis's additive superset endpoint GET /git/rename-feed?base=…&head=HEAD instead of the legacy GET /git/renames?rev_range=….

legis pins each committed[] entry byte-identical to the old /git/renames array with a contract-lock test (legis/tests/contract/test_git_rename_feed_contract.py: test_rename_feed_committed_leg_matches_loomweave_parser), so committed renames resolve unchanged.

  • legis_renames_urllegis_rename_feed_url?base=X&head=HEAD; include_worktree omitted (defaults false on legis) ⇒ committed-leg-only, committed-window semantics preserved.
  • parse/classify_legis_rename_json*_rename_feed_json — reads .committed; per-item old_path/new_path extraction unchanged. The working_tree leg is not consumed (the shell source stays the sole working-tree authority).
  • G16 wire-drift guard preserved and inverted to the feed shape: RenameParseOutcome now distinguishes a legacy flat-array body (legis didn't migrate), a committed-less object envelope, and the committed key-rename under-carry case — each warned distinctly. Honest-empty {"committed":[]} is not flagged.
  • Tests adapted to the object shape (unit + the mock-driven integration tests); added a URL-builder assertion (?base=X&head=HEAD, include_worktree absent), plus legacy-array and missing-committed drift cases.
  • docs/federation/contracts.md + CHANGELOG updated.

Why a fresh PR (not a merge)

The original branch can't be merged: it predates the clarion-cliloomweave-cli rename and the G16 drift-detection split, so it would fight the rename and drop the silent-under-carry guard. This re-applies the intent against current structure.

Verification

Full Rust floor green locally: fmt, clippy --all-targets --all-features -D warnings, build, nextest 1941 passed (incl. all sei_git unit + mock-driven integration tests), doc -D warnings, cargo deny. Rust + docs only (no Python touched).

🤖 Generated with Claude Code

LegisGitRenameSource now reads the committed leg of legis's additive superset
endpoint GET /git/rename-feed?base=<base>&head=HEAD instead of the legacy
GET /git/renames?rev_range=<base>..HEAD. legis pins committed[] byte-identical to
the old /git/renames array with a contract-lock test
(legis/tests/contract/test_git_rename_feed_contract.py), so committed renames
resolve unchanged.

- legis_renames_url -> legis_rename_feed_url (base/head params; include_worktree
  omitted -> committed-leg-only, committed-window semantics preserved).
- parse/classify_legis_rename_json -> *_rename_feed_json: reads .committed,
  unchanged per-item old_path/new_path extraction. The working_tree leg is
  ignored (the shell source remains the sole working-tree authority).
- G16 wire-drift guard preserved and adapted to the feed shape: the
  RenameParseOutcome now distinguishes a legacy flat-array body (legis did not
  migrate), a committed-less object envelope, and the committed key-rename
  under-carry case — each warned distinctly. An honest empty {"committed":[]} is
  not flagged.
- Tests adapted to the object shape (unit + the mock-driven integration tests);
  added a URL-builder assertion pinning ?base=X&head=HEAD with include_worktree
  absent, plus legacy-array and missing-committed drift cases.
- docs/federation/contracts.md + CHANGELOG updated.

Re-implements the stale feat/legis-rename-feed-repoint (63745e7, 337 behind on
the pre-rename clarion-cli path) against current main. Federation ledger B3.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@tachyon-beep tachyon-beep merged commit 103901b into main Jun 25, 2026
4 checks passed
@tachyon-beep tachyon-beep deleted the feat/legis-rename-feed-repoint-v2 branch June 25, 2026 15:27
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