Release/v0.10.0 - #57
Merged
Merged
Conversation
lchoquel
commented
Jul 1, 2026
Member
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Three robustness fixes to the /bootstrap skill's rename engine so adversarial or common-but-edge inputs no longer produce a broken generated project: - TOML-escape interpolated pyproject fields (description, author name/email, license, Repository URL) via a new toml_str() helper. A value containing a double-quote or backslash (e.g. `Use "AI" agents`) previously wrote invalid TOML, failing `uv lock`/checks on the generated project. - Normalize clone URLs: strip a trailing `.git` before re-appending it and before deriving the directory name, so a `.git` repo URL no longer yields `git clone …/repo.git.git` and `cd repo.git` in the README. - Validate the distribution name (PEP 503/508) when `--dist` is overridden, matching the existing validate_package() guard, so a value like `bad dist name` is rejected up front instead of writing an invalid [project].name. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rotocol Pin pipelex to the keyword-only-arguments refactor branch (git rev) and migrate the sample app off the removed PipelexRunner class. - pyproject/uv.lock: pin pipelex to git rev 529b9082 (keyword-only branch) - hello_world.py: PipelexRunner -> PipelexMTHDSProtocol, execute_pipeline() -> execute() make agent-check and agent-test pass; uv lock --locked is consistent. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ngs) Tracks the latest pipelex keyword-only refactor commit, which reorders several function signatures to keyword-only. No call-site changes needed here — every call site already passes the affected args by keyword. agent-check + agent-test green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bumps the pinned pipelex git rev 755b8211 -> 0e32c8c0. That commit makes all remaining non-subject params keyword-only (no reordering); all call sites here already pass by keyword, so this is a no-op bump. agent-check + agent-test green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bring the /bootstrap skill (and its bootstrap.py PR-review fix) forward into the 0.10.0 line. Consolidate the changelog: the v0.9.1 entry is folded into a single [0.10.0] section (no separate v0.9.1 heading), and the version is bumped to 0.10.0 (pyproject + uv.lock). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ry9KASVKXj1SVgJqtrSMxh
- bootstrap --clean: anchor the README strip on the "### Use this template" heading + the "*Replace…*" line instead of the first "---" (which now matched only the footer rule and collapsed the whole README) - bootstrap: fail fast when a non-MIT license is chosen without --license-holder, instead of writing a "<COPYRIGHT HOLDER>" placeholder - CHANGELOG: restore "## [v0.10.0] - 2026-07-01" so changelog-check.yml and github-release.yml match; drop the inaccurate [tool.pytest] bullet - remove the `make run` target and repoint the docs to `python -m my_project.hello_world` (no package name left in the Makefile) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ry9KASVKXj1SVgJqtrSMxh
Greptile SummaryThis PR updates the starter for the hosted Pipelex API. The main changes are:
Confidence Score: 3/5The update is mostly straightforward, but generated Pipelex runtime artifacts can now be accidentally tracked and the sample API output handling can silently report success without usable text. The changed dependency and test setup is coherent, but the ignore-rule regression affects common local workflows and the CLI path lacks validation for unexpected API response content. .gitignore and my_project/hello_world.py
What T-Rex did
|
find_main_content() can return a content dict that has no `text` key
(schema mismatch or unexpected API output). Previously hello_world()
did `print(content.get("text"))`, which printed `None` and exited
successfully — a silent failure that the API-hitting e2e test could not
catch. Guard the value: raise RuntimeError unless `text` is a non-empty
string, mirroring the existing `content is None` check.
Add tests/unit/test_hello_world.py — an offline regression test (no
pipelex_api/inference marker, runs in CI) that patches the API client
with a hand-rolled async fake and asserts the missing-text path raises.
Resolves greptile review comment on PR #57.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ry9KASVKXj1SVgJqtrSMxh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.