Releases: foundryside-dev/plainweave
Releases · foundryside-dev/plainweave
Release list
Plainweave 1.2.1
Error-legibility (functional-honesty) fixes surfaced by clean-room dogfooding: an error must
say what it knows, and a hint that doesn't point at the real fix misdirects. Additive and
backward-compatible — the weft.plainweave.error.v1 envelope and the ErrorCode vocabulary
are unchanged.
Fixed
- Version-conflict errors now disclose the actual version. A
CONFLICTon a requirement
version or a draft revision previously reported only"expected version does not match current version"with emptydetails, forcing callers to probe for the real value. Both optimistic-
concurrency guards now name the expected and current values in the message, in structured
details({expected_version, current_version}/{expected_draft_revision, current_draft_revision}), and in a hint that names the recovery
(e.g.Retry with --expected-version 0.). - Cause-specific error hints; dropped the misleading blanket hint.
_errorno longer stamps
"Refresh local Plainweave state and retry."on every error — it misdirected, e.g. a missing
--actorVALIDATION error, down a dead path. Each error now carries a cause-appropriate hint
from a per-ErrorCodemap (VALIDATION/NOT_FOUND never claim staleness;CONFLICTlegitimately
suggests a refetch), with precise hints for the missing-actor, verification-method /
evidence-status, and trace-relation cases, plus an honest INTERNAL hint on the MCP
preflight-severity guard.
Plainweave 1.2.0
Closes the CLI/MCP parity gap for the 1.1 peer-facts producers (they shipped MCP-only),
delivers the operator web UX + accessibility overhaul, hardens three federation seams,
ships the plainweave-workflow agent skill, and fixes the wheel build. Additive and
backward-compatible; the new surfaces are advisory and verdict-free like the rest of
Plainweave.
Added
plainweave wardline-peer-facts [--json] [--limit N] [--offset N]— surfaces the
fullweft.plainweave.wardline_peer_facts.v1envelope over the CLI (previously MCP-only),
reusing the existing MCP surface. Reads.wardline/*-findings.jsonlonly (no store
required); an absent.wardline/reportsfreshness: unavailable, never clean.plainweave requirements-enrichment <entity_ref>... [--json]— surfaces the full
weft.plainweave.requirements_enrichment.v1envelope over the CLI (previously MCP-only).
Accepts a SEI or a dotted locator; preserves the no-silent-clean contract
(present/absent/unavailable— an identity gap isunavailable, neverabsent).
Now consumed live by Warpline as the 4thconsult_federationmember (Warpline PDR-0008;
validated end-to-end, Plainweave PDR-017).- Frozen degraded-state contract for
weft.plainweave.loomweave_catalog.v1— the
Loomweave catalog producer'sunavailable-adapter envelope is now pinned by a structural
validator + golden routed through the same oracle as live output (no-silent-clean: an
unavailable adapter never returns a clean-empty page). Seam-hardening, no behavior change
(PDR-018, production blocker #3). - Contract test for the Filigree seam — pins
open_linked_workas reserved-but-never-
emitted by the local-only producer (absence is the in-bandlinked_work_facts_unavailable
warning), thefiligree_issuetrace opacity + canonical relations, and the dossier's
advisory boundary (PDR-018, production blocker #5). plainweave-workflowskill pack — a federation-standard agent skill (SKILL.md+
reference sheets) authored in-package (src/plainweave/skills/), shipped as package data
and dogfooded into the repo's.claude/+.agents/skill trees. Documents the
read/author/verify workflow, the doctrine invariants (advisory-only, no-silent-clean,
enrich-only, zero minted SEIs), and the cross-member peer-facts seams.
Changed
- Operator web UI — UX + accessibility overhaul (PDR-016) — adopted the site-kit design
tokens and fixed contrast, focus-ring, and target-size; restored readable visited primary
anchors (a globala:visitedrule had out-specified.btn--primary, dropping the link to
a ~1.7:1 WCAG AA failure once visited); and now dismiss toasts on every page (moved to
base.htmlso script-less pages such as the requirement dossier are covered too).
Fixed
- Loomweave read-path trace enrichment now honors the
local_onlyauthority boundary
(RED-2) — the read path no longer reaches past the local store when the boundary is set. requirements_enrichmentnow dropsrejectedtrace links before building the view — a
reviewed-and-rejected binding no longer reads as requirement coverage (present); a
rejected-only entity that resolves locally readsabsent. (Folded in from a sibling
product's contract work.)plainweave doctorWardline-findings remediation is now root-aware (cd <root> && wardline scan .when the inspected root is not the cwd). (Folded in from a sibling
product's contract work.)- ADR-006 now documents that the preflight producer emits 8 of its 11 fact kinds and why the
other three are superseded (dedicated wardline producer) or sibling-gated (Filigree); added
the previously-missing behavioral coverage for theorphaned_entity_linkfact (PDR-018,
production blocker #4). - Wheel build (PDR-017) — removed a redundant
[tool.hatch.build.targets.wheel.force-include]block that re-mappedweb/templates+
web/static(already vendored by thesrc/plainweavesrc-layout), colliding on
web/static/.gitkeepand breakinguv build. The wheel now builds with each web asset
shipped exactly once, so a cleanuv tool installagain advertises every CLI verb — this
was darkening Warpline's requirements federation member in practice.