Skip to content

feature/Run-path-bundle-verdict · L-260925-4019a0 - #1269

Closed
lchoquel wants to merge 5 commits into
feature/Bundle-refusal-verdictsfrom
feature/Run-path-bundle-verdict
Closed

lchoquel wants to merge 5 commits into
feature/Bundle-refusal-verdictsfrom
feature/Run-path-bundle-verdict

Conversation

@lchoquel

@lchoquel lchoquel commented Sep 26, 2026 •

Copy link
Copy Markdown
Member

A run now loads its bundle inside the same translation the validate path uses, so an invalid method is refused before any pipe runs with the ValidateBundleError and the same located validation_errors validating it gives, which a hosted run route answers as a 422 instead of a 500. The local run commands report it the way validate does: pipelex run prints the grouped panel, and pipelex-agent run copies the items into its error envelope; a new library_dirs_are_callers runner option, set by both CLIs, gives the same verdict for a refusal in the caller's own library directories while a host's directories load untranslated.

Closes L-260925-4019a0

🤖 Generated with Claude Code


Summary by cubic

A run now loads its bundle through the same translation the validate path uses, so an invalid method is refused before any pipe runs with the ValidateBundleError and the same located validation_errors items validating the bundle gives. A hosted run route answers the refusal with a 422 instead of a 500, and the local run commands report it the way validate does: pipelex run prints the grouped invalid-bundle panel, and pipelex-agent run copies the items into its error envelope.

  • The refusal translation moved to the new validate_bundle_translation.py module so the run seams can reach it without an import cycle.
  • A new library_dirs_are_callers runner option, set by both CLIs, gives the same verdict for a refusal in the caller's own library directories; a host's directories still load untranslated.
  • The agent run commands' dead PipeOperatorModelChoiceError arms were dropped, since an unknown model now arrives as the ValidateBundleError verdict.

Closes L-260925-4019a0

Written for commit 1be9712. Summary will update on new commits.

Review in cubic

lchoquel and others added 5 commits September 26, 2026 20:44
acquire_library now parses and loads the run's bundle inside
translate_to_validate_bundle_error, so a run refuses an invalid bundle before
any pipe runs with the ValidateBundleError and the same located
validation_errors validating it gives: a 422 whose items STRICT keeps, instead
of the raw class of whichever check refused it. The translation moves to its
own module so the run seams can reach it without an import cycle. A new
library_dirs_are_callers option, set by both local CLIs, translates a refusal
in the caller's own library directories too, while a host's directories load
untranslated. pipelex run renders the verdict with the validate panel, and the
agent CLI copies a cause's validation_errors into its error envelope.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The run paragraph was pasted into the agent CLI's inputs section too, where
inputs runs nothing. The docs and the acquire_library docstring promised the
run's items carry the same sources as validate's and never a host path; they
now say the contents carry no source, and that a package loaded by address
can name its install directory, as on the in-memory validate path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A run bundle without --pipe parses the file with its path to find the main
pipe, so a bundle that does not parse names its file; the docs said no item
of a bundle file run carries a source.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A run now loads its bundle inside the validate translation, so an unknown model reaches
`pipelex-agent run pipe`, `run bundle` and `run method` as the ValidateBundleError verdict
with its `unknown_model` item, and their `except PipeOperatorModelChoiceError` arms could no
longer fire.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The drift check reads the index, so the ack taken before the agent run commands lost their
model-choice arms went stale once they were committed, failing the drift gate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@lchoquel

Copy link
Copy Markdown
Member Author

Review round 3, profile 4, bar necessity. Reviewers: cubic, Codex review and adversarial, code-review (medium).

Fixed: the cli-docs drift acknowledgement had gone stale when the agent run commands lost their unreachable model-choice arms (685840e), which failed the drift gate; re-acked in 1be9712.

Deferred: installed dependency paths reaching a hosted STRICT verdict (L-260926-811040); unverified, and handed to the sprint for filing: the markdown run refusal still points at a validation_errors array it does not show and names no fix command, and the human pipelex run keeps a model-choice arm that was already unreachable before this branch.

round 4 — bar necessity — profile 4 (derived) — the round-3 pass fixed a critical, so this pass is held to necessity rather than the ladder's freeze

@lchoquel

Copy link
Copy Markdown
Member Author

Superseded by #1276, which carries this branch's commits and landed on dev as a7924f6.

@lchoquel lchoquel closed this Sep 27, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 27, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant