host
773945d136
v2 evidence: bind release evidence with ts/nonce, pin actual-only quota, ledger onboarding checklist, ledger failure outbox, read-only gate verifier (no live wiring)
...
- cloud/evidence_binding.py: bind/validate/nonce single-use store;
release endpoint consumes nonce on first validated submission,
replay -> 409 evidence_replayed, stale/future -> 409
evidence_stale, partial -> 400, absent -> old path + label.
Binding blocks exact replay and stale evidence, NOT restamping
(unsigned evidence cannot prove content freshness).
- cloud/quota.py docstring: actual-only is the v2 integration
position (already converged in v1 base via fef09ae, NOT in
main); original PR semantics (#86 all-rows vs #90 actual-only)
still pending coordinator confirmation at merge time.
- cloud/ledger_onboarding.py: DDL checklist referencing
PG_DDL/PG_MARKER_DDL constants, read-only verify_ledger_ready
and ledger_setup_report; default stays OFF, PG DDL stays an
operator action (never claimed as executed).
- cloud/ledger_outbox.py + worker hook: ledger write failures
go to a JSONL outbox in addition to the log and can be
replayed; task outcome still unaffected (rule 7 kept),
audit fail-closed untouched -- asymmetry documented, not
silently changed.
- cloud/gate_verification.py: read-only verifier over an
injected reader (match/mismatch/skipped); live wiring in
merge/release is NOT possible on the current contract (no
repo/ref in body or task row, no guaranteed trusted token),
proven in the module header; no fake verification claimed.
- cloud/tests/test_v2_evidence.py: 18 new tests, all passing.
(cherry picked from commit bd85e33cd5e846fa6ee5d7e2440182dbd9c758b0)
2026-11-03 02:49:26 +00:00
..
2026-10-26 16:27:42 +08:00
2026-10-26 16:47:55 +08:00
2026-10-27 15:53:50 +08:00
2026-10-27 15:53:50 +08:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-10-30 00:49:03 +08:00
2026-10-28 12:12:10 +08:00
2026-11-03 02:49:25 +00:00
2026-10-27 15:53:50 +08:00
2026-11-03 02:48:54 +00:00
2026-10-29 00:19:30 +08:00
2026-10-27 16:27:50 +00:00
2026-10-27 15:53:50 +08:00
2026-10-29 07:01:57 +08:00
2026-11-03 02:48:54 +00:00
2026-10-29 05:27:22 +08:00
2026-11-03 02:48:54 +00:00
2026-11-01 09:06:28 +00:00
2026-11-01 08:16:48 +00:00
2026-10-29 06:32:38 +08:00
2026-10-30 01:32:35 +08:00
2026-10-28 08:57:05 +00:00
2026-10-29 02:42:52 +08:00
2026-10-30 05:11:06 +08:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-10-26 03:23:06 +08:00
2026-10-26 01:32:57 +08:00
2026-10-26 10:26:21 +08:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:55 +00:00
2026-10-30 02:53:46 +08:00
2026-10-27 16:27:50 +00:00
2026-10-29 06:32:38 +08:00
2026-10-29 16:45:07 +08:00
2026-10-27 10:56:08 +08:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-10-26 08:39:57 +08:00
2026-10-28 03:43:02 +08:00
2026-11-03 02:48:54 +00:00
2026-10-30 04:05:00 +08:00
2026-11-01 09:06:28 +00:00
2026-10-30 01:32:35 +08:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:48:55 +00:00
2026-11-03 02:48:55 +00:00
2026-11-03 02:48:55 +00:00
2026-10-30 15:39:55 +08:00
2026-10-30 07:15:05 +08:00
2026-10-28 10:13:40 +00:00
2026-10-29 04:40:47 +08:00
2026-11-03 02:48:54 +00:00
2026-10-30 14:46:11 +08:00
2026-10-27 19:10:49 +00:00
2026-10-26 01:23:21 +08:00
2026-11-03 02:48:55 +00:00
2026-11-03 02:48:55 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:48:54 +00:00
2026-10-30 12:58:41 +08:00
2026-10-27 15:35:23 +00:00
2026-10-29 16:45:07 +08:00
2026-10-26 16:27:42 +08:00
2026-10-26 16:27:42 +08:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-10-26 07:42:14 +08:00
2026-10-27 15:35:23 +00:00
2026-10-29 15:31:07 +08:00
2026-11-03 02:49:26 +00:00
2026-10-29 12:42:19 +08:00
2026-10-29 06:32:38 +08:00
2026-10-27 16:37:28 +00:00
2026-10-27 14:12:28 +08:00
2026-10-27 14:12:28 +08:00
2026-11-03 02:49:26 +00:00
2026-11-01 09:06:28 +00:00
2026-11-01 09:06:28 +00:00
2026-10-30 13:36:24 +08:00
2026-11-01 09:06:28 +00:00
2026-11-01 08:34:13 +00:00
2026-10-28 22:49:06 +08:00
2026-10-26 03:23:06 +08:00
2026-10-26 16:47:55 +08:00
2026-10-26 15:20:02 +08:00
2026-11-03 02:48:54 +00:00
2026-10-27 19:10:49 +00:00
2026-10-26 17:01:47 +08:00
2026-10-29 17:46:12 +08:00
2026-10-30 04:15:54 +08:00
2026-10-28 10:12:57 +00:00
2026-11-03 02:48:54 +00:00
2026-10-30 04:18:09 +08:00
2026-10-30 05:11:06 +08:00
2026-10-30 05:11:06 +08:00
2026-10-27 19:10:49 +00:00
2026-10-28 11:09:29 +08:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:26 +00:00
2026-10-27 05:40:30 +08:00
2026-10-27 01:44:53 +08:00
2026-11-03 02:49:26 +00:00
2026-11-02 03:30:57 +00:00
2026-11-01 19:01:39 +00:00
2026-11-02 03:30:57 +00:00
2026-11-02 03:30:57 +00:00
2026-10-27 15:53:50 +08:00
2026-10-27 15:53:50 +08:00
2026-10-29 05:41:35 +08:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-10-30 15:14:37 +08:00
2026-10-26 23:17:25 +08:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:55 +00:00
2026-10-27 15:35:23 +00:00
2026-10-26 16:47:55 +08:00
2026-10-26 06:46:20 +08:00
2026-11-03 02:48:54 +00:00
2026-10-29 23:16:01 +08:00
2026-10-30 14:46:11 +08:00
2026-10-27 15:35:23 +00:00
2026-10-30 07:15:05 +08:00
2026-10-30 07:08:51 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:48:55 +00:00
2026-11-03 02:49:25 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:49:26 +00:00
2026-10-27 16:37:28 +00:00
2026-11-03 02:48:55 +00:00
2026-11-03 02:48:54 +00:00
2026-10-30 06:33:25 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:49:25 +00:00
2026-10-27 04:30:43 +08:00
2026-10-27 04:40:11 +08:00
2026-11-03 02:48:54 +00:00
2026-11-03 02:48:54 +00:00
2026-10-30 05:11:06 +08:00
2026-10-30 02:25:48 +08:00
2026-10-30 00:39:13 +08:00
2026-10-28 11:14:10 +08:00
2026-10-28 11:25:17 +08:00
2026-11-03 02:48:54 +00:00
2026-10-29 06:32:38 +08:00
2026-11-03 02:48:54 +00:00
2026-10-28 04:56:22 +08:00
2026-10-27 16:37:28 +00:00
2026-10-28 05:36:18 +08:00
2026-10-28 06:10:02 +08:00
2026-10-28 04:33:20 +08:00
2026-10-30 05:11:06 +08:00
2026-10-30 14:46:11 +08:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:49:26 +00:00
2026-11-03 02:48:54 +00:00
2026-10-30 01:16:49 +08:00
2026-11-01 14:15:54 +00:00
2026-11-01 14:15:54 +00:00
2026-10-30 01:16:49 +08:00
2026-11-03 02:48:54 +00:00
2026-10-26 06:46:20 +08:00
2026-10-27 14:12:28 +08:00
2026-11-03 02:48:54 +00:00
2026-10-28 11:25:17 +08:00
2026-10-30 14:46:11 +08:00
2026-10-30 01:38:01 +08:00
2026-11-03 02:48:55 +00:00
2026-11-03 02:48:55 +00:00