{"builtAt":"2026-10-28T11:16","tasks":[{"name":"crisp-owl-238","summary":"In facebook/react at d083ec1da1e5, add an opt-in `signal` (an AbortSignal) to the existing `StartTransitionOptions` (next to `name`, typed in packages/shared/ReactTypes.js), accepted as the second argument of `React.startTransition(scope, {signal})` and of `useTransition`'s `start(scope, {signal})`. Without a signal, behaviour is unchanged.\n- Signal already aborted: the scope is not called, nothing is scheduled, `isPending` never turns true.\n- The transition owns updates scheduled synchronously in its scope via `useState`, `useReducer`, `useOptimistic`, class `setState` or `root.render`. A transition started inside the scope still runs its scope (unless its own signal is aborted), and its updates are owned by the outer one too. Updates after an `await` are not owned.\n- When the signal aborts, even mid-scope, each owned update not yet committed is dropped as if never scheduled, and later updates rebase without it. This holds after an urgent render skipped it, mid-render, and while a finished render awaits commit: never shown, no effect of that render runs. Committed updates stay. Other transitions, even in the same or an entangled lane, commit as if it never existed.\n- `isPending` and its optimistic values show real values in the next render, which runs before any transition-priority work even if that lane is suspended.\n- Async scope: after the abort, other actions stop waiting for it. A later resolve or reject is ignored: no state change, no `reportError`, nothing thrown to an error boundary. A sync throw, or a rejection before the abort, is reported as today.\nAll of this is observable through ReactNoop output, Scheduler logs and `reportError`. A reference patch exists (≈480 added lines in 11 files, mostly one new reconciler module) and passes every hidden case.","insight":{"pattern":"Drops the aborted updates but leaves their lanes entangled","summary":"All five attempts drop the aborted updates, release pending actions and reset `isPending`, but none clears the link React keeps between the aborted updates' lanes and other transitions. So `other-transitions-isolated` fails in every attempt (85% of tests passed). It is hard to spot because the other four blocking tests pass without touching `ReactFiberLane.js`, and each attempt's own tests passed."},"testCount":10,"fileCount":50,"hasRationale":true,"hasHackReport":true,"breakingCheck":{"id":"other-transitions-isolated","fails":5,"graded":5},"matrix":{"checks":["other-transitions-isolated","abort-discards-owned-updates","pending-and-optimistic-revert","aborted-action-released","revert-precedes-transition-render","listener-render-real-values","own-tests-fail-at-base","scope","new-fields-flow-typed","test-sh"],"attempts":[{"id":"01a175b3-af7e-728f-8acb-fea6558bba32","outcome":"unsolved","cells":[false,true,true,true,true,true,true,true,true,true]},{"id":"01a175b3-af7e-728f-8acc-007be78b1484","outcome":"unsolved","cells":[false,true,true,true,true,true,true,true,true,true]},{"id":"01a175b3-af7e-728f-8acc-069f8054a2f9","outcome":"unsolved","cells":[false,true,true,true,true,true,true,true,true,true]},{"id":"01a175b3-af7e-728f-8acc-09e49d97d664","outcome":"unsolved","cells":[false,true,true,true,true,true,true,true,true,true]},{"id":"01a175b3-af7e-728f-8acc-0f941bc6f7aa","outcome":"unsolved","cells":[false,true,true,true,true,true,true,true,true,true]}]},"medianSeconds":2678.823,"project":"frontier_code","title":"React: AbortSignal on startTransition that discards the transition's uncommitted updates","stack":["javascript","flow","jest","react"],"upstream":{"baseCommit":"d083ec1da1e5252abd3ddfdde6dfbc09701a2c51","repository":"facebook/react"},"expertHours":8,"agentTimeoutSec":7200,"oracle":1,"nop":0,"quality":"passed","versions":3,"ideaRevisions":2,"headline":{"model":"claude-opus-5-5","solved":0,"attempts":5,"bestScore":0.85,"attemptOutcomes":[{"id":"01a175b3-af7e-728f-8acb-fea6558bba32","outcome":"unsolved","score":0.85},{"id":"01a175b3-af7e-728f-8acc-007be78b1484","outcome":"unsolved","score":0.85},{"id":"01a175b3-af7e-728f-8acc-069f8054a2f9","outcome":"unsolved","score":0.85},{"id":"01a175b3-af7e-728f-8acc-09e49d97d664","outcome":"unsolved","score":0.85},{"id":"01a175b3-af7e-728f-8acc-0f941bc6f7aa","outcome":"unsolved","score":0.85}]},"floor":null,"runs":1,"trajectories":5,"tags":[]},{"name":"crisp-robin-633","summary":"/app holds pmex_landing, the team's working Python lander for the nightly z/OS policy-master extract (copybook parser, RECFM=VB framing, zoned/COMP-3/COMP codecs, OCCURS DEPENDING ON, REDEFINES, code-page selection, Parquet writer and byte-exact re-encoder), with its contract in /app/docs/SPEC.md. A mainframe change last month altered the record layout, but the copybook was never updated. Since then finance's reconciliation fails for some record types and the lander crashes on others. /app/data holds the copybook the team has, three nights of extracts (each ending in the mainframe's trailer record of per-type counts and hash totals for named fields), the change ticket (business wording only), and the lake table's updated column schema. The agent must produce the copybook the mainframe actually used, extend the lander for any construct it needs, land all three nights so every trailer total reconciles, and keep re-encoding byte-exact.","insight":{"pattern":"Recovers the layout, then misses loader edge cases","summary":"Every attempt recovered the copybook and reconciled all three nights. The failures are in the loader (the program that turns each night's extract into the lake table): either a missing error for an unreadable encode table (`test_encode_reports_a_missing_or_unreadable_table`), or five generality tests, including a byte-exact re-encode of the hidden fourth night."},"testCount":33,"fileCount":58,"hasRationale":true,"hasHackReport":true,"breakingCheck":{"id":"test_encode_reports_a_missing_or_unreadable_table","fails":1,"graded":3},"matrix":{"checks":["test_current_layout_reencodes_byte_for_byte #4","test_results_do_not_depend_on_hash_ordering","test_round_trip_survives_a_second_pass","test_record_type_selects_its_redefinition_whatever_the_declaration_order","test_other_usages_in_the_subset_land_and_round_trip","test_encode_reports_a_missing_or_unreadable_table","test_post_change_night_is_landed","test_post_change_night_is_landed #2","test_post_change_night_is_landed #3","test_landed_night_reconciles_with_its_control_report","test_landed_night_reconciles_with_its_control_report #2","test_landed_night_reconciles_with_its_control_report #3","test_current_copybook_lands_an_unseen_night","test_current_layout_reencodes_byte_for_byte","test_current_layout_reencodes_byte_for_byte #2","test_current_layout_reencodes_byte_for_byte #3","test_reencoding_rederives_occurrence_counts","test_pre_change_layout_still_lands_and_reencodes","test_layout_accepts_both_construction_forms","test_convert_reports_a_missing_extract","test_convert_reports_a_missing_copybook","test_convert_rejects_inconsistent_framing","test_convert_rejects_an_invalid_field_encoding","test_convert_rejects_a_copybook_it_cannot_interpret","test_successful_commands_print_nothing_to_stdout","test_convert_rejects_a_zoned_digit_that_is_not_a_digit","test_convert_rejects_a_zoned_sign_that_is_not_a_sign","test_convert_rejects_a_record_longer_than_its_layout","test_convert_rejects_a_count_outside_its_occurs_range","test_encode_rejects_a_value_its_field_cannot_hold","test_encode_rejects_a_value_its_field_cannot_hold #2","test_encode_rejects_a_value_its_field_cannot_hold #3","test_encode_rejects_a_value_its_field_cannot_hold #4"],"attempts":[{"id":"01a17269-fced-73f8-a164-2ecb0094cb3a","outcome":"unsolved","cells":[true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"id":"01a17269-fced-73f8-a164-31a1a172b457","outcome":"solved","cells":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"id":"01a172cb-1032-770d-a4a1-9c89405f5011","outcome":"unsolved","cells":[false,false,false,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]}]},"medianSeconds":725.381,"project":"tb4","title":"Recover a mainframe extract after undocumented copybook drift","stack":["Python 3.12","pyarrow","Debian python:3.12-slim-bookworm","tmux","pytest"],"upstream":null,"expertHours":6,"agentTimeoutSec":21600,"oracle":1,"nop":0,"quality":"passed","versions":4,"ideaRevisions":1,"headline":{"model":"claude-opus-5-5","solved":1,"attempts":3,"bestScore":1,"attemptOutcomes":[{"id":"01a17269-fced-73f8-a164-2ecb0094cb3a","outcome":"unsolved","score":0.9696969696969697},{"id":"01a17269-fced-73f8-a164-31a1a172b457","outcome":"solved","score":1},{"id":"01a172cb-1032-770d-a4a1-9c89405f5011","outcome":"unsolved","score":0.8484848484848485}]},"floor":null,"runs":2,"trajectories":3,"tags":["code"]},{"name":"glad-raven-808","summary":"The project is a Java decompiler. For Eclipse-compiled (ECJ) classes, `SwitchHelper.simplifySwitches` turns a string switch back into `switch (s)` only when the selector is a local and every case is one constant `return`. Otherwise it prints `switch (var1.hashCode()) { case 97: if (var2.equals(\"a\")) ...`, and a field selector prints the `Couldn't be decompiled` stub. Required end state: (1) An ECJ string switch whose case bodies always return or throw decompiles to one switch on the original selector, whatever the bodies contain and including colliding strings: `switch (this.name)`, `switch (var1.trim())`. No synthetic copy or dead assignment is left. A selector the source assigns to a variable read later prints as `String var2 = var1.trim();` and then `switch (var2)`. Bodies that fall through, break or continue in the source keep the `hashCode()` form. (2) Hand-written code can have the same shape, so only accept what Eclipse emits. Each test must be a `String.equals` call on the selector, or Eclipse's copy of it, with a string constant whose hash is that case's value, or several such calls joined by `||`. Any other test keeps the `hashCode()` form: another receiver, a non-constant, a negation, `&&`, or a string whose hash doesn't match. (3) Every switch this pass rewrites must leave a statement graph that passes the decompiler's own check, `-DVALIDATE_DECOMPILED_CODE=true`. Case order, shared labels, where a leading default goes, offset tables and `Lines mapping:` follow the ECJ switches already resugared in `TestEclipseSwitchString`. Variable names keep their numbering, and all other output is byte-identical. ECJ 3.16.0, which compiled the existing ECJ fixtures, is at `/opt/ecj/ecj-3.16.0.jar`.","insight":{"pattern":"Passes its own fixtures, fails the hidden switch shapes","summary":"4 of 5 attempts fail both blocking tests, `ecj-string-switch-fixtures` and `graph-validation`. Each tested only the 2 or 3 switch shapes it wrote itself, and two never ran the decompiler's graph validation at all."},"testCount":7,"fileCount":74,"hasRationale":true,"hasHackReport":true,"breakingCheck":{"id":"ecj-string-switch-fixtures","fails":4,"graded":5},"matrix":{"checks":["ecj-string-switch-fixtures","graph-validation","scope","base-files-unchanged","own-fixtures-fail-at-base","lint","test-sh"],"attempts":[{"id":"01a175c9-52fc-76db-87e4-44709ea21d94","outcome":"unsolved","cells":[false,false,false,true,true,true,true]},{"id":"01a175c9-52fc-76db-87e4-4ab99cf3091f","outcome":"unsolved","cells":[false,false,false,true,true,true,true]},{"id":"01a175c9-52fc-76db-87e4-4d503300f8ad","outcome":"solved","cells":[true,true,false,true,true,true,true]},{"id":"01a175c9-52fc-76db-87e4-51e11c6ad796","outcome":"unsolved","cells":[false,false,true,true,true,true,true]},{"id":"01a175c9-52fc-76db-87e4-5771467bc265","outcome":"unsolved","cells":[false,false,false,true,true,true,true]}]},"medianSeconds":2423.821,"project":"frontier_code","title":"Resugar Eclipse-compiled string switches with any exiting case code, without resugaring look-alikes","stack":["java","gradle","junit"],"upstream":{"baseCommit":"b8273988af850e8cfb234ca08d129058502b032f","repository":"Vineflower/vineflower"},"expertHours":8,"agentTimeoutSec":7200,"oracle":1,"nop":0,"quality":"passed","versions":9,"ideaRevisions":1,"headline":{"model":"claude-opus-5-5","solved":1,"attempts":5,"bestScore":0.9375,"attemptOutcomes":[{"id":"01a175c9-52fc-76db-87e4-44709ea21d94","outcome":"unsolved","score":0.5625},{"id":"01a175c9-52fc-76db-87e4-4ab99cf3091f","outcome":"unsolved","score":0.5625},{"id":"01a175c9-52fc-76db-87e4-4d503300f8ad","outcome":"solved","score":0.9375},{"id":"01a175c9-52fc-76db-87e4-51e11c6ad796","outcome":"unsolved","score":0.625},{"id":"01a175c9-52fc-76db-87e4-5771467bc265","outcome":"unsolved","score":0.5625}]},"floor":null,"runs":1,"trajectories":5,"tags":[]},{"name":"humble-falcon-073","summary":"/app/billing is the billing core of LedgerPad, our subscription app. Our HTTP workers hand it every webhook delivery from PayGate, our payment gateway, from many threads at once. It keeps a journal so that nothing is lost when the process crashes, and it gives finance the subscription views and GST figures. It went live last month and it is wrong in more ways than we have tickets for. Make /app/billing do everything /app/docs/BILLING.md says, whatever order, timing and number of copies PayGate sends events in (/app/docs/PAYGATE.md). Keep the interface and the journal hook names in BILLING.md exactly as they are, and use only the Python standard library. Done means: raw-body webhook signatures with a secret roll, valid events, event identity, durability before acknowledgement with group commit (one flush at a time, failed batches, takeovers), in-flight duplicates, seq-ordered views, licence periods, GST in paise, crash recovery and caller-owned results all behave as BILLING.md specifies, checked by hidden tests.","insight":{"pattern":"A crash after a failed flush brings the event back","summary":"All three attempts pass 32 of 33 hidden tests and fail `test_a_crash_right_after_a_failed_flush_does_not_bring_its_event_back`. Each undoes a failed flush with a later abort record, so a crash before that record is written brings back an event the caller was told had failed. The brief doesn't name this case; it follows from how the task's `BILLING.md` defines durable."},"testCount":33,"fileCount":47,"hasRationale":true,"hasHackReport":true,"breakingCheck":{"id":"test_a_crash_right_after_a_failed_flush_does_not_bring_its_event_back","fails":3,"graded":3},"matrix":{"checks":["test_a_crash_right_after_a_failed_flush_does_not_bring_its_event_back","test_non_ascii_body_is_verified_as_received","test_tampered_and_invalid_deliveries_are_rejected_and_not_journaled","test_secret_roll","test_event_identity","test_an_event_missing_a_field_is_rejected_and_not_journaled","test_failed_flush_is_never_received","test_a_flush_that_fails_after_the_disk_wrote_the_records","test_a_flush_call_that_raises_after_writing_counts_as_failed","test_accepted_only_after_durable_and_invisible_before","test_delivery_arriving_while_the_event_is_in_flight","test_delivery_arriving_while_the_event_is_in_flight #2","test_a_slow_flush_holds_up_only_what_has_to_wait_for_it","test_records_written_during_a_flush_share_the_next_one","test_a_failed_flush_fails_every_record_in_it","test_events_flushed_together_still_follow_seq","test_many_threads_with_failing_flushes_end_consistent","test_late_arrivals_give_the_same_view","test_statuses_in_order","test_licence_periods_and_grace","test_intro_price_and_gst","test_recover_gives_the_same_engine","test_recovery_during_a_held_flush_holds_only_durable_records","test_recovering_fifty_thousand_records_is_fast","test_returned_values_belong_to_the_caller","test_stream","test_stream #2","test_stream #3","test_a_crash_keeps_exactly_the_acknowledged_events","test_a_flush_that_failed_after_writing_is_not_recovered_after_a_crash","test_records_still_waiting_for_a_flush_are_not_recovered_after_a_crash","test_a_torn_record_is_skipped_and_its_event_is_taken_later","test_batches_from_many_threads_survive_two_crashes"],"attempts":[{"id":"01a175a2-9be3-752e-9954-68f28f8ff521","outcome":"unsolved","cells":[false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"id":"01a175a2-9be3-752e-9954-6fd3c9c1c586","outcome":"unsolved","cells":[false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]},{"id":"01a175a2-9be3-752e-9954-736e7eaf2eef","outcome":"unsolved","cells":[false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]}]},"medianSeconds":575.1,"project":"tb4","title":"Repair a concurrent, journaled billing engine (billing-core-repair)","stack":["python"],"upstream":null,"expertHours":7,"agentTimeoutSec":10800,"oracle":1,"nop":0,"quality":"passed","versions":1,"ideaRevisions":3,"headline":{"model":"claude-opus-5-5","solved":0,"attempts":3,"bestScore":0.9696969696969697,"attemptOutcomes":[{"id":"01a175a2-9be3-752e-9954-68f28f8ff521","outcome":"unsolved","score":0.9696969696969697},{"id":"01a175a2-9be3-752e-9954-6fd3c9c1c586","outcome":"unsolved","score":0.9696969696969697},{"id":"01a175a2-9be3-752e-9954-736e7eaf2eef","outcome":"unsolved","score":0.9696969696969697}]},"floor":null,"runs":1,"trajectories":3,"tags":["code"]},{"name":"sharp-birch-411","summary":"/app holds stowage, our in-house content-addressed backup tool: about 3,000 lines with a content-defined chunker, pack files laid out byte by byte with a trailing entry table and checksum footer, canonical tree and snapshot objects, a SQLite index, retention, garbage collection and check. Its format spec is /app/docs/SPEC.md. /srv/backups/fleet is the production repository after a bad night. The host lost power while stowage gc was repacking:\n\nthe SQLite index came back corrupt;\none pack was cut off before its entry table and footer were written;\nanother pack has rotted bytes;\nthe interrupted repack left some blobs duplicated across old and new packs.\nThe agent must make the repository usable by stowage again, with every snapshot listed and check clean apart from the data that is truly gone. It must also restore every snapshot to /app/recovered/<snapshot id>/, with every file whose data survives anywhere byte-exact, and write /app/recovered/report.json stating exactly which snapshot paths could not be recovered.","insight":{"pattern":"Writes off blobs that were still recoverable","summary":"Both failing attempts rebuilt the repository and report but declared more blobs lost than were really lost (122 and 125, against 121), failing `test_check_finds_only_the_lost_blobs` and `test_report_names_exactly_what_was_lost`. Recovery means reading every damaged pack file, including the half-written `.pack.tmp`, and rebuilding missing chunks from other files' bytes, so one missed chunk fails six tests."},"testCount":13,"fileCount":71,"hasRationale":true,"hasHackReport":true,"breakingCheck":{"id":"test_check_finds_only_the_lost_blobs","fails":2,"graded":3},"matrix":{"checks":["test_check_finds_only_the_lost_blobs","test_every_pack_is_sound_and_holds_each_blob_once","test_recovered_tree_holds_every_recoverable_file #3","test_recovered_tree_holds_every_recoverable_file #5","test_recovered_tree_holds_every_recoverable_file #6","test_report_names_exactly_what_was_lost","test_no_live_lock_remains","test_every_surviving_snapshot_is_listed","test_intact_snapshot_restores_with_stowage","test_intact_snapshot_restores_with_stowage #2","test_recovered_tree_holds_every_recoverable_file","test_recovered_tree_holds_every_recoverable_file #2","test_recovered_tree_holds_every_recoverable_file #4"],"attempts":[{"id":"01a1726c-cdae-751d-afbd-c14a64346596","outcome":"solved","cells":[true,true,true,true,true,true,true,true,true,true,true,true,true]},{"id":"01a1726c-cdae-751d-afbd-c5153c10ddcb","outcome":"unsolved","cells":[false,false,false,false,false,false,true,true,true,true,true,true,true]},{"id":"01a1726c-cdae-751d-afbd-c8aa9d75c744","outcome":"unsolved","cells":[false,false,false,false,false,false,true,true,true,true,true,true,true]}]},"medianSeconds":868.798,"project":"tb4","title":"Recover a damaged deduplicating backup repository after a crashed repack","stack":["Python 3.12 stdlib","sqlite3, zlib, hashlib","Debian python:3.12-slim-bookworm","tmux","pytest==9.1.1","pytest-json-ctrf==0.5.2"],"upstream":null,"expertHours":6,"agentTimeoutSec":21600,"oracle":1,"nop":0,"quality":"passed","versions":6,"ideaRevisions":1,"headline":{"model":"claude-opus-5-5","solved":1,"attempts":3,"bestScore":1,"attemptOutcomes":[{"id":"01a1726c-cdae-751d-afbd-c14a64346596","outcome":"solved","score":1},{"id":"01a1726c-cdae-751d-afbd-c5153c10ddcb","outcome":"unsolved","score":0.5384615384615384},{"id":"01a1726c-cdae-751d-afbd-c8aa9d75c744","outcome":"unsolved","score":0.5384615384615384}]},"floor":null,"runs":1,"trajectories":3,"tags":["code"]},{"name":"sharp-gecko-098","summary":"A lab logs a bank of mechanical oscillator rigs with laser range sensors. The agent gets 48 recordings, /app/data/runs/run_01.csv … run_48.csv, columns t_s,range_m,range_err_m,logger. Each is the distance from a fixed sensor mount to one rig's bob; the mount position is not given and differs between rigs. Samples come in short bursts (about 2.5 s at 12 Hz, bursts 13–31 s apart), split between two loggers A and B with independent, uncalibrated zero offsets, plus slow thermal drift.\n\nFor each run the agent names the mechanism and writes /app/output/modes.csv with columns run_id,mechanism,period_s,second_period_s:\n\n| Label | Physics | Boundary stated in the instruction |\n|---|---|---|\n| SINGLE | one plane pendulum | one oscillation frequency (harmonics allowed), period 1–4 s |\n| COUPLED | two spring-coupled pendula | two steady normal modes, frequency ratio 0.70–0.97, not harmonically related |\n| TORSION | torsion balance | one oscillation, period > 60 s |\n| LOCKED | rig clamped | no coherent oscillation |\n\nReporting rules: period_s is the mean time for the bob to return to the same position moving the same way, over the whole run. COUPLED reports the larger-amplitude normal mode in period_s and the other in second_period_s. LOCKED reports 0.0. Periods are accepted within 2%.\n\nMix: SINGLE 14, COUPLED 8, TORSION 6, LOCKED 20.\n\nData (~5 MB) is generated at authoring time by integrating the full nonlinear damped pendulum equation and the coupled-pendulum normal modes, then passed through the exact range-sensor geometry, burst sampling, logger offsets, drift and noise. The generator stays out of the image.","insight":{"pattern":"Reports half the true period for sensors under the bob","summary":"The failed attempt takes the strongest frequency in each recording as the swing frequency of every single pendulum. Where the sensor sits under the bob, the range repeats twice per swing, so those rigs get half their true period and fail `test_mechanism_group_identified`. The doubled signal is a clean wave with a plausible period, so only a test of how its amplitude behaves, or a check for a component at half the frequency, exposes the error."},"testCount":6,"fileCount":58,"hasRationale":true,"hasHackReport":true,"breakingCheck":{"id":"test_mechanism_group_identified","fails":1,"graded":3},"matrix":{"checks":["test_mechanism_group_identified","test_modes_schema","test_period_fields_follow_mechanism","test_mechanism_group_identified #2","test_mechanism_group_identified #3","test_mechanism_group_identified #4"],"attempts":[{"id":"01a175a8-a296-7720-a546-b537bae57138","outcome":"solved","cells":[true,true,true,true,true,true]},{"id":"01a175a8-a296-7720-a546-b9bdf178c738","outcome":"unsolved","cells":[false,true,true,true,true,true]},{"id":"01a175a8-a296-7720-a546-be1cbb5e4930","outcome":"solved","cells":[true,true,true,true,true,true]}]},"medianSeconds":839.234,"project":"tb4","title":"Identify each pendulum rig's oscillation mechanism and recover its true periods from burst-sampled range data","stack":["Python 3.11","numpy","scipy","pandas","astropy (LombScargle)","CPU only, 2 CPUs, 2 GB RAM"],"upstream":null,"expertHours":4,"agentTimeoutSec":7200,"oracle":1,"nop":0,"quality":"passed","versions":1,"ideaRevisions":3,"headline":{"model":"claude-opus-5-5","solved":2,"attempts":3,"bestScore":1,"attemptOutcomes":[{"id":"01a175a8-a296-7720-a546-b537bae57138","outcome":"solved","score":1},{"id":"01a175a8-a296-7720-a546-b9bdf178c738","outcome":"unsolved","score":0.8333333333333334},{"id":"01a175a8-a296-7720-a546-be1cbb5e4930","outcome":"solved","score":1}]},"floor":null,"runs":1,"trajectories":3,"tags":["science"]},{"name":"trusty-beacon-605","summary":"In TanStack Router at commit 08a419c109ea2739fef0b893e09f4919fbd1b0d8, reproduce and fix issue #8736. Load SSR route A, navigate client-side to B, reload B, then press Back before B finishes hydration. The address bar can select A while the same document still contains B markup.\n\nThe existing document must hydrate without mismatch/recovery errors or duplicated application content and converge to the latest browser destination without a workaround reload. Cover traversal before bootstrap, while the custom hydration hook is pending, and while a descendant remains suspended. Repeated Back/Forward operations must select the latest destination. Route components and public hooks actually hydrating old markup must see consistent route identity, params/search and data even if live navigation has advanced; safely superseding an old subtree is allowed. Preserve nested routes, search-dependent loader content, encoded parameters, the configured trailing slash, fragments and ordinary hydration/navigation. Permit normal application redirects during reconciliation. No particular payload field, URL source, state-storage mechanism or private call sequence is required.\n\nA pinned Linux Docker evaluator has run three consecutive clean reference evaluations and a passing alternative with networking disabled; unchanged upstream still fails the hydration requirements.","insight":{"pattern":"Passes its own browser tests, fails the hidden e2e suite","summary":"4 of 5 attempts fail `history-before-hydration-e2e` after passing the 5 to 11 browser tests they wrote themselves. The hidden suite has 48 cases, including redirects, suspended descendants and repeated Back and Forward."},"testCount":7,"fileCount":56,"hasRationale":true,"hasHackReport":true,"breakingCheck":{"id":"history-before-hydration-e2e","fails":4,"graded":5},"matrix":{"checks":["history-before-hydration-e2e","unit-tests","own-tests-fail-at-base","changeset","lint-and-types","scope","test-sh"],"attempts":[{"id":"01a175c9-d058-760f-b469-ca12c6fc4819","outcome":"unsolved","cells":[false,true,true,true,true,true,true]},{"id":"01a175c9-d058-760f-b469-ce0d36776254","outcome":"unsolved","cells":[false,true,true,true,true,true,true]},{"id":"01a175c9-d058-760f-b469-d1bbb6237719","outcome":"unsolved","cells":[false,true,true,true,true,true,true]},{"id":"01a175c9-d058-760f-b469-d568d4ff7797","outcome":"unsolved","cells":[false,true,true,true,true,true,true]},{"id":"01a175c9-d058-760f-b469-daa08ee8a408","outcome":"solved","cells":[true,true,true,true,true,true,true]}]},"medianSeconds":2931.428,"project":"frontier_code","title":"Fix SSR hydration after browser history changes before the document finishes hydrating","stack":["typescript","react","tanstack-router","playwright"],"upstream":{"baseCommit":"08a419c109ea2739fef0b893e09f4919fbd1b0d8","repository":"TanStack/router"},"expertHours":16,"agentTimeoutSec":14400,"oracle":1,"nop":0,"quality":"passed","versions":7,"ideaRevisions":3,"headline":{"model":"claude-opus-5-5","solved":1,"attempts":5,"bestScore":1,"attemptOutcomes":[{"id":"01a175c9-d058-760f-b469-ca12c6fc4819","outcome":"unsolved","score":0.75},{"id":"01a175c9-d058-760f-b469-ce0d36776254","outcome":"unsolved","score":0.75},{"id":"01a175c9-d058-760f-b469-d1bbb6237719","outcome":"unsolved","score":0.75},{"id":"01a175c9-d058-760f-b469-d568d4ff7797","outcome":"unsolved","score":0.75},{"id":"01a175c9-d058-760f-b469-daa08ee8a408","outcome":"solved","score":1}]},"floor":null,"runs":1,"trajectories":5,"tags":[]}],"observations":[{"count":"4 of 7 tasks","body":"Attempts stopped once their own tests passed. The hidden tests covered cases they had not tried: other switch shapes, redirects, a fourth night of data, entangled transition lanes.","tasks":["glad-raven-808","trusty-beacon-605","crisp-owl-238","crisp-robin-633"],"title":"Stopped when their own tests passed"},{"count":"3 of 7 tasks","body":"Failed attempts passed 83–97% of the hidden tests. Each missed one behaviour that the task's spec implies but does not state.","tasks":["humble-falcon-073","crisp-owl-238","sharp-gecko-098"],"title":"One implied behaviour missed"},{"count":"2 of 7 tasks","body":"In its final message, an attempt named a gap it had left open, then finished anyway.","tasks":["humble-falcon-073","trusty-beacon-605"],"title":"Gaps named, then shipped"},{"count":"1 of 7 tasks","body":"Two attempts never ran the graph validation the task names. The solved attempt did.","tasks":["glad-raven-808"],"title":"Validation not run"}],"labels":{"crisp-owl-238":"React AbortSignal","crisp-robin-633":"Mainframe extract","glad-raven-808":"Vineflower switches","humble-falcon-073":"Billing engine","sharp-birch-411":"Backup repository","sharp-gecko-098":"Pendulum rigs","trusty-beacon-605":"TanStack Router hydration"}}