Skip to content

release: cut 1.0.0-rc.77 - #1016

Merged
xerj-org merged 3 commits into
mainfrom
release/rc.77
Sep 21, 2026
Merged

xerj-org merged 3 commits into
mainfrom
release/rc.77

Conversation

@xerj-org

Copy link
Copy Markdown
Owner

Cuts 1.0.0-rc.77 — the stateless-index and reader-fairness release.

Ships

Stamps

engine/Cargo.toml + Cargo.lock at 1.0.0-rc.77; landing footers V1.0.0-RC.77 (51 files); CHANGELOG [1.0.0-rc.77] section with the full entries. Two historical rc.76 mentions kept on purpose (CHANGELOG history; the "since rc.76" feature-landing note in landing/answers/rebuild-reference-corpus-index).

After merge: tag v1.0.0-rc.77 → release.yml builds the 20 assets (incl. .deb amd64/arm64); scripts/verify-release.sh gates the run.

The stateless-index and reader-fairness release. Two headline changes,
each with a fail-before reproduction; everything else is a fix:

- storage.backend = "s3" starts for real (#965, PR #1008): the whole
  segment family packs into ONE immutable ZBM1 bundle object (footer =
  the ZCM1 manifest + absolute offsets; trailer adapted from quickwit's
  split-footer bundle, Apache-2.0, approach only). One object + the
  catalogue PUT is ~18% of R2's free Class-A tier at a 30 s flush
  interval where per-file PUTs would be ~899%. snapshot.json is the
  publication point; merges publish before retiring; a FRESH node on an
  empty data dir boots from the bucket and serves full-text over
  hydrated families (journey test). Fail-before: the round-trip test
  panicked "the flush must publish the snapshot catalogue". Honest
  limits stay in docs/OBJECT_STORAGE.md: single-writer v1, WAL local,
  in-memory packs, simulation-pinned crash consistency. Config 127 -> 128
- readers no longer starve under sustained ingest (#1013, PR #1014):
  the seqlock token was validated at the END of a search, demanding a
  writer-free interval spanning the whole scan — under flush pressure
  those stop existing and search/delete_by_query 500'd at their
  deadline (reproduced twice in the #950 profiling run). Validation now
  happens at the CAPTURE boundary with the evenness check; readers need
  a writer-free instant, not a writer-free search. Fail-before: churn
  test failed at its 2 s deadline with the production error; now passes
  in 0.37 s with exact totals (723/723 lib tests, ES-YAML 1376/0)
- /v1/systemone votes on the payload, never the instruction prose:
  0.9867 empty vs 0.6700 criteria-rich instructions was a 32-point
  swing from wording alone (#1000); {"message": ...} voted at the spam
  base rate, 0.1733 vs 0.9667 as a string (#1001). All eight
  wording/shape arms now score 0.9767 identically (PR #1007)
- the console tour's pill assertions raced the route hand-off (#1011) —
  aria-busy never goes 'true', so the wait matched the PREVIOUS route's
  DOM; failed only on slow runners (bit PR #1008's CI)
- CI honesty: the reference-coding toolkit's tests never ran (one
  filter per invocation; xc_ matched nothing — green on zero tests),
  and its MCP schema gate looked for a release binary the job never
  builds; the roadmap was re-reviewed against rc.76 (release-drift
  guard)
- follow-up filed: #1015 (flush guard spans the whole finalize — a
  latency consideration now, not a starvation hazard)

Version stamps: engine/Cargo.toml + Cargo.lock at 1.0.0-rc.77; landing
footers V1.0.0-RC.77 (51 files). Two historical rc.76 mentions kept on
purpose: the CHANGELOG section and the "since rc.76" feature-landing
reference in landing/answers/rebuild-reference-corpus-index.
@cla-bot cla-bot Bot added the cla-signed label Sep 21, 2026
…low the in-cut version stamp

PR #1016 is the first release/* PR since the gates landed, and three of them
failed — each a real catch, not noise:

1. docs_capability_lists::the_roadmap_next_release_has_not_already_been_cut and
   ::the_roadmap_review_line_names_the_latest_cut_release: the cut commit
   (55bffba) stamped the CHANGELOG but did not roll ROADMAP.md forward —
   line 5 still reviewed against rc.76 and the "Next release" heading still
   advertised rc.77. rc.76 dodged this only because it was cut directly on
   main (b9d75dd), which never runs the PR gates.

   ROADMAP.md now: review line names rc.77 (with the scope of this review
   stated — the Next-release section and shortlist were re-reviewed; the
   Shipping-today claims were last live-verified against rc.76), the heading
   points at rc.78, the in-flight list is replaced (the old one listed eight
   issues that are all closed now, and characterised #950 as "RSS feeds" —
   it is resident-set memory), and the "**Open defects" shortlist the
   release-notes gate parses is back, carrying only the five issues that are
   open today (verified via the API): #1015, #950, and the trackers #941,
   #874, #298.

2. release-notes-gate.sh check 1a ("found no linked issues in ROADMAP.md's
   '**Open defects' shortlist"): the shortlist was dropped from ROADMAP.md in
   5f3b6ea (rc.72-era rewrite) while the gate that requires it shipped in
   rc.71 (#870). Restored by (1) above; verified locally that every cited
   issue is open and that PR #1007 is covered via the issue it closes.

3. landing-constants-guard.sh ("version stamps disagree with the newest
   released tag"): the check required footer stamps to equal the newest tag,
   which a release PR can never satisfy — the footers are stamped with the
   version being cut before that version's tag exists. rc.76 dodged it the
   same way as (1). The allowed set is now {newest released tag,
   engine/Cargo.toml version}: a footer matching the version of the tree it
   ships in is self-consistent, not drift, and the set collapses to just the
   tag on every non-release branch. Applied to both the footer and the
   llms*.txt "Current release" checks.

Verified locally: landing-constants-guard.sh all checks pass; release-notes-
gate.sh PASS (freshness, shortlist states, coverage incl. #1007-via-#1000);
docs_capability_lists 15/15.
@xerj-org
xerj-org merged commit 5223bf2 into main Sep 21, 2026
22 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant