mvp v7 rerun: dual-routing demo + freshness verification - #302
Merged
Merged
Conversation
After backend PRs #91 / #92 / #93 land, this commit: 1. Migrates `deploy/configs/backend-storage-routing.yaml` to the v7 dual-routing schema. http_requests_total fans out to TWO targets — warm-tier default + cold-archive `[count, topk, rate_post_hoc]`. Freshness probes route via gorilla. 2. Patches `asap-gorilla::IndexEntry` + `IndexFile` to accept BOTH the backend-canonical and agent-side JSON shapes (the agent's `gorillas3processor` writes `object`/`start_ts_nano`/`point_count`; backend writes `key`/`time_range`/`sample_count`). 3 new tests. 3. Patches `deploy/scripts/measure_freshness.py` to filter NaN responses from gorilla on empty windows. Pre-v7 the int conversion blew up the script entirely; now we keep polling. 4. Patches `deploy/docker-compose/base.yml` to make backend `RUST_LOG` env-overridable via `BACKEND_RUST_LOG`. 5. Patches `gorillas3processor.encoder.go` to write the seriesCount slot at byte offset 9 (post-magic, post-version) instead of the buggy offset 5. Pre-v7 every chunk landed with corrupted header bytes — invisible because no consumer decoded them; v7's `last_over_time` query path is the first that does. 6. Includes the v7 demo run artifacts under `deploy/eval-results/mvp-v7-2026-05-06/` plus an annotated `MVP_REPORT_v7.md` with v6.1 → v7 verdict diff and the diagnosis chain explaining why ④ and ⑥ remain UNKNOWN despite the routing side closing fully (agent encoder rebuild + SimpleEngine raw counter support are deferred next steps). The agent encoder fix is staged as a code-level commit; it takes effect only after rebuilding `asap/sketchcol:dev` from the patched go binary, which requires the local OCB build chain. That rebuild is out of v7's two-change scope. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
After backend PRs ProjectASAP/ASAPQuery-backend#91 + #92 + #93 admin-merged, this PR drives the v7 demo and captures the v6.1 → v7 verdict diff.
Three classes of change
Routing yaml migrated to v7 dual-routing schema.
http_requests_totalfans out to TWO targets (warm-tier default + cold-archive[count, topk, rate_post_hoc]); freshness probes route to gorilla.asap-gorillaaccepts agent-side index.json shape.IndexEntry+IndexFilenow decode both backend-canonical (key/time_range/sample_count/schema_version) and agent-side (object/start_ts_nano+end_ts_nano/point_count/version) wire shapes. 3 new tests.Demo-side fixes.
measure_freshness.pyfilters NaN responses (gorilla returns NaN for empty windows; the int-conversion blew up the script entirely pre-v7).base.ymlmakes backendRUST_LOGenv-overridable.Plus one staged ingest-side fix
gorillas3processor.encoder.gowrites the seriesCount slot at byte offset 9 (post-magic, post-version) instead of the buggy offset 5. Pre-v7 every chunk landed with corruptedGORILLA1magic bytes — invisible because no consumer decoded them; v7'slast_over_timequery path is the first that does. The fix lives in this branch as a code-level commit but takes effect only after rebuildingasap/sketchcol:devfrom the patched go binary, which requires the local OCB build chain (siblingsketchlib-gorepo +build_sketchcollector.sh+docker build -f Dockerfile.sketchcol). That rebuild is out of v7's two-change scope; staging it here lets the next agent rebuild close ⑥.Verdict diff (v6.1 → v7)
MVP_REPORT_v7.mdhas the full diagnosis chain + v6.1 → v7 → next steps annotation.Test plan
--no-cache(SHA3553ceb8b0aa)nohupdaemonizationlivecurland backend logs)asap-gorillaaccepts both wire shapes (3 new tests pass)🤖 Generated with Claude Code