chore(skill): refresh /drt-migrate — add mirror/replace modes + post-v0.7 mappings#627
Merged
Merged
Conversation
…v0.7 mappings Skill was last touched 2026-03-30 (#60) and missed the sync-mode expansions that landed since. Drift fixed: 1. **`sync.mode: mirror`** (v0.7.7+) — Census "Full Sync with Deletion" / Hightouch "Mirror" equivalent, supported on postgres / mysql / clickhouse / snowflake. Now in the concept map. 2. **`sync.mode: replace`** + `replace_strategy: swap` (zero-downtime on Postgres / Snowflake) — was missing entirely from the mode mapping table. 3. **`failure_alerts`** (v0.7.0+) — replaces the old "Error notifications" row that pointed at `on_error: skip + drt status` (which is the per-row policy, not the sync-level alerting). 4. **Hardcoded-secret detection** (v0.7.5) — added to the auth migration table as "never hardcode — `drt validate` flags hardcoded secrets". 5. **Connection-string profiles** — added to the auth migration table as the equivalent for connection strings from other tools (resolved via `${VAR}` in `~/.drt/profiles.yml`). New section: **sync-mode picking guide** — a "user wants X, drt mode is Y" table so the LLM can pick the right mode from the contributor's intent rather than guessing from the old tool's vocabulary. Covers full / incremental / upsert / mirror / replace. New "summary" guidance: - Whether the migration changes semantics (Census "Full Sync with Deletion" → `mirror` is same shape; Census "Full Sync without Deletion" → `full` keeps stale rows, so user may want `upsert` instead) — the LLM now surfaces this distinction explicitly. New Reference entry: `examples/postgres_to_postgres_mirror/` — runnable example so the user can confirm the shape before adopting. `make sync-skills` ran; `.claude/commands/drt-migrate.md` matches. `make check-skills` clean. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/drt-migratewas last touched 2026-03-30 (#60) and had missed the sync-mode expansions that landed since. This PR catches it up.Part 3 of the 4-PR skill refresh sequence (#625 /drt-debug, #626 /drt-init).
Drift fixed
sync.mode: mirror(v0.7.7) — Census "Full Sync with Deletion" / Hightouch "Mirror"sync.mode: replace+replace_strategy: swapfailure_alerts(v0.7.0)on_error: skip + drt status(which is per-row, not sync-level alerting)drt validateflags it"${VAR}resolution in~/.drt/profiles.ymlNew section: Sync-mode picking guide
A "user wants X, drt mode is Y" table so the LLM picks from intent rather than guessing from the old tool's vocabulary:
fullincremental+cursor_fieldupsert+upsert_keymirror+upsert_key(v0.7.7+ SQL destinations)replace(TRUNCATE + INSERT,swapstrategy for zero-downtime)New "summary" guidance
The LLM now surfaces semantic drift explicitly — e.g. Census "Full Sync with Deletion" →
mirroris the same shape; Census "Full Sync without Deletion" →fullkeeps stale rows in the destination, so the user may wantupsertinstead. Avoids silent semantic mismatches.New Reference entry
examples/postgres_to_postgres_mirror/— runnable example formirrorshape so the user can confirm before adopting.Verification
make sync-skills— synced to.claude/commands/drt-migrate.mdmake check-skills— cleanSequence
drt_doctor+drt_run_sync(diff=True)🤖 Generated with Claude Code