Skip to content

research recipe valid=False on every backend blocks open_kitchen('research') #4061

Description

@Trecek

Summary

The bundled research recipe produces valid=False on every backend in v0.10.752 — including claude-code, where it carries 1 ERROR-severity audit-impl-remediation-route semantic finding (8 errors under codex). Combined with the fail-closed guard added by PR #3995 (tools_kitchen.py:624/:711), this means open_kitchen(name="research") is blocked for ALL backends on v0.10.752.

Empirical matrix (installed v0.10.752, real load_and_validate):

Recipe claude-code codex
research valid=False (1 error: audit-impl-remediation-route) valid=False (8 errors)

All seven other recipes in the #4059 impact matrix are valid=True under claude-code. (Outside that matrix, agent-eval and skill-eval also fail under claude-code with 4 unrelated errors each — all-dispatchable-stops-have-sentinel + dead-output — out of scope here, noted for #4008's governance table.)

Why this is its own ticket

This was discovered during the #4059 investigation (adversarial challenge round, backend×recipe matrix probe) but is a distinct defect:

Reproduction

Against the installed package (or repo at origin/develop):

from autoskillit.recipe._api import load_and_validate
result = load_and_validate("research", project_dir=<repo>, backend_name="claude-code")
# result["valid"] is False; one suggestion with severity=="error", rule=="audit-impl-remediation-route"

Then open_kitchen(name="research") returns success=false, stage=recipe_validation — and (until the parallel envelope ticket lands) the misleading message "unknown structural error", since the structural errors list is empty.

Scope

  1. Root-cause the audit-impl-remediation-route ERROR on research.yaml (rule semantics vs recipe routing — determine which is wrong).
  2. Fix the recipe (or, if the rule misfires for this recipe shape, fix the rule) so research is valid=True under claude-code. End state: after BOTH Pre-prune validity computation breaks Codex open_kitchen and fleet dispatch #4059 and this fix land, research is fully valid=True under codex as well — its 7 codex backend-incompatible-skill errors are all on backend_supports_git_write-guarded steps (pruned post-Pre-prune validity computation breaks Codex open_kitchen and fleet dispatch #4059), leaving only the audit-impl-remediation-route error fixed here; research has no route-guarded exemption cases.
  3. Add a regression assertion for the research recipe's validity (coordinate with T5-P3-A1-WP1 Provide a merge-blocking CI test that proves every bundled recipe composes validly under every registered backend, with explicit data-table governance for known unsupported combos and structural me... #4008's matrix test rather than duplicating, if it has landed).

Prior art: #2364 (staged) fixed validation failures in the sibling research-design recipe, but those were different rule classes (stale contract card, routing gaps) — cited only as precedent that research-family recipes have shipped with validation errors, not as the same pattern.

Files (parallel-safe vs #4059 and the envelope ticket — zero overlap)

  • src/autoskillit/recipes/research.yaml (+ .json variant) — or the rule under src/autoskillit/recipe/rules/ pending analysis
  • tests/recipe/

Relationship to other work

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugExisting behavior is brokenrecipe:remediationRoute: investigate/decompose before implementationstagedImplementation staged and waiting for promotion to main

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions