Skip to content

docs(plans): consolidated scoped-summary-stats V1 plan + V2 async outline#779

Open
paddymul wants to merge 1 commit into
mainfrom
docs/async-stats-plan
Open

docs(plans): consolidated scoped-summary-stats V1 plan + V2 async outline#779
paddymul wants to merge 1 commit into
mainfrom
docs/async-stats-plan

Conversation

@paddymul
Copy link
Copy Markdown
Collaborator

Summary

Consolidates the planning doc for the scoped-summary-stats work that #777 (JS) and #778 (backend) implement.

  • Moves the seed file from plans/ (stray local copy) to docs/plans/ (the convention already used by lisp-sd-channel-plan.md etc.).
  • Rewrites async-stats.md to cover V1 (raw / cleaned / filtered scopes, ? optional pinned rows, sync compute, no WS protocol changes) and preserves the original async-stats motivation as V2 (two-message WS protocol, asyncio.to_thread).
  • Small link-update on 773-load-expr-handler.md so its "Stats latency" note points to the consolidated doc.

Out-of-scope follow-ups documented in the plan

  • cleaned_* scope (third scope; only meaningful when cleaning_method != "")
  • Histogram bin-edge sharing across scopes; categorical↔numerical column-type handling
  • Async stats (V2)
  • depends_on_order: bool on ColAnalysis so sort can skip stat recompute

Test plan

  • Doc-only PR; no behavior changes.
  • Confirm rendered markdown reads cleanly on GitHub.

🤖 Generated with Claude Code

Rewrites docs/plans/async-stats.md to cover the now-in-flight scoped
summary stats work (#777 frontend, #778 backend) and preserves the
original async-stats motivation as V2.

V1 (this PR's scope):

- raw / cleaned / filtered scopes coexisting in merged_sd
- `?key` optional-pinned-row config syntax for declarative
  render-if-present behavior
- prefixed row indices in a single all_stats DF
- deliberate breaking change to bare-name semantics
- sync compute, no WS protocol changes
- PR sequencing: this doc → #777 (JS) → #778 (backend)

V2 (separate issue):

- two-message WS protocol per state change
- `asyncio.to_thread` for filtered scope compute
- state-change keys + stale-response handling

Also updates docs/plans/773-load-expr-handler.md to link to this file
from its "Stats latency" follow-up note.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

📦 TestPyPI package published

pip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.14.3.dev26184149169

or with uv:

uv pip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.14.3.dev26184149169

MCP server for Claude Code

claude mcp add buckaroo-table -- uvx --from "buckaroo[mcp]==0.14.3.dev26184149169" --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo-table

📖 Docs preview

🎨 Storybook preview

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