Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff"
},
"ruff.configuration": "--config=pyproject.toml",
"mypy.enabled": true,
"mypy.runUsingActiveInterpreter": true,
"search.exclude": {
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## [Unreleased]

### Changed

- **Tooling:** Pinned `ruff` to an exact `0.16.4`, up from `0.14.13`. This matches what the Ruff VS Code extension now bundles, which matters because Ruff 0.16 lints `pyproject.toml` itself: the extension syncs the config file to the language server, and a pre-0.16 binary parses it as Python source and paints phantom `invalid-syntax` diagnostics on lines like `requires-python`. Keeping the pin exact stops the editor and the CLI from drifting apart again. This is a dev dependency, so nothing shipped changes; the upgrade produced no new lint findings. Because this is the starter template every new project is cloned from, the stale pin was propagating into fresh checkouts.
- **Editor config:** Removed the `ruff.configuration` entry from `.vscode/settings.json`. That setting takes a path to a config file rather than a CLI flag, so its `--config=pyproject.toml` value never resolved — it only appeared to work because Ruff falls back to discovering the same `pyproject.toml` on its own.

## [v0.15.0] - 2026-07-22

### Added
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ dev = [
"pytest-mock>=3.14.0",
"pytest-sugar>=1.0.0",
"pytest_asyncio>=0.24.0",
"ruff==0.14.13",
"ruff==0.16.4",
]

[project.urls]
Expand Down
45 changes: 22 additions & 23 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions wip/mode-split-clis.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,10 @@ def extract_entities(
entities = ExtractedEntities.model_validate(main_stuff)
output_console.print_json(data=entities.model_dump())


# … summarize-pdf and generate-image follow the same shape …


def _run(coro: Coroutine[Any, Any, ResultT]) -> ResultT:
"""Await the lifecycle, presenting SDK errors as clean exits."""
try:
Expand All @@ -148,8 +150,10 @@ async def start_and_wait(*, pipe_code: str, bundle: str, inputs: dict[str, Any])
run_id = start_result.pipeline_run_id
progress_console.print(f"Run started: [bold]{run_id}[/bold]")
with progress_console.status(f"Run {run_id[:8]}… in progress") as status:

def on_poll(info: PollInfo) -> None:
status.update(f"Run {run_id[:8]}… in progress — {info.elapsed_seconds:.0f}s, poll #{info.attempt}")

try:
results = await client.wait_for_result(run_id, options=WaitForResultOptions(on_poll=on_poll))
except asyncio.CancelledError:
Expand Down
Loading