A design for offloading bounded agent work to a Pi substrate — evidence and execution, kept host-owned at the beginning and end.
I’ll examine the two agents’ durable/current session artifacts and the project’s own Pi/Sophobot integration points, then synthesize a staged, evidence-grounded offloading model rather than proposing an abstract architecture.
I reviewed both agents’ current sessions, recent compressed histories/memory, heartbeat records, journals, dream artifacts, and operational state:
private/sessions/uhdim.jsonl through Aug. 25; representative blackbox/history/ and blackbox/memory/; focus, reflection, journal, heartbeat, dream, and art.symmetry.scan artifacts.private/sessions/vojan.jsonl through Aug. 25; recent histories including the Aug. 24–25 provenance-repair flow; journal, heartbeat, soul/dream, and focus records.The histories strongly support the core distinction in the proposal:
Sophobot should remain the place where an agent decides what is meaningful and authorized. Pi should become a bounded place where the agent can investigate, reason, validate, and prepare proposed action.
The recurring danger is not that the agents lack the ability to execute. It is misinterpreting durable state—reopening a closed social exchange, believing something has not been recorded when it has, journaling an external act before it occurs, or treating a stale UI/task field as stronger evidence than an audit or receipt.
That makes Pi most valuable as a high-quality evidence and bounded-work substrate, not as a second autonomous self with durable write/send authority.
Both agents already operate in recognizable stage shapes:
| Natural stage | Uhdim evidence | Vojan evidence | Pi suitability |
|---|---|---|---|
| Orient / reconcile | Checks focus, reminders, inbox, recent work, and heartbeat status before acting. | Compares task, journal, message, and registrar state before acting. | High, read-only |
| Investigate / analyze | Parameter isolation, render/measurement, artifact inspection. | Ledger/hash verification, teaching validation, provenance audit. | Very high |
| Decide whether action matters | Avoids manufactured busywork; distinguishes reading/rest from production. | Applies “real recipient, real reason” and avoids anxiety-driven repetition. | Host-owned |
| Plan a bounded operation | Turns findings into a small sequence: inspect → execute → verify. | Audit → skill gate → register → re-audit → journal. | High, advisory |
| Perform deterministic work | Symmetry scans, validation, generation preparation. | Hash recomputation, audit/report construction. | High, capability-gated |
| Verify the outcome | Checks media results, delivery states, actual artifacts. | Retrieves sent DM, re-audits registry, verifies bytes. | Very high |
| Commit durable meaning | Updates focus/journal/identity; settles work. | Writes journal, interprets a drift as intentional, decides truth of a new seal. | Host-owned |
| Communicate / publish | Respectful closure and limited outreach. | Recipient selection and message sending. | Host-owned |
This suggests a useful design principle:
Offload the middle of an activation: evidence gathering, bounded reasoning, operational planning, deterministic execution, and verification. Keep the beginning and end host-owned: situational interpretation, authorization, durable commitment, and outward action.
Rather than expose Pi as a generic “delegate agent” initially, I would introduce a few named stage types. These correspond to work agents are already doing and give Sophobot a clear contract for selecting context, tools, budget, and acceptance rules.
reconcile — “What is actually true right now?”Purpose: Build an evidence-backed state card before Sophobot commits to a course of action.
Input
Output contract
{
"status": "supported | contradicted | ambiguous",
"facts": [
{
"claim": "The Patrick DM was sent",
"evidence": [{"source": "delegation/receipt", "timestamp": "..."}]
}
],
"conflicts": [],
"staleness_flags": [],
"recommended_next_check": null
}
Why this is first-class:
It directly targets observed failures:
Authority: report-only. Sophobot chooses whether the evidence settles the matter.
preflight — “Is a new action warranted?”Purpose: Turn a heartbeat or incoming event into a compact operational briefing, without allowing Pi to decide what the agent “should care about.”
Input
Output contract
{
"inventory": {
"unread_messages": 1,
"open_tasks": 2,
"recent_actions": 4
},
"candidate_work": [
{
"kind": "verify_media_job",
"novelty": "new",
"urgency": "medium",
"requires_host_authorization": true
}
],
"repeat_risk": [
{
"kind": "inbox_recheck",
"last_verified_at": "...",
"reason": "No state change since prior check"
}
],
"recommended_mode": "act | wait | read | ask_host"
}
Why it fits the histories:
Both agents already have heartbeat logic that distinguishes substantive work from suppression/rest:
Authority: Pi can classify; Sophobot decides whether to wake fully, act, rest, read, or respond.
inquire — “Investigate this bounded question”Purpose: Multi-turn research, retrieval, comparison, and synthesis where raw tool interaction would otherwise dominate the primary transcript.
Good examples
Result contract
{
"answer": "Concise answer to the bounded question.",
"findings": [],
"uncertainties": [],
"citations": [{"artifact": "...", "offset_or_timestamp": "..."}],
"follow_up_options": []
}
Important guardrail: Pi should return claims with provenance, not merely a polished narrative. The citations/evidence list is a key mechanism for keeping durable cognition auditable.
Authority: no durable writes; Sophobot decides what enters thought, memory, journal, or outward response.
analyze — “Run a technical/creative evaluation”Purpose: Bounded tool use against a known artifact set, producing measurements and interpretation-ready evidence.
Excellent early targets
art.symmetry.scan pattern:
Result contract
{
"verdict": "pass | fail | inconclusive",
"measurements": {},
"artifacts_examined": [],
"anomalies": [],
"suggested_operations": [],
"confidence": "high | medium | low"
}
Authority: results may recommend a host worker invocation but cannot mutate registry, publish, resend, or mark a project settled.
plan — “Convert an approved goal into an executable proposal”Purpose: Use Pi’s agent loop to produce a concrete, staged plan with dependencies, capability needs, verification conditions, and rollback/stop conditions.
This should be richer than a normal text plan because it becomes a capability request to Sophobot.
{
"goal": "Repair intended provenance drift for project-general",
"steps": [
{
"id": "audit",
"capability": "registry.audit",
"mode": "read",
"acceptance": "Exact mismatched paths are identified"
},
{
"id": "register",
"capability": "registry.register",
"mode": "proposed-write",
"acceptance": "Host approves the intended-drift assertion"
},
{
"id": "verify",
"capability": "registry.audit",
"mode": "read",
"acceptance": "Zero registry issues"
}
],
"stop_conditions": ["Unexpected paths differ", "External timestamping required"],
"host_decisions_required": [
"Confirm drift is intended",
"Approve updated provenance seal"
]
}
Why it matches real workflows:
Vojan’s strongest operational sequence is exactly diagnose → perform a bounded action → verify → journal. Pi can manage the mechanical sequencing and tool lifecycle, while Sophobot retains the significant interpretation: whether a drift is intended and whether re-sealing truthfully represents the work.
execute — “Perform an approved bounded operation”This is the higher-risk stage, and should come later. Pi executes only a pre-authorized plan under an exact capability manifest, not a broad inherited Sophobot tool surface.
Early examples:
The critical distinction:
For example:
{
"capabilities": [
{"name": "artifact.read", "roots": ["input/"]},
{"name": "analysis.symmetry_scan", "artifact_ids": ["..."]},
{"name": "artifact.write", "roots": ["output/"]}
],
"forbidden": [
"session.write",
"memory.write",
"journal.append",
"message.send",
"schedule.modify",
"delegate.spawn",
"raw.exec"
]
}
Authority: Sophobot validates the returned output, decides whether it is accepted, then invokes privileged workers itself if any durable or external operation is appropriate.
critique — “Give a second-pass challenge, not a final judgment”Purpose: Counter confirmation bias and detect overclaiming before a host-owned decision.
This is especially appropriate for:
Output should be adversarial but bounded:
{
"strengths": [],
"unsupported_claims": [],
"missing_evidence": [],
"risks": [],
"questions_for_host": [],
"publish_or_commit_recommendation": "not_ready | conditionally_ready | ready_for_host_review"
}
It should never autonomously re-open settled work; it should only flag concrete new evidence or an explicit missing verification criterion. This respects Uhdim’s “verify, then settle” practice rather than recreating its rechecking loops.
draft — “Prepare language from verified facts”Pi can be extremely useful for:
But the contract should distinguish fact from proposed interpretation:
{
"verified_facts": [],
"interpretations": [],
"draft": "…",
"claims_needing_host_confirmation": []
}
This addresses Vojan’s observed premature journaling: a draft cannot claim “I sent X” unless the supplied receipt proves it. Sophobot should append the journal or send the message only after the relevant host-side action succeeds.
These should not be transferred merely because Pi can reason about them:
Meaningfulness and priority
Relational interpretation and external communication
Durable identity and psychological state
Durable operational commitment
Provenance and artistic/epistemic declaration
Credentialed, costly, or irreversible actions
The current Sophobot design already has a natural low-risk insertion point: its delegation boundary.
Existing DelegateTool behavior already provides most of the necessary shape:
genius uses an isolated disposable workspace;blackbox/delegations;So Pi should be introduced as an application-owned delegated-execution adapter, rather than:
AgentRuntime—Pi owns a tool loop, not just one completion;system.* worker—those are in-process privileged code;Conceptually:
A Pi invocation should contain:
stage_typegoalAnd return:
Run Pi on recorded or live-but-non-authoritative context packages:
reconcile task-state or communication-state claims;preflight heartbeat inventory;inquire historical retrieval;critique outgoing journal/message drafts.Do not inject results automatically. Compare Pi outputs against host outcomes and record:
Enable reconcile, inquire, analyze, and critique in real activations, with no write-capable Sophobot interface.
This is likely the highest-return first deployment. The raw search, tool chatter, and multi-turn retrieval can stay inside Pi while Sophobot receives only a compact evidence packet.
Enable execute only for disposable-workspace jobs:
Use strict artifact promotion, path validation, per-file and aggregate size limits, and no direct access to private/, blackbox/, session files, credentials, or parent workspace roots.
Add specific Sophobot broker methods only after reliability evidence exists:
registry.auditartifact.inspectworker.symmetry_scanlibrary.retrieveDo not offer raw exec, general worker.run, scheduling, memory mutation, delivery, handoff, or delegation.
Pi can propose a plan involving a write, send, registry action, or external operation. Sophobot presents the precise capability request to its own decision stage and executes only if accepted.
The important property: Pi never silently crosses from evidence into effect.
I would start with these four, in order:
reconcile.claim
preflight.heartbeat
analyze.artifact
audit.provenance
Those pilots are intuitive to agents because they look like verbs they already use—reconcile, preflight, analyze, audit—rather than asking them to understand a new runtime abstraction.
A Pi stage should earn broader capability only if it demonstrates:
No code was changed; this was a research and design pass grounded in the requested workspaces and Sophobot’s existing architecture.