Flopwire epistemic report
Type: agentic-system-analyses/types/agentic-system-epistemic-report.md
Source-and-claim boundary
This assesses how retained conversations and messages become evidence for later agents, and what checks license that reliance. Scope, external dependencies and exclusions are those of boundary; source identity and evidence layers are in its Source register. All new source reads below are SRC-1 at the frozen commit. They supply implementation or attributed doctrine/design, not observed runs. The supplied runtime orders the investigation but does not bound it.
The material distinction is between evidence that a transcript reports something and evidence that its subject is true. History retrieval imports claims; lexical ranking does not accept them. Commit observation extraction adds a narrower programmatic check with addressed command/result provenance. No source supplied here authenticates arbitrary transcript statements against the outside world. This is a limit on those routes, not a system-complete negative about all shipped operations.
| Entry point or operation | Source path (SRC-1) | Coverage and records | Limit and conclusion prevented |
|---|---|---|---|
| CLI dispatch and MCP registry | cmd/flopwire/main.go, cmd/flopwire/mcp.go |
Direct dispatch/registry reads; supplied runtime covers retrieval, agent, serve, messaging, hook, upgrade and trial | Registration is not observed invocation |
| Agent extraction and shared upload | internal/agent/index.go, internal/devicesync/syncer.go |
Supplied RT-RTE-transcript-index, RT-RTE-shared-upload | All parser and remote admission implementations not independently audited here; no universal source-fidelity conclusion |
| Search, grep, sessions, read, raw | cmd/flopwire/mcp.go, internal/retrieval/format/render.go, internal/retrieval/format/text.go |
Registry, rendering call sites and complete text transformations directly read; RT-RTE-history-retrieval, EPI-RTE-text-render | Ranking quality and complete chronology unobserved |
| Digest and outline | internal/digest/digest.go, internal/retrieval/format/summary.go |
Direct digest declarations/Fold and full summary renderer; EPI-OBJ-digest, EPI-RTE-digest-fold | Other fold helpers not fully inspected; no semantic-summary accuracy guarantee |
| Commit change/trace and MCP change | cmd/flopwire/change.go, internal/digest/evidence.go, internal/digest/evidence_stream.go, internal/digest/commits.go, internal/ingest/commit_evidence.go, internal/retrieval/change.go, internal/retrieval/local/change.go |
Direct complete extraction state machine and projection, selected command parser and lookup ranges; EPI-RTE-commit-check, EPI-RTE-commit-store, EPI-RTE-change-lookup | Shell grammar/helper coverage partial; no exhaustive spoof resistance or sole-authorship claim |
| Hook and alternate delivery; retained threads | plugins/codex/flopwire/hooks/hooks.json, plugins/codex/flopwire/skills/messaging/SKILL.md |
Direct hook manifest and full skill; supplied RT-RTE-hook-delivery, RT-RTE-adapter-delivery | Bus backend/thread visibility not independently inspected; delivery is not agreement or authorization |
| Redact CLI and local withdrawal | cmd/flopwire/redact.go, internal/localindex/redact.go, internal/redact/redact.go |
Direct complete CLI, local maskRow/maskDigest and scanner opening; EPI-RTE-index-redact | Remote archive rewrite, tombstone replay and all secret rules not fully audited; no total erasure or secret-removal guarantee |
| Policy, sender admission, binary installation | internal/api/api.go, internal/api/bus.go, internal/upgrade/upgrade.go |
Supplied RT-RTE-policy-admission, RT-RTE-binary-upgrade | Operational checks have narrower domains than truth or improvement |
| Qualification and parser oracle | scripts/qualify-agent-workflow.py, testdata/oracle/README.md, internal/transcript/oracle/oracle.go |
Direct qualification check body, oracle contract and Assert; RT-RTE-workflow-trial, EPI-RTE-parser-parity | Other probe/bench/acceptance/nightly and source-native reports remain unassessed here; no complete evaluator inventory or global negative |
| Backup/verify/restore, import, setup, admin/deletion and web administration | cmd/flopwire/main.go |
Direct dispatch coverage; boundary and runtime identify shipped responsibilities | Handler internals not independently traced here. Prevents system-complete absence claims about acceptance, recovery and withdrawal |
The consequential claim found is RT-CLM-recovery-evidence. Additional tool guidance is declared as EPI-CLM-commit-evidence. No live harness trace, independently verified task outcome or causal comparison was supplied. These gaps prevent claims of exercised reliance, reliable truth recovery or improved capacity. Distributed-parametric processing is external: see RT-CMP-codex-model. Its exact parameters, mutation and endpoint resolution remain uninspected; no conclusion about parametric learning follows.
Epistemic-object inventory
| Object ID | Candidate truth-apt content or none | Claimed role | Evidence source ID and local anchor | Gap/limit |
|---|---|---|---|---|
| RT-OBJ-localindex | Imported utterances about decisions, commands and outcomes; symbolic location/state metadata | see record | SRC-1: internal/localindex/store.go; see record passages |
A container; truth varies per utterance, and initial speaker warrant is unknown |
| EPI-OBJ-digest | Selected prompt/reply fragments and derived activity fields | see record | SRC-1: internal/digest/digest.go |
Navigation does not certify intent, success or approval |
| EPI-OBJ-commit-evidence | A captured command/result supports a commit observation with a possibly abbreviated hash | see record | SRC-1: internal/digest/evidence.go |
Transcript authenticity and actual repository state not independently checked |
| RT-OBJ-standing-instruction | Primarily directives; message bodies can carry arbitrary factual claims | see record | SRC-1: internal/busrender/busrender.go; see record |
Directives are not truth acceptance; sender identity does not establish body truth |
| RT-CMP-codex-model | Internal truth-apt units not determinable from accessible parameters | see record | SRC-1: scripts/qualify-agent-workflow.py; see record |
External opaque model; trial outputs are separate from parameters |
Authority-route ledger
Route ID: RT-RTE-transcript-index
Route function: content transformation
Architectural status: implemented
Object/candidate ID: RT-OBJ-localindex
Content/update relation: truth-apt transformation: acquisition/import
Transition or check target: Native transcript to indexed messages
Evaluator/condition and domain: Parser and policy; structural eligibility, not factual truth
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Rows or parse error
Implemented force: Enforcing parser/policy admission
Epistemic authority and scope: Speaker/source warrant unknown; provenance retained in addresses, not external verification
Operational authority: Makes parsed utterances queryable
Behavioral-authority path: Later CLI/MCP → selected retained text → advisory evidence → later request
Evidence source ID and local anchor: SRC-1: internal/agent/index.go; see cited route
Claim IDs: none
Mismatch marker: none
Gap/limit: No supplied execution or causal evidence
Route ID: RT-RTE-transcript-index; RT-RTE-shared-upload
Route function: retention
Architectural status: implemented
Object/candidate ID: RT-OBJ-localindex
Content/update relation: no content change
Transition or check target: Extracted rows and uploaded archive/index inputs
Evaluator/condition and domain: See routes; policy and transport constraints
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Retained local rows; shared visibility after parsing
Implemented force: Storage and eligibility enforcement
Epistemic authority and scope: Retention licenses no additional truth claim
Operational authority: Permits subsequent retrieval subject to scope
Behavioral-authority path: Retriever → durable index/archive → permissive access → later calls
Evidence source ID and local anchor: SRC-1: internal/localindex/store.go, internal/devicesync/syncer.go; see records
Claim IDs: none
Mismatch marker: none
Gap/limit: No supplied execution or causal evidence
Route ID: RT-RTE-history-retrieval
Route function: operational admission/selection/consumption
Architectural status: implemented
Object/candidate ID: RT-OBJ-localindex
Content/update relation: truth-apt transformation: non-ampliative reshaping
Transition or check target: Query to selected excerpts
Evaluator/condition and domain: Lexical ranking/filtering; relevance domain
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Ranked excerpts, empty/partial page or error
Implemented force: Ranking, not truth acceptance
Epistemic authority and scope: Evidence of retained text in selected scope; no global absence from empty results
Operational authority: Supplies model-visible evidence
Behavioral-authority path: External agent → tool result → advisory/ranking → current and later retained context
Evidence source ID and local anchor: SRC-1: cmd/flopwire/mcp.go; see record
Claim IDs: RT-CLM-recovery-evidence
Mismatch marker: none
Gap/limit: No supplied execution or causal evidence
Route ID: EPI-RTE-text-render
Route function: content transformation
Architectural status: implemented
Object/candidate ID: RT-OBJ-localindex
Content/update relation: truth-apt transformation: non-ampliative reshaping
Transition or check target: Text to safe display/window
Evaluator/condition and domain: Code-point replacement and byte/line budget; display domain
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Cleaned or clipped excerpt
Implemented force: Enforcing displayed selection
Epistemic authority and scope: Preserves ordinary ASCII propositions but can remove decisive context; raw/JSON paths differ
Operational authority: Bounds what reader sees
Behavioral-authority path: Renderer → tool/hook text → advisory content → invocation
Evidence source ID and local anchor: SRC-1: internal/retrieval/format/text.go, internal/retrieval/format/render.go
Claim IDs: none
Mismatch marker: none
Gap/limit: No supplied execution or causal evidence
Route ID: EPI-RTE-digest-fold
Route function: content transformation
Architectural status: implemented
Object/candidate ID: EPI-OBJ-digest
Content/update relation: truth-apt transformation: non-ampliative reshaping
Transition or check target: Prompt and reply fragments to bounded navigation fields
Evaluator/condition and domain: Ordinal and clipping rules, not semantic intent assessment
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: First selected prompt and last reply snippets
Implemented force: Selection/ranking guidance
Epistemic authority and scope: Only selected source fragments; derived counters require their separate count rules
Operational authority: Allows session navigation before full reads
Behavioral-authority path: Session/outline renderer → digest text → advisory → later query
Evidence source ID and local anchor: SRC-1: internal/digest/digest.go, internal/retrieval/format/summary.go
Claim IDs: none
Mismatch marker: none
Gap/limit: This row covers textual fields; inspected code also derives counters/commit fields, whose full semantics are not established by this classification
Route ID: EPI-RTE-commit-check
Route function: check/evidence production
Architectural status: implemented
Object/candidate ID: EPI-OBJ-commit-evidence
Content/update relation: truth-apt transformation: entailed derivation
Transition or check target: Captured command/result to observed hash and execution outcome
Evaluator/condition and domain: Deterministic shell/call pairing and output grammar over one source generation/session
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Addressed observation or no event; whole-call failure can coexist with printed commit
Implemented force: Rejects unsupported pairings and limits inferred continuity
Epistemic authority and scope: Conditional derivation from captured bytes under parser rules; no independent Git authentication
Operational authority: Emits eligible observations for projection
Behavioral-authority path: Extractor → event list → enforcing evidence eligibility → next storage step
Evidence source ID and local anchor: SRC-1: internal/digest/evidence_stream.go, internal/digest/evidence.go
Claim IDs: EPI-CLM-commit-evidence
Mismatch marker: none
Gap/limit: Entailment is within the encoded transcript interpretation. External commit existence depends on truthful harness/output premises; mixed wrappers may be omitted
Route ID: EPI-RTE-commit-store
Route function: retention
Architectural status: implemented
Object/candidate ID: EPI-OBJ-commit-evidence
Content/update relation: no content change
Transition or check target: Eligible observations to durable projection
Evaluator/condition and domain: Available referenced rows, active/non-superseded source, budget and transaction revision
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Inserted/kept IDs, deleted obsolete fingerprints, dirty/limited state or rollback
Implemented force: Enforcing projection consistency
Epistemic authority and scope: Retains conditional observations; does not accept historical authorship
Operational authority: Makes admitted events available to lookup
Behavioral-authority path: Projection → SQL events → permissive access → subsequent lookup
Evidence source ID and local anchor: SRC-1: internal/ingest/commit_evidence.go
Claim IDs: none
Mismatch marker: none
Gap/limit: A storage acceptance criterion is not evidence-consuming acceptance of a broader historical claim
Route ID: EPI-RTE-change-lookup
Route function: operational admission/selection/consumption
Architectural status: implemented
Object/candidate ID: EPI-OBJ-commit-evidence
Content/update relation: truth-apt transformation: non-ampliative reshaping
Transition or check target: Requested full hashes to exact/prefix evidence matches
Evaluator/condition and domain: Repository visibility, prefix predicate and cursor revision; index domain
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Evidence addresses, coverage flags, restart request
Implemented force: Enforces page/scope; ranks no truth verdict
Epistemic authority and scope: Exact equality or prefix relation over stored observation; prefix does not establish uniqueness
Operational authority: Permits follow-up reads and requires restart for changed cursor state
Behavioral-authority path: Change tool → JSON addresses/flags → advisory evidence, enforcing pagination → next call
Evidence source ID and local anchor: SRC-1: internal/retrieval/change.go, internal/retrieval/local/change.go, cmd/flopwire/change.go
Claim IDs: EPI-CLM-commit-evidence
Mismatch marker: none
Gap/limit: No supplied execution or causal evidence
Route ID: EPI-RTE-index-redact
Route function: lineage/freshness/recovery
Architectural status: implemented
Object/candidate ID: RT-OBJ-localindex; EPI-OBJ-digest; EPI-OBJ-commit-evidence
Content/update relation: truth-apt transformation: non-ampliative reshaping
Transition or check target: Selected local message content and dependent metadata to masked state
Evaluator/condition and domain: Explicit requested target; masking/storage code, not a truth evaluator
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Masked row, scrubbed digest/title, FTS rebuild and refreshed change events
Implemented force: Enforcing local withdrawal
Epistemic authority and scope: Removes availability, not a finding that the content is false
Operational authority: Changes subsequent search/read/change evidence
Behavioral-authority path: Local write transaction → index/derived views → enforcing selection → later queries
Evidence source ID and local anchor: SRC-1: internal/localindex/redact.go, cmd/flopwire/redact.go
Claim IDs: none
Mismatch marker: none
Gap/limit: Native harness file and already delivered contexts remain outside this local withdrawal; remote rewrite not fully audited
Route ID: RT-RTE-hook-delivery; RT-RTE-adapter-delivery
Route function: operational admission/selection/consumption
Architectural status: implemented
Object/candidate ID: RT-OBJ-standing-instruction
Content/update relation: no content change
Transition or check target: Delivered envelopes to recipient context
Evaluator/condition and domain: Lease/event/budget rules; host delivery domain
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Rendered context or retry/undelivered state
Implemented force: Software delivery; model handling advisory
Epistemic authority and scope: No truth license from receipt or sender alone
Operational authority: Requests replies/actions within existing authorization
Behavioral-authority path: See RT-BAP-message-guidance; model/hook or host context → advisory policy → recipient turns
Evidence source ID and local anchor: SRC-1: internal/busrender/busrender.go; see runtime routes
Claim IDs: none
Mismatch marker: none
Gap/limit: No observed compliance; historical thread reads are not new direct requests
Route ID: RT-RTE-policy-admission; RT-RTE-binary-upgrade
Route function: disposition/acceptance
Architectural status: implemented
Object/candidate ID: RT-OBJ-standing-instruction
Content/update relation: non-truth-apt policy/content update: configuration or executable replacement
Transition or check target: Policy, sender or binary candidate
Evaluator/condition and domain: See records; credential/config validation or checksum/runnable version criteria
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Reject or persist/replace
Implemented force: Enforcing operational admission
Epistemic authority and scope: No acceptance of truth or proof of improvement
Operational authority: Changes future eligible collection/delivery or executable behavior
Behavioral-authority path: See records; daemon/server or executable loader → symbolic config/binary → enforcing → subsequent use
Evidence source ID and local anchor: SRC-1: internal/api/api.go, internal/upgrade/upgrade.go; see records
Claim IDs: none
Mismatch marker: none
Gap/limit: Separate mechanisms grouped only for their non-epistemic consequence; individual criteria and rollback limits remain in cited records
Route ID: RT-RTE-workflow-trial
Route function: check/evidence production
Architectural status: implemented
Object/candidate ID: RT-CMP-codex-model
Content/update relation: truth-apt transformation: entailed derivation
Transition or check target: Synthetic discovery, source reading, refusal and correlated token reply
Evaluator/condition and domain: Script-owned expected token, exact session/thread IDs and transcript command checks
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Failure or completed trial report
Implemented force: Check failure raises; no automatic product promotion
Epistemic authority and scope: Conditional test result for explicit CLI resume workflow
Operational authority: Stops failed trial/report; no production admission authority
Behavioral-authority path: Script → report/exception → enforcing trial continuation, advisory maintenance → trial/review
Evidence source ID and local anchor: SRC-1: scripts/qualify-agent-workflow.py; see record
Claim IDs: none
Mismatch marker: none
Gap/limit: No execution evidence; script does not qualify hooks, MCP, automatic wake, arbitrary research correctness or component benefit
Route ID: EPI-RTE-parser-parity
Route function: check/evidence production
Architectural status: implemented
Object/candidate ID: RT-OBJ-localindex
Content/update relation: truth-apt transformation: entailed derivation
Transition or check target: Parser conversation/message projection versus FAD synthetic expected output
Evaluator/condition and domain: Programmatic comparison after declared divergence drops; fixture parity domain
Activation and timing: On explicit request or newly eligible input; operation unobserved
Possible or observed result: Differences cause test errors
Implemented force: Enforcing test outcome
Epistemic authority and scope: Agreement on projected fixture values only; reference itself has documented limitations
Operational authority: Can fail parser tests; no runtime truth gate
Behavioral-authority path: Oracle Assert → testing error → enforcing test failure → test invocation
Evidence source ID and local anchor: SRC-1: internal/transcript/oracle/oracle.go, testdata/oracle/README.md
Claim IDs: none
Mismatch marker: none
Gap/limit: No supplied execution or causal evidence
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-recovery-evidence | see record | SRC-1: plugins/codex/flopwire/skills/messaging/SKILL.md; doctrine/design |
see record and RT-BAP-recovery-guidance | RT-RTE-history-retrieval, EPI-RTE-text-render | none supplied | No comparative outcome evidence | Implemented evidence access plus requested source/contradiction checks | Interpretation and reliable claim support depend on external reader |
| EPI-CLM-commit-evidence | see record | SRC-1: cmd/flopwire/change.go; doctrine/design |
see record | EPI-RTE-commit-check, EPI-RTE-commit-store, EPI-RTE-change-lookup | none supplied | No independent Git/causal verification; encoded pairing rules bound inference | Captured command/result provenance with explicit prefix and coverage limits | Sole authorship, complete enumeration and truthful underlying transcript unestablished |
Bounded conclusion
Flopwire retains and imports conversation claims for later use; it does not thereby endorse their subject matter. Source warrant is unknown for arbitrary imported utterances. Addresses and follow-up reads preserve a path back to captured evidence, while clipping, outlines, digests and redaction reduce what a consumer sees. The shipped skill asks readers to recover decisive text and distinguish proposals from approval. Its authority is advisory at the external model, over invocations loading the guidance. See RT-RTE-history-retrieval, RT-BAP-recovery-guidance, EPI-RTE-text-render and EPI-RTE-digest-fold.
Commit extraction is a supported narrower derivation and check route. It links captured command/result records, rejects selected ambiguous command patterns and preserves whole-call outcome separately from observed commit output. Thus a failing shell call is not sufficient evidence that no commit occurred. Its warrant is conditional on truthful captured inputs and the inspected interpretation, not independently warranted Git facts. Projection retention and change lookup give those observations later evidential force; prefix matching still cannot license unique identity or sole authorship. See EPI-RTE-commit-check, EPI-RTE-commit-store and EPI-RTE-change-lookup.
There is no evidence-consuming acceptance decision for an ampliative historical explanation in the inspected retrieval, digest and commit routes. This route-local result does not assert such acceptance is absent from unassessed evaluators or source-native maintenance practice. No lifecycle integration after such acceptance is established. Indexing, storage, visibility admission and operational consumption are separate functions. Local redaction withdraws content and updates derived readers; it does not retract already supplied model context or classify an assertion as false. See EPI-RTE-index-redact.
The workflow trial and parser oracle check named synthetic targets, with operative failure consumers. Their licenses do not transfer to general research truth, reliable messaging across all hosts or improved capacity. No trial was executed in this analysis. Policy/sender gates and checksum/version tests change operational authority against specific criteria; they establish neither epistemic endorsement nor successful improvement. Delivered requests can change a recipient's tasks without a truth-apt update, but receipt is not agreement. See RT-RTE-workflow-trial, EPI-RTE-parser-parity, RT-RTE-policy-admission, RT-RTE-binary-upgrade and RT-BAP-message-guidance.
These findings establish retained experience access, bounded deterministic derivation and operational admission capacities. They do not establish learning as improved future capacity, content-directed theory criticism and iteration, reflection's two causal directions or exercised self-improvement. Those remain separate questions requiring route-specific evidence; opaque provider internals and absent run comparisons do not justify a bundled negative. The unassessed operations in the coverage table prevent a system-complete negative.
Shared records
Operative objects
EPI-OBJ-digest
Label: Digest
Part of: RT-OBJ-localindex
Source-native identity: digest.Digest, JSON stored with conversation state. Natural-language Intent/Last snippets and symbolic counts, paths, hashes and fold bookkeeping are distinct operative parts. Text is interpreted by readers; counters and references have fixed renderer/selector rules. This is a material part of the supplied runtime's local-index container, not a replacement container. SRC-1: internal/digest/digest.go, internal/retrieval/format/summary.go.
// Two kinds of fields make it up: // // - Fold reads the messages a batch writes, in order: the intent (first // user prompt), the last assistant message, files edited, PRs, commits // and issues. Re-folding a message is harmless: these are sets, or keep // the lowest (intent) or highest (last) ordinal seen. ---
internal/digest/digest.go
EPI-OBJ-commit-evidence
Label: CommitEvidence
Source-native identity: digest.CommitEvidence, symbolic fields and evidence references represented as Go values and persisted JSON/SQL projection entries. Distinct from the digest's bounded commit list and the runtime's undifferentiated local-index container: this object spans local and server projections and retains command/result lineage. Closest supplied record is RT-OBJ-localindex; it supplies the local storage container, not the cross-backend observation referent. SRC-1: internal/digest/evidence.go, internal/ingest/commit_evidence.go.
// CommitEvidence is an observed commit, with the records supporting that observation. // Hash may be abbreviated. DirectoryKnown describes captured directory placement, // never repository identity. Outcome describes the whole execution, not commit creation. ---
internal/digest/evidence.go
Routes
EPI-RTE-text-render
Label: Text rendering
Part of: RT-RTE-history-retrieval
Source-native Clean, Cut and renderer calls are symbolic Go transformations of text. This is the display subroute of the supplied history-retrieval route. The renderer calls Clean on message text; the bus also cleans and escapes message bodies. A concrete implementation deduction: Clean on the character sequence A, carriage return, newline, B, ESC yields A, newline, B, ␛. Cut on approved\nreversed with from=1 and maxChars=8 returns approved with Clipped=true: omission can change a historical interpretation. These are source deductions, not executed target examples. SRC-1: internal/retrieval/format/text.go, internal/retrieval/format/render.go, internal/busrender/busrender.go.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Cleaned display string or bounded excerpt
- Later read-back: inapplicable — this display function itself writes no retained result
- Delegated visibility: inapplicable — this subroute does not delegate a model task; host delivery remains in supplied runtime routes
- Selection predicate: Selected output format and line/byte budgets
- Invalidation or expiry: inapplicable — transient output; raw/JSON branches preserve different representations
- Activation or effect: Code changes displayed characters and visible context
- Evidence limits: Does not certify semantic equivalence for all Unicode/control-dependent inputs or full context
// characters (isBidiControl) become U+FFFD, a CR before a newline is dropped, and invalid // UTF-8 is replaced. JSON output never goes through Clean; it is exact. ---
internal/retrieval/format/text.gotext := Clean(m.Text) ---
internal/retrieval/format/render.goe.Text = b.String() if e.From > 1 || e.To < e.Lines { e.Clipped = true } ---
internal/retrieval/format/text.go
EPI-RTE-digest-fold
Label: Digest folding
Part of: RT-RTE-transcript-index
Indexer-time code folds message snippets and symbolic activity into Digest; rendering supplies navigation summaries. Closest supplied route is RT-RTE-transcript-index. This is its digest-specific subroute, with different output/checks from full extracted messages. User snippets use lowest eligible ordinal; assistant Last uses highest. The label Intent is not an evaluated explanation of intent. SRC-1: internal/digest/digest.go, internal/retrieval/format/summary.go.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Updated Digest fields
- Later read-back: Stored conversation digest reaches later sessions/outline renderers
- Delegated visibility: inapplicable — this subroute does not delegate a model task; host delivery remains in supplied runtime routes
- Selection predicate: Non-superseded, non-evidence-only rows; eligible user/assistant text and ordinal rules
- Invalidation or expiry: Reparse can replace same-ordinal text; local masking can scrub derived fields
- Activation or effect: Supplies shorter navigation text and activity fields
- Evidence limits: Textual selection shown directly; count/store helpers and all semantic implications are not exhaustively inspected
case transcript.KindAssistant: if t := oneLine(m.Text); t != "" { if d.State == nil || d.State.LastOrd == nil || m.Ordinal >= *d.State.LastOrd { d.state().LastOrd = ptr(m.Ordinal) d.Last = clip(t, LastLen) } } ---
internal/digest/digest.go
EPI-RTE-commit-check
Label: Commit evidence extraction
Owner: deterministic CommitEvidenceState/ExtractCommitEvidence, over source-generation/session-ordered retained messages. It pairs addressed shell calls/results, tracks running handles, invalidates open HEAD continuity on uncertain/moving commands, and emits observation events. Distinct from RT-RTE-history-retrieval: this produces provenance-bearing observations before retrieval, not lexical hits. Different from ordinary RT-RTE-transcript-index parsing: it checks cross-message Git evidence. SRC-1: internal/digest/evidence.go, internal/digest/evidence_stream.go, internal/digest/commits.go.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: New CommitEvidence events or empty list
- Later read-back: Events can enter local/server projections, then change lookup
- Delegated visibility: inapplicable — this subroute does not delegate a model task; host delivery remains in supplied runtime routes
- Selection predicate: Typed call identity, shell grammar, safe output sources, printed hash or permitted successful HEAD reveal
- Invalidation or expiry: Superseded rows, HEAD movement and unsupported placement break inferred continuity
- Activation or effect: Emits conditional observation with command/result references and separate whole-call outcome
- Evidence limits: No external Git execution, source authentication or independent truth oracle; full shell grammar not audited
Proposer: retained captured commands/results. Decider/veto: code pairing and eligibility predicates; no per-observation human approval. Mode: open transcript evidence projection. Answer oracle: no externally provided expected commit; captured output is evidence input. This admits derived observations, not a revised explanatory theory.
// Other programs can print convincing Git output. Reject such compound calls. ---
internal/digest/evidence.goif p.g.printed && p.printedSafe { for _, hash := range printedEvidenceHashes(out) { e := base e.Hash = hash events = append(events, e) printed = true } } ---
internal/digest/evidence_stream.go// Commands enrichment is best effort, including heuristic Codex event joins. // Parse the addressed call itself to establish command ownership. ---
internal/digest/evidence_stream.go
EPI-RTE-commit-store
Label: Commit projection retention
Server RefreshCommitEvidence reads retained live tool rows grouped by source/generation, invokes extraction and atomically replaces the derived projection while retaining unchanged fingerprints. Closest supplied RT-RTE-shared-upload describes shared ingestion, but this is a distinct derived-evidence persistence operation. SRC-1: internal/ingest/commit_evidence.go.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Transaction success, error or limited/dirty state
- Later read-back: Later shared Change queries join evidence and source/conversation visibility
- Delegated visibility: inapplicable — this subroute does not delegate a model task; host delivery remains in supplied runtime routes
- Selection predicate: Live non-superseded rows on active path, no tombstoned source; byte/row budgets and available references
- Invalidation or expiry: Deletes fingerprints not regenerated; revision mismatch requires rollback; limits leave dirty state
- Activation or effect: Updates later available observations and preserves provenance references
- Evidence limits: Inspected server transaction only; not proof of observed crash safety or all local projection semantics
Admission trigger: parsed/dirty conversation. Proposed change: rebuilt observation set. Software decides and can reject missing referenced messages or changed snapshot; no human approval or truth oracle. Recovery: entire transaction rollback on inconsistent projection. This criterion admits storage consistency for lookup, not historical explanatory acceptance.
// RefreshCommitEvidence atomically replaces one conversation's projection from // retained live rows. The caller holds its conversation row lock. Appended rows // can complete an older call; replay is source scoped, never cross-source. // Unchanged observations keep their IDs so appends do not disturb open pages. ---
internal/ingest/commit_evidence.go
EPI-RTE-change-lookup
Label: Change lookup
Part of: RT-RTE-history-retrieval
CLI/MCP change lookup selects projected observations by full requested IDs and repository scope, maps exact/prefix matches, and returns addresses plus coverage/restart state. Material part of the supplied retrieval container route; no supersession needed because that container remains valid. SRC-1: cmd/flopwire/change.go, internal/retrieval/change.go, internal/retrieval/local/change.go.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: JSON evidence addresses, match kind, coverage flags or error
- Later read-back: Reads retained observations; request itself does not persist a revised historical claim
- Delegated visibility: inapplicable — this subroute does not delegate a model task; host delivery remains in supplied runtime routes
- Selection predicate: Repository/visibility scope, requested hash prefix equality, cursor/cutoff and budget
- Invalidation or expiry: Index/revision changes invalidate pagination; dirty/quarantined/limited states qualify coverage
- Activation or effect: Guides source reads and can refuse stale pagination
- Evidence limits: No complete-history, unique-prefix or sole-author claim; backend source inspected in bounded ranges
Selector proposer: user/model supplies IDs and repository; decider: code matches all qualifying stored prefixes. No human selection gate or expected-answer oracle. Open lookup mode. Reader still decides historical attribution after reading evidence.
// Change returns indexed observations, including all submitted IDs that share // an abbreviated observation. Prefix observations never establish uniqueness. ---
internal/retrieval/change.goif prior.Revision != cursor.Revision { out.RestartRequired = true return nil } ---
internal/retrieval/change.go
EPI-RTE-index-redact
Label: Local index redaction
Explicit redact request routes through daemon or direct local store; local maskRow masks selected row text, digest/title and FTS entries and refreshes change events. Distinct from collection deny/rewrite described in RT-RTE-transcript-index: this withdraws selected content and dependent evidence. The CLI also requests remote redaction separately; its complete server archive mechanics remain unassessed. SRC-1: cmd/flopwire/redact.go, internal/localindex/redact.go.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Count or error; server and local results separate
- Later read-back: Subsequent local search/read/change sees masked/recomputed views
- Delegated visibility: inapplicable — this subroute does not delegate a model task; host delivery remains in supplied runtime routes
- Selection predicate: Explicit address/line range and copy options; local target resolution
- Invalidation or expiry: Masked text replaces original in index; native file unchanged; delivered contexts not retracted
- Activation or effect: Withdraws available text and dependent projection evidence
- Evidence limits: No total secret detection or cross-device erasure guarantee; tombstone replay/remote archive implementation not fully inspected
Proposer: request principal chooses target; code resolves/masks it, with remote credential/ownership distinctions exposed by CLI. Generic caller identity does not prove human action. Explicit maintenance mode; no correctness oracle. Failure can stop the operation; server success can precede a local error. Withdrawal expresses availability control, not epistemic falsification.
if err := w.maskDigest(t.conv, hidden); err != nil { return Tombstone{}, err } ---
internal/localindex/redact.gow.ftsInsert(t.id, p) if err := w.refreshChangeEvents(t.conv); err != nil { return Tombstone{}, err } ---
internal/localindex/redact.go// device's local index. The harness's own transcript file is not touched. ---
cmd/flopwire/redact.go
EPI-RTE-parser-parity
Label: Parser parity oracle
Fixture oracle compares parser conversation/message projections to committed synthetic FAD outputs, after named divergence exclusions. Assert consumes differences as test errors. No supplied runtime record describes this comparator; closest RT-RTE-workflow-trial is a distinct real-model synthetic messaging trial. SRC-1: testdata/oracle/README.md, internal/transcript/oracle/oracle.go.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Test errors for differences
- Later read-back: inapplicable — this test comparator does not itself install retained runtime content
- Delegated visibility: inapplicable — this subroute does not delegate a model task; host delivery remains in supplied runtime routes
- Selection predicate: Explicit parser test invocation, fixture and projection/divergence rules
- Invalidation or expiry: Fixture/reference edits change comparison; excluded divergences limit target
- Activation or effect: Test failure/reporting, not runtime admission of utterance truth
- Evidence limits: No tests executed; reference parser has documented limits; no production outcome or causal comparison
Proposer: fixture/test author. Decider: projected differential comparator; maintainer chooses expected output and divergences. Answer oracle: committed FAD 0.3.1 expected values, subject to declared limitations. Bounded test mode, not open historical interpretation; failure rejects the test outcome, not automatically the installed binary.
// Assert reports Diff's problems on t, prefixed with the expected file name. func Assert(t testing.TB, f File, exp Conversation, conv transcript.Conversation, msgs []transcript.Message, rules Rules) { t.Helper() for _, p := range Diff(exp, conv, msgs, rules) { t.Errorf("%s: %s", f.Name, p) } }
---
internal/transcript/oracle/oracle.goEvery fixture here is synthetic. Never copy real transcript content into this tree. ---
testdata/oracle/README.md
Claims
EPI-CLM-commit-evidence
Label: Captured commit evidence
The MCP change tool promises sessions with captured evidence and source addresses, while explicitly withholding prefix uniqueness. This narrows rather than contradicts RT-CLM-recovery-evidence: it addresses change provenance, not arbitrary research recovery. SRC-1: cmd/flopwire/change.go; doctrine/design tool description implemented by the lookup/extractor routes.
Read the evidence before attributing a change; a prefix observation remains a prefix match. ---
cmd/flopwire/change.gohint := "Read relevant command/result addresses, compare the evidence with the requested claim, and state remaining gaps." ---
cmd/flopwire/change.go