docs: user-level sync-seam contract + parity-loop seam rules - #7
Merged
Conversation
Generalize the SkillStore -> EngineSkillStore lift pattern into a contract (docs/sync-seams.md) covering every domain that will eventually sync at user level through the Syncr-owned engine: agents, prompts, Loop definitions, MCP config, session durable state, subagent run records, memory, and settings. The posture is build-behind-seams, never block: missing engine surface is not a blocker; implement natively behind a narrow injectable store interface so the lift is an implementation swap, and register the domain (with the engine surface it would need) in the seam registry. The parity-loop skill gains a matching "Sync-engine seams" section so the loop consumes existing engine surface through ctx.skillStore, never rebuilds shipped capability, seams new durable stores, and maintains the registry in the same slice. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What this proposes
A contract for how parity and feature work handles durable, user-owned state so every domain can later be lifted onto the shared Syncr-owned engine without rewriting call sites — generalizing the proven
SkillStore→EngineSkillStorepattern (ADR-0002,docs/skill-store-contract.md) from skills to the whole sync horizon: agents, prompts, Loop definitions, MCP config, session durable state, subagent run records, memory, settings/assignments.The posture: build behind seams, never block
ctx.skillStore) — never rebuild shipped capability host-side.skill-engine-per-file-conflict-request.mdtemplate), then continue on the native implementation without waiting.Changes
docs/sync-seams.md(new) — the contract + a live seam registry: per domain, what syncs at user level, today's write path, seam status (lifted/seamed/inline/planned), and lift notes for the engine team. Also records the sync constraints every seam inherits (offline-first, secrets never sync raw, device-local state stays device-local) and the NAPI conventions the skills lift established (named camelCase exports,RESOURCE_*error codes, roots+scope mutations, pinned version floor,optionalDependencies+ extraResources packaging)..agents/skills/parity-loop/SKILL.md— new "Sync-engine seams" section: before any row touching durable/syncable state, read the contract; consume existing engine surface through the seam; seam new durable stores instead of writing inline; update the registry in the same slice; draft Syncr request docs for engine-natural capability and keep moving.Why now
The parity loop is about to leave the SUB workstream and enter the skills/agents/prompts catalog rows. Its current instructions never mention the engine, and its required reading (
AGENTS.md,docs/agent-guidelines/*) contains no seam rule — the predictable failure mode is rebuilding engine-owned capability host-side (the parallel path P4 just deleted 4,400 lines of), against VISION.md's "no parallel integration paths".Open for discussion
🤖 Generated with Claude Code