Repository navigation
Reject invalid run timeouts before touching inputs or saved reports - #49
Conversation
Require a positive finite CLI timeout, preserve the 60-second default and PR42 Git acquisition, and retain actual before/after and independent receiving evidence.
Actual merge and full-suite receivingThis PR merged as The other owner's diff-hunk admission landed just before merge. The actual composed CLI blob is Actual merged-main CI passed: 453 tests and 25 subtests in 96.33 seconds. Run37829253368 / job113490010847 logs the checkout SHA513f174 above and the complete passing pytest summary. The earlier offered-PR run's 409 tests plus 25 subtests qualified its older preview tree and remains distinct. The native partial broad gate, earlier invalid-input report-overwrite failures, first README composition mistake and exact repairs remain retained. This closes source integration and actual-main verification for timeout admission. |
Problem
testpilot run --timeoutaccepted NaN, infinities, overflowing float text, zero and negative durations. Nine actual CLI witnesses entered the normal no-changes path and replaced all four existing review outputs instead of rejecting the invalid configuration. Invalid limits could also wait on an unclosed stdin diff before being rejected.Change
Validate the
runtimeout during argument parsing with a positive finite float converter. Invalid limits now return argparse exit 2 before input readers, client construction, pytest or report publication. Fractional seconds, scientific notation and the existing 60-second default remain supported.The only product code edits are the
mathimport, private converter andrun --timeouttype/help. Recheck and sandbox behavior remain unchanged. Removing those three spans reproduces the complete current-parent CLI; removing the new README paragraph reproduces its complete parent, including PR42's raw Git-diff guidance.Validation
cec50d8df4499ba509615e179d82ef3861379bd2composition. These include output preservation and admission before stdin EOF.Exact source, original failures, raw logs, receivers, current-source proofs and claim limits are preserved under
docs/receiving/cli-timeout-f5c43297f890/. The existing hosted CI remains unchanged and will qualify the offered PR.Cohort
f5c43297f890; existing cancellation, comparison/history, paired-regression and hunk-admission scopes remain with their current owners.