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
14 changes: 7 additions & 7 deletions PROGRESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -402,13 +402,13 @@ deploy/scripts/run_e2e_sweep.sh --out-dir /tmp/sweep-$(date +%s) --soak-secs 120
through to capability matching or the cold tier. Adding
patterns is mechanical but expands what queries the warm
tier can answer.
5. **Cold reader is intolerant of torn last lines.** Under
concurrent producer write + reader scan, the §5.2
`parse_jsonl` path failed on a torn last line. A 5-line
change in
`asap-query-engine/src/drivers/query/fallback/cold_store/format.rs`
to drop a malformed trailing line + warn would unblock soaks
that don't pause writes before snapshotting.
5. **~~Cold reader is intolerant of torn last lines.~~**
**Done 2026-05-05** ([ASAPQuery-backend#80](https://github.com/ProjectASAP/ASAPQuery-backend/pull/80)).
`parse_jsonl_at` tolerates a torn trailing line + warn-logs
the part-file path; mid-file corruption still hard-errors.
Two new pin tests (`parse_jsonl_ignores_torn_trailing_line`,
`parse_jsonl_errors_on_mid_file_corruption`) lock both
shapes against future regression.
6. **Reducer runs offline; doesn't need the backend live.** That's
fine for accuracy claims, but PromQL semantics are easy to
drift from the engine. Add a self-check that runs the same
Expand Down
2 changes: 1 addition & 1 deletion controller/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
prost_build::compile_protos(&["proto/opamp.proto"], &["proto/"])?;
// asap.runtime.v1.RuntimeSamples service — receives
// PushExporter batches from agents. Must stay in lockstep
// with `sketchlib-bench/sketch-runtime/proto/feedback.proto`.
// with `sketch-bench/sketch-runtime/proto/feedback.proto`.
tonic_build::configure()
.build_server(true)
.build_client(false)
Expand Down
2 changes: 1 addition & 1 deletion controller/src/runtime_samples.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
//! the agent — critical when the decision loop is real-time.
//! See the design discussion thread for the full trade-off;
//! the summary is in
//! [`sketch-runtime::exporter::grpc`](https://github.com/ProjectASAP/sketchlib-bench/blob/main/sketch-runtime/src/exporter/grpc.rs).
//! [`sketch-runtime::exporter::grpc`](https://github.com/ProjectASAP/sketch-bench/blob/main/sketch-runtime/src/exporter/grpc.rs).
//!
//! ## Why a ring buffer, not a stream
//!
Expand Down
8 changes: 4 additions & 4 deletions docs/adr/adr-0001-retire-sketch-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ algorithm crates with overlapping responsibilities:

- `asap_sketchlib` — the canonical algorithm crate, holding
`DDSketch`, `KLL`, `HLL`, `Count`, `CountMin`, `CMSHeap`, etc.
Already shared with `sketchlib-bench` and external benchmark
Already shared with `sketch-bench` and external benchmark
harnesses.
- `sketch-core` — a wrapper crate vendored into
`ASAPQuery-backend/asap-common/sketch-core/` (and its sibling
forks in `ASAPQuery/asap-common/sketch-core/` and
`sketchlib-bench/sketch-core/`). It re-exposed the algorithms
`sketch-bench/sketch-core/`). It re-exposed the algorithms
with ASAP-specific wire-format types (`DdSketchState`,
`CountSketchState`, etc.), `apply_delta` methods, and the
`Strategy::Legacy` vs `Strategy::Sketchlib` `ImplMode` switch.
Expand Down Expand Up @@ -66,7 +66,7 @@ exercised in production paths, the switch became dead weight.
decision 3).

2. **Drop the three on-disk `sketch-core` forks.** All consumers
(`ASAPQuery`, `ASAPQuery-backend`, `sketchlib-bench`) depend
(`ASAPQuery`, `ASAPQuery-backend`, `sketch-bench`) depend
on `asap_sketchlib` directly via git URL.

3. **Drop the `ImplMode` (Legacy / Sketchlib) dispatch.** Always
Expand Down Expand Up @@ -117,7 +117,7 @@ exercised in production paths, the switch became dead weight.
`asap_sketchlib` are now the *only* defense against algorithm
drift. The R1 risk in the design doc explicitly calls this
out; mitigation (statistical-output cross-language harness in
`sketchlib-bench`) is tracked for follow-up.
`sketch-bench`) is tracked for follow-up.

### Compatibility

Expand Down
4 changes: 2 additions & 2 deletions docs/design-asap-edge-framework.md
Original file line number Diff line number Diff line change
Expand Up @@ -671,7 +671,7 @@ hash seeds, storage growth, and protobuf field ordering
legitimately differ across runtimes). Same input stream into both
runtimes; compare P50/P90/P99/count/sum/cardinality/top-K within
each sketch's published error bound (DDSketch α, KLL rank error,
HLL standard error). Harness in `sketchlib-bench` (the natural
HLL standard error). Harness in `sketch-bench` (the natural
cross-language home; already runs Go vs Rust microbenchmarks).
Limit to two reference impls long-term: Go and Rust, no third
language.
Expand Down Expand Up @@ -739,7 +739,7 @@ that's not how any of these platforms work.

- [ ] Approve §3–§8 abstractions and naming.
- [ ] Confirm R1 mitigation: statistical-output harness in
`sketchlib-bench`.
`sketch-bench`.
- [ ] Decide repo layout for `asap-precompute-{go,rs}`: separate
repos or subdirectories of `ASAPCollector`. Recommendation:
subdirectories until a second consumer wants the runtime.
Expand Down
2 changes: 1 addition & 1 deletion docs/paper-outline.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ workload + SLAs.
answers vs. truth and computes per-row relative
error / top-K recall; bound-derivation crib in
`ASAPQuery-backend/TODO.md` "Accuracy-profile library
per sketch type" + `sketchlib-bench/docs/DESIGN.md`.
per sketch type" + `sketch-bench/docs/DESIGN.md`.
5. **Fast query computation / short query latency.**
Backend p50 / p99 query latency is production-usable.
Headline target: ≤2× warm-hot for cold-fallback;
Expand Down