Skip to content

feature/Plugins-skills-problem · L-261017-1b4ac0 - #150

Merged
lchoquel merged 3 commits into
devfrom
feature/Plugins-skills-problem
Oct 25, 2026
Merged

lchoquel merged 3 commits into
devfrom
feature/Plugins-skills-problem

Conversation

@lchoquel

Copy link
Copy Markdown
Member

TL;DR

  • Every Pipelex skill reads a failed tool call by its problem document (code, domain, retry, next_step), a verdict's faults as errors[], and a failed run by its run_error.
  • The workshop moves its errors to the MTHDS problem document and no longer sends class, retryable, hint, kind, validation_errors[] outside the catalog's save and publish, or failure_message.
  • ⚠️ Breaking: these skills need a workshop that sends problem documents; with an older one they misread every error.

Behaviour changes

  • A missing or refused key, a role, the organization's credit or an unreachable API is recognised by the error's class → by its problem's domain and code, with the tool's next_step relayed verbatim.
  • The catalog tells an unknown id, a link naming another method, a version suffix and an empty stored source apart by their codes instead of by message text.
  • pipelex-inputs reads a preparation failure by its code; a refusal of kind (a role that may not record test files, or a saved method the platform no longer holds) falls back to an ordinary upload instead of stopping.
  • A failed run's report keeps the support line the tool's summary ends with.
  • Preparing by a published address no longer names a config error for a package shipping in-process Python: that refusal never reaches preparation and meets the run instead.

Changes

Skills

  • The shared partials mcp-requirements, credentials, validate-warnings and saved-copy-notice, and every skill template under templates/skills/, rewritten for the problem document.
  • pipelex-inputs's stop table, references/prepare-errors.md, references/synthetic.md and references/published-address.md.
  • The generated pipelex/, pipelex-codex/ and pipelex-vibe/ copies, rebuilt.

Tests

  • The skill assertions in tests/unit/test_gen_skill_docs.py and the per-skill tests, moved to the new fields.
  • tests/unit/test_skill_error_fields.py now refuses any shipped skill file that names a retired workshop field.

How it was verified

  • make build, make check and make agent-test: passed.

Documentation

  • CHANGELOG.md, Unreleased: the breaking entry for the problem document.
  • docs/decisions.md: why the kind fallback sits in pipelex-inputs rather than in the shared stops.

Not done

  • A stray .DS_Store under a target's skills/ fails the error-field test locally: L-261024-e68a68.
  • The test-files changelog entry omits the erased saved method: L-261024-8ecba8.

Closes L-261017-1b4ac0
Closes L-260923-4ce273

🤖 Generated with Claude Code

https://claude.ai/code/session_01ChCUgUaFZK7FTEAc8uPAVL

lchoquel and others added 3 commits October 24, 2026 22:45
The workshop moves its errors to the MTHDS problem document, so every skill
now reads a failed tool call by its problem's code, domain, retry and
next_step, a verdict's faults as errors[] items, its warnings as problem
items (pipelex.docgen.template_warning), and a failed run by run_error,
instead of the class, retryable, hint and kind of the old contract,
validation_errors outside the catalog's save and publish, and a run's
failure_message.

The shared MCP stop is now a problem in the account domain or
client.unreachable, its next step relayed verbatim; the catalog's
unknown-id, the run's linked-run and the inputs' prepare-errors references
tell their faults apart by code; the inputs' published-address reference
drops the execution-locus branch prepare by address can no longer meet.
The guard test refuses the workshop's retired fields beside the runtime's,
letting validation_errors through only in pipelex-catalog, and the
asserting tests, docs, decisions record and changelog follow.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…r stops

A preparation that passed kind "test" can be refused over it in two ways
the inputs skill misrouted. The platform refuses a test upload for the
caller's role as auth.forbidden, in the account domain, so the shared
account stop hard-stopped the skill instead of letting it prepare again
without kind as the synthetic reference says. And a method the platform
no longer holds or is erasing comes back as client.argument_invalid
naming method_id, with no location, as does the workshop's version_suffix
refusal, so the prepare-errors row, which excluded only a refusal at kind,
sent them to repair and retry.

The prepare requirement now exempts auth.forbidden on a call with kind
from the account stop, in the skill's own bullet rather than the shared
partial's suffix, which the template call renders too. A new stop row
above the prepare-errors row sends auth.forbidden and the refusals naming
kind, or method_id with method_not_found, method_being_deleted or
version_suffix, to the synthetic reference's test-files section before
preparing again without kind, and the prepare-errors row now excludes a
refusal of kind. The prepare-errors reference names the same set as not
its own, and the synthetic reference narrows its method_id case to those
reasons, saying that any other refusal at method_id, such as
not_a_catalog_id, is a fault of the target dropping kind does not cure.

The rendered skill stays under the compaction ceiling by wording alone:
the pointers' link texts name the file alone, and a few clauses that gave
a reason or repeated a neighbouring sentence were cut. The asserting test
and the decisions record follow.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Brings in PR #149, the validate hook bundle re-vendored from @pipelex/sdk 0.53.0.

CHANGELOG.md: under [Unreleased] / Changed, kept dev's final wording of the hook's
method-tree entry and its new entry on naming each problem item, then this branch's
entry on the skills reading problem documents.

docs/decisions.md: kept both new 2026-10-24 sections, dev's "The hook names an invalid
verdict's problem items" first, then this branch's "The skills read the workshop's
problem document".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01ChCUgUaFZK7FTEAc8uPAVL
@lchoquel
lchoquel merged commit df23171 into dev Oct 25, 2026
7 checks passed
@lchoquel
lchoquel deleted the feature/Plugins-skills-problem branch October 25, 2026 10:06
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