Skip to content

plan: triage and plan #16 bucket-oriented v2 query client - #71

Merged
craigmcchesney merged 2 commits into
mainfrom
plan/16-bucket-query
Oct 1, 2026
Merged

craigmcchesney merged 2 commits into
mainfrom
plan/16-bucket-query

Conversation

@craigmcchesney

Copy link
Copy Markdown
Collaborator

Plan-only PR for #16 (the bucket-oriented v2 query, queryBuckets / queryBucketsStream). Merging this does not close the issue; the implementation lands in PR A (client, conversions, unit tests) and PR B (live tests, docs, Closes #16).

Refs #16

What triage found

The ticket was AI-drafted and filed before #6 and #17 landed. Its request-side analysis holds; the rest needed correcting against dp-service main (08c2038):

Resolved questions (2026-09-30)

  • Q1: pandas output is one DataFrame per PV.
  • Q2: trimming is exact and opt-in.
  • Q3: two implementation PRs.
  • Q4: upstream contradictions filed as dp-grpc#167.

Flagged for review

Decisions taken without a question: D2 (refuse, not drop, the status filter), D4 (no dedup across overlapping buckets), D6 (serialized pass-through), D7 (per-bucket metadata in df.attrs["buckets"]), D8 (no streaming pandas convenience), D9 (one shared stream sender for both query kinds).

🤖 Generated with Claude Code

https://claude.ai/code/session_01CajTMkjkkzeoWXLSgMpn5k

Triage of the AI-drafted ticket against dp-service main (08c2038) and the
rel-1.16.0 stubs: most of the conversion layer exists from #6/#17;
sampleStatusSelector is rejected on buckets; useSerializedColumns is inert
on buckets (upstream docs fix filed as osprey-dcs/dp-grpc#167); limit counts
buckets and pages are also cut by bytes.  Q1-Q4 resolved: per-PV pandas
frames, opt-in exact trimming, two implementation PRs.

Refs #16

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CajTMkjkkzeoWXLSgMpn5k
Copilot AI balanced review requested due to automatic review settings October 1, 2026 15:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The trimming design lacks range validation and cannot correctly handle the promised unsorted timestamp axes.

Review effort: Balanced
Findings: 2 Medium severity

Open (2)
What changed in this PR

Plans issue #16’s bucket-oriented v2 query client and conversion layer.

Changes:

  • Documents verified server behavior and design decisions.
  • Splits implementation into client/unit-test and integration/docs PRs.
File Description
plan/​tickets/​16/​plan.md Defines triage findings, API design, implementation tasks, and sequencing.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread plan/tickets/16/plan.md
Comment thread plan/tickets/16/plan.md Outdated
A stored TimestampList is non-decreasing (dp-service rejects decreasing at
ingestion since rel-1.13.0), so trimming bisects and raises on a decreasing
axis instead of scanning; trim ranges require begin < end; bucket reads use
read-side checks only, since stored axes may carry duplicates the write path
refuses; pandas attrs are rebuilt after concatenation.

Refs #16

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CajTMkjkkzeoWXLSgMpn5k
@craigmcchesney
craigmcchesney merged commit 1d263b9 into main Oct 1, 2026
6 checks passed
@craigmcchesney
craigmcchesney deleted the plan/16-bucket-query branch October 1, 2026 16:41
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.

queryBuckets: correct useSerializedColumns docs, and document byte-cut pages, token scope, and result order

2 participants