Skip to content

docs(adr-0002): restore backend-consumer framing for asap-precompute-rs - #246

Merged
zzylol merged 1 commit into
mainfrom
docs/adr-0002-restore-backend-consumer-framing
May 5, 2026
Merged

zzylol merged 1 commit into
mainfrom
docs/adr-0002-restore-backend-consumer-framing

Conversation

@zzylol

@zzylol zzylol commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Surgical doc-only fix to ADR-0002. PR #242 over-deleted text when
fixing edge/backend terminology — I parsed the user's clarification
("backend's precompute engine is separate design") as "backend
doesn't depend on asap-precompute-rs at all", which was wrong.

The correct scoping is:

  • Backend QUERY-side engine (PromQL aggregation, storage, query
    planning) is a separate design, NOT shared with the edge runtime.
  • Backend INGEST path (envelope parsing, delta apply, sketch
    state reconstruction, merge) IS shared with the edge runtime —
    this is exactly what asap-precompute-rs provides.

Edits

  • §Context: list the backend ingest path back as in-scope, while
    scoping out the backend's query-side engine.
  • §What gets extracted → asap-precompute-rs bullet: restore
    dual-purpose framing — consumed by (a) future Rust-based edge
    agents (Vector, OTAP-Rust receiver), AND (b) ASAPQuery-backend's
    ingest path; backend's query-side engine kept separate.
  • §Positive consequences: restore the agent / backend dedup
    bullet — explicit that the SHARED ingest pieces (envelope parsing,
    delta apply, sketch reconstruction, merge) are deduplicated, NOT
    the backend's query-side engine.
  • §Performance contract: split the Rust bullet into
    edge-side (mirrors asap-precompute-go bit-identically) and
    backend-ingest-side (bit-identical envelope parsing across
    languages — bytes from sketchlib-go must reconstruct via
    asap_sketchlib). Reference issue asap_sketchlib ↔ sketchlib-go byte-format harmonization (cross-language parity) #243 as the cross-language
    byte-alignment prerequisite for backend integration (Phase 3
    step 3).

Test plan

  • Doc-only diff (docs/adr/adr-0002-extract-precompute-runtime.md,
    +45/-18). No code touched.
  • No submodule pointer drift.
  • No residual "edge-only" / "backend doesn't depend" phrasing
    remains (grep clean).
  • Reviewer confirms the new framing matches the agreed scoping
    (ingest = shared, query = separate).

🤖 Generated with Claude Code

PR #242 over-deleted ADR text when fixing edge/backend terminology.
The correct scoping is:
- Backend QUERY-side engine (PromQL aggregation, storage, planning):
  separate design, not shared with edge runtime.
- Backend INGEST path (envelope parsing, delta apply, sketch
  reconstruction, merge): SHARED via asap-precompute-rs.

Restores §"What gets extracted" / §"Positive consequences" framing.
References issue #243 as byte-alignment prerequisite for backend
integration.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zzylol
zzylol merged commit 6c1d849 into main May 5, 2026
@zzylol
zzylol deleted the docs/adr-0002-restore-backend-consumer-framing branch May 9, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant