Exocomp reconciliation
Type: agentic-system-analyses/types/agentic-system-reconciliation-report.md
Reconciliation
Boundary and evidence basis
All four reports share the frozen revision registered in boundary. Their findings use implementation and doctrine/design evidence. None uses the historical artifacts to establish current-revision operation, and none reports target execution or a causal experiment. This shared evidence limit is not a disagreement. This reconciliation uses the supplied members without additional source reads. No correction-answer files or declined objections were supplied; corrections are assessed from the current reports, not assumed from the previous reconciliation. The supplied refusal concerns Answer delivery and skill instruction force. Both dispositions below are corrected against the current pinned records and their retained parser/consumer passages; older fragments in the refusal are not treated as current declarations.
Duplicate identities
Amendment: EPI-OBJ-bug-description is superseded by MEM-OBJ-bug-description. Both identify Bug.Description keyed by file/symbol in Bugs.contents and .exocomp/bugs.json. Both retain natural-language interpretation separately from fixed-status selection. Their matching description-assignment and IsFixed-reset passages establish the same referent: SRC-1 source/tools/Bugs.go, source/tools/writeBugs.go. The epistemic import/retention ledger and memory read-back account concern the same caller-supplied description. This identity connection changes neither finding about unknown report warrant.
Amendment: EPI-OBJ-changelog-entry is superseded by MEM-OBJ-changelog-entry. Both identify ChangelogEntry.Description and Date/Type/File/Symbol in entry arrays and .exocomp/changelog.json. They distinguish interpreted event descriptions from symbolic duplicate metadata and retain the same tuple-comparison passage: SRC-1 source/tools/Changelog.go. The epistemic import/retention functions and memory maintenance/read-back findings therefore concern the same event object. Supersession establishes no evidence that the reported event occurred.
Nonidentical overlaps and containment
The following connections do not establish duplicate identities or require split supersession:
- EPI-OBJ-fixed-status isolates IsFixed; MEM-OBJ-bug-status includes file/symbol identity and that flag. The narrower part and valid container have different boundaries. Their shared filtering finding does not make the whole records identical.
- EPI-OBJ-specification combines Declaration and Behavior with separate syntax and content checks. MEM-OBJ-requirement-behavior isolates Behavior; MEM-OBJ-requirement-declaration includes declaration, identity and status; EPI-OBJ-implemented-status isolates IsImplemented. The valid combined specification need not be superseded merely because other records separate parts. None is identical to a Signoff route.
- MEM-RTE-session-recovery spans later read-back portions of RT-RTE-planner-chat and RT-RTE-contractor-work, not either complete invocation. MEM-OBJ-agent-messages explicitly declares a material part of the contractor route, not a replacement route.
- MEM-RTE-requirement-update includes direct definition capacity, valid Signoff and reconstruction. EPI-RTE-requirement-refresh covers the writer/read reconstruction chain, not all definition admission. EPI-RTE-symbol-check and EPI-RTE-signoff-disposition are declared parts of RT-RTE-requirement-signoff. Their different endpoints and checks rule out whole-record identity; the valid containers retain their findings.
- MEM-RTE-project-records groups bug and changelog maintenance while preserving their different retirement rules. EPI-RTE-bug-records, EPI-RTE-bug-closure and EPI-RTE-changelog-records separate recording, closure/selection and event append. These narrower functions are not identical to the grouped route. RT-RTE-client-tools concerns dispatch; RT-RTE-file-admission concerns product writes. Neither duplicates these report transformations.
- EPI-RTE-inquire-projection is an explicitly declared deterministic part of RT-RTE-agent-inquire, not the complete summarizer invocation. The memory annotation adds lineage to the runtime record rather than creating another summary route.
- MEM-RTE-role-discovery admits templates into a process-global map. RT-BAP-role-prompt concerns model-facing instruction authority, and RT-OBJ-role-grants concerns symbolic capability admission. Registration is identical to neither consumer path. MEM-BAP-retained-content concerns recovered/report content rather than static role guidance.
- WF-CLM-project-phases, EPI-CLM-correct-results and RT-CLM-role-separation concern lifecycle handoffs, correctness and capability/confinement respectively. Shared prompt sources do not establish claim identity. EPI-CLM-summary-fidelity is a design claim, not the Inquire execution route.
MEM-OBJ-debug-snapshot and MEM-RTE-operator-display have no duplicate declarations. EPI-OBJ-website-content and EPI-RTE-website-fetch add import-specific content and progression rather than duplicating generic chat delivery. EPI-RTE-human-answers adds question/answer operations, qualified generic message admission and a distinct bare-name Session consumer rather than duplicating direct-client dispatch. The runtime's three model components and RT-ABS-skill-grants likewise have no duplicate declarations. No further exact identity or required missing part is established by the supplied reports.
Disagreement dispositions
No unresolved cross-report conflict is established in the current pinned members. The following corrected findings agree without requiring reconciliation to judge or replace a declaring analyst's findings:
Signoff persistence correction. RT-RTE-requirement-signoff now states that the writer omits implemented entries and subsequent reads reconstruct status from source with empty Behavior. That agrees with MEM-RTE-requirement-update, its Signoff annotation, EPI-RTE-signoff-disposition and EPI-RTE-requirement-refresh. Their load-bearing filtering, reconstruction and merge passages are SRC-1 source/tools/writeRequirements.go, source/tools/readRequirements.go, source/tools/readImplementedRequirements.go. The old durable-signoff disagreement is therefore not carried forward. The workflow's immediate status-assignment account remains compatible; it asserts neither a durable acceptance record nor behavioral satisfaction.
Capability-admission qualification. RT-OBJ-role-grants, RT-RTE-client-tools and the runtime guarantee now identify installed-tool lookup plus tool-specific HasMethod approval, explicitly including Humans.Answer outside literal method-array membership. That agrees with the exception passage in EPI-RTE-human-answers, SRC-1 source/tools/Humans.go. The former literal-membership disagreement is not retained. This admission agreement does not establish downstream answer delivery; the runtime explicitly keeps that question separate.
Independent convergence and integration issues
Specification handoff obstruction. MEM-RTE-requirement-update and WF-CLM-project-phases independently distinguish existing direct Define* implementations from broken ordinary tool dispatch. Their passages show Toolset's lowercased suffix, Requirements' exact membership and mixed-case dispatch, with the memory report also retaining ToolCall spelling: SRC-1 source/tools/Toolset.go, source/tools/Requirements.go, source/schemas/ToolCall.go, source/engine/Session.go. The workflow no longer treats valid contractor delegation as establishing a newly written specification artifact. Existing records, direct-method definition and Signoff/reconstruction remain separate capacities. EPI-OBJ-specification describes the declaration/behavior payload and DefineFunc's transformation, not successful ordinary dispatch; EPI-RTE-requirement-refresh describes subsequent reconstruction. Those accounts do not contradict the obstruction. Runtime's instructed specification phase is likewise not an assertion that the definition dispatch works.
Answer storage versus delivery — corrected refusal disposition. The memory write-side account and current EPI-RTE-human-answers distinguish qualified shipped calls from the bare-name alternative. Both retain ToolCall.GetName's qualified return, Command.Name preservation and generic Session tool-message admission: SRC-1 source/schemas/ToolCall.go, source/types/Command.go, source/engine/Session.go, source/ui/web/routes/session/CallTool.go. Qualified humans.Answer stores the answer, releases a matching waiter and appends its generic answer/error result. Released qualified Ask/Choose calls separately append their Await result and permit the response loop to continue inference. Direct Answer does not independently start inference or backup. Only bare-name humans with method Answer enters the special scan at len(Messages), panicking before append/unlock and leaving the mutex locked. The predecessor's attribution of that obstruction to normal/browser delivery is not retained.
MEM-RTE-session-recovery can retain admitted answer-bearing messages, without guaranteeing successful backup or restoring pending question/wait state. The memory Integration issues entry names a peer conflict against the older refusal fragment; the current epistemic record now supports qualified admission, so that historical objection is not an unresolved disagreement between these pinned reports. The epistemic record adds browser Waiting refusal, asynchronous local-validation return, concurrent append-order uncertainty and web GetLastMessage's non-call-specific selection; memory does not assert unconditional browser success or ordering. RT-RTE-client-tools likewise separates direct tool return from later inference. WF-CLM-project-phases retains human confirmation as requested policy, not authenticated acceptance or an enforced write gate. Implemented advisory delivery therefore coexists with unobserved operation and unresolved respondent provenance; neither normal-route obstruction nor successful confirmation is inferred.
Delegation and report acceptance. RT-RTE-contractor-work and its memory/workflow annotations agree on separate child conversations, selected Quit-report return, retained transcripts and persistent shared-file effects. Workflow's passages distinguish phrase-based child exit success from the parent's nonempty-report acceptance and ignored Wait result: SRC-1 source/tools/Agents.go, source/tools/getAgentWorkReport.go, source/ui/jsonl/Client.go. This elaborates runtime's report-validity limit rather than contradicting it. A missing report rejects Await delivery without rolling back files. A nonempty report, including one from a status-1 child, does not warrant task satisfaction. Requested tests and later repair remain planner policy, not enforced correctness admission.
Summary selection and status vocabulary. RT-RTE-agent-inquire, its memory annotation and EPI-RTE-inquire-projection agree on user/assistant prose selection, omitted tool/system evidence, separate model condensation and retention of the original transcript. The epistemic printable-ASCII example qualifies evidence visibility, not every summary's truth. SRC-1 source/utils/chat/SummarizeMessages.go, source/utils/fmt/FormatSingleLine.go, source/utils/fmt/isPrintableASCII.go, source/tools/Agents.go. Runtime's implementation conclusion status afforded and epistemic architectural status implemented use different vocabularies. Both retain no default Inquire grant and unobserved operation; neither status is promoted by reconciliation.
Skill lifecycle and role reach — corrected refusal disposition. RT-RTE-skill-loading, its memory annotation and the epistemic ledger now distinguish three operations. Construction or explicit List clears/rebuilds the discovery catalog from disk, leaving loaded objects and injected bodies unchanged. Ordinary qualified Load adopts the selected catalog object into loaded_skills after dependency checks and supplies a generic tool notice; qualified Unload removes loaded state and supplies a notice, not body withdrawal. Execute consumes loaded scripts independently of model instruction supply. The parser/branch passages explain why: qualified names resolve the tool but do not match Session's bare-name skills special branches. Evidence remains in the cited runtime record and memory annotation: SRC-1 source/tools/Skills.go, source/tools/readSkills.go, source/schemas/ToolCall.go, source/types/Command.go, source/engine/Session.go.
System-priority body insertion/removal belongs only to separate Session helpers or bare-name API use, not the downstream consequence of ordinary qualified tool calls. On that alternative, duplicate detection uses body text, so changed text can leave older differing bodies; removal of matching text does not guarantee complete same-name historical withdrawal or rollback prior effects. Direct Session.LoadSkill has the weaker missing-program gate retained by runtime. The epistemic ledger now separates qualified loaded-state selection/removal from helper instruction supply/withdrawal; its architectural status does not promote runtime's afforded mechanism into default activation. The predecessor's undifferentiated body adoption/removal disposition is not retained. Restored bodies versus newly constructed loaded_skills bookkeeping remains a memory uncertainty, not a disagreement. MEM-RTE-role-discovery changes later same-process template lookup but does not prove the fresh child's effective template, model or grants. It does not contradict RT-ABS-skill-grants, whose search boundary is embedded YAML, or establish default skill/Inquire activation. Granting skills alone would not repair the qualified-name instruction-delivery mismatch.
Retirement, recovery and remaining limits. The memory and epistemic bug/changelog routes converge on Fix as selection change without universal erasure and Remove as event append without checked product deletion. MEM-RTE-operator-display supplies richer JSON display, including fixed bugs, than model-facing List. The supplied filtering and append passages remain in the corresponding object/route records. Recovery accounts agree that restored transcripts are not revived processes and ignored backup returns do not guarantee persistence. Unknown authorship, opaque provider state, pending human-wait restoration, detailed changelog browser filtering, cross-restart skill bookkeeping and historical artifact provenance remain bounded limitations. No report establishes improved future capacity, observed benefit or exercised self-improvement from retention alone. The epistemic lack of an acceptance/integration witness remains bounded by its assessed routes and uninspected branches, not a system-complete negative. These limits are retained for verification rather than treated as conflicts or resolved by choosing a stronger status.