Skip to content

#310 - Configuration: deprecate an unknown task error_strategy, boolean public, describe the nodes - #314

Merged
njoubert-cleverage merged 2 commits into
mainfrom
310
Oct 20, 2026
Merged

njoubert-cleverage merged 2 commits into
mainfrom
310

Conversation

@njoubert-cleverage

Copy link
Copy Markdown
Member

Description

Fixes #310.

Unknown task error_strategy deprecated

  • CleverAgeProcessExtension::checkErrorStrategies(): a task error_strategy other than skip or stop triggers a deprecation when the container is compiled, giving the process and the task: The error strategy "skp" of the task "typo" of the process "test.process" is unknown, use "skip" or "stop" (or remove it to use the "default_error_strategy"). Unknown error strategies are deprecated, they will be rejected in v6.0.
  • Until now, such a value was accepted, and the process failed with Unknown error strategy 'skp' only when the task failed; a task that never fails works with it, hence a deprecation instead of a rejection (v6.0: remove the deprecated code #292 for v6.0).
  • Not checked: an environment variable (only known at runtime), a non-string value (already a TypeError in TaskConfiguration).

public is a boolean node

  • A non-boolean value already failed with a TypeError in the ProcessConfiguration constructor: it is now rejected when the container is compiled (Invalid type for path "clever_age_process.configurations.<code>.public". Expected "bool"...). No BC break, the wrong values already crashed.

Nodes described

  • ->info() (and ->example() on outputs, error_outputs, contextual_options, transformers) on default_error_strategy, the process nodes (entry_point, end_point, description, help, public, options), the task nodes (description, help, options, error_strategy, log_level, outputs, error_outputs) and the generic transformer nodes: shown by config:dump-reference clever_age_process.

Documentation: process and task definition reference pages. CHANGELOG.

Tests (ConfigurationTest): the deprecation (unset, skip, stop and environment variable without notice, a typo with one notice), public rejected when not a boolean.

Checked in the container (979 tests): highest dependencies (PHP 8.5, Symfony 8.1), lowest dependencies (PHP 8.2, Symfony 6.4.0), Symfony 6.4.48 on PHP 8.2 and 8.5, Symfony 7.4: no deprecation, no risky test (with pcov coverage). PHPStan, PHP-CS-Fixer and Rector OK.

Requirements

  • Documentation updates
    • Reference
    • Cookbooks
    • Changelog
  • Unit tests

Breaking changes

None. New deprecation (5.4): a task error_strategy other than skip or stop, rejected in v6.0 (#292). A non-boolean public is rejected earlier, it already failed.

🤖 Generated with Claude Code

njoubert-cleverage and others added 2 commits October 20, 2026 14:49
…an public, describe the nodes

- A task error_strategy other than skip or stop is deprecated: notice when
  the container is compiled (CleverAgeProcessExtension), it will be rejected
  in v6.0. It was accepted, and the process failed with "Unknown error
  strategy" when the task failed. Environment variables are not checked.
- The process "public" key is a booleanNode: a non-boolean value is rejected
  when the container is compiled instead of a TypeError when the
  ProcessConfiguration is built.
- ->info() / ->example() on the nodes of the process, task and generic
  transformer configurations (config:dump-reference clever_age_process).
- Tests, documentation (process and task definition) and CHANGELOG updated.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@njoubert-cleverage
njoubert-cleverage merged commit 15ab78d into main Oct 20, 2026
18 checks passed
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.

Configuration tree: validate the task error_strategy, boolean public, describe the nodes

1 participant