LACP synthesis

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

Bounded synthesis

LACP is a local agent operating layer with two execution owners: a native model/tool runtime and wrappers around external coding-agent hosts. It also ships coordination protocols, memory maintenance and an improvement-directed source-editing driver. This account covers the repository at e31f134b689afd6a71d94b0420682d1f528d6fa1, with an applicability cutoff of 2026-10-14. Its evidence is static implementation and source-authored doctrine under SRC-1, not an executed task, provider invocation or causal experiment. Whole-system inclusion does not mean exhaustive inspection of every included path. External host/service internals and private deployment state are not frozen evidence (boundary, Source register).

From request to effects

A no-argument lacp starts the native REPL. It accumulates conversation messages, asks a provider for output, dispatches proposed tool calls, returns their results to the conversation and continues. A text-only turn ends the loop and saves messages. Only the Anthropic route receives the REPL's tool definitions at the inspected call site. Built-in shell/file handlers and configured MCP servers execute with inherited local privileges; there is no central human-approval callback. PLAN mode requests planning in text but does not change executor permissions. Tool results are capped at 50,000 characters, and twenty iterations bound the worker loop, not its total effects (RT-RTE-native-turn, RT-BAP-mode-prompt, RT-RTE-extension-load).

Managed host shims can instead traverse a prelaunch risk/contract/budget gate. The external host then owns its model, tools and session. Other shipped entries differ: stream launches, explicit bypass, native delegation and OAuth Codex do not provide the same mediation. OAuth Codex receives the last user string rather than the REPL system prompt and preceding conversation. Thus a delegated task is a separate context with selected input and returned output, while its filesystem effects can outlive that exchange (RT-RTE-host-launch).

The launch gate supplies a path-specific policy, not universal isolation or mandatory approval. A local_sandbox route falls back to direct execution when no local runner is configured. Its command classification does not inspect arbitrary shell bodies; orchestration supplies the runner path while keeping the underlying command in environment. An over-budget invocation with budget confirmation can enter an elif branch that skips the later review-approval TTL check. These are source-level counterexamples, not observed exploits. Detached tmux success likewise means launch, not task completion (RT-RTE-sandbox-launch, RT-RTE-orchestrated-run).

For a bounded task with configured checks, the harness offers a stronger completion criterion: runner success and verification success. It can retry and retain hashed attempt receipts, but stores output tails and does not establish verifier independence or general correctness. Host hooks provide a different control: selected pre-tool blocks and Stop feedback depend on installed host event handling. Fast exits, unavailable evaluators and other bypass conditions make these checks best effort. An allow result can mean no evaluation occurred (RT-RTE-harness-attempt, RT-RTE-host-hook).

Coordinating work is not performing it

The representative shipped workflow is the planner → developer → verifier → tester → reviewer protocol illustrated by “Add OAuth auth.” Initialization writes task context and state but launches no role agent. Planner advancement issues a token; developer advancement normally requires it, with an explicit unplanned override available. The caller supplies actor strings and approve/reject decisions. Those checks constrain state transitions, not principal identity, plan quality or implementation correctness. The runbook omits the developer token that the source test obtains (RT-RTE-workflow-advance, workflow account).

Rejection records blocked state and leaves the stage available for resubmission. Intermediate reapproval advances the stage without clearing the blocked run status; final reviewer approval records done/completed. External participants own corrective work and evidence transport. Completion here is a durable protocol result, not a delivered OAuth implementation. The command does not automatically invoke the harness, so their guarantees cannot be combined into an automatic verified team (workflow annotation, RT-RTE-harness-attempt).

Retaining work and bringing it back

LACP has multiple memory channels rather than one coherent hierarchy. Native JSONL conversations can be resumed; keyed JSON entries can be written immediately and later requested through memory tools. Resume restores messages, not every saved metadata field. The inspected native worker accumulates turns rather than automatically compacting them: truncation, whole-conversation clear and explicit reload are separate controls (RT-OBJ-messages, RT-RTE-native-turn, MEM-RTE-keyed-memory).

For external hosts, nontrivial Stop paths write handoffs, episodes and self-model updates before later quality judgment. Subsequent startup/clear/compact events can push selected text through systemMessage; a later failed quality check does not retract those earlier writes. Handoff selection matches the working directory and a 24-hour age limit. SMS supplies selected preferences/cautions and up to three recent significant episodes, but the inspected builder does not filter by agent/project or implement the claimed goal-relevance helper. The root hook's default 1500-estimated-token budget stops at the first overflowing block once any block is kept, potentially dropping all later blocks. Installed hook configuration and host compliance remain necessary (MEM-RTE-session-memory, MEM-CLM-goal-filtering).

These automatic trace-fed writes and later context delivery are a supported contribution even without demonstrated improvement. Their session-summary and execution-feedback inputs produce durable recovery or guidance artifacts. However, the SMS self-model can introduce unsupported assertions: no recorded test failure plus a large file count can produce a “tests pass” label; separated keywords can produce a test-first preference. Update count raises confidence, not corroboration. Selected preferences/failures can then reach later host context; retained success labels do not enter that particular builder. This establishes an implemented conjecture-to-guidance route, not factual acceptance or improved future capacity (MEM-OBJ-self-model, EPI-RTE-self-model-update).

Narrative and epochs must remain separate. Narrative has a startup arc reader but unresolved initial admission. Epoch synthesis copies/groups episode decisions into an appended record read by a CLI; it does not establish narrative generation or startup epoch consumption (MEM-OBJ-agent-narrative, MEM-OBJ-epochs, MEM-RTE-epoch-synthesis).

Offline extraction can transform assistant/history signals into staging, inbox notes, a registry and published graph files. One inspected chain reduces a signal to an 80-character title before registry admission. Daily promotion separately offers software-selected durable bullet append when apply is enabled; the shipped pipeline requests suggestions without apply. Applied bullets omit the report's source/score explanation. Neither publication thresholds nor lexical lesson scores warrant truth (MEM-RTE-trace-research, MEM-RTE-daily-promotion, EPI-RTE-memory-promotions).

Hybrid retrieval copies Markdown chunks, sparse features and optional dense vectors into an index, then reloads and ranks them for CLI/probe/benchmark consumers. This is genuine later consumption even though the selector writes no new output. It does not establish automatic delivery to the native model. Ranking and path/overlap retrieval hits add no factual warrant. Likewise, post-write note validation checks required fields after retention, not body truth or rollback (MEM-OBJ-hybrid-index, MEM-RTE-hybrid-retrieval, EPI-RTE-retrieval-ranking, EPI-RTE-note-validation).

Withdrawal remains consumer-specific. Resolution marks need not exclude notes from collection; file archival need not suppress registry regeneration or existing index copies. Similarity-based consolidation chooses winners by time/confidence rather than contradiction, and its inspected supersedes mutation lacks a registry save. The brain-expansion archive invocation also mismatches the helper's accepted arguments. These findings prevent reliable universal-revocation or scheduled-archival claims without negating the implemented local operations (MEM-RTE-memory-maintenance, EPI-RTE-consolidation-policy).

Evaluation, adaptation and what would change the assessment

Cross-CLI learning captures asserted outcomes, retrieves advisory summaries and computes metrics from retained events. Its chronological baseline/treatment halves support arithmetic on labels, not an identified advisory effect. Promotion checks metrics, evidence-file presence, approver strings and provenance before writing enforce-mode state. Advisory retrieval instead gates on environment mode; a downstream consumer enforcing the promotion state is not established. These are distinct state-admission and retrieval mechanisms, not demonstrated learning activation (MEM-RTE-learning-hints, EPI-RTE-learning-metrics, RT-RTE-learning-promotion).

The idle experiment driver provides an improvement-directed pathway into LACP's own TUI source. After enablement or explicit start, it obtains a health baseline, delegates edits, compares the new score and selects keep/discard. The strongest supported result is this implemented proposal/selection organization, with retained source and a possible later import consumer—not exercised improvement. Failed metrics yield zero, delegated exit status is ignored before selection, prompt edit restrictions are not capability restrictions, and checkout does not reverse committed changes (RT-RTE-idle-experiment, RT-BAP-autoresearch-code).

The properties remain independent at that pathway's boundary:

  • Theory-builder conditions 1 and 2: wired. A localized program states the method and constraints; the driver reads it and applies the score criterion. Model compliance is unobserved.
  • Conditions 3 and 4: uninspected. Scalar rejection does not establish content-directed criticism with blame assignment, nor that retained criticism shapes another round.
  • Learning from criticism of a consumed theory: uninspected. Neither proxy scores nor recurrence establish improved capacity for future action.
  • Reflection: limited implemented self-representation through source-sensitive health metrics that can guide source edits; accuracy and activation are unobserved.
  • Autonomy: computational proposal/selection progression is implemented after enablement, but an autonomous theory builder is uninspected because the criticism and iteration operations are unresolved.
  • Self-improvement: afforded as improvement-directed self-change. Score selection is wired; actual edits and later source activation are afforded; subsequent operation causally depending on a retained change is uninspected. Successful improvement is separately unestablished.

These statuses come from RT-RTE-idle-experiment, not a system-wide grade. The inspected epistemic routes also do not establish accepted ampliative knowledge followed by lifecycle integration; unassessed routes prevent turning that non-establishment into a whole-system absence (epistemic conclusion).

For a launch-control scenario, assessment would change with closure and tests of the bypass/direct-fallback and review-branch cases, plus an explicit deployed runner/host contract. For recovery-memory use, traces linking capture, selected delivery and subsequent behavior would establish activation; source-grounded checks of retained assertions and withdrawal across registry/files/indexes would support stronger reliance. For improvement, the missing evidence is an update-to-live-use trace and outcome comparison against an independently specified objective. Identifying advisory or component benefit further requires exposure and comparison that control task/time differences, rather than chronological label uplift alone. None of these experiments was performed in this run (RT-RTE-sandbox-launch, MEM-RTE-session-memory, MEM-RTE-memory-maintenance, RT-RTE-idle-experiment, EPI-RTE-learning-metrics).

Limitations

Limitation Affected SRC IDs and record citations Inspected boundary Conclusion prevented Evidence that would resolve it
Static source does not establish operation, delivery-induced behavior or benefit. External internals/private deployment state were not supplied. SRC-1; boundary, RT-RTE-native-turn, RT-RTE-host-hook, RT-RTE-idle-experiment Frozen repository; no target commands, tests, providers or services executed. End-to-end reliability, actual memory quality, exact deployed model weights, exercised self-improvement and causal benefit. Registered execution evidence with installed configuration, retained inputs, selected outputs, later consumers and appropriately bounded comparisons.
Available ingestion, mirrors, research synthesis/promotion, generated MCP memory, review/gap generation, quarantine/threshold maintenance and additional evaluators remain incompletely assessed. This carries the report verifier's limit. SRC-1; MEM-RTE-trace-research, MEM-RTE-memory-maintenance, MEM-RTE-vault-access, epistemic coverage, report verification limits Selectively traced shipped routes within whole-system inclusion; available alternatives are not inaccessible or absent. Exhaustive cross-store consistency, all-route admission/lineage comparisons, complete memory-value inventories and system-complete negatives about semantic acceptance, knowledge production or theory criticism. Accepted records tracing each material alternative's producer, transformation, admission and later consumer, including evaluator criteria and force.
The partial lineage profile omits a positive finding for native tool-result import while preserving unknown original derivation. This carries the profile verifier's limit. SRC-1; RT-RTE-native-turn, epistemic assessment, profile verification limits Executor results enter provider messages; upstream payload derivation varies and remains unresolved. Complete route-level lineage comparisons for native tool results; unknown derivation cannot be read as absent import. A profile revision classifying the recorded import step separately from upstream derivation, using accepted records.
Several known stores have unresolved admission or later-use links. SRC-1; MEM-OBJ-agent-narrative, MEM-RTE-epoch-synthesis, MEM-RTE-trace-research, MEM-RTE-learning-hints, RT-RTE-learning-promotion Narrative replacement/startup arc, epoch CLI display, extraction code, advisory query and promotion-state writer. Automatic narrative authorship, startup epoch use, installed extraction activation, automatic foreground hint injection or downstream enforce-mode activation. Accepted producer/installation/consumer records or registered traces closing each particular link; a neighboring route cannot substitute.

No frozen-source files were read for synthesis. This account uses the supplied accepted members and carries both verification limits; it adds no evidence or record declarations.