Pi Posthorse epistemic report
Type: agentic-system-analyses/types/agentic-system-epistemic-report.md
Source-and-claim boundary
The question is whether Posthorse's continuation machinery checks truth-apt task state before granting later reliance, and what its actual checks authorize. Scope, exclusions and source identity are see boundary and its Source register. This is the complete extension loop, not Pi's enclosing runtime or a task-solving model. The consequential design claim is RT-CLM-context-continuation. No inspected product claim promises accepted scientific knowledge, verified task progress or model learning.
The ledger separates provenance classification, text transformation, capacity/protocol checks, retention and later consumption. A payload may contain factual claims, commands or both. No supplied note, live handoff or provider trace individuates the actual task propositions; their truth and the external model's internal processing are not determinable here. The code can still establish what happens to those candidate payloads.
| Entry point or operation | Source path, SRC-1 | Coverage and record | Remaining limit and conclusion prevented |
|---|---|---|---|
| Extension factory and tool surface | index.ts, src/context-tools.ts, src/notes.ts, src/history.ts |
Direct reads of factory and all tool dispatches; EPI-RTE-context-report, RT-RTE-note-admission, RT-RTE-retained-retrieval | Host tool activation/grants are not supplied; cannot establish deployed availability. No separate extension CLI dispatcher was found in the factory; package loading is see runtime. |
| Explicit reset callback and settlement | src/context-tools.ts, src/rollover.ts |
Direct callback and explicitReset/registration reads; RT-RTE-explicit-reset |
Host persistence and later-handler behavior prevent an unconditional reset guarantee. |
| Automatic compaction and threshold fallback | src/rollover.ts, src/recovery.ts, src/recovery-results.ts |
Direct automatic-hook/registration and complete recovery reads; EPI-RTE-recovery-provenance, EPI-RTE-recovery-reshape; threshold eligibility supplied by RT-RTE-automatic-recovery | Manual and unsupported cases leave native summarization available. No observed activation. |
| Projection edits, ancestry and receipts | src/recovery.ts, src/recovery-results.ts, src/history-entries.ts, src/message-text.ts |
Direct complete reads; EPI-OBJ-owner-inputs, EPI-OBJ-result-evidence | External projection construction is uninspected; exact fidelity to live reality is not established. |
| Notes list/read/search/write/append; alternate editors | src/notes.ts, src/files.ts, src/budget.ts |
Direct mutation/search/dispatch reads and supplied publication/storage findings; RT-RTE-note-admission, RT-RTE-retained-retrieval | External editor changes bypass tool checks; publication is not semantic acceptance. |
| History search/read and page refusal | src/history.ts, src/history-entries.ts, src/paging.ts, src/history-pages.ts, src/history-search.ts, src/session-files.ts |
Direct dispatcher/normalization reads; budget/archive selection supplied by RT-RTE-retained-retrieval | Prefilter/archive completeness not independently audited; no complete-retrieval conclusion. |
| Guidance, reminder filtering and regeneration | src/rollover.ts, src/budget.ts, src/reminders.ts |
Direct registration and supplied hook findings; RT-RTE-request-guidance | Delivery is not compliance; no observed live-state verification. |
| Shipped reset/resume evaluator | test/official.test.mjs |
Direct bounded scenario read; EPI-RTE-reset-evaluator | Other assertion bodies not audited; no suite-pass or exhaustive evaluator conclusion. |
| Development checker/release plane | package.json and excluded paths listed in boundary |
Deliberately excluded, not added to the functional loop | No checker-correctness or release-admission conclusion. |
All direct reads use SRC-1 at the frozen commit; these extend the supplied runtime's initial inspection, without adding a source. No target code was executed. No observed-run or causal-experiment source was supplied. This prevents observed restoration, measured task continuity, component benefit, learned capacity or cost-improvement conclusions. The remaining included retrieval/evaluator inspection limits also prevent a system-complete negative about every possible semantic evaluation, although the inspected write/reset/recovery dispatches support specific negative findings about their checks.
Epistemic-object inventory
| Object ID | Candidate truth-apt content or none | Claimed role | Evidence source ID and local anchor | Gap/limit |
|---|---|---|---|---|
| EPI-OBJ-owner-inputs | User statements and linked answers may assert task facts; commands themselves are not truth-apt | see record | SRC-1, src/recovery.ts |
Provenance labels do not establish source truth. |
| EPI-OBJ-result-evidence | Tool output/error claims and invocation metadata, when present | see record | SRC-1, src/recovery-results.ts |
Receipts do not certify progress; actual propositions unsupplied. |
| RT-OBJ-reset-requests | Handoff prose may contain task facts; map IDs are authorization metadata | see record | SRC-1, src/rollover.ts |
The later model consumes prose, not a checked task-state assertion. |
| RT-RTE-note-admission | Caller-authored plaintext may contain factual state, decisions and instructions | see record | SRC-1, src/notes.ts |
Inventory cites the route because supplied runtime declares no standalone note object; no actual note instance supplied. |
| RT-RTE-retained-retrieval | Notes and historical messages, including earlier assistant thinking and errors | see record | SRC-1, src/history-entries.ts |
Original and edited versions need not agree; historical delivery does not assert current truth. |
| EPI-OBJ-context-report | Approximate remaining capacity, usage and rollover state | see record | SRC-1, src/context-tools.ts |
Arithmetic license depends on native estimates and settings, not actual provider payload. |
| RT-OBJ-context-guidance | Mainly normative policy; capacity descriptions can be truth-apt | see record | SRC-1, src/budget.ts |
Instructions to verify state are not a verification result. |
| RT-CMP-active-model | Internal truth-apt units not determinable from accessible state | see record | SRC-1, index.ts |
External distributed-parametric component; no weight, version or learning evidence supplied. |
Authority-route ledger
Fields owned by a declaring record are marked see; the relation and epistemic architectural status here assess the particular ledger function, not an observed run. Separate rows on a container do not change its identity.
| Route ID | Route function | Architectural status | Object/candidate ID | Content/update relation | Transition or check target | Evaluator/condition and domain | Activation and timing | Possible or observed result | Implemented force | Epistemic authority and scope | Operational authority: behavior permitted, blocked, or changed | Behavioral-authority path: consumer, channel, force, horizon | Evidence source ID and local anchor | Claim IDs or none | Mismatch marker or none | Gap/limit |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EPI-RTE-recovery-provenance | check/evidence production | implemented | EPI-OBJ-owner-inputs | no content change | Owner/coordination classification and projected call linkage | see record | see record | see record | Symbolic selector input | Recorded provenance only; not truth or present intent validity | Changes recovery eligibility/label | Recovery builder, code predicate, enforcing selection, current boundary | SRC-1, src/recovery.ts |
none | none | Tool registration/linkage is not human-answer authentication beyond host metadata. |
| EPI-RTE-recovery-reshape | content transformation | implemented | EPI-OBJ-owner-inputs, EPI-OBJ-result-evidence | truth-apt transformation: non-ampliative reshaping | Projected inputs/results to bounded excerpts and pointers | see record | see record | see record | Selection and omission | Preserves selected text provenance; full source warrant unknown, completeness degraded | Determines what surviving continuation can inspect without retrieval | Later model, host summary, advisory evidence and instruction, next window | SRC-1, src/recovery.ts, src/message-text.ts |
RT-CLM-context-continuation | none | Reshaping does not entail semantic equivalence of every truncated proposition. |
| RT-RTE-automatic-recovery | check/evidence production | implemented | Recovery payload from EPI-RTE-recovery-reshape | no content change | Budget support, construction, length and cancellation | see record | see record | see record | Predicate/failure result feeds draft or cancellation | Capacity/route eligibility only | Establishes whether custom payload can be proposed | Automatic hook, symbolic conditions, enforcing within hook, current boundary | SRC-1, src/rollover.ts |
RT-CLM-context-continuation | none | No progress evaluator. |
| RT-RTE-automatic-recovery | disposition/acceptance | implemented | Same recovery payload | no content change | Custom compaction versus cancel/native pass-through | see record | see record | see record | see RT-BAP-compaction-draft | Operational admission, not epistemic acceptance | Permits host boundary or blocks this recovery attempt | see RT-BAP-compaction-draft | SRC-1, src/rollover.ts |
RT-CLM-context-continuation | none | Manual/unsupported native route remains; cancellation is not journal rollback. |
| RT-RTE-explicit-reset | check/evidence production | implemented | RT-OBJ-reset-requests | no content change | Originating callback, foreground errors/abort and pending-input-aware capacity | see record | see record | see record | Symbolic predicates | Foreground protocol success, not handoff truth | Determines eligibility for reset draft | Posthorse turn-end handler, code checks, enforcing there, current turn | SRC-1, src/context-tools.ts, src/rollover.ts |
RT-CLM-context-continuation | none | Later-handler abort is a counterexample to unconditional abort prevention. |
| RT-RTE-explicit-reset | disposition/acceptance | implemented | RT-OBJ-reset-requests | no content change | Handoff to retain-none draft, or defer without context change | see record | see record | see record | see RT-BAP-compaction-draft | No evidence-consuming acceptance of task claims | Permits fresh foreground continuation | see RT-BAP-compaction-draft | SRC-1, src/rollover.ts |
RT-CLM-context-continuation | none | Successful sibling effects are not undone. |
| RT-RTE-note-admission | retention | implemented | Caller note payload | truth-apt transformation: acquisition/import | Caller prose to plaintext file | see record | see record | see record | Filesystem publication | Source warrant unknown; no semantic criterion | Enables later retrieval; replace/append can alter instructions as well as facts | Filesystem readers then model tool results, permissive publication/advisory text, later windows/sessions | SRC-1, src/notes.ts, src/files.ts |
RT-CLM-context-continuation | none | Physical rejection/rollback is not false-content rejection; external editor bypass exists. |
| RT-RTE-automatic-recovery, RT-RTE-explicit-reset | retention | implemented | Automatic bounded recovery or caller handoff | no content change | Draft to host-persisted continuation | see records | see records | see records | Host-mediated projection/persistence | No added warrant from persistence | Replaces accumulated active context while retaining journal access | see RT-BAP-compaction-draft | SRC-1, src/rollover.ts |
RT-CLM-context-continuation | none | Extension-side wiring only; host implementation uninspected. |
| RT-RTE-retained-retrieval | operational admission/selection/consumption | implemented | Selected notes/history | truth-apt transformation: acquisition/import | Existing content into later model input | see record | see record | see record | Matching/ranking and budgeted delivery | Historical attribution, not current-state endorsement; source warrant unknown | Permits caller-requested evidence use, refuses oversized page | Model, tool result, advisory content with enforcing page refusal, current and later requests | SRC-1, src/history.ts, src/history-entries.ts |
RT-CLM-context-continuation | none | Search favors originals before echoes, not verified claims before false ones. |
| EPI-RTE-context-report | content transformation | implemented | EPI-OBJ-context-report | truth-apt transformation: entailed derivation | Supplied usage/settings to numeric report | see record | see record | see record | Advisory tool return | Arithmetic under supplied estimates only | Can inform plan change; does not itself reset or constrain execution | see record | SRC-1, src/context-tools.ts |
none | none | No independently warranted native usage premise. |
| RT-RTE-request-guidance | behavior/policy adaptation | implemented | RT-OBJ-context-guidance | non-truth-apt policy/content update: request-local checkpoint and verification instructions | Request/working-turn guidance selected from usage/policy/reminder state | see record | see record | see record | see RT-BAP-model-guidance | None from instruction delivery | Requests checkpointing and live-state verification | see RT-BAP-model-guidance | SRC-1, src/budget.ts, src/rollover.ts |
none | none | Fixed adaptive delivery, not revised method or demonstrated improvement. |
| EPI-RTE-reset-evaluator | check/evidence production | implemented | Reset/resume scenario assertions | no content change | Journal/context preservation, notes/history availability and call count | see record | see record | see record | Test assertion failure only | Specific API/context predicates if executed, not task truth | Can fail test invocation; no production payload gate traced | Test runner, assertions, enforcing failure, one fixture | SRC-1, test/official.test.mjs |
RT-CLM-context-continuation | none | Source is evaluator design, not a recorded pass. |
No lifecycle integration route for an accepted task claim was found in the inspected note-write, explicit-reset and automatic-recovery dispatches: none consumes evidence to accept a proposition against a criterion for a named intended use before connecting it to later organization. Retention and operational admission above are not silently recast as integration. This is bounded to those dispatches, not to arbitrary model/host activity.
System-claim versus route comparison
| Claim ID | Claimed operation or warrant | Claim source ID/anchor and evidence layer | Doctrine/design support | Implemented route IDs | Observed-run support | Causal support and design limits | Supported conclusion | Mismatch/unknown |
|---|---|---|---|---|---|---|---|---|
| RT-CLM-context-continuation | see record | SRC-1, package.json, README.md; doctrine/design |
Package/reference continuation procedure; README also says each rollover lacks a model-generated summary | RT-RTE-automatic-recovery, RT-RTE-explicit-reset, RT-RTE-note-admission, RT-RTE-retained-retrieval, EPI-RTE-recovery-reshape, EPI-RTE-reset-evaluator | None supplied; evaluator source is not operation | No causal comparison; host reachability and native fallback bound the implementation claim | Reached supported automatic handler constructs deterministic recovery without a summary-model call; notes/history and explicit handoffs wire continuation mechanisms | README's opening “Each rollover” requires its later manual/native qualifications. Neither deterministic recovery nor retained transcript warrants correct task continuation. |
The countercase is present in the same public documentation, not inferred from missing code:
Each rollover uses a handoff or recovery record without a model-generated summary. ---
README.mdManual
/compactuses Pi's normal summarization. ---README.md
The supplied runtime already preserves this distinction; no supersession is needed. Its unconditional-negative alternatives were checked against manual pass-through, external editors, projected orphan/async receipts and later-handler ordering rather than treating its ordinary route as exhaustive.
Bounded conclusion
Posthorse gives operational continuation authority, not semantic acceptance of task facts. Note writes publish caller text; reset checks license a context transition; automatic recovery checks support and size. Those targets and domains are different from whether a task-state proposition is true. The later model receives a handoff/recovery record and, on request, selected notes/history; its actual reliance and correctness remain unobserved. See RT-RTE-note-admission, RT-RTE-explicit-reset, RT-RTE-automatic-recovery.
Recovery manages lineage and limited visibility. It distinguishes direct inputs, linked owner answers and coordination, honors projection omissions/replacements, and preserves bounded receipts with IDs and retrieval pointers. These are useful evidence-selection controls, not truth certification or completed-work evidence. The selected excerpts retain local provenance; omissions degrade completeness, and source warrant remains unknown. The warning that inputs are not current progress is consequential model guidance, not an enforced prohibition on relying on stale prose. See EPI-RTE-recovery-provenance, EPI-RTE-recovery-reshape, RT-BAP-model-guidance.
The one directly inspected factual derivation is capacity reporting. Its arithmetic follows native usage/settings; it does not independently measure physical provider capacity. The unknown-usage branch withholds a count. This limited entailed derivation does not warrant unrelated task claims. See EPI-RTE-context-report.
No particular generated task conjecture or accepted ampliative claim is established by these sources. External models can supply prose, but no actual candidate/evidence/acceptance chain is supplied. This is not evidence that models never conjecture, learn or criticize. Likewise no conclusion about changing weights follows from fixed extension code; mutability/version/endpoint limits remain see RT-CMP-active-model. The inspected dispatches establish unchecked retention/admission, not a theory-builder verdict about the host or model.
Verification is requested, not completed by the extension. Guidance adapts delivery to usage and reminder state; this is a direct operational behavior path without a truth-apt acceptance loop. The shipped test scenario checks concrete continuation mechanics, not live task success. No supplied execution establishes compliance, successful learning, reflective criticism, self-improvement or benefit. Those remain separate unestablished properties, not a single system score. See RT-RTE-request-guidance, EPI-RTE-reset-evaluator.
Shared records
Operative objects
EPI-OBJ-owner-inputs
Label: Selected owner and coordination inputs
Part of: RT-RTE-automatic-recovery
This object is the input-record material carried by that route, not a duplicate of the route itself. Source-native identity: RecoveryRecord entries created by recordSource/recoveryRecord. Representational form: natural-language payload with symbolic kind, label, entry ID and timestamp. Storage substrate: transient objects rendered into host-persisted recovery text if admitted. User text and linked successful unnamespaced ask_question answers can contain factual claims; displayed custom-message coordination has different authority. SRC-1, src/recovery.ts.
if (entry.type === "message" && entry.message?.role === "user") { return { kind: "owner", label: "owner input", content: entry.message.content }; } ---
src/recovery.tskind: "coordination", label:
visible ${(entry.customType ?? "custom").slice(0, 80)} coordination input (not direct owner input), content: entry.content, ---src/recovery.ts
EPI-OBJ-result-evidence
Label: Projected tool result evidence
Part of: RT-RTE-automatic-recovery
This object is the receipt material carried by that route. Source-native identity: RecoveryBatch/RecoveryBlock produced by recoverableToolResults and resultBlock. Representational form: natural-language tool text/error, with symbolic IDs, names and serialized arguments; image content becomes metadata and a retrieval pointer in this payload. Storage substrate: transient strings then potential host summary. It records what projected receipts say, not a certified external outcome. SRC-1, src/recovery-results.ts.
header:
[${message.isError === true ? "error" : "result"} entry ${resultId}], text:${resultOutput(result)}\n\nTool: ${name}\nCall ID: ${message.toolCallId ?? "unknown"}${callDetails(matching, allLinked)}, ---src/recovery-results.ts// Only projected provenance is eligible. Orphans never resurrect a raw call. return index > start || call === undefined || call.block.async === true; ---
src/recovery-results.ts
EPI-OBJ-context-report
Label: Context remaining report
Source-native identity: contextReport tool-result text and structured display data. Representational form: localized symbolic arithmetic values rendered as natural-language estimates. Storage substrate: tool return, with journal persistence host-owned. No counterpart object is declared in the supplied runtime: unlike RT-OBJ-context-guidance, this is a caller-requested report, not regenerated instruction. SRC-1, src/context-tools.ts.
const configured =
≈${n(Math.max(0, usage.contextWindow - usage.tokens))} tokens until the configured context limit (${n(usage.tokens)}/${n(usage.contextWindow)} used, ${Math.round(usage.percent ?? 0)}%). Best available native estimate.; ---src/context-tools.ts
Routes
EPI-RTE-recovery-provenance
Label: Recovery provenance classification
Part of: RT-RTE-automatic-recovery
Endpoints/progression: branch/projection metadata → projectedCurrent and ownerRecords → owner/coordination classification → recovery selector. Owner: Posthorse code; Pi supplies projection/tool metadata. Effects: removes projected-away records, uses replacement content/IDs, and limits owner answers to successful linked registered unnamespaced calls. This is a check of recorded provenance, not an evaluator of source truth. SRC-1, src/recovery.ts.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Eligible labeled input records to the recovery builder, not a standalone user-visible judgment.
- Later read-back: Selected labels/IDs survive in admitted recovery text for the later model.
- Delegated visibility: uninspected — the host decides independent worker inputs; coordination text here only records visible input.
- Selection predicate: User messages; displayed non-reminder custom messages; owner answers require registered tool, projected call name/namespace and successful matching result.
- Invalidation or expiry: Projected empty messages and null context-edit replacements omit input; replacement IDs/content change lineage.
- Activation or effect: Classification changes selection/labels in deterministic construction; later model obedience to owner/coordination distinction is unobserved.
- Evidence limits: Recorded linkage depends on external host metadata; no independent authentication or semantic approval.
Software proposes/selects these record classes; there is no mandatory human approval or answer oracle. Operating mode is open task continuation. Rejection omits ineligible records, not false claims; history remains the recovery route for omitted raw material under the host contract.
const call = calls.get(entry.message?.toolCallId); const record = recoveryRecord( entry, ownerQuestionRegistered && call?.name === "ask_question" && call.namespace === undefined, ); ---
src/recovery.tsif (id !== "" && omittedIds.has(id)) { return []; } const edit = edits.get(id); if (edit?.replacement === null) { return []; } ---
src/recovery.ts
EPI-RTE-recovery-reshape
Label: Bounded recovery reshaping
Part of: RT-RTE-automatic-recovery
Endpoints/progression: classified inputs/projected receipts and older checkpoint ancestry → buildAutoHandoff → selected headers, excerpts, omission markers and pointers. Owner: deterministic Posthorse code. Effects: a bounded proposal for later model input; admission is separately owned by the parent route. This part neither duplicates the whole admission route nor asserts an observed outcome. SRC-1, src/recovery.ts, src/message-text.ts, src/recovery-results.ts.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Constructed recovery text to the enclosing compaction handler.
- Later read-back: If admitted by the host, later model sees selected payload; ancestry can carry owner anchors instead of nesting whole automatic records.
- Delegated visibility: uninspected — nested/delegated input delivery belongs to the host, not this constructor.
- Selection predicate: First owner input, latest owner and latest overall become anchors; other inputs get budgeted index lines; eligible projected receipts get bounded blocks.
- Invalidation or expiry: Current projection and context-edit versions govern selection; prior checkpoints are marked possibly stale, carried inputs possibly handled; older headers/text can be omitted for budget.
- Activation or effect: Determines surviving context evidence and adds fixed provenance/verification guidance; no observed behavioral reliance or improvement.
- Evidence limits: Non-ampliative reshaping classifies quoted/excerpted source material, not every claim implied by interpreting an incomplete fragment. Input truth and semantic completeness are not established.
Concrete deduction from the inspected implementation, without executing it: excerpt("abcdef", 3) takes the branch where the limit is smaller than the omission marker and returns abc. A factual sentence can therefore lose a qualifier without a visible marker at very small limits. At larger limits the head/tail retain a middle-omission marker. This is selection/compression, not a newly tested proposition; semantic equivalence to the whole source is not licensed. buildAutoHandoff also allocates per-record budgets and can keep headers without text. A record label alone is not progress evidence.
if (text.length <= limit) { return text; } const marker = "\n… middle omitted …\n"; if (limit <= marker.length) { return text.slice(0, limit); } ---
src/message-text.tsperBlock > 0 ?
${block.header}\n${excerpt(block.text, perBlock)}: block.header, ---src/recovery.tsconst inputHeader = fixed.length > 0 ? "Selected owner and coordination inputs (chronological):" : "No selected current-window owner or visible coordination inputs were found."; ---
src/recovery.ts
EPI-RTE-context-report
Label: Context remaining derivation
Source-native endpoints/progression: caller invokes get_context_remaining → native usage and effective policy → arithmetic/report → current model tool result. Owner: Posthorse computation, external host premises. Context effect: delivers an approximate count and rollover state, not a reset or enforced plan. No counterpart route in supplied runtime; this is distinct from RT-RTE-request-guidance, though both use budget data. SRC-1, src/context-tools.ts.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Unknown-usage message or approximate remaining capacity and rollover configuration.
- Later read-back: uninspected — host journal may retain the result, but no later read-back trace is supplied.
- Delegated visibility: uninspected — this tool returns to its caller; independent model contexts are external.
- Selection predicate: Usage unknown/null withholds count; disabled or unsupported policy changes report; supported enabled policy reports rollover line.
- Invalidation or expiry: Subsequent usage/settings/model changes invalidate applicability of an earlier estimate; report is computed afresh on each call.
- Activation or effect: Caller can use the advisory tool-result estimate when planning; no observed plan change.
- Evidence limits: Native usage/settings are premises, not independently measured here; report does not certify provider limits.
For a hypothetical native input of 100,000 context tokens and 20,000 used, the inspected subtraction/max branch entails an 80,000 configured-limit estimate. This is arithmetic over supplied estimates, not independently warranted physical capacity. The model may choose to query; code decides output and can withhold a number. There is no task-answer oracle and no human approval gate. Operating mode: open context self-management. Consumer: foreground model; channel: tool result; force: advisory estimate; horizon: until usage/configuration changes.
if (usage === undefined || usage.tokens === null) { return textResult("Context usage is not known until the next model response.", [], { kind: "context", }); } ---
src/context-tools.ts
EPI-RTE-reset-evaluator
Label: Reset resume evaluator
Endpoints/progression: shipped faux-provider scenario → real SDK session calls → assert predicates over context, journal, notes/history and reopening. Owner: test author/Node test runner; faux provider supplies prescribed responses, not independent task reasoning. This evaluator is distinct from RT-RTE-explicit-reset: it tests that route and retrieval, not admits production handoffs. SRC-1, test/official.test.mjs.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Assertion pass/failure when the test is executed; no run result supplied.
- Later read-back: inapplicable — inspected scenario does not retain a behavioral policy update for later product operation.
- Delegated visibility: inapplicable — the scenario has a faux foreground provider, not a delegation mechanism.
- Selection predicate: Test fixture prescribes note write/reset then note read/history search, and compares resulting messages and persisted journal.
- Invalidation or expiry: Fixture-specific predicates apply to that host/configuration/scenario, not arbitrary deployments or task outcomes.
- Activation or effect: A failed predicate can fail the test invocation; no production semantic acceptance gate or observed release disposition follows.
- Evidence limits: Source assertions are design evidence; no execution, suite-pass, host universality or component-causal evidence supplied.
Check target/domain: explicit reset context preservation, transcript accessibility and session reopening in this fixture. Evaluator: deterministic assertions; reference outcomes: literal markers, role/tool predicates and serialized context equality. Intended criterion: those API/context properties, not whether DURABLE_NEXT_STEP describes true progress. Author specifies test inputs and expected results; code decides assertion outcome; no model judge supplies an oracle. Operating mode: bounded engineering fixture. Its source does not establish deployment admission or rollback.
assert.doesNotMatch(JSON.stringify(fresh), /RAW_ORIGINAL_OWNER|DURABLE_NEXT_STEP/); assert.match(textOf(toolResult(h, "notes")), /DURABLE_NEXT_STEP/); assert.match(textOf(toolResult(h, "history")), /RAW_ORIGINAL_OWNER/); ---
test/official.test.mjs
Claims
none declared in this member
Evidenced absences
none declared in this member
Behavioral-authority paths
none declared in this member