feat(zotero): reconcile indeterminate rollbacks - #21
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
|
@codex review |
Rate Limit Exceeded
|
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Base PR #20 advanced to c45e4cb with the explicit Zotero loopback transport threat boundary. This PR non-force merged that base into exact head 6221c72. Rust 1.98 workspace tests, clippy, CI contract, and owned 100% region/branch coverage pass again. Independent exact-base re-review found no findings; reconciliation remains read-only and the hostile same-host credential boundary is preserved without claiming secure live write-back. |
…iation # Conflicts: # docs/PRD.md # docs/TRD.md # docs/product-technical-gap-baseline.md
Non-force two-parent restack onto current rollback-execution parent. Preserve read-only reconciliation semantics while inheriting the current repaired dependency chain. Signed-off-by: Seongho Bae <me@seonghobae.me>
# Conflicts: # docs/TRD.md # docs/product-technical-gap-baseline.md
|
Current-stack correction (2026-09-05): exact base |
Latest bounded-read integration checkpoint
Exact head
09c84e4cdb1393a5e450f5200b87f292eeea956fnormally merges parenta03a7248c894a1e0765968ddf58514d98c517da3while retaining previous child9302f8525aa3b3aba2f68576a97b6d2c853f2819. Base remainsautoresearch/zotero10-rollback-execution. The #9 whole-snapshot elapsed-time repair and its RED/GREEN evidence are inherited without reverse-merging later features or discarding predecessor deltas.This exact head passes Rust 1.98.0 locked workspace tests=119 suites=22, including doctests and excluding filtered subprocess duplicates, strict all-target Clippy, warnings-denied rustdoc, formatting, the existing CI contract and diff checks. Log:
/private/tmp/conceptweave-deadline-pr21-20260906.log. Intermediate coverage is not inferred from owner/final-endpoint coverage. No new dependency, actual paper read/decision, Zotero mutation or authority issuer was used.Draft and protected prerequisites remain. Local tests are not hosted GREEN, independent approval, merged/released source or evidence for another head. Earlier checkpoints below are retained history, not the current head.
Verified local approval-order repair — 2026-09-06 checkpoint
Exact head:
autoresearch/zotero10-rollback-reconciliation@9302f8525aa3b3aba2f68576a97b6d2c853f2819. Exact base:autoresearch/zotero10-rollback-execution@4fb1ad073cfbe25d269d063c90914636f27619da.Original planner owner #13 preserves regression
505e111c993d8269e5b7b9e17a25a5ce20f8606eand repair8a684882005085d8b3cb47812e185975084e0475. Every existing local request/mode/item/metadata check finishes before the external approval verifier. Invalid requests invoke it zero times; valid complete requests invoke it exactly once. Local validation errors intentionally precede approval denial. Deterministic operations and complete before/after/rollback metadata are unchanged.This exact head passed locked Rust 1.98.0 workspace tests (116 tests / 22 unfiltered suites, doctests included), strict all-target Clippy, formatting, warnings-denied rustdoc, CI contract and diff checks before normal push. Normal parent integration retains both the prior child and verified parent as ancestors. Coverage from another stack head is not attributed to this head.
Keep Draft behind the existing prerequisite stack. This is local verification, not hosted current-head GREEN, independent approval, protected merge or release. No later full-text feature was reverse-merged into an earlier owner. Full-text-aware write admission, authentic decisions and independent authority remain separate gaps; no real Zotero/model request, label, approval or write was performed for this repair.
Earlier coordinates and status claims below are historical.
Prior PR description, retained without discarding evidence
Current source-integrity note — 2026-09-05
autoresearch/zotero10-rollback-reconciliation@05051d8c175eccd864eeac78f54b70116d8ee941.autoresearch/zotero10-rollback-execution@d605e1517d2838b077bfa18cfd5c15d5246ea1cd.e7d4e59f1b55b5954c5f8436527bc96e7ef2fb13through ordinary merge ancestry. The source-snapshot digest binds complete captured raw provider JSON and the actual typed classifier inputs; source evidence and derived proposals retain separate identities.GoldenSetApproval.proposal_digestis required and binds the complete proposal records used for evaluation. The current proposal digest is checked before the caller-owned governance verifier. Do not backfill old receipts: regenerate evidence and obtain a new approval bound to the reviewed evidence.Earlier heads, runtime snapshots, campaign counts, and verification statements below are historical notes, not current acceptance evidence.
Historical PR notes — original text retained
Outcome
Reconcile one indeterminate rollback operation with a read-only evidence receipt; distinguish restored, unchanged and indeterminate state using exact server, item revision and complete metadata; tolerate unrelated library-version advancement while permitting retry only for a proven unchanged item; connect the generic reconciliation contract to the Zotero 10 stable-read adapter without adding a write path.
Current exact stack — 2026-09-05
autoresearch/zotero10-rollback-execution@53a91d33acb9c459808548b2f80d07984ccdfaee;d51762da7ddf614072918813adb750b6edebecbf;d51762d...without fresh terminal workflows.Contract and limits
The reconciliation boundary verifies server identity, exact item revision and complete metadata, returns restored/unchanged/indeterminate state, and never writes. A live read-only snapshot previously observed Zotero 9.0.6, Local API v3/schema 42, library version 12341 and 8,326 records; that observation does not establish Zotero 10 write authorization or rollback safety.
Keep Draft behind #20 and all predecessor gates. Approved live Zotero 10 write, partial-failure and rollback evidence remain incomplete. No descendant evidence back-proves this exact head, and no live mutation or authority promotion is claimed.