Skip to content

Import Cue decisions and report procedure reads (#129) - #131

Merged
lukemaj merged 7 commits into
mainfrom
feat/129-cue-import
Oct 19, 2026
Merged

lukemaj merged 7 commits into
mainfrom
feat/129-cue-import

Conversation

@lukemaj

@lukemaj lukemaj commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

What: Import Cue decisions and report comparable first-unit procedure reads, with optional-source health and isolated import failures.
Why: Optional Cue absence must not fail host health, one bad Library file must not hide its siblings, and Cue errors must not discard unrelated sync writes.
So what: The branch is rebased and pushed; all 911 post-rebase tests, compileall, current-head CI and independent review pass, and PR #131 is ready for review with no merge authorized.

Closes #129

Scope and current handoff

Worktree /home/luke/dev/toolboxmd/agent-observer-worktrees/129-cue-import, branch feat/129-cue-import; current base fcdb91c696777d172fbf785d0059ff6844fb4e6c (merged #130), pushed head 5089a01ee3c49c60f8d517e1de0f96baf01f31cf. The user authorized this rebase after #130 merged; it is complete. The push used an explicit lease against previous remote head 262ed28330a2e2ef718808fca707b7bc35fd96de.

The cumulative implementation imports a read-only ContextMD snapshot, keeping Cue metadata and settled successful target reads without selecting/storing prompt, window or served text. First above-threshold units are keyed by harness/session/entry/context epoch before target/outcome filtering. A first carried unit resolves to its eventual same-epoch print and starts its read window there; consumed prints are not repeats. Hidden, cut-budget and missing-target first slots remain excluded/unavailable; never-printed carries are separate. Every user message closes the window even with invalid Cue metadata, alongside known epoch changes, the 30-minute cap and watermark. Full, partial, earlier and pending evidence remain separate. Exact native links add no duplicate events; per-harness and pooled aggregates include distinct sessions, descriptive cluster intervals and explicit gaps. Optional strict fleet export retains its stored snapshot.

Post-rebase integration:

Previously reviewed Opus round-2 correction retained:

  • Unknown ~user target expansion raises RuntimeError; the per-file catch now records only that file's candidates as unavailable, leaving healthy siblings visible.
  • The importer handles any ordinary Exception at the Cue savepoint boundary, rolls back only the attempt, records a safe gap and lets sync commit its other writes. TypeError retains schema_drift; other exceptions, including deeply nested owner JSON's RecursionError, record unreadable_database. No exception message or source text is emitted. BaseException interruption/exit signals still roll back and propagate.
  • Two new regression tests failed first on c5b3423 with the exact RuntimeError/RecursionError and now pass. The deep-JSON sync fixture reopens the ledger to verify old Cue data and committed placement/version markers. Its 100,000 nesting depth is guarded with an independent decoder assertRaises(RecursionError); Python 3.14 accepted the initial 10,000-depth input, so that initial attempt was not counted as reproduction proof.

Earlier Opus final-review fixes retained:

  • health still displays every Cue status. Missing database, no Cue moments and not-yet-imported evidence exit 0 when other health checks pass; only Cue schema_drift or unreadable_database add exit 4. Existing invisible-session and unavailable-scan failures remain unchanged.
  • Library file parsing catches malformed/unreadable files individually. Only candidates for the failed file become unresolved gaps; healthy sibling targets remain available.
  • The Cue importer owns a savepoint around the attempt. A sqlite3.Error rolls back only Cue changes and records unreadable_database; non-text owner JSON causing TypeError records schema_drift. The prior Cue mirror remains intact. Exception messages are not emitted because they can contain source data. sync completes and commits placement/version-refresh work, emits the Cue gap and exits 1 for these hard errors.
  • Unreleased changelog now lists default ContextMD import and the health exit policy under Changed, with no Fixed bullets for unreleased Cue development. README describes the same public behavior.

Latest shared-file changes in cli.py are limited to health and sync exit behavior; failure isolation belongs to cue.py for both callers. Cumulative CLI/health/fleet integration remains minimal. No native adapter parsing, identity.py, VERSION or plugin manifest changes. Version/release checks remain intentionally deferred under the explicit no-version instruction. No service, live-ledger write, sync against the live ledger, merge, release or install. Website/SEO impact: none, local CLI/report only.

Elon record

Requirements and who asked: User: rebase #131 onto merged #130 at fcdb91c, retain both Unreleased entries in Added/Changed/Fixed order, preserve VERSION/manifests, run the full suite once and compileall, push with force-with-lease, verify new-head CI and update #129; do not merge.
Deleted: Duplicate Unreleased headings, stale base/proof claims and any unrelated code or release changes.
Bottleneck: Integrating the reviewed Cue change with #130's parser fixes and proving the exact new candidate.
Checked myself: Merged #130 and origin/main SHA, actual changelog conflict, seven-commit range-diff, all 12 upstream/eight Cue file blobs, requested section order, one 911-test suite, compileall, diff checks and the explicit lease-protected push.

Reflection at the owner: earlier tests checked successful Cue import but did not distinguish optional absence from operational failure or exercise failure after another sync component had written. Regression tests now drive the CLI exit policy, healthy sibling resolution after bad files and durable non-Cue writes after failed imports. The correction lives in code/tests/docs, without adding a duplicate shared rule or private preference.

Exact-head proof

python3 -m unittest discover -s tests
----------------------------------------------------------------------
Ran 911 tests in 87.619s

OK

Only one Observer suite ran at a time, after a process guard. python3 -m compileall -q agent_observer tests and git diff --check passed. Focused feedback: 39 Cue and 19 health tests passed. Five earlier regression test methods cover all six Cue health statuses in both text/JSON, malformed JSON/UTF-8 and unreadable Library files before healthy siblings, a real SQLite abort during mirror replacement, and a real non-text owners_json source value. A separately reopened connection proves placement and version-refresh markers were committed, the prior Cue candidate mirror retained and the safe gap stored. Sync failures return 1 after completion; optional absence stays non-failing.

Failing-first proof at fc65091: Cue tests produced five errors (three file cases lost the healthy group, plus SQLite and owner-TypeError escaping sync); health produced six failed subcases for optional statuses returning 4 instead of 0. An intermediate editing indentation error was corrected before the passing runs; it is not counted as reproduction proof. Previous exact-head reviews are not transferred to this rebased head. Current-head independent review passed with no blocking findings; the newest exact-head review/independent status is success from lukemaj. Hosted proof CI is completed/success at this exact head. The post-rebase suite ran exactly once and passed all 911 tests in 87.619s; compileall passed afterward. This supersedes 262ed28's 896-test current-base proof. Earlier source-sequence red/green tests remain as described: latest c5b3423 baseline had RuntimeError/RecursionError escaping, then 39 Cue tests passed after the fix. No fresh live ledger copy or source-data report was run for this rebase; retained live proof below remains explicitly historical.

Retained live proof from fc65091, 2026-10-19 15:26 Europe/Warsaw

This is the previously verified snapshot at fc650914da3109d2823b925258d4d092a2da6187, retained as historical report proof, not a new live run of this head.

agent-observer --version printed 1.3.0 before opening the live ledger using SQLite mode=ro for a fresh backup under ~/.local/state/agent-observer-scratch/129/. Cue import and report used only that copy; no live-ledger write or sync occurred. ContextMD was read with mode=ro. No prompt, window or served text was selected, stored or printed.

Imported 236,636 moments, 305,831 candidates and 36,574 settled successful reads. Twelve ambiguous-target candidates remain explicit gaps.

Pooled first units:

  • holdout: 9/106 = 8.49%, 44 contributing sessions; 95% session-cluster interval 3.82% to 14.12%. Full 8, partial-only 1, earlier 21, pending 0.
  • served: 349/809 = 43.14%, 429 contributing sessions; 95% session-cluster interval 39.30% to 47.19%. Full 225, partial-only 124, earlier 102, pending 7.

Observed assignment sessions: holdout 44, served 432.

Claude first units:

  • holdout: 1/9 = 11.11%, 7 contributing sessions; 95% session-cluster interval 0.00% to 37.50%. Full 1, partial-only 0, earlier 1, pending 0.
  • served: 73/225 = 32.44%, 107 contributing sessions; 95% session-cluster interval 25.71% to 40.27%. Full 39, partial-only 34, earlier 25, pending 3.

Observed assignment sessions: holdout 7, served 107.

Codex first units:

  • holdout: 6/86 = 6.98%, 27 contributing sessions; 95% session-cluster interval 2.13% to 12.35%. Full 6, partial-only 0, earlier 20, pending 0.
  • served: 196/453 = 43.27%, 227 contributing sessions; 95% session-cluster interval 38.37% to 47.70%. Full 126, partial-only 70, earlier 69, pending 2.

Observed assignment sessions: holdout 27, served 227.

Grok first units:

  • holdout: 2/11 = 18.18%, 10 contributing sessions; 95% session-cluster interval 0.00% to 45.45%. Full 1, partial-only 1, earlier 0, pending 0.
  • served: 79/128 = 61.72%, 92 contributing sessions; 95% session-cluster interval 52.38% to 70.08%. Full 59, partial-only 20, earlier 8, pending 2.

Observed assignment sessions: holdout 10, served 95.

Opencode first units:

  • served: 1/3 = 33.33%, 3 contributing sessions; 95% session-cluster interval 0.00% to 100.00%. Full 1, partial-only 0, earlier 0, pending 0.

Observed assignment sessions: served 3.

The current snapshot has grown since the earlier review. Grok has 126 resolved carry prints in the served headline and seven never-printed/expired first carry units excluded across six sessions; two direct first injections make its served denominator 128. No hidden first units occur in this snapshot, but exclusion remains fixture-tested. Other excluded first units: four not_served, outside the headline. Repeats: served 342/7,433 and holdout 8/762, outside the headline. Missing-metadata boundaries close 75 served and 10 holdout headline windows.

Intervals are descriptive 95% percentile bootstraps of whole observed harness sessions, 2,000 resamples with a fixed seed. Small or all-equal samples can give unstable/degenerate intervals; fewer than two sessions gives none. The 44 holdout sessions, and especially individual harness holdout counts, limit precision. Reads do not prove following a procedure or model receipt, and session-wide holdout does not establish a per-procedure causal effect.

An independent SQL row_number oracle selected first units before outcome/target filtering, found eventual same-epoch carry prints and recomputed headline windows from their delivery times. It matched pooled and every harness numerator, denominator, distinct contributing session count, resolved-carry count and unprinted count. A stable sample of 75 units, including 25 additional carry resolutions, matched 150 candidate/moment comparisons and 36 successful reads against the live read-only source tables. The oracle used only in-memory temporary metadata indexes; individual rows and paths are not published. Per-harness sum equals the pooled headline, including OpenCode (no holdout sample).

Only the pooled and Codex observed differences are resolved in this evidence. Claude (1/9) and Grok (2/11) holdouts are too small to support per-harness claims; their rows describe the sample and harness mix only. No per-harness claim is made for OpenCode, which has no holdout sample. This is descriptive read evidence, not a causal effect.

Delivery and retention

Rebased onto merged #130, full local post-rebase proof passed and the branch was pushed with force-with-lease. PR #131 remains open and unmerged; exact-head CI and independent review pass, and it is ready for review. No VERSION or manifest changes, release or live-ledger operation. The prior scratch ledger and sidecars remain deleted. Worktree/branch remain for review and integration; the merging planner owns retirement.

Canonical proof on #129.

@lukemaj

lukemaj commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

What: Independent review requested changes on 7092136.
Why: The fleet storage projection discarded Cue aggregates.
So what: The finding and README note were accepted and fixed in 2714afd; a new exact-head review is running.

Reviewer result, relayed unchanged:

Reviewed 7092136 against 1fbbb0f. Verdict: request changes.

  • Blocking, P2: fleet pulls discard Cue aggregates. export() adds cue at fleet.py:136, but _storable() passes it through _schema_only(), which omits that field. Concrete example: pulling a valid schema-2 export containing Cue groups stores JSON without those groups. See exact-SHA projection and storage boundary. This belongs with your pending fleet compatibility and validation fix.
  • Nonblocking: the README’s custom-source example should pass --source to subsequent reports. Otherwise cue.health() checks the default database and can return missing_database despite a successful custom import (cue.py:268–282, README.md:100–102).
  • Coverage: no additional supported blocker found in import privacy, settled reads, exact native linkage, carry delivery stages, moment-scoped targets, windows/epochs, grouping, or holdout wording. The original aggregate output excludes paths, session IDs, individual moments and private text; preserving that boundary needs review at the replacement SHA.

No tests run, files written, live ledger accessed, or GitHub status posted. The reported 871-test run with eight fleet errors remains unresolved for this SHA.

@lukemaj

lukemaj commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

What: Independent review round 2 requests changes on 2714afd1e2dcad7aea89721122860646fdc86312.
Why: Custom-source exports can omit imported Cue aggregates, and an oversized JSON integer escapes the new validator as an uncaught exception.
So what: The parent should address the two findings and obtain review of the resulting candidate; no merge is authorized by this review.

Reviewed the entire cumulative change against base 1fbbb0fe3098842d19e04bc5a6b35a3667ecda90, including Issue #129, ContextMD #15/#17, Chromeria's writer and the ContextMD report consumer. Live PR head and base match the requested candidate.

Blocking findings

  1. P2: Export the imported snapshot without consulting an unrelated default source. At cue.py:388, export() calls report(con, machine=machine) with the default check_source=True and no source. report() calls health() at cue.py:282, which checks the default contextmd.sqlite before using the imported state. Concrete supported path: cue import --source /custom/contextmd.sqlite succeeds and cue report --source /custom/contextmd.sqlite shows groups, but when the default database is absent, agent-observer export emits Cue status missing_database and empty groups, losing all successfully imported aggregates. The same applies to imports from sync --root when its source differs from the default. The CLI export has no source option to recover them. Use the stored snapshot for this aggregate export, or retain and check the actual import source. The fleet projection fix preserves the object it receives but cannot recover groups discarded here.

  2. P2: Reject oversized JSON integers through the validation error path. At cue.py:426, the untrusted read_rate reaches _number() at cue.py:102 before the range check. In an otherwise valid export, replace that value with a JSON integer consisting of 1 followed by 400 zeros. JSON decoding accepts that integer, but math.isfinite() tries to convert it to a float and raises OverflowError: int too large to convert to float. It therefore escapes the promised ValueError rejection. The reachable fleet pull path catches only ValueError, TypeError, UnicodeError and RecursionError at fleet.py:553, so this remote malformed export aborts the command with an uncaught exception. stored() likewise does not catch it at fleet.py:511. Bound the value before float conversion or make _number() return false on overflow.

Cleared concerns and proof limits

  • The prior fleet storage projection blocker and README source-argument note are fixed. Validated Cue aggregates are retained by _schema_only(), and additional group fields such as prompt are rejected.
  • No additional supported blocker found in source mode=ro, metadata-only import, settled successful reads, exact native linkage without duplicate events, candidate outcomes and delivery stages, moment-scoped version-matching targets, windows/epochs/earlier reads, grouping with unknown AgentsMD versions, session-wide holdout wording, or aggregate output privacy.
  • Review was static and read-only: no tests run, no repository files modified, and neither the live ledger nor scratch database accessed. The parent reports 871 tests passing, compileall passing, and successful live scratch/source spot checks. I independently observed the exact-head GitHub proof check succeed; I did not rerun or independently inspect the parent's private proof artifacts.

@lukemaj

lukemaj commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

What: Independent review round 3 passes exact head d03d1054f1578de8fe2256139bc9d75c95e80ab6 with no supported blocking findings.
Why: Both round 2 defects are fixed, and the cumulative diff preserves the required evidence, privacy and fleet storage boundaries.
So what: The planner can accept this review for this candidate; the PR remains draft, with versioning, merge and release outside this review's authority.

Reviewed against base 1fbbb0fe3098842d19e04bc5a6b35a3667ecda90. Live PR head and base match. Read the complete cumulative diff, Issue #129, repository instructions/glossary/direction, canonical AgentsMD verification and code-review procedures, ContextMD #15/#17, Chromeria's ServingState.ts, Reads.ts and Store.ts, and ContextMD's serve/report.py consumer.

Blocking findings: none.

Cleared prior findings:

  • Custom-source snapshot export: cue.py:389 calls report(..., check_source=False), so export uses imported metadata without consulting the unrelated default source. README states this snapshot behavior, and the new regression fixture covers a missing default database.
  • Oversized JSON rate: cue.py:103 recognizes integers without float conversion; the range check at cue.py:427 rejects the oversized value through ValueError. The regression fixture includes real JSON encoding/decoding before fleet validation.
  • Fleet preservation: traced pull -> _storable -> validate -> _schema_only -> JSON write -> _storable -> stored. Cue validation rejects extra fields, and fleet.py:467 retains the validated aggregate extension. Legacy exports without Cue remain accepted. The custom-source README examples supply --source to reports.

No additional supported blocker found in read-only consistent source access; metadata-only import without prompt/window/served text; scores, candidate outcomes and delivery stages; settled successful reads; exact native linkage without duplicated native events; moment-scoped version-matching targets; bounded post-moment windows and same-epoch earlier reads; full/partial precedence; grouping and explicit unknown AgentsMD versions; source/target gaps; text/JSON output; session-wide holdout caveats; or aggregate export privacy. Native adapters, identity.py, VERSION and manifests are unchanged; the changelog remains Unreleased.

Proof limits: this was a static, read-only code review. No tests or product commands were run, no repository files were written, and neither the live ledger nor scratch ledger was accessed. I inspected the fixture code and independently verified the successful GitHub proof run 39252407690, whose headSha is this exact candidate. The PR now records the parent's 873-test pass, compileall and scratch/source spot checks; I did not independently rerun those checks or inspect private source rows.

@lukemaj

lukemaj commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

What: Independent cumulative review passes exact head d4ec6145c092428429c2e5afc43c6c6bf8d14f29 with no supported blocking findings.
Why: The first-judgment comparison, missing-metadata boundaries, session accounting, intervals and aggregate export preserve the requested behavior and privacy boundary.
So what: The planner can accept this exact-head review and complete the proof handoff; readiness is separate, and no merge, version or manifest change is authorized by this review.

Reviewed the entire cumulative change from original base 1fbbb0fe3098842d19e04bc5a6b35a3667ecda90, with particular attention to the corrections since previously reviewed d03d1054f1578de8fe2256139bc9d75c95e80ab6. Live PR head and intended base main match. Read Issue #129 fully, repository AGENTS/GLOSSARY/direction, canonical AgentsMD verification and code-review procedures, ContextMD #15/#17, Chromeria's ServingState.ts/Reads.ts/Store.ts, and ContextMD's serve/report.py consumer.

Blocking findings: none.

Verified corrections and invariants:

  • First-judgment selection uses source (moment time, moment id, candidate id) order and (harness, session, entry, context epoch) identity, without entry version. Selection precedes target and delivery filtering. Below-threshold/not-scored rows do not consume it. An earlier hidden, undelivered or unresolved first cannot be replaced by a later delivery. Deduped serving-enabled candidates remain assignment-labeled repeats, outside headline denominators.
  • Moment import retains session-valid user messages with nullable epoch/arm metadata. Window boundaries use every next user message and known epoch changes; unknown epochs do not invent changes. Missing-metadata boundary accounting distinguishes a needed boundary from a later redundant one.
  • Summary/group first, repeat and excluded counts preserve distinct contributing harness sessions. Observed assignment coverage is reported separately from contributing sessions. Bootstrap intervals resample whole contributing sessions, keeping each session's entry/epoch opportunities together, with 2,000 fixed-seed draws. Fewer than two sessions yields no interval; README and report state small-sample/degeneracy, pending-window and observational/causal limits.
  • The export boundary includes the expanded aggregate fields and rejects extra payload fields. No session IDs, read paths, individual moments or prompt/window/served text enter the fleet extension. Prior fixes remain intact: custom-source export uses the stored snapshot, fleet storage retains Cue aggregates, and oversized JSON rates are rejected without float-conversion overflow.
  • No additional supported blocker in consistent read-only SQLite source access, scores/all Cue outcomes/delivery stages, settled successful reads, exact native session/call/path linkage without duplicate native events, moment-scoped version-matching targets, earlier/full/partial read semantics, target/source health gaps, grouping or text/JSON output. Native adapters, identity.py, VERSION and manifests are unchanged.

Independent aggregate observations, from the permitted scratch copy opened with SQLite mode=ro and a read transaction; no live Observer ledger access and no raw rows/text printed:

  • Snapshot: 234,974 moments, 303,607 candidates, 36,210 reads; retained report and scratch import metadata match.
  • Independent window/first-unit recomputation matches headline served 264/674, full 165 and partial 99, across 336 contributing sessions, with 5 pending windows; holdout 9/106, full 8 and partial 1, across 44 sessions, with no pending windows.
  • 63 served and 10 holdout first windows need a boundary with missing Cue metadata, matching the report.
  • Independent SQL ranking gives 106 holdout first units with context epochs, 69 without epochs. The implemented 106 follows the user's explicit epoch grain; 69 answers a different session/entry-only question.
  • Observed assignment coverage in this fresh snapshot is 428 served / 44 holdout, distinct from contributing-session counts. Read provenance is 13,435 native-matched / 22,775 ContextMD-only, with 12 ambiguous target gaps.

Proof limits: no tests or product commands were run by this reviewer, no repository files were modified, and no checkout/switch/reset/pull occurred. I inspected the synthetic fixture code and retained failing-before evidence, plus the retained local suite log reporting 884 tests passed. Independently verified successful GitHub proof run 39256538704, whose recorded headSha is this exact candidate; its workflow runs the full suite and compileall. Scratch recomputation validates imported metadata and report aggregates, not independently the complete private source import. The planner retains ownership of the fresh source spot-check proof and final handoff.

@lukemaj
lukemaj marked this pull request as ready for review October 19, 2026 13:06
@lukemaj

lukemaj commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

What: Independent cumulative review passes exact head fc650914da3109d2823b925258d4d092a2da6187 with no supported blocking findings.
Why: The carry correction preserves the first comparison unit, observes its eventual same-epoch delivery, and removes that delivery from repeats while retaining the evidence and privacy contracts.
So what: The planner can accept this review for this candidate; merge, release, versioning and installation remain outside this review's authority.

Reviewed against base 1fbbb0fe3098842d19e04bc5a6b35a3667ecda90. Live PR head and base match. Read the complete cumulative diff, Issue #129 including Implementation decisions, Design review and comments, repository instructions/glossary/direction, canonical AgentsMD verification and code-review procedures, Chromeria's ServingState.ts/Reads.ts/Store.ts, ContextMD's serve/report.py and ContextMD #15/#17.

Blocking findings: none.

Verified corrections and retained contracts:

  • Carry pairing selects the first qualifying unit in source (moment time, moment id, candidate id) order at (harness, session, entry, epoch) grain. A first target-resolved carried unit pairs with the first later served-outcome or hidden row in that same unit. There is no intervening-row or elapsed-time cap on this pairing; deduped and carry_expired rows do not end the search. Entry-version changes do not reset the unit. First hidden, cut_budget, missing-target and already-expired outcomes cannot be promoted.
  • Report attribution consumes the paired delivery instead of counting it again as a repeat. Window time, epoch and target come from the print row; a print in another epoch cannot resolve the original. Never-printed units remain separately excluded as carry_unprinted. Other intervening above-threshold rows remain repeats. Hidden delivery remains excluded.
  • Per-harness output and fleet boundary expose both assignment and contributing-session counts. The expanded aggregate validator rejects extra fields, restricts harness and bucket names, and preserves the optional extension through fleet storage. Previous custom-source snapshot and oversized-integer fixes remain intact.
  • No additional supported blocker in read-only consistent source access, metadata-only import, settled successful reads, exact native linkage without duplicate native events, moment-scoped version-matching targets, all user-message and known-epoch boundaries, 30-minute/watermark clipping, earlier/full/partial read accounting, grouping, session-cluster intervals, missing-evidence gaps, or holdout/receipt/causal caveats. Native adapters, identity.py, VERSION and manifests are unchanged.

Independent observations, using only the permitted scratch ledger and ContextMD source through SQLite mode=ro, each in a read transaction:

  • Recomputed all first/repeat/excluded count fields and assignment coverage across 9,247 qualifying rows, independently of the product report implementation. They match the retained JSON report, including 126 resolved carries, 126 consumed print rows and 7 unprinted first units.
  • Pooled first units: served 349/809 across 429 contributing sessions, versus holdout 9/106 across 44 sessions. Observed assignment coverage is separately 432 served / 44 holdout sessions.
  • Claude: served 73/225, 107 sessions; holdout 1/9, 7 sessions. Codex: 196/453, 227 sessions; 6/86, 27 sessions. Grok: 79/128, 92 sessions; 2/11, 10 sessions. OpenCode: 1/3, 3 sessions, with no observed holdout denominator.
  • A separately seeded source spot check matched 75 units, 150 candidate/moment metadata comparisons and 36 settled successful reads. No prompt, window or served text was selected, printed or stored. This sample corroborates imported source metadata; it does not independently verify every imported source row.

Proof and limits:

  • No tests or product commands run by this reviewer. No source/repository files modified, no live Observer ledger accessed, and no checkout/switch/reset/pull performed. The pre-existing untracked proof directory was left untouched.
  • Inspected the new fixture code and retained failing-before log: 3 failures and 1 error on the previous implementation. Inspected the completed retained local suite log: 889 tests passed.
  • Independently verified successful hosted proof run 39260148357, including its 889-test pass, compileall step and recorded head SHA. Its checked-out GitHub merge commit 61e6d631ba3f7d1ecf10e28944dc53963a073790 has the requested base/head parents and the same tree as the reviewed head: 9429b7a2c81611786da264bf5db573a5a51a7a9c.

Requirements and who asked: User requested independent exact-head review of eventual carry delivery, cumulative Issue #129 contracts, and metadata-only evidence with no reviewer test run.
Deleted: No new implementation, extra test process, live-ledger access, release action or unrelated scope.
Bottleneck: Establishing that the first carry and eventual print form one observation, with the window starting at the print.
Checked myself: Complete cumulative diff and source contracts; independent aggregate recomputation and source metadata sample; retained regression/suite evidence; hosted proof logs and merge-tree identity.

@lukemaj

lukemaj commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

What: Independent exact-head review passes c5b34239b36aecba3b3a06ab8dc92f8acbadaad0 with no supported blocking findings.
Why: The optional health policy, per-file target isolation and Cue-owned savepoints address the reported failures without changing the cumulative evidence/privacy contracts.
So what: The planner can accept this review for this candidate; rebase remains deferred until the user's signal after #130 merges, and any resulting candidate needs renewed proof and review.

Reviewed the complete cumulative change against original/current base 1fbbb0fe3098842d19e04bc5a6b35a3667ecda90, with focused inspection of fc65091..c5b3423. Local HEAD, upstream branch and live PR head match the requested SHA. Read Issue #129 in full, including Implementation decisions, Design review and its handoff comment; prior PR findings; repository instructions, direction and connected glossaries; AgentsMD verification/code-review procedures; the relevant Chromeria ServingState.ts/Reads.ts/Store.ts writer paths; ContextMD serve/report.py and Issues #15/#17.

Blocking findings: none.

Verified latest corrections:

  • cli.py:758: missing_database, no_cue and not_imported remain visible in text/JSON but do not fail health. Cue adds exit 4 only for schema_drift and unreadable_database; existing findings/unavailable scans still fail it. The new health fixture checks all six statuses in both output formats.
  • cue.py:118: directory enumeration has its own OSError boundary, while read/decode/header/target errors are caught per file. A failed file no longer stops healthy siblings from being resolved. Fixtures force the bad file before the healthy target and cover malformed quoted data, invalid UTF-8 and PermissionError.
  • cue.py:190: the outer attempt savepoint surrounds source acquisition, owners parsing and mirror refresh. A SQLite error or TypeError rolls back the Cue attempt, preserves the prior mirror and records a safe category without exception text. The inner replacement savepoint remains correctly nested. Unexpected BaseException rolls back and rethrows instead of reporting success.
  • cli.py:1067: handled Cue failure returns to sync, which still performs version refresh and commits, emits the gap, then returns 1 for a hard Cue failure. Standalone cue import uses the same importer and commits its gap. The new sync fixtures use a real SQLite ABORT trigger during replacement and a non-text owners value; assertions through another connection verify retained Cue candidates and committed placement/version markers.
  • README/Unreleased changelog match the default import and exit behavior. The updated PR body labels the fc65091 source proof as historical, removes bold per-harness rows and avoids conclusions from the small Claude/Grok holdouts.

Cumulative inspection found no additional supported blocker in metadata-only consistent read-only source access, settled successful reads, exact native linkage without duplicate native events, version/moment-scoped target resolution, comparable first units and separate repeats, eventual same-epoch carry delivery, first-slot exclusions, all user-message/known-epoch boundaries, 30-minute/watermark clipping, earlier/full/partial/pending evidence, session counts/intervals, or strict optional aggregate export and stored-snapshot preservation. Native adapters, identity.py, VERSION and manifests are unchanged.

Proof and limits:

  • Static review only: no tests or product commands run, no repository files changed, no checkout/switch/reset/pull, and no live ledger, scratch ledger or private source rows accessed. The pre-existing untracked .129-proof/ directory was read only for synthetic test logs and left unchanged.
  • Inspected fixture code and retained red logs: five Cue errors on the prior implementation (three bad-file subcases plus the SQLite/owner failures escaping sync), and six health failures for the three optional statuses in text/JSON. Retained green logs report 37 Cue and 19 health tests passing; the completed local suite log reports 894 tests passed in 84.095s. These are inspected planner-run results, not reviewer reruns.
  • Independently checked successful hosted proof run 39264695155, including its 894-test pass and compileall step. The workflow checked out merge commit 2375f9346ca304b364b068e6bdaddb28b92ce52f, whose parents are the requested base/head and whose tree 0b43dd10115904b9b86acc8ddd7cb7c4e69c1043 equals this reviewed head's tree. Cumulative git diff --check passed.
  • The earlier fc65091 source/live observations are historical evidence only. This review supplies no fresh live validation of c5b3423 and makes no merge/release/readiness claim for the later rebase.

Requirements and who asked: User requested independent exact-head read-only review of PR #131, the latest operational fixes and the cumulative Issue #129 contracts, without reviewer tests or ledger/private-text access.
Deleted: Extra test processes, new live/scratch proof, implementation changes, version/manifests, rebase and delivery actions outside review authority.
Bottleneck: Establishing error-scope and transaction ownership at the Cue importer while preserving honest health and comparison evidence.
Checked myself: Complete cumulative diff and callers, source writer/reader contracts, actual synthetic red/green/suite logs, hosted proof logs and merge-tree identity, live PR/HEAD identity and documentation claims.

@lukemaj

lukemaj commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

What: Independent review passes exact head 262ed28330a2e2ef718808fca707b7bc35fd96de with no supported blocking findings.
Why: Both remaining exception paths now become recorded gaps, with healthy sibling targets and unrelated sync writes preserved, while cancellation still propagates.
So what: The planner can accept this exact-head review; rebase remains deferred until the user's signal and a changed candidate requires renewed proof and review.

Reviewed against original/current base 1fbbb0fe3098842d19e04bc5a6b35a3667ecda90, with focused inspection of c5b3423..262ed28 and a cumulative code/test/documentation read. Local HEAD, upstream branch and live PR head match; upstream divergence is 0/0 and PR base remains main at the specified base. Read full Issue #129 including implementation decisions, design review and handoff, all prior PR review comments, repository instructions/direction and connected glossaries, canonical AgentsMD verification/code-review procedures, relevant Chromeria ServingState.ts/Reads.ts/Store.ts paths, ContextMD serve/report.py and Issues #15/#17.

Blocking findings: none.

  • cue.py:158: adding RuntimeError to the per-file boundary contains an unknown ~user expansion failure. The failed version remains absent from the target map and becomes an explicit version_unavailable report gap; healthy siblings continue. The new fixture at test_cue.py:484 forces the failing file before the healthy file and asserts one healthy opportunity and exactly one gap.
  • cue.py:196: ordinary Exception failures, including deeply nested owner JSON raising RecursionError, roll back the Cue attempt and record schema_drift for TypeError, otherwise unreadable_database. No exception message or source text is emitted. This is recorded failure, not success: report/export see the stored gap, standalone import exits 4, and sync finishes version refresh, commits and exits 1.
  • cue.py:201: the separate BaseException rollback/rethrow and final savepoint release are unchanged. Cancellation such as KeyboardInterrupt/SystemExit is not converted into a successful import or a handled source gap. The inner replacement savepoint also rolls back and rethrows before the outer boundary handles an ordinary failure. This cancellation assessment is static, not a newly executed test.
  • test_cue.py:494: the 100,000-level JSON fixture first asserts the real decoder raises RecursionError, then drives the public sync helper. Its separately opened connection verifies the safe gap, old Cue candidate mirror, and committed placement/version markers. The earlier 10,000-level attempt is not counted as failing-before proof.

The latest delta is exactly two catch edits and two regression tests. Cumulative inspection found no additional supported blocker in the metadata-only read-only import, settled reads/native linkage, first-unit and carry attribution, boundaries/windows, sessions/intervals, optional health policy or strict stored-snapshot fleet export. Native adapters, identity.py, VERSION and manifests remain unchanged; prior findings remain resolved.

Proof inspected, not rerun:

  • .129-proof/red.log: 39 tests with exactly the two intended errors, RuntimeError at target expansion and RecursionError during owner JSON decoding. .129-proof/green.log: 39 Cue tests pass.
  • Completed .129-proof/suite.log: 896 tests passed in 100.994s. Local output includes non-failing database ResourceWarnings; no test failure is hidden in the result. These are planner-run logs, not reviewer executions.
  • Successful hosted proof run 39266254744: 896 tests passed in 54.886s, with compileall and version command completing. Run head is the exact reviewed SHA. Checkout logs identify merge commit f1623d52ca6fa2f4659a09152a7d61f74df9a22e; the GitHub commit object confirms parents are the specified base/head and tree a8da75dcb2299857abaadd52d8e3fe75f96354f2 equals reviewed HEAD's tree.
  • Cumulative git diff --check passed. No tests or product commands were run by this reviewer; no source/checkout files were written, no Git checkout/switch/reset/pull/rebase occurred, and no live/scratch ledger, private source rows or prompt/window/served text was accessed. Only synthetic proof logs were read from the pre-existing untracked directory. Historical fc65091 live proof remains historical; no fresh live verification is claimed.

Requirements and who asked: User requested independent exact-head read-only review of the two catch changes, regression proof, recorded failures, rollback/cancellation and privacy, with no reviewer tests or ledger access.
Deleted: Extra test processes, fresh live/scratch proof, implementation changes, planner-owned Issue/PR body edits, rebase and version/release actions.
Bottleneck: Confirming that the two formerly escaping exceptions are contained at their owning boundaries without hiding failure or losing unrelated committed work.
Checked myself: Exact latest and cumulative diffs/callers, complete task/prior-review context, source contracts, actual synthetic red/green/completed-suite logs, hosted proof logs and merge-tree identity, live PR/base/head and upstream identity.

@lukemaj
lukemaj force-pushed the feat/129-cue-import branch from 262ed28 to 5089a01 Compare October 19, 2026 14:52
@lukemaj

lukemaj commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

What: Independent rebase review passes exact head 5089a01ee3c49c60f8d517e1de0f96baf01f31cf with no supported blocking findings.
Why: The approved Cue implementation and merged #130 fixes are preserved byte-for-byte outside their combined changelog, whose conflict resolution retains both outcomes in the requested order.
So what: The planner can accept this exact-head review and finish current-head CI/proof bookkeeping; this review authorizes no merge.

Reviewed against current base fcdb91c696777d172fbf785d0059ff6844fb4e6c, comparing previously approved 262ed28330a2e2ef718808fca707b7bc35fd96de on old base 1fbbb0fe3098842d19e04bc5a6b35a3667ecda90. Local HEAD, upstream branch and live PR head/base match these identities. Base ancestry and upstream divergence 0/0 are verified.

Blocking findings: none. Blocking file/line: none.

Rebase evidence

Cumulative boundary inspection

Read the complete #131 code/test/documentation delta and surrounding integration paths, full Issue #129 including implementation decisions/design review, relevant prior PR reviews through 6269270997, instructions/direction/glossaries, and AgentsMD verification/code-review procedures. Revisited Chromeria's ServingState.ts/Reads.ts/Store.ts contracts, ContextMD serve/report.py and Issues #15/#17.

No additional supported blocker found in read-only metadata snapshots, settled successful reads and exact native linkage without inserted duplicate events; first-unit selection before outcome/target filtering; separate repeats/exclusions; eventual same-epoch carry delivery with the window at its print and no separate print repeat; nullable user-message and known-epoch boundaries, time/watermark caps, earlier/full/partial/pending distinctions; session counts/cluster intervals; optional health gaps, per-file target failures, Cue-owned rollback and BaseException propagation; or strict optional stored-snapshot fleet aggregates. #130's native read states and identity evidence remain intact; Cue still relies on ContextMD's settled successful reads for its read evidence, with native IDs used for exact provenance linkage.

Proof inspected and limits

  • Inspected the actual .129-proof/suite.log: 911 tests passed in 87.619s, ending in OK; non-failing database ResourceWarnings are visible. These are planner-run results, not reviewer executions. The compileall log is empty, consistent with the recorded successful quiet compileall command; I did not rerun it.
  • Cumulative git diff --check passed during this review. Hosted proof run 39272940481 records this exact head and was in progress when inspected. Hosted success is not claimed here; the planner owns its final current-head CI verification.
  • No tests or product commands were run, source/checkout files modified, or checkout/switch/reset/pull/rebase performed. No live/scratch ledger, private source rows or private prompt/window/served text was accessed. The pre-existing untracked proof directory was read only for synthetic proof logs and left untouched. The earlier fc65091 live proof remains historical. Planner-owned PR body and canonical Issue proof were left alone.

Requirements and who asked: User requested independent exact-head review after rebasing #131 onto merged #130, preserving both implementations and combined changelog, without another suite or ledger access.
Deleted: Duplicate test execution, new live/scratch proof, implementation edits, planner-owned record edits, version/manifests and merge/release actions.
Bottleneck: Establishing semantic equivalence after the rebase and ensuring the changelog conflict retained both outcomes.
Checked myself: Independent Git path/blob and range-diff comparisons, cumulative code/test/consumer boundaries, actual completed suite log, empty compileall log, diff check, live PR/base/head and hosted-run identity/state.

@lukemaj
lukemaj merged commit 04929e6 into main Oct 19, 2026
2 checks passed
@lukemaj
lukemaj deleted the feat/129-cue-import branch October 19, 2026 14:57
lukemaj added a commit that referenced this pull request Oct 19, 2026
Bumps VERSION, the three plugin manifests and the changelog heading for
the merges of #130 (#128 parser gaps) and #131 (#129 Cue import).

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Import Cue decisions and settled reads from contextmd.sqlite; report procedure reads when Cue says they apply

1 participant