Implementation Plan: T5-P3-A5-WP1 B6 Cross-Layer Predicate Spanning Test#4084
Merged
Trecek merged 3 commits intoJun 12, 2026
Merged
Conversation
Adds tests/execution/backends/test_failure_predicate_spanning.py with three
test classes that validate the FAILURE PREDICATES blocks across both
_build_orchestrator_prompt and _build_food_truck_prompt against the server
tool TypedDicts in server/tools/_types.py:
- TestToolPredicateFieldsMatchSchema: assert each predicate field name is a
key in the corresponding TypedDict (get_type_hints). Covers test_check,
merge_worktree, run_cmd, run_skill; classify_fix checked separately as an
exception-path envelope (no TypedDict assertion).
- TestOpenKitchenIngredientTableMarker: POST-C1 regression guard verifying
the open_kitchen predicate references JSON fields ("success",
"ingredients_table") and NOT the hook-injected display marker.
- TestPredicateParity: character-identical predicate lines across both
builders; extraction provably dynamic (no hardcoded line offsets).
Updates test-source-map.json to register the new test as a consumer of
cli/_prompts_orchestrator.py, fleet/_prompts.py, and server/tools/_types.py
(the last had no entry). Updates LAYER_CASCADE_CONSERVATIVE in
tests/_test_filter.py to add the file-level entry to cli, fleet, and
server cascades so changes in those layers route to this test.
No production source files modified.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adding execution/backends/test_failure_predicate_spanning.py as a file-level entry in the fleet cascade made the execution/ directory partial. The cascade drift guard then requires ALL execution/ files that import fleet to be explicitly listed. Added the missing test_session_log_retention.py which imports fleet.build_protected_campaign_ids.
…icate tests Decouples TestToolPredicateFieldsMatchSchema from the source-text representation of the builder functions. Moving predicate text to a shared constant (a natural future refactor to satisfy TestPredicateParity) would have silently broken the getsource-based tests while leaving runtime behavior intact. Adds _RENDER_HELPER_MAP mapping each builder_fn to its stub render helper and replaces inspect.getsource(builder_fn) in test_predicate_field_in_typeddict, test_classify_fix_contains_error_colon, and test_predicate_block_contains_all_tools. test_predicate_extraction_is_dynamic intentionally exercises both paths and is left unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Create
tests/execution/backends/test_failure_predicate_spanning.pywith three test classes that validate the FAILURE PREDICATES blocks across both prompt builders (_build_orchestrator_promptand_build_food_truck_prompt) against the server tool TypedDicts inserver/tools/_types.py. No production source files are modified. Test infrastructure registries (.autoskillit/test-source-map.jsonandtests/_test_filter.pycascade entries) are updated to route source changes to the new test.Implementation Plan
Plan file:
/home/talon/projects/autoskillit-runs/impl-20260611-205810-907005/.autoskillit/temp/make-plan/t5_p3_a5_wp1_failure_predicate_spanning_plan_2026-06-11_210500.mdCloses #4013
🤖 Generated with Claude Code via AutoSkillit
Token Usage Summary
* Step used a non-Anthropic provider; caching behavior may differ.
Token Efficiency
Model Usage Breakdown