
potaserandClaude Opus 5
d66a5f9378
fix: output prefix handling for tools without shared filename prefix
15 changes to resolve the validation chain for extensions where
output files lack a common filename prefix (MEME, MCScanX, etc):
1. _output_has_prefix: match directory components, not just filenames
2. _replace_output_prefix: rename directory when prefix matches dir
3. _shared_output_prefix: fallback to deepest shared directory prefix
4. _fallback_dir_prefix (NEW): extract prefix from common dir
5. _is_dir_prefix (NEW): detect directory-style prefix
6. _replace_positional_prefix (NEW): rewrite positional args (MCScanX)
7. _symlink_prefix_data_files (NEW): create data file symlinks
8. _inject_dir_prefix_override (NEW): inject -oc flag (MEME family)
9. _root_prefix_pair (NEW): extract old/new root from renamed outputs
10. covered_by_patched_root: accept '/' as delimiter boundary
11. _requested_substitutions: auto-register unpatchable output roots
12. render_runtime_package: positional + -oc rewrite + locked data copy + symlink
13. _load_and_validate_render_record: exempt prefix overrides from ENTRY_COMMAND_CHANGED
14. _render_script_updates: tolerate count > expected (allow over-replace)
15. record schema: add _prefix_binding and actual_command fields
Fixes: s2-t02-f series, s4-t01-f series, s6-t02-f series, s8-v01-f
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 20:51:27 +08:00
..
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-05 09:40:45 +08:00
2026-08-07 20:51:27 +08:00
2026-08-07 09:52:43 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-05 09:40:45 +08:00
2026-08-05 09:40:45 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00
2026-08-03 18:42:47 +08:00