Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 73 additions & 17 deletions docs/product/current-state.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
# Loomweave — Current State (resume brief)

> Refreshed **2026-06-29** (PDR-0008 — warpline keying-gap fix shipped). Next
> session: start here, then `vision.md` (grant), `roadmap.md` + `metrics.md`, then
> reconcile the tracker IDs below against Filigree.
> Refreshed **2026-07-01** (PDR-0009 — loomweave **1.4.0 shipped** to all
> channels). Prior: 2026-06-29 (PDR-0008 — warpline keying-gap fix). Next session:
> start here, then `vision.md` (grant), `roadmap.md` + `metrics.md`, then reconcile
> the tracker IDs below against Filigree.
>
> **Concurrency note:** this checkpoint folded forward the 2026-06-29 owner-session
> checkpoint (`1823911`) that was committed to local `main` but never pushed (it
> diverged behind this session's release PRs). Its content is preserved here + on
> `origin/main`; the local `1823911` is now superseded and can be dropped.

## The bet right now

**The Now horizon is still open — DECIDE has not run.** No new Now bet was picked.
The session segments since 2026-06-26 spent on (a) a federation MCP-transport
reliability cycle (PDR-0006) and (b) repo-hygiene cleanup (PDR-0007) — both ahead
of / beside the DECIDE, not consuming it. **The three recorded Now candidates
remain on deck, untouched** (roadmap.md):
reliability cycle (PDR-0006), (b) repo-hygiene cleanup (PDR-0007), and (c) the
2026-07-01 segment — two P2 review fixes then cutting & publishing **1.4.0**
(PDR-0009) — all ahead of / beside the DECIDE, not consuming it. **The three
recorded Now candidates remain on deck, untouched** (roadmap.md):

1. **Incremental-analyze correctness cluster** — defends the north-star directly.
Open: clarion-feab311907, clarion-14398b2536, clarion-a65cb18b02 (all confirmed).
Expand Down Expand Up @@ -46,17 +53,56 @@ The warpline churn-fill (transport **and** keying gap) has now shipped — see
intent forward as **clarion-0715faa9d6** (rewrite the shared rename-feed
conformance golden against the new shape). Obsolete commit `9c30ce0` preserved in
the issue.
- **Repo hygiene:** 7 merged remote branches deleted (PRs #53/#54/#74/#75/#76/#78
+ the stale legis branch); only `feat/warpline-churn-consumer` (open PR #77) plus
historical (`rc4`, `rename/clarion-to-loomweave`) and auto-managed
(`dependabot/*`) branches remain. Resolves the prior checkpoint's open-question #7.
- **This-session housekeeping (execution of PDR-0008, not new decisions):**
PR #77 (warpline transport) merged to `main` `1d2b4fa` by the owner/Bid-1 flow,
concurrent with the keying-gap work; the merged `feat/warpline-churn-consumer`
(#77) + `fix/briefing-blocked-sei-federation-key` (#79) remote branches deleted +
local refs pruned (incl. the disposed `weft/legis-conformance` leftover); stale
"#77 open" product docs corrected on `main` `a138d9a`; the fixed `loomweave`
binary rebuilt from `main` and atomically installed into the local uv tool
(hash `bc4f162b`), live-verified to expose the blocked-entity SEI. Remote now:
`main` + historical (`rc4`, `rename/clarion-to-loomweave`) + auto-managed
`dependabot/*` only.

## Decided/shipped this session (2026-07-01)

- **PDR-0009 — loomweave 1.4.0 shipped to all channels** (owner-authorized). 45
commits had accrued on `main` since `v1.3.1` with no release; two P2 review
fixes (#80) landed, then a minor bump (features shipped → 1.4.0, not a patch):
20-file lockstep bump + CHANGELOG (#81), tag `v1.4.0` **prepared and held**, then
pushed on explicit owner say-so. **PyPI** (all 3 packages) + **GitHub Release**
(cosign/Rekor-verified) + **crates.io** (all 9 crates) now at 1.4.0. Local
`loomweave` reinstalled to 1.4.0 via uv.
Comment on lines +73 to +75

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reconcile install docs with registry publishing

This checkpoint declares PyPI and crates.io live for 1.4.0, but the operator getting-started guide still tells users that the current 1.x line deliberately does not publish to PyPI or crates.io (docs/operator/getting-started.md lines 107-109). After this release, following the user-facing install docs points operators away from the newly published channels and contradicts the release state; please update the install guidance as part of this checkpoint.

Useful? React with 👍 / 👎.

- **P2 review fixes (#80)** — the plugin `anchor_entity_id` trust-boundary strip
(a plugin finding could otherwise forge the trusted anchor → FK-hard-fail the
analyze run or silently mis-anchor) **and** re-vendoring the Wardline taint
golden — the same conformance drift the prior checkpoint flagged (open question
4b). Fixes the *drift*; the CI blind-spot itself remains (see 4b).
- **Two release-process defects found + fixed** (context, not new bets): the
crates.io publish-order list omitted the new `loomweave-llm` crate → partial
publish; fixed (#83) **and** completed the publish by hand from a `v1.4.0`
worktree. And a date **time-bomb** — two summary-cache tests hardcoded
`created_at: 2026-01-01` read through a 180-day window under the real clock, so
`main` went red on 2026-07-01 with no code change; fixed by pinning the clock
(#84).

## Metric signals

- **No new readings this session** (cleanup + investigation only — no CI runs or
sweeps). Carried unchanged from 2026-06-28: CI floor GREEN on PR #78;
federation MCP-transport correctness = 0 mis-framed stdio clients; north-star
(open collision families) = 0, not re-swept. See `metrics.md`.
- **CI floor GREEN across the 1.4.0 release (2026-07-01)** — the release verify
gate + PRs #80/#83/#84 all passed (Rust + Rust aarch64 + Python + e2e); local
full-workspace nextest **1977 passed** with `WARDLINE_REPO` set. All three
distribution channels published at 1.4.0. See `metrics.md`.
- **CI floor GREEN on PR #79** (`a980ef2`): all 4 CI checks (Rust + aarch64 +
Python + Sprint-1 e2e); locally fmt + workspace clippy (-D warnings) + doc clean,
nextest **1972/1973**. See `metrics.md`.
- **CI blind spot — drift RE-VENDORED, spot REMAINS:** the
`wardline_taint_fact_conformance_oracle` drift flagged 2026-06-29 was re-vendored
this cycle (#80, PDR-0009), so the *drift* is cleared — but the underlying
local-red/CI-green divergence (the oracle skip-cleans when the `~/wardline`
sibling is absent, so a drift still passes CI) is structural and **still open →
promote clarion-72e1c1a07d** (open question 4b).
- North-star (open collision families) = 0, **not re-swept** (this was federation
correctness, not graph identity — no identity/extraction code touched).
Comment on lines +104 to +105

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Rework the north-star carry-forward rationale

This 2026-07-01 checkpoint also records 1.4.0 shipping Rust-plugin dead-code reachability roots and #80's plugin-anchor hardening, so the cycle did touch graph/extraction-adjacent surfaces. Carrying the north-star reading forward specifically because “no identity/extraction code touched” can mislead the next session into treating the 0-defect reading as validated after a release that changed the surfaces it measures; either re-sweep or state the real reason the reading is being carried without that claim.

Useful? React with 👍 / 👎.

- **`tools/list` 22 KB budget** — still UNKNOWN, carried from 2026-06-24; not re-measured.

## Open questions / awaiting owner
Expand All @@ -71,6 +117,13 @@ The warpline churn-fill (transport **and** keying gap) has now shipped — see
`reresolve-sei` to heal already-minted NULL rows (operational, cross-product);
(b) deep-pagination half now tracked as clarion-obs-acffc4e8a1 (open).
4. **`tools/list` byte budget** — re-measure; may be breached.
4b. **Promote clarion-72e1c1a07d to a guardrail (carried, 2026-06-29).** The
`wardline_taint_fact_conformance_oracle` local-red/CI-green divergence recurred
(flagged 2026-06-26, fired 2026-06-29). The *drift* was re-vendored 2026-07-01
(#80, PDR-0009) — but that is another manual re-vendor, not a fix: the oracle
still skip-cleans when `~/wardline` is absent, so the next sibling drift passes
CI again. Still needs a CI-visible check or a re-vendor cadence. **Promotion
remains open.**
5. **Adoption metric** — still undecided; telemetry is escalation-gated (local-first).
6. **ESCALATION (carried, outward-facing, gated):** Wardline Amendments 4–9 corpus
re-vendor handoff — prepared, not pushed. Do not push without owner sign-off.
Expand All @@ -85,6 +138,9 @@ The warpline churn-fill (transport **and** keying gap) has now shipped — see

## Where the next session starts

1. **DECIDE:** resolve open question 1 — either accept/merge warpline #77 (+ plan
the keying-gap fix) or pick a new Now from the three candidates. Then set the
north-star successor target, and DISPATCH (PRD + plan) as usual.
1. **DECIDE a new Now** (warpline is shipped **and 1.4.0 is now published to all
channels**, so no release chore is pending — the field is the three recorded
candidates: incremental-analyze correctness cluster / per-provider split /
B.4\* perf). Set the north-star successor target, then DISPATCH (PRD + plan).
The wardline-drift guardrail (open question 4b) is a cheap, in-grant pickup if a
smaller bite is wanted first.
76 changes: 76 additions & 0 deletions docs/product/decisions/0009-ship-and-publish-1.4.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# PDR-0009: Ship and publish loomweave 1.4.0 (minor release, all distribution channels)

- **Date:** 2026-07-01
- **Status:** accepted — **owner-authorized in-session** (the release + its public
publish are outward-facing one-way doors; both were explicitly directed by the
owner this session: "please push it and verify the package", and later "complete
the 1.4.0 crates.io publish … do this please"). Not a pending escalation — done.
- **PRD:** none (a distribution/packaging milestone, not a fresh PRD-scoped bet; it
ships already-accepted bets — PDR-0005 loomweave-llm extraction, PDR-0006/0008
warpline federation — plus 1.3.1→1.4.0 accumulated work)
- **Tracker:** no dedicated issue (release chore). Related PRs this cycle: #80
(P2 review fixes — the immediate trigger), #81 (version bump + CHANGELOG), #82
(.gitignore), #83 (crates.io publish-order fix), #84 (test time-bomb fix).

## Context

45 commits had accumulated on `main` since `v1.3.1` (2026-06-22) with **no release
cut** — including user-facing features (the Warpline churn consumer lighting up
`entity_high_churn_list` / `entity_recent_change_list`; ADR-054 Rust dead-code
reachability roots) and a new workspace crate (`loomweave-llm`, PDR-0005). The
session opened resolving two P2 review findings (#80: the plugin `anchor_entity_id`
trust-boundary strip + re-vendoring the Wardline taint golden — the same
conformance drift the prior checkpoint flagged, open question 4b). With those
landed and the floor green, cutting a release was the natural close.

Two facts forced the versioning call and the "publish now" decision:
1. **SemVer says minor, not patch.** Features shipped since 1.3.1 → `1.4.0`, not
`1.3.2`. Presented as such (not a coin-flip) and confirmed by the owner.
2. **A tag push is irreversible.** `release.yml` on a `v*` tag publishes to real
PyPI (append-only) + a public GitHub Release. So the tag was *prepared and
held* first (branch → 20-file lockstep bump → CHANGELOG for the 45 commits →
PR #81 → merge → annotated tag at the merged HEAD), and pushed only on explicit
owner say-so.

## Options

1. **Don't release; keep accumulating on `main`.** Rejected: 45 commits of shipped
value (incl. a new crate and two user-facing features) unreleased is a widening
gap between `main` and what operators can `uv tool install`; the north-star
("prefer the graph over grep") only pays off for users on a released build.
2. **Cut a 1.3.2 patch.** Rejected: features shipped → SemVer requires a minor.
3. **Cut & publish 1.4.0 to all channels** (chosen) — minor bump, full lockstep,
published to PyPI + GitHub Release + crates.io, with the tag held until the
owner authorized the irreversible push.

## The call

**Option 3 — owner-authorized in-session.** Prepared as a held tag first
(reviewable CHANGELOG, no premature publish), then pushed on the owner's explicit
"push it". PyPI (all three packages) + GitHub Release published cleanly; cosign/
Rekor asset verification passed. The installed local `loomweave` was reinstalled
to 1.4.0 via uv.

**Release-process defects surfaced and fixed in the same cycle** (context, not
separate decisions):
- **crates.io partial-publish** — `release.yml`'s hand-maintained publish-order
list never included the new `loomweave-llm` crate, so `cargo publish -p
loomweave-mcp` failed ("no matching package named loomweave-llm found") and left
`loomweave-llm` / `-mcp` / `-cli` unpublished on crates.io (PyPI + GitHub Release
unaffected — separate channels). Fixed the order list (#83) **and** completed the
publish by hand (owner-authorized) from a `v1.4.0` worktree; all 9 workspace
crates now `PRESENT@1.4.0`.
- **Date time-bomb** — two `orientation_pack` summary-cache tests hardcoded
`created_at: 2026-01-01` and read it back through a 180-day freshness window
under the real wall clock, so `main` went red on 2026-07-01 (181 days) with no
code change. Fixed by pinning a fixed clock (#84).

## Reversal trigger

Reopen (i.e. cut a `1.4.1` patch) if a **critical regression in 1.4.0** is found on
a released build — a correctness break in the graph/identity surface, a broken
`uv tool install loomweave==1.4.0`, or a plugin that fails to launch from the
published wheels. Metric anchor: the CI-floor guardrail (`metrics.md` §2) must stay
green on `main` post-release; a red floor traced to a 1.4.0-shipped change is the
signal. A published version is never unpublished — the remedy is always a new
patch, never a re-push of `1.4.0`.
26 changes: 24 additions & 2 deletions docs/product/metrics.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# Loomweave — Metrics

> Bootstrapped 2026-06-11. **Updated 2026-06-28** (checkpoint). Baselines are
> real observed readings; targets are falsifiable (a number/boolean and a date).
> Bootstrapped 2026-06-11. **Updated 2026-07-01** (checkpoint — 1.4.0 release
> CI-floor reading, PDR-0009). Prior: 2026-06-29 (PR #79 reading; wardline-drift
> blind spot). Baselines are real observed readings; targets are falsifiable (a
> number/boolean and a date).

## North star

Expand Down Expand Up @@ -61,6 +63,26 @@ found by the adversarial 4-corpus QA sweep.
walking-skeleton). 131 loomweave-federation tests green locally; fmt + clippy
(-D warnings, federation/mcp/cli) + cargo doc clean. (Scoped verification — the
federation crate + downstream; not a full-workspace nextest this session.)
- `READING (2026-06-29): GREEN on PR #79` — the briefing-blocked SEI fix
(PDR-0008) merged to `main` `a980ef2`; all 4 CI checks pass (Rust + Rust
aarch64 + Python + Sprint-1 e2e). Locally: fmt + workspace clippy (-D warnings)
+ cargo doc (-D warnings) clean; nextest **1972/1973**. **The CI blind-spot
caveat above FIRED this session:** the lone local failure was
`wardline_taint_fact_conformance_oracle` (vendored golden drifted from the live
`~/wardline` sibling — a taint-fingerprint diff), exactly the
local-red / CI-green divergence flagged 2026-06-26. It has now **recurred** →
per that reading's own trigger, promote clarion-72e1c1a07d to a real guardrail
(the vendored-golden drift needs a CI-visible check or a re-vendor cadence).
- `READING (2026-07-01): GREEN across the 1.4.0 release` (PDR-0009) — the
release verify gate + PRs #80 (P2 fixes), #83 (crates.io order), #84 (test
time-bomb) all passed (Rust + Rust aarch64 + Python + Sprint-1 e2e). Locally,
full-workspace `nextest` **1977 passed** with `WARDLINE_REPO=/home/john/wardline`
Comment on lines +76 to +79

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Retarget identity stability to the 1.4.x line

This adds the 1.4.0 release reading, but the same metrics file still scopes the identity-stability target to “stays 0 across the 1.3.x line”. Once 1.4.0 is published, that target no longer covers the released line, so SEI churn regressions in 1.4.x fall outside the documented guardrail; please retarget it to the current release line or mark the old target superseded.

Useful? React with 👍 / 👎.

set (the wardline oracle exercised, not skipped). The 2026-06-29 drift was
**re-vendored** this cycle (#80), so the oracle is green again — but the
CI-invisibility blind spot itself is unfixed (still skip-cleans without the
sibling); clarion-72e1c1a07d promotion stays open. Two release-process defects
fixed in-cycle: crates.io publish-order omitted `loomweave-llm` (#83) and a
`created_at`-vs-real-clock time-bomb reddened `main` on 2026-07-01 (#84).
- `TARGET: green on every release/merge — standing, no end date`
3. **MCP context tax under budget**: `tools/list` payload has a CI-enforced
22,000-byte budget.
Expand Down