bvandeusen and Claude Fable 5
ba0030e51d
CI & Build / Python lint (push) Successful in 5s
CI & Build / Plugin hooks (push) Successful in 13s
CI & Build / integration (push) Failing after 34s
CI & Build / TypeScript typecheck (push) Successful in 35s
CI & Build / Python tests (push) Successful in 1m17s
CI & Build / Build & push image (push) Successful in 48s
feat(ledger): mechanical proposer — every refresh proposes instances against canon and groups derive-first candidates; agents confirm in batches ( #2792 , milestone 294 step 6)
...
Shapes now carry a content fingerprint (signature + whitespace/comment-
insensitive body_sha; migration 0080) and the proposer runs inside the
coverage refresh, the one moment bodies exist: symbol elsewhere → textual
containment → body references the canon → signature resemblance → semantic
(capped per refresh, unreached rows stay unexamined for the next). A hit is
a proposal on the row (proposed_snippet_id/basis/score), never a
classification; rows with no canon hit group by the derive-first rule
(identical body in ≥2 places, same name in ≥3 files) as proposal_basis=
derive + a group key. list_shapes(proposal=any|canon|derive|<basis>) is the
queue; confirm_shape_proposals(project_id, snippet_id|path|basis) confirms
in batches as agent instances; any classify_shapes/hook stamp retires the
proposal. Readout carries proposed + derive_groups (line, payload, card).
Plugin 0.1.35 (skill: the machine proposes, judgment classifies).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-20 21:30:35 -04:00
..
2026-05-27 22:39:50 -04:00
2026-03-08 18:46:54 -04:00
2026-06-14 19:19:18 -04:00
2026-06-03 15:48:35 -04:00
2026-07-31 14:52:06 -04:00
2026-08-08 23:51:01 -04:00
2026-07-30 21:52:16 -04:00
2026-08-03 11:37:20 -04:00
2026-08-03 20:50:03 -04:00
2026-08-07 13:01:45 -04:00
2026-06-03 16:16:44 -04:00
2026-08-16 16:18:16 -04:00
2026-05-27 22:39:50 -04:00
2026-08-16 11:33:24 -04:00
2026-06-14 19:24:09 -04:00
2026-08-19 11:23:22 -04:00
2026-08-08 23:51:01 -04:00
2026-08-20 21:30:35 -04:00
2026-07-27 23:12:48 -04:00
2026-08-06 08:43:10 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-08-17 12:54:58 -04:00
2026-07-30 21:16:45 -04:00
2026-06-14 12:22:22 -04:00
2026-08-07 22:45:56 -04:00
2026-07-27 15:18:03 -04:00
2026-08-05 16:32:05 -04:00
2026-08-20 08:24:05 -04:00
2026-06-14 13:43:17 -04:00
2026-07-25 23:10:12 -04:00
2026-07-28 18:42:29 -04:00
2026-08-19 20:05:02 -04:00
2026-06-03 15:48:35 -04:00
2026-06-14 12:34:30 -04:00
2026-07-27 15:18:03 -04:00
2026-06-03 15:48:35 -04:00
2026-08-16 20:05:01 -04:00
2026-06-03 15:48:35 -04:00
2026-08-20 21:30:35 -04:00
2026-08-06 08:51:21 -04:00
2026-08-08 23:47:34 -04:00
2026-08-08 19:58:01 -04:00
2026-06-03 15:48:35 -04:00
2026-06-14 17:53:24 -04:00
2026-08-03 11:42:11 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-07-28 18:42:29 -04:00
2026-06-13 23:14:54 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-07-30 16:54:41 -04:00
2026-08-19 19:25:25 -04:00
2026-07-19 13:29:14 -04:00
2026-06-14 18:31:30 -04:00
2026-08-08 23:51:01 -04:00
2026-07-31 22:10:09 -04:00
2026-08-19 11:23:22 -04:00
2026-07-25 22:48:01 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-08-08 23:47:34 -04:00
2026-06-14 12:22:22 -04:00
2026-08-08 22:32:58 -04:00
2026-08-02 19:09:36 -04:00
2026-06-10 01:33:58 -04:00
2026-06-22 20:10:15 -04:00
2026-06-03 15:48:35 -04:00
2026-07-28 18:42:29 -04:00
2026-08-07 22:45:56 -04:00
2026-06-13 22:53:51 -04:00
2026-07-19 13:32:30 -04:00
2026-08-20 21:30:35 -04:00
2026-07-25 22:43:00 -04:00
2026-07-31 22:46:57 -04:00
2026-08-16 13:05:00 -04:00
2026-08-09 10:33:11 -04:00
2026-08-19 11:23:22 -04:00
2026-07-27 23:09:37 -04:00
2026-07-31 22:46:57 -04:00
2026-08-16 12:06:19 -04:00
2026-07-31 22:46:57 -04:00
2026-08-08 02:00:06 -04:00
2026-07-30 12:53:57 -04:00
2026-07-25 22:48:01 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-08-20 20:19:45 -04:00