Skip to content

refactor(reconcile): consume @intentius/chant/reconcile primitive (#20) - #39

Merged
lex00 merged 1 commit into
mainfrom
chore/consume-chant-reconcile
Jun 19, 2026
Merged

refactor(reconcile): consume @intentius/chant/reconcile primitive (#20)#39
lex00 merged 1 commit into
mainfrom
chore/consume-chant-reconcile

Conversation

@lex00

@lex00 lex00 commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Closes #20. The cross-repo other half of the in-repo extraction (#38).

Now that chant ships the provider-agnostic reconcile primitive (chant#502, released as @intentius/chant@0.9.0), warden consumes it instead of vendoring its own copy.

Changes

  • Bump @intentius/chant and @intentius/chant-lexicon-github to ^0.9.0.
  • src/reconcile/core.ts is now a thin re-export of @intentius/chant/reconcile (export * from …). The in-repo import surface is unchanged — diff.ts, guardrails.ts, and index.ts still import from ./core.js, so the 13 cycles and the guardrail layer are untouched.
  • The shared primitive's public API is identical to the extracted core, so no call sites changed.

Why this closes #20

The reconcile core (change-set model, diffCollection, guardrail framework) now lives in one place — chant — and every git-host warden (github, and future gitlab/forgejo) consumes @intentius/chant/reconcile rather than vendoring. The deferral condition ("a second git-host warden exists") is moot now that the seam is shared.

Verification

  • npx tsc --noEmit clean
  • npm test green (468 tests; core.test.ts retained as an integration check that the consumed primitive behaves as expected)
  • Action bundle rebuilt — the chant primitive is inlined by esbuild (8 references to diffCollection/runGuardrailChecks in the bundle)
  • @intentius/chant@0.9.0 + @intentius/chant-lexicon-github@0.9.0 confirmed live on npm

🤖 Generated with Claude Code

Swaps the vendored provider-agnostic reconcile core for the shared
@intentius/chant/reconcile subpath (chant 0.9.0, chant#501/#502).
src/reconcile/core.ts is now a thin re-export, so the in-repo import
surface (diff.ts / guardrails.ts / index.ts) is unchanged. Bumps
@intentius/chant + @intentius/chant-lexicon-github to ^0.9.0.

core.test.ts is retained as an integration check that the consumed
primitive behaves as warden expects. 468 tests green; action bundle
rebuilt (primitive inlined).

Closes #20.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lex00
lex00 merged commit 59dab4b into main Jun 19, 2026
2 checks passed
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.

deferred: extract reconcile harness into a chant primitive

1 participant