Skip to content

Weft — federation conflict & ambiguity register

Status: Authoritative and first-class. This is the deliverable the cutover exists to produce: every conflict and ambiguity found between the federation's sources of truth, classified and either fixed or ruled with a named owner. Flush these before major point releases.

Date of sweep: 2026-06-05. Sources compared: this hub (pre-cutover), ~/clarion, ~/filigree, ~/wardline, ~/legis, ~/charter, ~/lacuna.

Two classes: - Class A — hub stale, repo fresh. The hub restated a project-internal fact that moved. Resolution: fixed by this cutover (and prevented from recurring — weft no longer restates volatile facts; it points). No ruling needed. - Class B — two live sources disagree. A genuine contradiction between current repos that needs a decision. Resolution: a ruling + a named owner.


Class A — stale-hub drift (fixed by this cutover)

# Drift (old hub said → reality) Authoritative source Fix
A-1 Roster = 4 (filigree/clarion/wardline/shuttle) → reality is 5 realized members (+ legis, + charter) and shuttle is a thought-bubble repos exist at ~/legis, ~/charter Roster ruled (§B-1); members added under members/
A-2 lacuna (the demo specimen) absent → it is the federation's canonical demonstrator ~/lacuna/README.md members/lacuna.md added
A-3 filigree "v2.1 / 113 MCP tools" → 2.3.0 / 115 tools ~/filigree/pyproject.toml, README weft stops restating; members/filigree.md snapshots + points
A-4 clarion "v1.0 walking skeleton, v0.1 in flight / 7 MCP tools" → v1.3.0 shipped / 39 tools ~/clarion/Cargo.toml, README weft stops restating; members/loomweave.md snapshots + points
A-5 wardline "unreleased / 38 decorators / 11 rules PY-WL-001..009 / Tier 1–4" → 1.0.0rc1 / 3 canonical decorators / 20 rules PY-WL-101..120 / 8-state lattice ~/wardline/src/wardline/{_version,decorators,core/taints,scanner/rules} weft stops restating; members/wardline.md snapshots + points
A-6 "Wardline→Filigree integration is load-bearing" → it is enrich-only (work-tracking only; analysis needs no Filigree) ~/wardline/docs/integration/2026-05-29-wardline-weft-integration-brief.md; core/filigree_emit.py (fail-soft) Corrected in doctrine §5 and members/wardline.md
A-7 Identity = {plugin_id}:{kind}:{qualname} taught as identity → that is the locator (address); SEI is identity Clarion ADR-038; sei-standard.md SEI standard promoted; glossary locator/SEI rows
A-8 Entity-assoc routes under /api/weft/* → they are classic /api/issue/… + /api/entity-associations ~/filigree/src/filigree/dashboard_routes/entities.py; ~/legis/src/legis/filigree/client.py Corrected in contracts-index.md §1
A-9 shuttle:// described as the "nascent addressing scheme" → the weft:// URI scheme it belonged to was closed by SEI sei-standard.md §0/§9 uri-scheme.md
A-10 Retired asterisk unknown to hub → the wardline.core.registry.REGISTRY import asterisk retired 2026-06-05 Clarion ADR-018 Rev 3; CHANGELOG asterisk-register.md A-2
A-11 wardline-watcher could be mistaken for a member → it belonged to the defunct heavier wardline.old and is out of the federation John (2026-06-05); ~/wardline-watcher/README.md Excluded everywhere; noted in doctrine/README

Recurrence prevention. A-3/A-4/A-5 were caused by the hub copying version/count facts. The cutover's structural fix is the authority model (README.md): weft points to the owning project for all volatile surface facts and marks any snapshot it shows as non-authoritative. Audit gate: weft must contain no restated project-internal fact without a pointer.


Class B — live contradictions (ruled, with owners)

B-1 — Federation roster & ordinality (RULED)

Conflict. Loomweave's founding doctrine (~/clarion/docs/suite/weft.md, dated 2026-06-05) lists only Loomweave/Filigree/Wardline + Shuttle (proposed) and names neither legis nor charter. But ~/legis/README.md calls legis "the fourth Weft product," and ~/charter/README.md calls charter "the fifth member" with "shuttle a future sixth." Three live sources, three different rosters.

Ruling (hub, 2026-06-05, ratified by John). The canonical roster is five realized members: Loomweave, Filigree, Wardline, Legis, Charter. Shuttle is a roadmap thought-bubble, not a member — it has no repo and is displaceable by any better idea (Charter, started 2026-06-04, is exactly such a better idea taking priority). Lacuna is the demo specimen, not a member. The hub (doctrine.md) is the body that declares the roster going forward.

Owner / follow-up. weft (declared). Downstream: Loomweave's founding doctrine is reduced to a pointer to doctrine.md (Part B of the cutover), so the divergent three-member framing no longer sits in a repo as a competing authority.

Corroboration. SHIPPING.md (PM decision, 2026-06-05) independently rules the same roster (five products incl. legis + charter; shuttle future, not #4) and labels the three-disagreeing-canon-docs situation a launch-blocking go-to-market defect ("a suite whose canon can't name its members can't be marketed as a suite"). It also sets the docs topology this cutover implements: one hub owns the authoritative member list + compatibility matrix; the disagreeing canon docs collapse to one source. Launch is gated by Wardline + Charter reaching 1.0.

B-2 — SEI lock (RESOLVED — LOCKED 2026-06-05)

Was. The SEI standard read "DRAFT — not yet locked," yet Loomweave/legis/wardline described SEI as shipped and in use. The track was canonical and substantially built (Loomweave authority + Legis/Wardline consumers pass the oracle); the open gate was Filigree's locator→SEI backfill + a coordinated cutover and lock declaration.

Resolution (2026-06-05). The owner — who controls every member's release cycle (§7.1) — declared SEI locked. The interface is frozen; post-lock changes require a versioned revision (§0.3). The supersession (§0.2) and the oracle-gated, no-grandfathering conformance regime (§0.1) now apply in full.

Residual (not a reopening). Locking freezes the interface; conformance is separate. Where Filigree's locator→SEI backfill is still outstanding it is a migration/conformance task carried out under the locked standard, oracle-gated — it does not unlock SEI. Owner: Filigree (backfill), Loomweave (authority, conformance verification). Treat any binding still on a locator as legacy to migrate.

B-3 — shuttle:// reference scheme (DEFERRED — prefix RESERVED)

Conflict. Filigree's planning-deprecation uses shuttle://… milestone references and a migrate-to-shuttle path, but Shuttle has no repo and the broader weft:// scheme it belonged to is closed by SEI (uri-scheme.md).

Disposition (2026-06-05, ruled). Deferred; the shuttle:// prefix is RESERVED but inert. Nothing resolves a shuttle:// URI today and nothing should be built on it. Reserving the prefix prevents reuse; it grants no behaviour. Whether a thin milestone-reference convenience is actually adopted is decided if/when a change-execution authority is built — which may not be "Shuttle" at all. Shuttle itself is flagged speculative everywhere (members/shuttle.md).

Owner. Filigree (owns the milestone surface + migrate-to-shuttle tooling) + whoever designs the eventual change-execution authority.

B-4 — Home of the suite-wide SEI standard (RULED — resolved by this cutover)

Conflict. The SEI conformance standard physically lived in ~/wardline/docs/superpowers/specs/ while declaring itself a suite-wide standard with Loomweave as authority — and it carried an instruction to "propagate the normative sections into clarion/filigree." A suite-wide standard living inside one consumer's specs tree is a latent drift source.

Ruling. Promoted into the hub as sei-standard.md — the canonical home. The wardline-tree copy is reduced to a pointer (Part B). Owner: weft.


How to use this register

  • Before a point release, walk Class B: every item must be ruled (done) or have an owner actively closing it (B-2 Filigree backfill, B-3 deferred-with-owner).
  • New conflicts found later are appended here with the same classification. A Class-B item is never silently resolved — it gets a ruling and an owner, or it stays open and visible.