Engraph report verification

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

Verification

The pinned reports support a bounded source-level account. I read every supplied member, its type, the record contract, correction answers, structural check and previous verification. The epistemic answer reports a correction; the other answers are empty. The structural check reports none, so there is no structural failure to route. I independently traced consequential behavior in the frozen checkout rather than relying on analyst checks or the previous verdict. HEAD equals the revision in boundary, and the tracked top-level tree agrees with its coverage table. No target, tests, models or examples were executed. Added source inspection below is SRC-1 implementation; README, skill, setup example and workflow YAML supply doctrine/design, not observed operation.

Runtime records and guarantees

I checked every declaration in runtime shared records, its evidence passages, statuses and consumer scope. SRC-1 src/llm.rs, src/search.rs, src/fusion.rs, src/store.rs, src/config.rs and src/serve.rs support the three model components, SearchConfig, orchestration cache, search route and query-analyzer prompt. Each constructor uses the shared cache/downloader. Fresh acquisition uses resolve/main without required immutable bytes or digest; inspected inference does not update weights. Query-hash cache lookup does not test model identity or age. Generated-text parsing and cached serde deserialization are different admission paths. Concrete orchestration falls back on generation/parser failure. Reranking consumes snippets; normalized fusion confidence is relative rank magnitude, not factual probability. These findings support wired implementation, not observed operation, reliable model compliance or benefit.

For RT-RTE-topic-context, SRC-1 src/context.rs and src/search.rs confirm basic search without optional orchestration/reranking, five direct hits, one-hop expansion from three seeds, current disk reread and UTF-8-safe byte trimming. Markers are added after the available-body calculation. The report appropriately withholds a strict total-byte cap and control of the external client's accumulated window. Full-note, person and project consumers do not inherit this budget.

SRC-1 src/serve.rs, src/http.rs, src/onboarding.rs and src/config.rs support RT-RTE-http-access, RT-RTE-setup-apply and RT-CLM-server-readonly. Protected HTTP handlers authorize before dispatch; no-auth still rate-limits. Setup apply and explicit reindex lack read-only guards. Startup cleanup and watcher mutation are also independent of that flag. The server entry restricts no-auth to the literal loopback host. Loaded profiles/models/grants and subsequently saved configuration have distinct lifetimes. Permission checks admit operations, not content truth or filesystem containment.

SRC-1 src/writer.rs, src/placement.rs, src/indexer.rs, src/watcher.rs and adapter handlers support RT-RTE-note-admission, RT-RTE-index-refresh and RT-CLM-write-consistency. Create/append commit before final rename. Edit/rewrite update disk and mtime without regenerating chunks in their writer functions. Move removes retrieval entries and inserts only a new file record. Caller-controlled folders and explicit reindex paths are joined without a containment check in these paths. The account does not incorrectly transfer create's indexing behavior or file-rename atomicity to every mutation.

SRC-1 src/migrate.rs confirms retained preview input, separate application and reverse moves in RT-RTE-para-migration; undo deletes its log even after per-file errors. SRC-1 .github/workflows/ci.yml and .github/workflows/release.yml support RT-RTE-product-release as a separate product plane. Release publication depends on build, not an explicit CI prerequisite; no passing tests, mandatory branch gate or installed improvement is established. SRC-1 skills/engraph/SKILL.md supports RT-BAP-agent-skill as external-client guidance, not Rust permission enforcement or demonstrated obedience.

Memory, epistemic and workflow support

I checked all nine memory objects, four memory routes and every annotation in memory shared records. SRC-1 src/store.rs, src/indexer.rs, src/chunker.rs, src/writer.rs, src/profile.rs, src/tags.rs, src/context.rs, src/identity.rs, src/placement.rs, src/watcher.rs and src/health.rs support their separation of disk bodies, access metadata, lossy snippets, dense vectors, centroids, raw correction logs, profile, identity values, diagnostics and telemetry capability. Full chunk text supplies embedding while saved snippets supply FTS and identity extraction. Retained tag registry names can alter later proposed tags. Telemetry storage/pruning alone does not establish a learning consumer.

For MEM-RTE-placement-feedback, I traced move recognition, indexed rename, metadata comparison, vector averaging, separate centroid adjustments/logging, metadata stripping and the later centroid selector. Recognized labels exclude http-api; create supplies suggestion metadata for a positive below-threshold inbox fallback. Explicit folders and type rules can bypass semantic placement. This is a supported durable behavior-shaping route, not authenticated human feedback or demonstrated improvement.

For MEM-RTE-identity-context, extraction clears tier-1 rows, applies fixed category selectors and retains values later formatted for clients. Full indexing with a profile and explicit refresh invoke extraction; ordinary watcher changed/moved/deleted branches do not. Note-count selectors do not establish elapsed-day expiry. Focus/blocking/OOO rows omit source paths, and formatted delivery omits source fields. The read-back and withdrawal routes remain supported: current disk content can differ in freshness from indexed selection; project children are metadata rather than full bodies; archive, soft delete, hard delete, unarchive and clear have different retained effects.

I checked every epistemic declaration and authority-ledger row in epistemic shared records, including the public-claim comparisons. SRC-1 src/llm.rs, src/search.rs, src/fusion.rs, src/identity.rs, src/health.rs, src/writer.rs, src/context.rs, src/placement.rs, src/watcher.rs, src/indexer.rs, src/store.rs, src/main.rs and README.md support the distinctions between operational shape admission, ranking, retention, advisory delivery and truth acceptance. The OOO counterexample follows from whole-snippet person matching and first OOO-line extraction; it establishes a possible non-entailed association without claiming an observed output. Checkbox stripping separately supports qualification loss. Health's stale slot is a stub, while MCP/HTTP diagnostics are wired; the CLI ContextAction has no health variant. The confidence documentation discloses normalization, so the report correctly treats calibrated-certainty readings as stronger than the documented mechanism. No system-complete negative about opaque model cognition is asserted.

The workflow account is supported by SRC-1 examples/claude-code-setup.md, src/serve.rs, src/writer.rs, src/placement.rs, src/links.rs and src/context.rs. The example declares an external request-to-create handoff; inspected create code supplies the internal progression. Collision/read-only checks are operational. Insertion-closure failure attempts rollback/temp deletion, while later commit/rename/mtime/serialization errors can occur after persistent effects. Startup repair removes incomplete state rather than replaying the user's request. Delivery is serialized metadata, not semantic approval, an automatic read-back gate or the user's conversational answer. Its annotations retain runtime identities; it declares no competing records.

Correction, relations and conflicts

The previous epistemic blocker is repaired. EPI-RTE-placement-correction now limits invalidation and recovery to touched first-component groups and expressly withholds global feedback reset and coherent full-vault recovery. Independent reads of SRC-1 src/indexer.rs and src/store.rs confirm that indexed_rel_paths supplies the centroid loop, upserts replace only represented groups, and rebuild clears vectors rather than all centroid rows. Parent-folder rows created by feedback can survive. The revised recovery prose, retained source passages and dependent conclusion preserve that scope. The positive update-to-later-placement route and uninspected-operation status remain intact. The correction answer is supported, not merely asserted.

All four Part of: relations have supported containment: memory feedback within index refresh, memory withdrawal within note admission, and epistemic parsing/normalization within search. They transfer no part-specific guarantee to their containers. I checked all four amendments in reconciliation: identity-fact objects, HealthReport objects, extraction/formatting routes and feedback routes share referents and progression. Supersession preserves their different lens findings rather than replacing values with stronger statuses. The broad vault-content object remains valid beside source-file and derived parts. Withdrawal records differ in their inclusion of restoration and cleanup, so overlap does not require whole-route supersession. Remaining declarations and annotations create no competing identical referent requiring another amendment. No evidenced-absence declarations need adjudication.

Every memory integration issue has a disposition. Current centroid findings agree; the old source-resolvable conflict is no longer present. The reconciliation accurately withdraws that conflict without claiming global reset. Its no-unresolved-conflict finding is supported by the current records, including identity freshness, health, eligibility, lifecycle splits and untraced parts. No reconciliation blocker remains.

Omission questions and stopping decision

I selected omission questions from the tracked tree, shipped callers and producer/consumer dependencies: whether alternate adapters bypass controls; whether maintenance refreshes every retained view; whether logs, feature flags or optional delegation add an unreported learning/acceptance route; and whether create hides a post-write review gate. Adapter/setup/reindex tracing confirms the already qualified controls. Watcher/identity/centroid tracing confirms different refresh horizons and the corrected aggregate scope. Searches across SRC-1 src/ for telemetry methods, correction-log consumers, memory flags, link skiplist and Obsidian call sites did not establish an additional shipped learning or semantic acceptance consumer. SRC-1 src/obsidian.rs supplies bounded subprocess/circuit machinery; the writer ignores its optional helper and source searches found no live shipped delegation caller. These are bounded dispositions, not universal absence claims about external consumers. Create returns metadata without invoking read or semantic review.

Two consequential local route details remain as the limits below. Further optional omission expansion stopped because the selected questions have supported dispositions, the reports already withhold exhaustive coverage and correctness conclusions, and no identified challenge remains that undermines the bounded central account. Available but partly uninspected profile detection, graph formatting and external-client behavior still prevent detection-correctness, exhaustive route-inventory and compliance comparisons; they do not invalidate the positive routes or establish absent behavior.

Blockers

none

Limits

  • RT-RTE-note-admission and RT-RTE-index-refresh withhold uniform edit freshness but do not fully trace watcher suppression after tool edits. SRC-1 src/serve.rs records successful edit/rewrite mtimes; their writer functions change disk and stored mtime without regenerating chunks. SRC-1 src/watcher.rs skips a matching Changed event. Ordinary watcher delivery is therefore not established as the repair path for those writes; a different later change or explicit indexing can matter. Disk-write and reload conclusions hold, but automatic post-edit search freshness and repair-timing comparisons should be withheld.

    // Record write so the watcher skips re-indexing let full_path = self.vault_path.join(&result.path); record_write(&self.recent_writes, &full_path).await; --- src/serve.rs // Match — this file was written by us; remove entry and skip map.remove(path); return true; --- src/watcher.rs

  • MEM-OBJ-health-report, MEM-RTE-note-withdrawal and EPI-RTE-health-report retain unresolved auxiliary cleanup. Independent reads of SRC-1 src/store.rs, src/writer.rs and src/indexer.rs confirm that hard deletion/integrity cleanup purge principal retrieval structures without accompanying unresolved-link cleanup in those procedures; edge rebuilding instead clears unresolved entries for its source path. A diagnostic can retain a withdrawn source entry. Structural reporting and the stale-detector stub remain supported, but complete diagnostic freshness and complete derivative-erasure comparisons should be withheld; index age is not a current-vault certificate.