Commit 9eef5cf
feat: add --estimate-time flag and time estimates to pre-run confirmation
- Add THOROUGH_SECONDS_PER_FILE calibration constants to cost.py (python=100s,
docs=200s, config=150s, generic=120s) from production run data
- Add _classify_file_type() and time_estimate() to cost.py; returns
TimeEstimate with mid/min/max seconds and recommended --timeout (max+20%)
- Add --estimate-time flag to quorum run: resolves files, prints estimate
table, exits without validating (no API key required)
- Update _show_cost_estimate_and_confirm() to show time alongside cost:
'Estimated: ~28 min, ~$0.20 (13 files, thorough) [approximate]'
- 26 new tests covering file classification, time_estimate(), and CLI flag
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent e222e1f commit 9eef5cf
3 files changed
Lines changed: 344 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
147 | 153 | | |
148 | 154 | | |
149 | 155 | | |
| |||
159 | 165 | | |
160 | 166 | | |
161 | 167 | | |
| 168 | + | |
162 | 169 | | |
163 | 170 | | |
164 | 171 | | |
| |||
189 | 196 | | |
190 | 197 | | |
191 | 198 | | |
192 | | - | |
193 | | - | |
| 199 | + | |
| 200 | + | |
194 | 201 | | |
195 | 202 | | |
196 | 203 | | |
| |||
256 | 263 | | |
257 | 264 | | |
258 | 265 | | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
259 | 275 | | |
260 | 276 | | |
261 | 277 | | |
| |||
642 | 658 | | |
643 | 659 | | |
644 | 660 | | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
645 | 690 | | |
646 | 691 | | |
647 | 692 | | |
648 | 693 | | |
649 | 694 | | |
650 | 695 | | |
651 | | - | |
| 696 | + | |
652 | 697 | | |
653 | 698 | | |
654 | 699 | | |
655 | 700 | | |
656 | 701 | | |
657 | 702 | | |
658 | 703 | | |
659 | | - | |
660 | | - | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
661 | 707 | | |
662 | | - | |
663 | | - | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
664 | 711 | | |
665 | 712 | | |
666 | 713 | | |
667 | 714 | | |
668 | | - | |
| 715 | + | |
669 | 716 | | |
670 | 717 | | |
671 | 718 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
24 | 50 | | |
25 | 51 | | |
26 | 52 | | |
| |||
93 | 119 | | |
94 | 120 | | |
95 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
96 | 134 | | |
97 | 135 | | |
98 | 136 | | |
| |||
261 | 299 | | |
262 | 300 | | |
263 | 301 | | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
0 commit comments