From 308fc68ea7c55bfafb532b1ac33084d36653fb19 Mon Sep 17 00:00:00 2001 From: John Morrissey <544926+tachyon-beep@users.noreply.github.com> Date: Mon, 29 Jun 2026 20:22:15 +1000 Subject: [PATCH 1/2] =?UTF-8?q?product:=20checkpoint=20=E2=80=94=20keying-?= =?UTF-8?q?gap=20fix=20(PDR-0008)=20shipped+installed,=20branches=20cleane?= =?UTF-8?q?d;=20CI-floor=20reading=20+=20wardline-drift=20recurrence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closing checkpoint for the 2026-06-29 session. No new decision (PDR-0008 already recorded + merged); this persists the session delta: metrics.md gets the PR #79 CI-floor GREEN reading and flags the wardline_taint_fact_conformance_oracle local-red/CI-green blind spot as RECURRED (promote clarion-72e1c1a07d to a guardrail); current-state refreshed to the true end-state (both warpline pieces shipped, branches deleted, fixed binary installed to local uv, stale "#77 open" docs corrected) and points the next session at DECIDE-a-new-Now. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/product/current-state.md | 40 +++++++++++++++++++++++++---------- docs/product/metrics.md | 15 +++++++++++-- 2 files changed, 42 insertions(+), 13 deletions(-) diff --git a/docs/product/current-state.md b/docs/product/current-state.md index 5c25cafe..2dc0161f 100644 --- a/docs/product/current-state.md +++ b/docs/product/current-state.md @@ -46,17 +46,28 @@ 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. ## 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 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 RECURRED:** the lone local nextest failure was + `wardline_taint_fact_conformance_oracle` (vendored golden drifted from live + `~/wardline`) — the local-red/CI-green divergence flagged 2026-06-26, now + recurred → **promote clarion-72e1c1a07d to a guardrail** (new open question). +- North-star (open collision families) = 0, **not re-swept** (this was federation + correctness, not graph identity — no identity/extraction code touched). - **`tools/list` 22 KB budget** — still UNKNOWN, carried from 2026-06-24; not re-measured. ## Open questions / awaiting owner @@ -71,6 +82,11 @@ 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 (NEW, 2026-06-29).** The + `wardline_taint_fact_conformance_oracle` local-red/CI-green divergence (vendored + golden drifts from live `~/wardline`) has now recurred (flagged 2026-06-26, fired + 2026-06-29) — its own trigger says promote on recurrence. Needs a CI-visible + check or a re-vendor cadence so a sibling drift can't pass CI. 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. @@ -85,6 +101,8 @@ 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** (the warpline work is fully shipped, so 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. diff --git a/docs/product/metrics.md b/docs/product/metrics.md index e7a11262..f0c8b5e0 100644 --- a/docs/product/metrics.md +++ b/docs/product/metrics.md @@ -1,7 +1,8 @@ # 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-06-29** (checkpoint — PR #79 CI-floor +> reading; wardline-drift CI blind spot recurred). Baselines are real observed +> readings; targets are falsifiable (a number/boolean and a date). ## North star @@ -61,6 +62,16 @@ 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). - `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. From e1ab182ae6b2fcdbaba4bd466c7f8fb7cc58c639 Mon Sep 17 00:00:00 2001 From: John Morrissey <544926+tachyon-beep@users.noreply.github.com> Date: Wed, 1 Jul 2026 20:27:00 +1000 Subject: [PATCH 2/2] product: 1.4.0 shipped to all channels; crates.io + time-bomb fixed; PDR-0009 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Checkpoint for the 2026-07-01 session. New decision PDR-0009 (ship & publish loomweave 1.4.0 — owner-authorized): minor bump on 45 commits since 1.3.1, prepared as a held tag then pushed on owner say-so; PyPI + GitHub Release + crates.io all at 1.4.0. current-state + metrics refreshed: the 2026-06-29 wardline-drift (open question 4b) was re-vendored via #80 this cycle, but the CI-invisibility blind spot itself remains — clarion-72e1c1a07d promotion stays open. roadmap/vision untouched (no bet moved horizon; the Now field is still the three recorded candidates, DECIDE not run). Folds forward the prior owner-session checkpoint 1823911 (committed to local main but never pushed — it diverged behind this session's release PRs) via cherry-pick, so origin/main carries both its 2026-06-29 delta and this 2026-07-01 delta; the stranded local 1823911 is now superseded. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/product/current-state.md | 78 ++++++++++++++----- .../decisions/0009-ship-and-publish-1.4.0.md | 76 ++++++++++++++++++ docs/product/metrics.md | 17 +++- 3 files changed, 148 insertions(+), 23 deletions(-) create mode 100644 docs/product/decisions/0009-ship-and-publish-1.4.0.md diff --git a/docs/product/current-state.md b/docs/product/current-state.md index 2dc0161f..955c1419 100644 --- a/docs/product/current-state.md +++ b/docs/product/current-state.md @@ -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). @@ -57,15 +64,43 @@ The warpline churn-fill (transport **and** keying gap) has now shipped — see `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. +- **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 +- **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 RECURRED:** the lone local nextest failure was - `wardline_taint_fact_conformance_oracle` (vendored golden drifted from live - `~/wardline`) — the local-red/CI-green divergence flagged 2026-06-26, now - recurred → **promote clarion-72e1c1a07d to a guardrail** (new open question). +- **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). - **`tools/list` 22 KB budget** — still UNKNOWN, carried from 2026-06-24; not re-measured. @@ -82,11 +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 (NEW, 2026-06-29).** The - `wardline_taint_fact_conformance_oracle` local-red/CI-green divergence (vendored - golden drifts from live `~/wardline`) has now recurred (flagged 2026-06-26, fired - 2026-06-29) — its own trigger says promote on recurrence. Needs a CI-visible - check or a re-vendor cadence so a sibling drift can't pass CI. +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. @@ -101,8 +138,9 @@ The warpline churn-fill (transport **and** keying gap) has now shipped — see ## Where the next session starts -1. **DECIDE a new Now** (the warpline work is fully shipped, so 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. +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. diff --git a/docs/product/decisions/0009-ship-and-publish-1.4.0.md b/docs/product/decisions/0009-ship-and-publish-1.4.0.md new file mode 100644 index 00000000..8fb2782e --- /dev/null +++ b/docs/product/decisions/0009-ship-and-publish-1.4.0.md @@ -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`. diff --git a/docs/product/metrics.md b/docs/product/metrics.md index f0c8b5e0..23a94a82 100644 --- a/docs/product/metrics.md +++ b/docs/product/metrics.md @@ -1,8 +1,9 @@ # Loomweave — Metrics -> Bootstrapped 2026-06-11. **Updated 2026-06-29** (checkpoint — PR #79 CI-floor -> reading; wardline-drift CI blind spot recurred). 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 @@ -72,6 +73,16 @@ found by the adversarial 4-corpus QA sweep. 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` + 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.