Skip to content

Implementation Plan: Pipeline Health Mechanism Naming Alignment#4301

Merged
Trecek merged 10 commits into
developfrom
pipeline-health-mechanism-naming-drift-skill-step-name-ingre/4299
Jul 20, 2026
Merged

Implementation Plan: Pipeline Health Mechanism Naming Alignment#4301
Trecek merged 10 commits into
developfrom
pipeline-health-mechanism-naming-drift-skill-step-name-ingre/4299

Conversation

@Trecek

@Trecek Trecek commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Rename the pipeline health mechanism's ingredient, config key, and recipe step names to share the canonical token pipeline_health with the existing skill name analyze-pipeline-health. The skill directory is NOT renamed — it already contains the canonical token pipeline-health.

Requirements

REQ-NAME-001: A single canonical name identifies the pipeline health mechanism across the skill directory name, recipe step_name, gating ingredient, and config key.
REQ-NAME-002: Every recipe that invokes the health skill (remediation, implementation, implementation-groups, merge-prs, and their contract mirrors) references the canonical step name, and the skip_when_false gating plus config-as-default authority contract (#4180) remain intact after the rename.
REQ-NAME-003: If the skill directory is renamed, the old directory name is present in RETIRED_SKILL_NAMES and the SKILL.md name: field matches the new name in the same commit.

Closes #4299

Implementation Plan

Plan file: /home/talon/projects/autoskillit-runs/impl-20260720-074403-228207/.autoskillit/temp/make-plan/pipeline_health_naming_alignment_plan_2026-07-20_080500.md

🤖 Generated with Claude Code via AutoSkillit

Token Usage Summary

Step Model count uncached output cache_read peak_ctx turns cache_write time
rectify* opus[1m] 1 18 4.0k 1.1M 131.6k 115 13.1k 17m 42s
dry_walkthrough* fable 1 35.8k 55.0k 1.2M 144.4k 54 260.2k 10m 56s
implement* MiniMax-M3 1 336.3k 29.9k 15.3M 0 237 0 28m 31s
retry_worktree* MiniMax-M3 1 157.6k 17.5k 11.8M 0 172 0 21m 42s
audit_impl* fable 1 66.2k 35.3k 2.0M 183.1k 34 223.0k 14m 57s
Total 595.9k 141.7k 31.3M 183.1k 496.4k 1h 33m

* Step used a non-Anthropic provider; caching behavior may differ.

Token Efficiency

Step LoC Changed cache_read/LoC cache_write/LoC output/LoC
rectify 0
dry_walkthrough 0
implement 293 52345.0 0.0 102.2
retry_worktree 465 25275.5 0.0 37.7
audit_impl 0
Total 758 41352.8 654.9 187.0

Model Usage Breakdown

Model steps uncached output cache_read cache_write time
opus[1m] 1 18 4.0k 1.1M 13.1k 17m 42s
fable 2 101.9k 90.3k 3.1M 483.2k 25m 53s
MiniMax-M3 2 493.9k 47.5k 27.1M 0 50m 14s

Trecek and others added 10 commits July 20, 2026 08:19
…peline_health

Aligns naming across the config-default ingredient layer:
- DiagnosticsConfig.post_run_analysis -> DiagnosticsConfig.pipeline_health
- defaults.yaml diagnostics.post_run_analysis -> diagnostics.pipeline_health
- CONFIG_DEFAULT_INGREDIENTS: post_run_diagnostics -> pipeline_health
- resolve_ingredient_defaults: post_run_diagnostics -> pipeline_health
- tools_kitchen.py open_kitchen docstring example updated

The CONFIG_DEFAULT_INGREDIENTS membership, the str(bool).lower()
derivation, the lock/override feedback-contract behavior, and the
hidden: true + no authority: config attribute (preserving config-as-default)
are unchanged. The rename carries forward the contract established in
commit 838128f (issue #4180) under the new canonical token.

Co-Authored-By: Claude <noreply@anthropic.com>
Renames all 5 bundled recipe files plus their regenerated JSON mirrors:
- post_run_diagnostics ingredient input declaration -> pipeline_health
- run_diagnostic* step keys -> pipeline_health* (no_ci, unconfirmed,
  error, no_changes, already_done, bare)
- skip_when_false: inputs.post_run_diagnostics -> inputs.pipeline_health
- with.step_name: post_run_diagnostics -> pipeline_health
- All on_success/on_failure/on_context_limit/on_rate_limit route
  targets that referenced run_diagnostic* steps
- promote-to-main.yaml dispatches[].skip_when references the renamed
  ingredient (structurally distinct from steps[].skip_when_false)

recipe_source_hash on each regenerated contract card now reflects the
new YAML content. JSON mirrors and contract cards are in sync with the
YAML sources (check-contract-freshness hook passes).

Co-Authored-By: Claude <noreply@anthropic.com>
…rch/infra/execution

Updates 18 test files (mechanical rename only, no new test logic):
- tests/config/test_config.py: post_run_analysis -> pipeline_health
- tests/config/test_helpers.py: function renames + post_run_diagnostics
  string literals -> pipeline_health (test functions: includes_/not_/in_)
- tests/recipe/test_*: post_run_diagnostics -> pipeline_health, all
  run_diagnostic* step-name references -> pipeline_health*, function
  names + docstrings referencing the legacy names
- tests/server/test_tools_kitchen_envelope.py: demotion tests
  (override_wins/config_default_applied) renamed; all string literals
- tests/server/test_lock_ingredients.py: test_post_run_diagnostics_lockable
  -> test_pipeline_health_lockable
- tests/server/_helpers.py + test_mcp_overrides.py: dict key + comment
- tests/infra/test_pretty_output_recipe.py + tests/arch/test_subpackage_
  isolation.py + tests/execution/backends/test_cli_conformance_probes.py:
  passing references in test fixtures, docstrings, and probe prompts

All tests already cover the contracts (config-default, override-wins,
lockability, skip_when_false, routing); this is purely a naming
alignment to the canonical pipeline_health token.

Co-Authored-By: Claude <noreply@anthropic.com>
docs/developer/diagnostics.md lines 91-97 updated to use the canonical
pipeline_health token in the per-run enablement section. The example
overrides, lock_ingredients snippet, and config field name now match
the renamed surface (diagnostics.pipeline_health config field, the
pipeline_health ingredient, the pipeline_health routing targets).

The skill directory reference (/autoskillit:analyze-pipeline-health)
is unchanged — the canonical token pipeline-health already appears in
the directory name and the rename provides no discoverability gain.

Co-Authored-By: Claude <noreply@anthropic.com>
…olation

The pipeline_health naming rename (post_run_diagnostics -> pipeline_health)
changed rendered recipe payload sizes and recipe-file hashes without the
plan accounting for these downstream test dependents:

- Recipe diagram staleness hashes for implementation, implementation-groups,
  merge-prs, and remediation are recomputed from the renamed YAML content.
  Diagram bodies are unchanged since the diagnostics step is hidden
  infrastructure in the rendered flow.
- The pinned byte-size ceiling in
  test_canonical_recipe_responses_fit_independent_registry_ceilings is
  updated to the new measured remediation/all_truthy payload size.
- test_sigterm_writes_scenario_json now isolates HOME for its subprocess so
  it does not load the developer's real ~/.autoskillit/config.yaml, which
  can contain stale pre-rename keys and fail schema validation — following
  the same isolation pattern used by other subprocess tests in this suite.
The prior fix's golden values (182_956/183_015) were measured while the
remediation diagram was still stale, so the served payload included an
extra "stale diagram" suggestion inflating the byte count. Now that the
diagram hash is fresh, the payload is smaller — re-pin to the actual
measured size (182_796/182_855).
@Trecek
Trecek added this pull request to the merge queue Jul 20, 2026
Merged via the queue into develop with commit d1d02e3 Jul 20, 2026
3 checks passed
@Trecek
Trecek deleted the pipeline-health-mechanism-naming-drift-skill-step-name-ingre/4299 branch July 20, 2026 17: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