Stash report verification
Type: agentic-system-analyses/types/agentic-system-verification.md
Verification
The reports support publication of a bounded implementation account, subject to the two limits below. The previous containment and interface blockers are repaired. The target remains the memory system described by boundary, including shipped callers and maintenance rather than an enclosing agent runtime. HEAD matched the frozen revision and source status was clean. No target program, test, model or service was executed. Evidence remains implementation and doctrine/design from SRC-1, not observed operation or causal benefit.
I read the complete pinned boundary, runtime, memory, epistemic, workflow and reconciliation members, all correction answers, the structural result and the previous verification. The structural result is none, leaving no structural failure to route. I assessed all declarations: 11 runtime, 25 memory and 22 epistemic records; workflow declares none. Checks covered source-anchor meaning, evidence strength, operative-part distinctions, route fields, annotations, all remaining Part of: relations, twelve supersessions and the unresolved conflict. Deterministic reference and quotation checks belong to code. The grouped dispositions below cover the records without assigning a system-wide epistemic score.
Runtime, objects and delivery
The runtime components correctly separate external model weights from Go adapters and emitted vectors. Independent reads of SRC-1 internal/bootstrap/bootstrap.go, internal/config/config.go, internal/embedder/openai.go, internal/embedder/cache.go, internal/db/db.go and the reasoner request construction support RT-CMP-openai-reasoner and RT-CMP-openai-embedder. Model and endpoint labels are configurable rather than immutable deployed identities. Cache keys omit endpoint/revision. Dimension checking does not establish semantic compatibility across same-dimension models.
Independent reads of SRC-1 internal/brain/episode.go, internal/brain/recall.go, internal/brain/brain.go, internal/brain/context.go, internal/queries/recall.sql.tmpl, cmd/cli/commands.go and cmd/cli/mcp.go support the stated implementation strengths of RT-RTE-remember-write, RT-RTE-recall-read and RT-RTE-context-handoff. Remember resolves an exact namespace before embedding/insertion. Recall allocates fact slots before episode slots and sorts only that selected set; it omits fact provenance and validity. Focus is exact-namespace upsert/get, with no getter expiry predicate. Namespace selectors are not authorization. External client obedience, message eviction and answer composition are not assigned to Stash.
SRC-1 cmd/cli/consolidate.go, cmd/cli/serve_all.go, cmd/cli/mcp.go and internal/brain/consolidate.go establish the manual, tool and timer paths in RT-RTE-consolidation-run. Errors can accumulate despite a nil top-level return; partial writes survive. No exclusive cross-process scheduler or all-stage transaction is established. SRC-1 .github/workflows/release.yml, Dockerfile, docker-compose.yml and internal/db/db.go support RT-RTE-release-build and the deployment qualifications: published-release automation, build-dependent image publication, embedded migrations and configured persistent storage are not observed deployment or recovery guarantees.
The protocol object, session-order claim and runtime authority paths distinguish static advisory instructions from enforced client behavior. SRC-1 cmd/cli/mcp_prompts.tmpl, cmd/cli/mcp.go and internal/reasoner/openai.go support RT-OBJ-server-description, RT-CLM-session-protocol, RT-BAP-agent-protocol and RT-BAP-extraction-policy. The two memory authority paths instead carry accumulated evidence or advice: MEM-BAP-maintenance-input and MEM-BAP-retained-advice. Delivery is not activation.
I checked all fifteen memory objects and nine corresponding epistemic objects against SRC-1 internal/models/models.go, the Brain producers/selectors and reasoner formatters. Text, vectors, operational metadata, static prompts and provider parameters remain distinct. Episodes and failures are reports, not authenticated execution traces. Fact summaries have three admission paths. Relationships, patterns and contradictions retain different source metadata and omit different reasons. Hypothesis plans/rejection reasons persist, but automatic evaluation omits plans and drops support reasoning. Goal notes persist without reaching the next progress prompt. Context, namespace metadata, progress cursors, settings and cache have their own later consumers. These findings remain supported; the duplicate object declarations do not require discarding either lens's evidence.
Maintenance and epistemic force
Independent tracing covered all eight orchestration stages, all reasoner methods, the seven memory routes and ten epistemic routes. The relevant implementation is SRC-1 internal/brain/consolidate.go, internal/brain/consolidate_goal.go, internal/brain/consolidate_failure.go, internal/brain/consolidate_hypothesis.go, internal/brain/hypothesis.go, internal/brain/goal.go, internal/brain/failure.go, internal/brain/causal.go, internal/brain/contradiction.go, internal/brain/decay.go, internal/brain/fact.go, internal/brain/namespace.go, internal/queries/consolidate.sql.tmpl and internal/reasoner/openai.go.
- EPI-RTE-fact-synthesis correctly identifies lexical anti-copy checks rather than entailment checking. Its fabricated-summary countercase follows from the inspected predicates without running a model. JSON admission and confidence arithmetic do not warrant truth. Source-link and contradiction errors can be ignored after insertion.
- MEM-RTE-edge-extraction, EPI-RTE-relationship-extraction and EPI-RTE-causal-links distinguish endpoint/reference validation from semantic or causal verification. The relationship watermark advances before automatic causal selection uses it. Direct assertion bypasses extraction checks; recursive traversal establishes graph reachability, not transitive causal warrant.
- MEM-RTE-pattern-extraction and EPI-RTE-pattern-extraction correctly retain the combined reference-count check, repeated-ID possibility and source-array fallback. QueryPatterns is callable storage access, not demonstrated downstream use.
- MEM-RTE-goal-maintenance and EPI-RTE-goal-assessment correctly separate model annotation from caller completion and ancestor aggregation. The sibling denominator excludes abandoned/deleted children; annotation errors need not prevent checkpoint advance.
- MEM-RTE-failure-derivation and EPI-RTE-failure-review correctly distinguish unembedded repeat episodes from directly admitted embedded pattern facts. Those facts bypass stage-one checks and source associations. Failure watermarks can advance without review when recent episodes are unavailable, or despite output-write errors.
- MEM-RTE-hypothesis-maintenance, EPI-RTE-hypothesis-assessment and EPI-RTE-hypothesis-control preserve genuine evidence-consuming model assessment separately from direct evidence-free confirmation. Promotion copies existing content/confidence inside a transaction. The verification plan is not executed. The UTC-method-value refinement defect is present; successful editing is not inferred. Conditional theory findings do not establish a formulated theory instance, learning benefit or exercised self-improvement.
- MEM-RTE-fact-withdrawal, EPI-RTE-memory-withdrawal and EPI-RTE-contradiction-review correctly distinguish validity retirement from deletion. Recall, QueryFacts and maintenance fetch omit validity filtering; recall also omits validity metadata. Manual conflict resolution does not repair either fact. Episode soft deletion does not recompute derived facts. Migration FK searches qualify hard deletion without establishing complete derivative erasure.
- MEM-RTE-typed-read correctly describes shipped typed delivery while withholding concrete consumer claims for bare GetFact/GetEpisode and QueryPatterns. Row/depth limits are not model token budgets.
MEM-CLM-verified-facts and the three epistemic claims remain attributed product/protocol claims. SRC-1 README.md and cmd/cli/mcp_prompts.tmpl support the fact-warrant, hypothesis-verification and learning language, not its successful realization. The ledger's indeterminate semantic relations distinguish requested extraction from demonstrated reshaping, entailment or conjecture. No accepted produced ampliative instance is supplied.
The workflow account and its two annotations faithfully trace the instructed remember–consolidate–recall sequence. Local parse retry is separate from caller/ticker-owned batch replay. Embedded errors need not trigger the external agent's disclosure protocol. The workflow does not invent autonomous sub-agent execution, complete provenance, exactly-once recovery or successful user-facing delivery.
Corrections, reconciliation and relations
The memory answer is supported: MEM-RTE-edge-extraction no longer asserts whole-route containment in consolidation. SRC-1 internal/brain/causal.go, internal/brain/consolidate.go and cmd/cli/mcp.go establish automatic detection and independent caller assertion. The record preserves both branches, its ID and direct-handler evidence; its integration issue and reconciliation now describe overlap. The previous memory blocker is discharged.
The first epistemic answer is supported: EPI-RTE-contradiction-review, EPI-RTE-goal-assessment and EPI-RTE-failure-review no longer contain false whole-route Part of: relations. Their descriptions and ledger explanation distinguish maintenance from caller resolution, completion and initial admission. SRC-1 internal/brain/contradiction.go, internal/brain/goal.go, internal/brain/failure.go and cmd/cli/mcp.go support those distinctions. The relation blocker is discharged without losing mechanisms.
The second epistemic answer is supported: EPI-RTE-hypothesis-control, its selection/effect fields and bounded conclusion now distinguish CLI testing from MCP create/confirm/reject. Independent inspection of the complete MCP registry, CLI dispatch search, SRC-1 cmd/cli/hypothesis.go, internal/brain/hypothesis.go and internal/brain/consolidate_hypothesis.go confirms that MCP confirmation needs testing status obtained elsewhere. The capability blocker is discharged; automatic evidence assessment remains independently supported.
All five remaining containment relations are valid maintenance parts: memory pattern extraction and epistemic fact synthesis, relationship extraction, pattern extraction and hypothesis assessment. Their read-back descriptions do not assert independent caller admissions as contained mechanisms.
All twelve supersessions identify the same source-native referents: nine objects, pattern production/read capability, failure admission/review and the fact-warrant claim. They preserve lens-specific evidence rather than silently selecting stronger statuses. Other overlaps, producer/output distinctions and static/retained authority paths correctly remain separate. The remaining conflict names both condition-3 findings, their evidence and the prevented agreed conclusion; its disposition is the first limit below. Reconciliation's statement that it received no correction-answer files describes its own input history, not this verifier's inputs. It does not override the corrected pinned findings, which reconciliation explicitly assesses; no substantive repair is needed on that basis.
Consequential omission search and stopping decision
Search questions were selected from the frozen tracked tree, alternate shipped entry points and producer/consumer dependencies. I investigated alternative fact producers, validity propagation, pattern/getter callers, secondary write targeting and interface-specific hypothesis transitions. Frozen Go-tree searches confirmed the bounded no-found-caller and unregistered fact-purge findings; full maintenance tracing confirmed alternative fact admission and local withdrawal. Source selectors and typed adapters confirmed the namespace-targeting limit retained below. SRC-1 internal/brain/brain_test.go contains escaping/descendant-pattern tests, not a memory-quality evaluation. Searches of SRC-1 internal/db/migrations/ found hard-delete FKs, not a basis for equating soft updates with cascading erasure.
Further optional omission expansion stops because these consequential questions have supported dispositions or explicit limits, and no identified material challenge remains unaddressed. Remaining tool prose, secondary adapter details, schema recovery and dependency internals are not exhaustively audited. Those uninspected alternatives prevent exhaustive interface, security, erasure and reliability comparisons; they do not invalidate the traced persistence, maintenance, selection and warrant findings. No unsupported complete-coverage or system-complete negative conclusion is accepted.
Blockers
none
Limits
- MEM-RTE-hypothesis-maintenance and EPI-RTE-hypothesis-assessment, as retained in the unresolved conflict, differ on theory-builder condition 3. SRC-1
internal/reasoner/openai.goandinternal/brain/consolidate_hypothesis.gosupport a content-directed assessment request and implemented rejection, not an inspected criticism instance satisfying challenged claim, result and blame. Withhold one agreed or demonstrated condition-3 assessment and any full theory-builder conclusion based on it. Conditional storage, statement-dependent evaluation and status-sensitive later selection remain supported. - Namespace targeting for secondary caller admissions remains incompletely characterized in MEM-RTE-goal-maintenance, MEM-RTE-failure-derivation, MEM-RTE-hypothesis-maintenance and EPI-RTE-causal-links. SRC-1
cmd/cli/mcp.go,cmd/cli/hypothesis.go,cmd/cli/goal.goandcmd/cli/failure.goresolve a subtree and select its first returned ID, unlike exact-namespace remember/focus. SRC-1internal/brain/brain.godoes not order those lookup results. Withhold a uniform exact-write-namespace comparison, especially for/or a parent with descendants. The records do not assert that guarantee; caller-controlled content admission and later consumers remain supported. A representative retained passage is:h, err := bc.Brain.CreateHypothesis(ctx, nsIDs[0], content, verificationPlan, confidence, sourceFactIDs) ---
cmd/cli/mcp.go