SoL-Pi report verification

Type: agentic-system-analyses/types/agentic-system-verification.md

Verification

The five submitted members support a bounded implementation account. No material blocker was found. I read every member, its type and the record contract. The structural report says none; all four correction-answer inputs are empty. There are no correction arguments to accept or decline. I independently inspected SRC-1 rather than treating analysts' validation or inspection statements as verification. The checkout HEAD is the boundary's frozen revision and its tracked worktree is clean. No target code, test, example, provider or host integration was executed.

Record and route judgments

  • Configuration and model boundaries. Direct inspection of SRC-1, src/sol-pi/index.ts, src/sol-pi/config.ts, src/sol-pi/extensions/evidence-preserving-reducer/config.ts and src/sol-pi/extensions/evidence-preserving-reducer/provider.ts supports RT-OBJ-sol-pi-config, RT-RTE-config-admission and RT-CMP-reducer-model. Registration is once per extension closure, missing configuration disables features, and project trust controls one file-selection path rather than all exported factories. The reducer constructs an isolated log request and both registry and compatibility completion return through receipt admission. RT-CMP-frontier-model correctly leaves native summarization and provider parameters outside inspected implementation. Named routes are not pinned weights; no parameter-training or exercised-benefit conclusion follows.
  • Fused execution. I traced SRC-1, src/sol-pi/extensions/action-fusion/index.ts, src/sol-pi/extensions/action-fusion/then-run.ts and src/sol-pi/extensions/action-fusion/file-queue.ts. RT-RTE-action-fusion and RT-CLM-fusion-roundtrip are supported for the optional then_run path. The mutation precedes the sampled hash guard and command; command failure does not roll back the mutation. Canonical-path serialization covers cooperating wrappers, not independent writers. The epistemic ledger correctly treats arbitrary command output as acquired reports, not a universal answer oracle.
  • Reducer selection, retention and admission. Complete reads of SRC-1, src/sol-pi/extensions/evidence-preserving-reducer/candidate.ts, src/sol-pi/extensions/evidence-preserving-reducer/archive.ts, src/sol-pi/extensions/evidence-preserving-reducer/index.ts, src/sol-pi/extensions/evidence-preserving-reducer/receipt.ts, src/sol-pi/extensions/evidence-preserving-reducer/provider.ts, src/sol-pi/extensions/evidence-preserving-reducer/config.ts and src/sol-pi/extensions/evidence-preserving-reducer/journal.ts support RT-RTE-reducer-receipt, RT-BAP-reducer-instructions, MEM-OBJ-archive-object, MEM-OBJ-validated-receipt, MEM-OBJ-reducer-journal, EPI-OBJ-validated-receipt and EPI-OBJ-receipt-labels. Full-output loading is conditional and can fall back to inline text. Archive acquisition precedes model admission. Exact substring membership, host-derived status, allowed field types, at-least-one failure label and net byte reduction are enforced; semantic labels, all-failure coverage and causal diagnosis are not. The epistemic two-failure counterexample follows from the validator's per-submitted-item loop, not an observed experiment. Provider/check fallback does not encompass every archive or journal exception. Prompt instructions are requested behavior, not guaranteed obedience.
  • Observation storage and consumption. Complete reads of SRC-1, src/sol-pi/extensions/observation-pack/index.ts, src/sol-pi/extensions/observation-pack/observation.ts, src/sol-pi/extensions/observation-pack/ledger.ts and src/sol-pi/runtime-paths.ts support RT-RTE-observation-replay, MEM-OBJ-observation and EPI-OBJ-observation-text. Eligibility excludes errors, mixed image results and reducer receipts. Joined text is archived before projection; per-observation failures retain the original message. Replay accounting is not network-delivery evidence. Whole-object integrity is checked on packing, not every recall. History remains host-owned and unchanged. Temporary roots retain files but their lookup is process-local. The additional byte-offset qualification below does not change ordinary offset-zero/sequential recall or the archive/projection finding.
  • Compaction control versus task content. Complete reads of SRC-1, src/sol-pi/extensions/online-context-compact/extension.ts, src/sol-pi/extensions/online-context-compact/state.ts, src/sol-pi/extensions/online-context-compact/tools.ts, src/sol-pi/extensions/online-context-compact/plan.ts, src/sol-pi/extensions/online-context-compact/economics.ts, src/sol-pi/extensions/online-context-compact/projection.ts and src/sol-pi/extensions/online-context-compact/index.ts support RT-OBJ-online-state, MEM-OBJ-progress-summary and RT-RTE-online-compaction. Prior unfinished-step completion nominates a boundary; successful tool completion and economic/window selection precede abort, idle settlement and native compaction. Window pressure can override cooldown. Recognized refusals, cancellation and unknown errors have distinct continuation behavior. Persisted request/growth/debt estimates affect later selection. Pending progress is restored but is not passed as a dedicated checkpoint to the summarizer or foreground prompt. Manual/native compaction reaches state updates without this selector. Summary fidelity and truthful task completion remain unestablished.
  • Delegation and return. Complete reads of SRC-1, examples/sol-pi-skill/bin/sol-pi-run and examples/sol-pi-skill/bin/sol-pi-context, plus Codex and Claude hook configurations and the Codex skill, support RT-RTE-skill-handoff, MEM-OBJ-context-export, MEM-OBJ-run-result and EPI-OBJ-exported-context. I traced the workflow account from request parsing through detached launch, correlation, polling, classification, result persistence and notification. Export clipping and newest-block budget exceptions are real; the Codex adapter discards error-label provenance. Process done and last assistant text do not establish task acceptance. Wait's deadline does not kill the worker; execution timeout does. Shared-workspace mutations precede parent review and survive failure. Host JSON emission or Claude wake requests are implemented delivery steps, not observed host consumption. The fallback skill requests nonconcurrency and review rather than enforcing them.
  • Visual evidence and policy. Complete reads of SRC-1, examples/solpi-visual/src/index.ts, examples/solpi-visual/src/config.ts, examples/solpi-visual/src/runtime-paths.ts, examples/solpi-visual/src/scene/index.ts, examples/solpi-visual/src/scene/magnify.py and examples/solpi-visual/src/scene/policies.ts support RT-RTE-visual-inspection, RT-BAP-visual-policy, MEM-OBJ-magnify-artifact and EPI-OBJ-crop-artifact. The helper bounds existing-image crops and writes deterministic images with provenance; same-key reuse checks receipt and output bytes. The wrapper delivers actual image blocks. Source-unchanged sampling is not a durable lock, and static receipt flags are not evaluation results. Prompt policies preserve task criteria but do not mechanically enforce local edits, wait behavior or successful scene reconstruction.

These checks cover every declared analyst record and its source anchors. Route wired implementation statuses are justified by inspected registrations and consumers; uninspected operation statuses are not converted to absence. No analyst declares an evidenced absence. The epistemic ledger separates checking, disposition, retention and operational use; it does not infer accepted ampliative knowledge or lifecycle integration from successful transport. Its opaque summary/label transformations remain indeterminate rather than being classified by failure to prove entailment.

I compared the three claim records against SRC-1, README.md, the fusion implementation and the reducer prompt. EPI-CLM-preserve-evidence and EPI-CLM-lossless-reducer are attributed doctrine whose stronger completeness/fallback readings are correctly withheld. No supplied trajectory or intervention warrants a savings, reconstruction-quality or causal-efficiency claim.

Relations and reconciliation

All six declared Part of: relations are semantically supported: progress is a field of online state; the five epistemic payload/field objects belong to their cited observation, reducer, handoff or crop routes. Different-kind route parents denote material inputs/outputs, not object identity. Receipt quotations/metadata and semantic labels have different check domains, so keeping both parts alongside the memory receipt container is valid.

The reconciliation correctly supersedes the duplicate observation, transcript-prefix and crop-artifact identities while preserving each analyst's findings. It does not supersede their production/consumption routes. Raw reducer archive, rendered receipt and accounting journal remain distinct. The three claims and two instruction channels likewise have distinct scopes and consumers. Visual helper detail resolves earlier explicit uninspection rather than contradicting runtime wording. Progress/checkpoint separation, recall integrity and journal accounting integration issues have supported dispositions. No unresolved cross-report conflict, concealed contrary status or required split was found.

Consequential omission checks and stopping decision

I used the frozen tracked tree and registration/persistence/consumer searches under core and example source, not only the reports' anchors. The selected questions were whether a shipped caller bypasses file trust or receipt checks; whether an alternate restore, summary or notification path grants stronger authority; whether an omitted evaluator establishes task correctness or observed success; and whether Visual reuse or archive paging changes evidence lineage. Factory exports, both reducer provider paths, OCC manual/tree/refusal paths, both host adapters/hooks, launcher setup/doctor/status paths and the complete crop helper were traced. The dispositions above preserve the extension boundary and distinguish example responsibilities from enclosing-host behavior.

Additional inspection included SRC-1, examples/sol-pi-skill/probe/sol-pi-probe.ts, CONTRIBUTING.md and the complete tests/pi-package-integration.test.ts. Probe records reducer prices and reports registration/auth configuration; doctor checks installation and optionally requests a readiness marker. These do not accept a delegated task product. Contribution benchmarking is maintainer doctrine, not an implemented runtime policy-revision loop. The package evaluator uses deterministic faux responses and persistent/in-memory/no-session checks; its source does not establish that tests passed. These findings are compatible with the reports' selective evaluator coverage and unobserved-operation conclusions.

Optional omission expansion stops here: selected challenges have supported dispositions, apart from the local paging limit below, and no identified material contradiction remains. Further test assertions or maintenance files could refine coverage but are not reasonably likely to change the retained conclusions at their stated breadth. This is not an exhaustive algorithm, security, evaluator or deployment audit. External Pi summarization, provider behavior and actual host consumption remain outside this source boundary; faithfully stated uncertainty on those matters is not a newly discovered defect.

Blockers

none

Limits

  • RT-RTE-observation-replay, MEM-OBJ-observation and EPI-OBJ-observation-text: arbitrary caller-chosen byte offsets do not guarantee faithful decoded text even with an intact archive. SRC-1, src/sol-pi/extensions/observation-pack/observation.ts reads at the supplied offset and trims an incomplete UTF-8 sequence only at the page end. A starting offset inside a multibyte character can therefore produce replacement decoding. Withhold exact-text guarantees for arbitrary offsets; the stored assembled payload and ordinary offset-zero paging with returned next offsets remain supported. This is an implementation deduction, not an observed recall failure.

    const { bytesRead } = await handle.read(buffer, 0, buffer.length, offset); --- src/sol-pi/extensions/observation-pack/observation.ts end = trimUtf8End(buffer, end); const chunk = buffer.subarray(0, end); const nextOffset = offset + chunk.length; return { text: chunk.toString("utf8"), --- src/sol-pi/extensions/observation-pack/observation.ts