Skip to content

docs: architecture overview, README refresh, delete V0 cruft#139

Merged
paddymul merged 6 commits into
mainfrom
docs/architecture-overview
Jul 1, 2026
Merged

docs: architecture overview, README refresh, delete V0 cruft#139
paddymul merged 6 commits into
mainfrom
docs/architecture-overview

Conversation

@paddymul

Copy link
Copy Markdown
Contributor

What

Adds a top-level architecture doc, refreshes the README to current reality, and clears out stale V0 cruft.

New: docs/architecture.md

The map a newcomer reads first:

  • Subsystem component map (tallyman_core / xorq / companion / mcp / cli / frontend) with dependency direction.
  • On-disk catalog layout and key formats (recipe zips, JSONL pointers, manifest, the activity/error logs).
  • Core domain concepts (content hash, result digest, aliases + V_n, parent edges/following, staleness, recalc cone, two-axis caching, portability, checkpoint/reset).
  • The four main data-flow paths (catalog_run, revise+auto-recalc, viewing a grid, diffing versions).
  • A currency-annotated index of every other doc/ADR/plan. Linked from the README intro.

README refresh

Brought to current reality:

  • React SPA served from packages/app/dist (there are no Jinja templates).
  • Correct /{project}/api/* routes and SSE event kinds; dropped the non-existent /lineage routes.
  • Global ~/.tallyman-notebooks/buckaroo_sessions.json (not per-catalog), ~/.tallyman-notebooks/ home.
  • Stable per-entry build-dir expansion (not a tmp copy); tallyman pack handoff; fixed test pointer.

Dropped the orphaned embed

Removed packages/embed / buckaroo-embed.js references from the README and docs/installing.md — the live SPA mounts BuckarooServerView from buckaroo-js-core directly. installing.md step 3 now builds packages/app (the SPA that's actually served) instead of the embed. Removing the package itself is tracked in #138.

Deleted stale cruft

plan.md, TICKETS.md, demo/script.md — they predate the SPA migration, the result.parquet removal, and the JSONL catalog format. docs/architecture.md supersedes them.

Notes

Docs-only change. No code touched; net −1051 lines.

🤖 Generated with Claude Code

@paddymul paddymul force-pushed the docs/architecture-overview branch from 9687afc to 53d9263 Compare June 25, 2026 18:34
paddymul and others added 6 commits June 26, 2026 13:25
New docs/architecture.md: top-level subsystem map (core/xorq/companion/mcp/cli/frontend), the on-disk catalog layout, core domain concepts, the main data-flow paths, and a currency-annotated index of every existing doc/ADR/plan. README intro now points to it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Refresh the README to current reality: React SPA served from packages/app/dist (not Jinja), correct /{project}/api/* routes and SSE kinds, global ~/.tallyman-notebooks/buckaroo_sessions.json, stable build-dir expansion, tallyman pack handoff.

Drop references to the orphaned packages/embed bundle from the README and installing.md — the live SPA mounts BuckarooServerView from buckaroo-js-core directly; removal of the package is tracked in a follow-up issue.

Delete plan.md, TICKETS.md, and demo/script.md as stale V0 cruft (predate the SPA migration, result.parquet removal, and JSONL catalog format); architecture.md supersedes them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
plan.md was deleted in this branch; repoint the three docstrings that cited it (main.py pack, summary_stats.py, io.py) to docs/architecture.md or drop the citation. The io.py docstring also described portability as not-yet-implemented; corrected to reflect the shipped ${TALLYMAN_PROJECT_ROOT} rewriting + tallyman pack.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… doc

Define Server-Sent Events at first use and add a 'Live updates over SSE'
concept covering the single EventSource stream, the event kinds the SPA
listens for, and the monotonic version counter that drives refetches in
place of polling. Grounded in packages/app/src/SSEContext.tsx.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Document every tool Claude Code drives over the tallyman MCP server: all
30 @mcp.tool() endpoints plus the ds_modeling_workflow @mcp.prompt(),
grouped by family, each with signature, parameters, return shape, and
side effects (checkpoint / SSE notify / auto-recalc). Adds a launch +
cross-cutting-behavior section (opt-out checkpointing, _tag_project,
best-effort notify, sticky active project) and an at-a-glance
side-effect matrix.

Surfaces one quirk the audit turned up: catalog_list_display_klasses is
missing from _NO_CHECKPOINT, so it commits an empty git revision
(checkpoint_catalog uses --allow-empty) on every call.

Link the new doc from architecture.md (mcp subsystem pointer, docs
index, gaps note).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…d_csv

Rewrite the Result digest concept: it is now snapshot_file_digest (SHA-256
of the baked snapshot parquet, ordered by original_row_order) — a row
multiset, recorded for worthy entries only; cheap entries record none.
Replaces the per-row repr()+sha256 description.

Index the three docs PR #137 added: the canonical-ordering ADR (under
ADRs) and the two digest-investigation findings (datafusion scan order,
result_digest vs xorq staleness). Note tallyman_read_csv as the fourth
in-code data-sourcing helper in the MCP authoring section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@paddymul paddymul force-pushed the docs/architecture-overview branch from 53d9263 to 46698ee Compare June 26, 2026 17:39
@paddymul paddymul merged commit 5d29d98 into main Jul 1, 2026
4 checks passed
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