Commit 77446fe
feat(api): W6+W7 — row-level GET /proof_attempts with filters
Adds GET /api/v1/proof_attempts returning individual attempt rows
(vs aggregates from /strategy or /certificates/evidence cursors).
Query params (all optional):
class=X — filter by obligation_class
prover=Y — filter by prover_used
outcome=Z — filter by outcome (success|failure|timeout|unknown)
repo=W — filter by repo
limit=N — cap at 1000, default 100
offset=M — pagination
Returns AttemptsResponse { attempts: [AttemptRow], total_returned,
offset, limit }. Each row carries attempt_id, obligation_id, repo,
file, obligation_class, prover_used, outcome, duration_ms, confidence,
strategy_tag, started_at (ISO-8601).
Unblocks two downstream consumers:
* Hypatia.Neural.ProverRecommender can now train on real feature
vectors extracted from individual attempts, rather than unfolding
synthetic rows from /strategy aggregates.
* Hypatia.Rules.StrategyDrift can fetch the complete failed-attempt
set for (class, old_prover) via outcome=failure, replacing the
≤100-row evidence-cursor approximation that used /certificates.
Subsumes the separate /failed_attempts endpoint entirely.
Verified live:
?class=equiv&prover=coq&outcome=failure → 3 rows, first attempt_id
077962cf, ephapax/Semantics.v
?class=safety&limit=2 → 2 rows, provers=[cvc5,eprover]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent a4b5453 commit 77446fe
2 files changed
Lines changed: 130 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
834 | 834 | | |
835 | 835 | | |
836 | 836 | | |
837 | | - | |
| 837 | + | |
| 838 | + | |
838 | 839 | | |
839 | 840 | | |
840 | 841 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
224 | 267 | | |
225 | 268 | | |
226 | 269 | | |
| |||
509 | 552 | | |
510 | 553 | | |
511 | 554 | | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
512 | 640 | | |
513 | 641 | | |
514 | 642 | | |
| |||
0 commit comments