fix(v0.1.10): resolve open review comments from PRs #147/#149 + release prep - #150
fix(v0.1.10): resolve open review comments from PRs #147/#149 + release prep#150db-tycoon-stephen wants to merge 7 commits into
Conversation
…view) ai_hint() pointed every failed ingestion and dbt test at the removed 'tycoon ask chat'; observability scaffold suggested 'tycoon ask sync'. Also drops the dead nao_dir config property, the scaffolded .gitignore nao entries, and stale Nao mentions in comments/docstrings. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…sert quack port (PR #147 review) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…coverage floor to 68 - pandas==3.0.3, pinned like every other core dep; nothing in src/ imports it but dlt's on-demand filesystem source needs it for CSV reads (tests/test_e2e_demo_arc.py proves it). Extra treatment: #148. - Coverage floor: deleting the untested server/dagster code lifted real coverage to ~73%, so the floor moves UP to 68 (5-point drift headroom, same margin as the old 65/60 split) — not down to 55. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…cope-doc status note - CHANGELOG [0.1.10] UNRELEASED section + docs/releases/v0.1.10.md (Released: TBD — date flips at ship time per release procedure) - docs/commands/ask/ and recipes/lm-studio-local-llm.md deleted with the feature; mkdocs nav updated - ingestion-architecture.md: align command names to the 'tycoon data sources' namespace (PR #149 review) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…user-facing pages Every page describing the removed surface now documents the actual v0.1.10 CLI: 4-step wizard, two servers (rill + quack), no extras beyond [docs]. Verified against src (cli.py command tree, start.py _SERVER_NAMES, constants.PORTS, project.py StackConfig, pyproject extras). docs/releases/ and docs/proposals/ untouched (historical record). mkdocs build --strict clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request transitions the database-tycoon CLI to version 0.1.10, focusing on streamlining the codebase by completely removing the FastAPI web UI, Dagster orchestration, and Nao/ask AI agent integrations. It introduces a typed MetadataBackend protocol with a DuckDB file backend for run history, pins pandas as a core dependency, and re-baselines the test coverage floor to 68%. The review feedback correctly suggests adding 'dagster' and 'Dagster' to the stale substring sentinel checks in tests to prevent accidental re-introduction of these terms.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| ("nao", | ||
| "removed in v0.1.10 — the Nao agent integration was dropped"), | ||
| ("Nao", | ||
| "removed in v0.1.10 — the Nao agent integration was dropped"), |
There was a problem hiding this comment.
Since the Dagster integration has been completely removed in this release (along with the [dagster] extra and its associated commands), we should also add "dagster" and "Dagster" to the _STALE_SUBSTRINGS sentinel. This will ensure that any accidental re-introduction of Dagster-related user-facing strings or commands in the codebase will be caught by the tests.
| ("nao", | |
| "removed in v0.1.10 — the Nao agent integration was dropped"), | |
| ("Nao", | |
| "removed in v0.1.10 — the Nao agent integration was dropped"), | |
| ("nao", | |
| "removed in v0.1.10 — the Nao agent integration was dropped"), | |
| ("Nao", | |
| "removed in v0.1.10 — the Nao agent integration was dropped"), | |
| ("dagster", | |
| "removed in v0.1.10 — the Dagster integration was dropped entirely"), | |
| ("Dagster", | |
| "removed in v0.1.10 — the Dagster integration was dropped entirely"), |
There was a problem hiding this comment.
Code Review
This pull request implements a major cleanup and refocusing of the codebase for version 0.1.10, referred to as "the great slimming." It removes the FastAPI web UI, Dagster orchestration, and Nao/ask AI agent integrations entirely, along with their respective optional dependency groups ([server], [dagster], and [ask]). Concurrently, it introduces the first milestone of the ingestion rewrite, adding a typed MetadataBackend protocol and a DuckDB file backend to handle run history. It also pins pandas as a core dependency, updates the test coverage floor to 68%, and cleans up all related documentation, CLI commands, and helper utilities. I have no feedback to provide as there are no review comments.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Summary
Addresses every unresolved review comment from PR #147 (my review) and PR #149 (Gemini), plus the v0.1.10 release-prep machinery, targeting the release branch.
Review fixes (PR #147)
ai_hint()(printedtycoon ask chat …on every failed ingestion / dbt test) deleted along with its 6 call sites;data observability scaffoldno longer suggeststycoon ask sync; deadnao_dirconfig property, scaffolded.gitignorenao entries, and stale Nao comments/docstrings dropped_STALE_SUBSTRINGSnow guardstycoon ask/register llm/nao/Nao, so this class of drift fails tests from now ontests/test_e2e_demo_arc.py: dlt's on-demand filesystem source needs it for CSV reads. Kept, pinned==3.0.3to match the exact-pin convention, with a comment naming the real consumer (extra treatment stays tracked in feat: make pandas an optional extra with proper CI matrix #148)tycoon startshutdown catches(OSError, subprocess.TimeoutExpired)instead of blanketException(PR fix(v0.1.9): address PR #59 review feedback (robustness polish) #69 convention)Review fixes (PR #149)
ingestion-architecture.mdcommand names aligned to thetycoon data sourcesnamespace (upgrade,catalog) per Gemini's consistency commentsRelease prep
pyproject.toml+__init__.py;tycoon --versionverified)[0.1.10] - UNRELEASEDsection +docs/releases/v0.1.10.md(_Released: TBD_— date flips at ship time per the release procedure)docs/commands/ask/and the LM Studio recipe deleted; ~22 pages + README updated to the actual surface (4-step wizard, rill+quack servers,[docs]-only extras), verified against src; mkdocs nav updateddocs/proposals/v0.1.10-scope.mdgets a dated status note: the cycle pivoted to the rewrite track; security items [security] ${VAR} interpolation in tycoon.yml is an env-var exfiltration vector (Medium) #62–[security] Add secret-scanning + SAST, pin runtime dlt installs, add SECURITY.md (Low) #68 all remain open (scope decision pending)Test plan
uv run pytest→ 611 passed, 2 skipped (includes new sentinel entries)uv run pytest --cov→ 73.3% ≥ new 68% flooruvx ruff check src tests→ cleanuv run --extra docs mkdocs build --strict→ cleanuv run tycoon --version→ 0.1.10grep -rniE 'tycoon ask|register llm|dagster|nao' README.md docs/(excl. releases/proposals) → only generic-English hits🤖 Generated with Claude Code
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.