Help us improve
Share bugs, ideas, or general feedback.
From memfleet-skills
Use when publish_intent or record_episode returned an active conflict or a Class B/C conflict payload. Triggered by: 'publish_intent returned conflicts', 'record_episode classified as B and I lost', 'Class C block', understanding who else is editing, deciding whether to retry / replan / escalate.
npx claudepluginhub syncable-dev/memfleet-public --plugin memfleet-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/memfleet-skills:memfleet-conflict-resolutionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Class | Meaning | Resolution |
Resolves Git merge conflicts in PRs, branches, and session files by analyzing history and commit intent. Auto-resolves known patterns, classifies changes, and validates fixes.
Analyzes git merge conflicts by type and context, proposes automated/manual resolutions, and validates fixes. Handles content, structural, semantic, and formatting issues.
Coordinates with other AI agents using Wit CLI before code edits: declares intents, locks symbols, checks conflicts to prevent merge issues in multi-agent workflows.
Share bugs, ideas, or general feedback.
| Class | Meaning | Resolution |
|---|---|---|
| A | Additive — new symbols, no removals | No action. Never blocks. |
| B | Modification — body / type / rename | LWW by reference_time. Loser replans with replan_hint. |
| C | Breaking — removes live symbol or changes signature with active callers | Blocked. Human review. |
Your edit's reference_time was older than the winning edit's. Read replan_hint:
{
"won": false,
"winner_episode_id": "01H…",
"winner_intent_kind": {"Refactor": {"pattern": "RenameSymbol"}},
"replan_hint": {
"kind": "ApplyToRenamedTarget",
"new_name": "UserRoleV2"
}
}
Map your edit onto the new target (e.g. apply the NullHandling fix to UserRoleV2 instead of UserRole) and record_episode again with the new touched_nodes.
Refactor(RenameSymbol) + BugFix(NullHandling) on the same symbol are orthogonal — the broker can apply both. This is Phase-2 behavior; Phase-1 returns replan_hint and lets you do it.
Your intent removes a live symbol OR changes a signature that has active callers. publish_intent returns:
{
"active_conflicts": [{
"cause": "SignatureChangeWithActiveCallers",
"callers": ["UserRoleRepo.find", "UserSessionService.check"],
"blocker_agent": "agent-alice"
}]
}
Do NOT attempt to edit. Options:
blocker_agentresolve_conflict (Phase-2) with prose rationale — the ONLY place prose is requiredr = publish_intent(...)
while r.active_conflicts ≠ ∅:
wait(exp_backoff)
ns = get_node_state(symbol)
if ns.active_intents == [] → retry publish_intent
if elapsed > deadline → escalate