Add explicit bounded Codex reconciliation preview and provable ledger repair

Aperta
#15,031 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript, react
Ambito
backend, data, frontend

Direzione di ricerca

Start with the existing usage routes, usageBackfill.js/Worker.js, usage.js, and the Usage page controls; read blocked issue #15029 and parent #15022 for context. Trace how recovered sources, ledger provenance, idempotency, and serialized accounting writes work, then review the existing route and UI tests. Done means a bounded read-only preview and explicit, revision-bound apply handle provable adjustments safely, preserve uncertain totals, and pass synthetic-source and rendered-interaction tests.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area:devtools effort:high in-progress model:heavy plan planner:gpt-6-1-sol

Problem and decision

Recovering archive sources does not prove they are missing from usage.json: historical run and standalone attribution may already include them. Extend the existing Usage reconciliation action with a date-bounded preview and explicit apply, using the shared recovered sources and current ledger provenance.

Scope and chosen approach

Use the existing usage routes, usageBackfill.js/Worker.js, usage.js and Usage page controls. Preview in a worker and show source coverage, provable ledger differences and ambiguous overlap separately. Apply only replacements/additions whose previous attribution and replacement are established by existing markers; retain and report uncertain totals. Bind apply to the preview's source and ledger revisions, revalidate under the existing serialized accounting write boundary, and recompute/refuse if completion changed them. Reuse idempotency structures rather than adding a second ledger. Preserve progress/cancellation and explicit user action. Do not invoke providers or run an automatic repair migration.

Acceptance criteria

  • Preview is read-only, bounded, and reports incomplete sources and ambiguous prior billing.
  • Explicit apply changes only provable adjustments, is idempotent, and preserves unknown existing totals.
  • Source growth, interrupted scans/retries, and live completion overlapping preview/apply cannot double count or lose unrelated usage.
  • Tests cover the route/workflow and rendered interaction with synthetic sources/storage; no live historical writes.

Dispatch: model:heavy for evidence-bound accounting changes; effort:high for concurrent preview/apply and public-boundary coverage.
hardwareRequirements: []

Blocked by #15029

Part of #15022

After delivery, check this child in #15022. If this is its last open child, summarize the delivered children and close #15022.

Lingua principale
JavaScript
Stelle
38
Fork
32
Merge medio
35m
PR unite (30g)
989

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di atomantic/PortOS

Tutte le issue di atomantic/PortOS

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.