Marius Ciepluch and Claude Opus 4.8
4aa612253a
unseen: durable decision bank in ousast-corpus (stream + resume, retires the local journal)
...
The draw lost all progress on any restart because the local journal
invalidates on a code change and is the only cross-run state. Make the
bucket the source of truth: stream every per-repo accept/reject to
ousast-corpus as it is decided, keyed by sha256(repository+"\n"+fix) so
writes are idempotent (content dedup at rest), and resume by listing the
bucket and skipping already-decided repos. No supervisor/watchdog needed
-- a crash or a code change just re-runs and resumes.
New benchmarks/unseen/bank.py: corpus_settings (CORPUS_S3_* from .env,
missing key named, value never printed), CorpusObjects (lazy boto3,
path-style + SigV4 verified live against ousast-corpus @ 10.0.0.54:9001),
CorpusBank.bank/decided with one-retry put/get, split_decided. Decisions
live at <prefix>/<seed>/decisions/<key>.json with repository, fix,
accept/reject, reason, entry, exclusions, counts, contract, seed, ts.
draft.py: --bank [prefix] opens the bank on the coordinator (never shipped
to fork workers); run() resumes from bank.decided() before extracting,
reusing accepted entries across contracts (deterministic from repo+commit)
and rejections only when contract == EXTRACTION_CONTRACT ("v1", in
extract.py); collect() streams each decision one-by-one. Seed-order
acceptance, fork/used-set dedup, and duplicate-advisory reuse preserved.
Without --bank, local-journal behavior is unchanged.
CorpusBank proven live end-to-end (bank accept+reject, idempotent re-bank,
decided/split roundtrip). 325 tests pass offline, ruff clean.
Co-Authored-By: Claude Opus 4.8 <[email protected] >
2026-10-10 16:09:47 +02:00
..
2026-10-05 14:45:48 +02:00
2026-06-22 17:13:02 +02:00
2026-10-02 20:26:46 +02:00
2026-10-01 10:13:31 +02:00
2026-10-02 21:05:48 +02:00
2026-09-29 19:41:35 +02:00
2026-10-04 11:57:34 +02:00
2026-10-02 19:48:01 +02:00
2026-10-06 11:15:09 +02:00
2026-10-06 14:51:07 +02:00
2026-10-04 12:03:19 +02:00
2026-09-30 15:05:47 +02:00
2026-06-18 10:06:21 +02:00
2026-09-08 12:15:54 +02:00
2026-09-05 10:45:43 +02:00
2026-09-03 20:33:48 +02:00
2026-09-04 00:18:33 +02:00
2026-09-03 20:33:48 +02:00
2026-09-03 20:05:13 +02:00
2026-10-02 19:45:37 +02:00
2026-09-23 08:51:12 +02:00
2026-09-26 07:44:33 +02:00
2026-10-03 22:53:28 +02:00
2026-10-04 16:41:22 +02:00
2026-09-08 12:15:54 +02:00
2026-06-22 17:13:02 +02:00
2026-09-24 11:08:22 +02:00
2026-10-02 10:15:19 +02:00
2026-10-04 16:18:01 +02:00
2026-10-04 16:41:22 +02:00
2026-10-05 08:14:57 +02:00
2026-09-23 19:36:32 +02:00
2026-06-22 15:27:16 +02:00
2026-09-14 08:07:06 +02:00
2026-09-30 12:13:26 +02:00
2026-10-02 07:22:35 +02:00
2026-09-25 15:29:43 +02:00
2026-09-13 17:08:49 +02:00
2026-06-22 20:02:34 +02:00
2026-06-18 10:06:21 +02:00
2026-09-28 20:10:57 +02:00
2026-09-28 20:15:14 +02:00
2026-06-18 10:59:25 +02:00
2026-09-30 13:44:32 +02:00
2026-09-05 10:45:43 +02:00
2026-09-30 18:15:52 +02:00
2026-10-04 19:17:35 +02:00
2026-10-02 19:32:46 +02:00
2026-10-04 14:39:36 +02:00
2026-09-30 18:49:05 +02:00
2026-10-03 14:41:55 +02:00
2026-10-01 10:36:34 +02:00
2026-10-02 10:15:19 +02:00
2026-10-01 10:36:34 +02:00
2026-10-02 10:15:19 +02:00
2026-10-02 17:24:49 +02:00
2026-10-02 16:12:08 +02:00
2026-10-03 15:06:08 +02:00
2026-10-03 15:06:08 +02:00
2026-10-01 10:05:19 +02:00
2026-10-01 11:03:54 +02:00
2026-10-02 15:25:21 +02:00
2026-10-01 20:40:41 +02:00
2026-10-02 11:33:16 +02:00
2026-10-01 14:04:28 +02:00
2026-10-03 09:40:58 +02:00
2026-09-30 18:38:04 +02:00
2026-10-04 14:39:36 +02:00
2026-09-04 11:53:06 +02:00
2026-09-09 17:33:36 +02:00
2026-09-09 13:15:54 +02:00
2026-09-25 14:30:36 +02:00
2026-09-20 16:30:04 +02:00
2026-09-09 13:09:47 +02:00
2026-09-28 09:10:02 +02:00
2026-09-11 13:45:00 +02:00
2026-09-08 19:46:58 +02:00
2026-09-14 08:07:06 +02:00
2026-09-09 09:27:19 +02:00
2026-09-17 14:04:39 +02:00
2026-09-08 19:46:58 +02:00
2026-09-09 07:42:44 +02:00
2026-09-14 08:07:06 +02:00
2026-09-25 15:13:30 +02:00
2026-09-09 12:45:21 +02:00
2026-09-09 16:13:17 +02:00
2026-09-09 14:30:48 +02:00
2026-09-09 15:08:01 +02:00
2026-10-02 07:22:35 +02:00
2026-09-04 11:50:44 +02:00
2026-09-08 12:15:54 +02:00
2026-09-05 19:38:04 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 13:09:56 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 07:24:13 +02:00
2026-09-06 07:24:13 +02:00
2026-09-05 19:38:04 +02:00
2026-09-06 07:24:13 +02:00
2026-09-08 12:15:54 +02:00
2026-09-06 07:24:13 +02:00
2026-09-08 19:46:58 +02:00
2026-09-08 19:46:58 +02:00
2026-09-30 18:49:05 +02:00
2026-06-21 20:44:08 +02:00
2026-09-29 19:04:52 +02:00
2026-09-29 17:41:09 +02:00
2026-10-02 21:49:58 +02:00
2026-10-02 21:29:32 +02:00
2026-09-30 15:05:47 +02:00
2026-09-30 18:38:04 +02:00
2026-10-01 19:40:58 +02:00
2026-10-02 20:43:40 +02:00
2026-10-02 20:32:51 +02:00
2026-09-30 18:38:04 +02:00
2026-10-01 09:56:52 +02:00
2026-10-02 10:15:19 +02:00
2026-10-04 12:03:19 +02:00
2026-10-02 21:49:58 +02:00
2026-09-30 13:44:32 +02:00
2026-09-29 17:55:34 +02:00
2026-10-02 20:26:46 +02:00
2026-10-02 21:12:19 +02:00
2026-10-02 08:07:35 +02:00
2026-09-30 08:19:46 +02:00
2026-09-29 19:49:28 +02:00
2026-06-22 12:31:35 +02:00
2026-06-17 21:13:51 +02:00
2026-09-23 19:05:08 +02:00
2026-09-05 10:45:43 +02:00
2026-09-07 07:37:41 +02:00
2026-09-17 09:56:59 +02:00
2026-09-13 18:03:31 +02:00
2026-10-02 22:31:14 +02:00
2026-09-13 16:16:19 +02:00
2026-09-23 14:12:47 +02:00
2026-09-12 21:12:45 +02:00
2026-09-13 19:32:43 +02:00
2026-09-13 15:24:06 +02:00
2026-10-02 22:51:22 +02:00
2026-09-13 19:06:02 +02:00
2026-10-02 21:57:42 +02:00
2026-09-12 18:45:54 +02:00
2026-10-02 22:51:22 +02:00
2026-09-13 17:45:16 +02:00
2026-10-02 22:24:24 +02:00
2026-09-21 13:50:38 +02:00
2026-10-02 22:18:14 +02:00
2026-09-13 18:43:13 +02:00
2026-09-13 13:25:44 +02:00
2026-09-23 07:55:33 +02:00
2026-09-13 17:08:49 +02:00
2026-09-12 19:04:20 +02:00
2026-09-12 21:12:45 +02:00
2026-10-02 21:57:42 +02:00
2026-06-18 07:57:06 +02:00
2026-06-22 20:02:34 +02:00
2026-09-03 22:36:02 +02:00
2026-09-03 22:48:10 +02:00
2026-09-03 22:12:45 +02:00
2026-09-03 22:59:01 +02:00
2026-09-30 12:45:29 +02:00
2026-10-02 22:10:33 +02:00
2026-09-09 08:10:59 +02:00
2026-09-30 18:49:05 +02:00
2026-06-17 21:13:51 +02:00
2026-09-03 23:43:15 +02:00
2026-09-03 23:43:15 +02:00
2026-09-30 12:13:26 +02:00
2026-09-30 12:13:26 +02:00
2026-06-22 15:27:16 +02:00
2026-06-22 15:41:17 +02:00
2026-10-05 21:07:58 +02:00
2026-10-05 14:26:43 +02:00
2026-10-05 14:26:43 +02:00
2026-10-06 17:07:24 +02:00
2026-10-07 12:03:45 +02:00
2026-10-06 14:50:14 +02:00
2026-10-06 14:37:58 +02:00
2026-10-06 11:15:09 +02:00
2026-10-09 14:03:30 +02:00
2026-10-05 20:40:13 +02:00
2026-10-05 17:12:46 +02:00
2026-10-07 12:03:45 +02:00
2026-10-05 17:26:06 +02:00
2026-10-05 21:37:56 +02:00
2026-10-06 14:37:58 +02:00
2026-10-06 11:15:09 +02:00
2026-10-06 12:43:11 +02:00
2026-10-06 09:37:47 +02:00
2026-09-04 15:07:35 +02:00
2026-09-30 12:18:42 +02:00
2026-09-04 15:07:35 +02:00
2026-09-08 19:46:58 +02:00
2026-09-30 18:49:05 +02:00
2026-06-22 19:51:04 +02:00
2026-09-04 11:49:44 +02:00
2026-09-04 11:54:01 +02:00
2026-09-03 23:14:00 +02:00
2026-09-08 19:46:58 +02:00
2026-10-05 20:40:13 +02:00
2026-09-30 12:13:26 +02:00
2026-09-06 12:39:55 +02:00
2026-10-10 16:09:47 +02:00
2026-10-10 07:54:49 +02:00
2026-10-05 08:14:57 +02:00
2026-10-10 16:09:47 +02:00
2026-10-04 19:17:35 +02:00
2026-10-10 14:46:18 +02:00
2026-10-10 07:54:49 +02:00
2026-10-04 20:19:14 +02:00
2026-10-04 19:17:35 +02:00
2026-10-05 08:14:57 +02:00
2026-10-04 20:19:14 +02:00
2026-10-04 20:19:14 +02:00
2026-10-04 20:19:14 +02:00
2026-10-08 10:26:11 +02:00
2026-06-18 10:06:21 +02:00