Skip to content

Plainweave 1.2.0

Choose a tag to compare

@tachyon-beep tachyon-beep released this 29 Jun 23:29
· 19 commits to main since this release
50afcd6

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
    full weft.plainweave.wardline_peer_facts.v1 envelope over the CLI (previously MCP-only),
    reusing the existing MCP surface. Reads .wardline/*-findings.jsonl only (no store
    required); an absent .wardline/ reports freshness: unavailable, never clean.
  • plainweave requirements-enrichment <entity_ref>... [--json] — surfaces the full
    weft.plainweave.requirements_enrichment.v1 envelope 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 is unavailable, never absent).
    Now consumed live by Warpline as the 4th consult_federation member (Warpline PDR-0008;
    validated end-to-end, Plainweave PDR-017).
  • Frozen degraded-state contract for weft.plainweave.loomweave_catalog.v1 — the
    Loomweave catalog producer's unavailable-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_work as reserved-but-never-
    emitted by the local-only producer (absence is the in-band linked_work_facts_unavailable
    warning), the filigree_issue trace opacity + canonical relations, and the dossier's
    advisory boundary (PDR-018, production blocker #5).
  • plainweave-workflow skill 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 global a:visited rule 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.html so script-less pages such as the requirement dossier are covered too).

Fixed

  • Loomweave read-path trace enrichment now honors the local_only authority boundary
    (RED-2)
    — the read path no longer reaches past the local store when the boundary is set.
  • requirements_enrichment now drops rejected trace links before building the view — a
    reviewed-and-rejected binding no longer reads as requirement coverage (present); a
    rejected-only entity that resolves locally reads absent. (Folded in from a sibling
    product's contract work.)
  • plainweave doctor Wardline-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 the orphaned_entity_link fact (PDR-018,
    production blocker #4).
  • Wheel build (PDR-017) — removed a redundant
    [tool.hatch.build.targets.wheel.force-include] block that re-mapped web/templates +
    web/static (already vendored by the src/plainweave src-layout), colliding on
    web/static/.gitkeep and breaking uv build. The wheel now builds with each web asset
    shipped exactly once, so a clean uv tool install again advertises every CLI verb — this
    was darkening Warpline's requirements federation member in practice.