divergence-register
Skill1 starsChanged 3 months agoMITView on GitHub
Defines the content and structure of the Divergence Register — places where two or more services disagree about the same concept. Reference when assembling or reviewing inventory/divergences.json.
In this repository17 other files it gives its agents.
- acceptance-criteriaSkill
- adjudication-recordSkill
- adrSkill
- behavior-inventorySkill
- characterization-suiteSkill
- context-modelSkill
- contract-testsSkill
- cutover-planSkill
- design-docSkill
- interface-inventorySkill
- migration-waypointsSkill
- observability-specSkill
- retirement-registerSkill
- roadmapSkill
- slice-outlineSkill
- tactical-modelSkill
- variation-policySkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
Every variant cites the behavior_id that exhibits it.
- Very specific: line 32
If you can see two services disagree but cannot yet pin the concept down precisely, register it anyway with your best description and note …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Divergence Register
Defines what a Divergence record contains. Does not define how to detect divergences — that is agents/divergence-detector.md's job. Classification is a human Adjudication at Stage 2, never this skill's or any agent's call.
Schema
schemas/divergence.schema.json. One JSON object per divergence; inventory/divergences.json is a JSON array of these.
Required fields
id (DVG-NNNN), concept (the single concept in disagreement — one concept per record, not a bundle), variants (≥2, each naming service, behavior_id, description), evidence.
Classification obligations (Stage 2)
classification starts absent or "unclassified" at Stage 1 detection. By the Stage 2 gate it must be one of policy / false-cognate / defect — a divergence left unclassified past Stage 2 is a gate failure (trace-lint.py --stage 2). Each classification needs a decision_owner and decided_at; that pairing is the record's own embedded Adjudication trail (it does not need a separate adjudications/*.json file — the fields live directly on the Divergence record).
- policy — model as explicit domain variation. Populate
driving_dimension(channel, product, tenant, mechanism) and consider whether it belongs in avariation-policyrecord too. - false-cognate — the variants belong to different bounded contexts; they only look like one concept.
- defect — preserve behavior, log it, fix separately after migration. Do not silently reconcile a defect into "correct" behavior during migration — that is an unadjudicated behavioral change.
Behavior-ID citation
Every variant cites the behavior_id that exhibits it. A variant with no Behavior ID is not yet evidenced enough to register.
Unknowns
If you can see two services disagree but cannot yet pin the concept down precisely, register it anyway with your best description and note the uncertainty in evidence (Constitution C10) — do not wait for certainty to record a candidate.
Minimal worked example
{
"id": "DVG-0003",
"concept": "order status values",
"variants": [
{ "service": "orders-svc", "behavior_id": "BHV-0011", "description": "uses PENDING/CONFIRMED/CANCELLED" },
{ "service": "billing-svc", "behavior_id": "BHV-0057", "description": "uses OPEN/CLOSED" }
],
"classification": "false-cognate",
"decision_owner": "Jane Doe",
"decided_at": "2026-08-01T12:00:00Z",
"rationale": "billing's OPEN/CLOSED tracks invoice lifecycle, not order lifecycle — different concept entirely",
"evidence": [ { "source": "code", "locator": "orders/status.py:5" } ]
}Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

