Skip to content

Implementation Plan: T5-P3-A5-WP1 B6 Cross-Layer Predicate Spanning Test#4084

Merged
Trecek merged 3 commits into
developfrom
t5-p3-a5-wp1-implement-the-b6-cross-layer-predicate-spanning/4013
Jun 12, 2026
Merged

Implementation Plan: T5-P3-A5-WP1 B6 Cross-Layer Predicate Spanning Test#4084
Trecek merged 3 commits into
developfrom
t5-p3-a5-wp1-implement-the-b6-cross-layer-predicate-spanning/4013

Conversation

@Trecek

@Trecek Trecek commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Create tests/execution/backends/test_failure_predicate_spanning.py with three test classes that validate the FAILURE PREDICATES blocks across both prompt builders (_build_orchestrator_prompt and _build_food_truck_prompt) against the server tool TypedDicts in server/tools/_types.py. No production source files are modified. Test infrastructure registries (.autoskillit/test-source-map.json and tests/_test_filter.py cascade 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.md

Closes #4013

🤖 Generated with Claude Code via AutoSkillit

Token Usage Summary

Step Model count uncached output cache_read peak_ctx turns cache_write time
plan* opus[1m] 1 1.7k 15.0k 2.0M 94.9k 63 73.7k 12m 10s
verify* sonnet 1 68 17.2k 357.0k 64.7k 21 43.8k 9m 57s
implement* MiniMax-M3 1 1.1M 17.7k 0 0 52 0 6m 30s
fix* sonnet 1 174 6.3k 987.8k 56.7k 53 35.9k 4m 1s
audit_impl* sonnet 1 36 1.8k 131.4k 43.8k 11 24.9k 8m 4s
prepare_pr* MiniMax-M3 1 198.1k 1.7k 0 0 12 0 52s
compose_pr* MiniMax-M3 1 178.6k 2.1k 0 0 13 0 53s
review_pr* sonnet 2 332 95.5k 2.6M 101.1k 99 162.4k 21m 40s
resolve_review* sonnet 2 378 37.8k 2.9M 86.8k 115 121.0k 17m 45s
Total 1.5M 195.1k 9.0M 101.1k 461.7k 1h 21m

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

Token Efficiency

Step LoC Changed cache_read/LoC cache_write/LoC output/LoC
plan 0
verify 0
implement 240 0.0 0.0 73.7
fix 2 493875.0 17949.0 3162.5
audit_impl 0
prepare_pr 0
compose_pr 0
review_pr 0
resolve_review 18 161631.2 6724.3 2102.4
Total 260 34518.9 1775.8 750.3

Model Usage Breakdown

Model steps uncached output cache_read cache_write time
opus[1m] 1 1.7k 15.0k 2.0M 73.7k 12m 10s
sonnet 5 988 158.6k 7.0M 388.0k 1h 1m
MiniMax-M3 3 1.5M 21.5k 0 0 8m 15s

Trecek and others added 3 commits June 11, 2026 21:26
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>
@Trecek Trecek added this pull request to the merge queue Jun 12, 2026
Merged via the queue into develop with commit 4af2ea2 Jun 12, 2026
3 checks passed
@Trecek Trecek deleted the t5-p3-a5-wp1-implement-the-b6-cross-layer-predicate-spanning/4013 branch June 12, 2026 05:31
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