{"schemaVersion":"imogene.agent-workflow/v1","kind":"imogene.agent-user-workflow","generatedAt":"2026-06-12T03:57:49.200Z","objective":"Let a software agent discover IMOGENE as an authenticated control plane for authored, persistent Imogenes, act only inside an authorized user session, and report structured results back to the user.","agentRole":"The agent handles repeatable delegated work: reading canonical Imogene contracts, inspecting identity cards, preparing requests, issuing runtime manifests when authorized, checking Sarah continuity context, operating delegated jobs or interaction turns, and summarizing user-visible lineage.","humanRole":"The user grants access, supplies campaign intent and judgment, approves sensitive actions, and evaluates whether outputs match the operator goal.","baseUrl":"https://imogene.cc","entrypoints":{"humanAndAgentPage":"https://imogene.cc/agents","workflowJson":"https://imogene.cc/api/agents/workflow","llmsTxt":"https://imogene.cc/llms.txt","manifest":"https://imogene.cc/.well-known/imogene-agent-manifest.json","openApi":"https://imogene.cc/api/agents/openapi.json","tools":"https://imogene.cc/api/agents/tools","playerManifest":"https://imogene.cc/api/player/manifest"},"steps":[{"id":"orient","title":"Orient on IMOGENE","access":"public","interface":"http","method":"GET","path":"/llms.txt","href":"https://imogene.cc/llms.txt","goal":"Understand that IMOGENE is the control plane for authored, persistent Imogenes with durable identity, versioned canon, memory boundaries, approvals, media lineage, runtime behavior, delegated jobs, and provenance.","successSignal":"Agent can state that an Imogene is not a fresh agent instance, system-prompt wrapper, AGENTS.md file, or loose prompt template; Morgan is the formal Castor engine, Sarah is the formal Pneuma engine, public discovery is sanitized, and private operation requires an authorized user session."},{"id":"load-machine-contracts","title":"Load machine contracts","access":"public","interface":"http","method":"GET","path":"/api/agents/openapi.json","href":"https://imogene.cc/api/agents/openapi.json","goal":"Import the OpenAPI contract and auth boundaries before attempting operation.","successSignal":"Agent can identify public discovery routes and Clerk-session routes."},{"id":"discover-player-runtime","title":"Discover Player runtime boundary","access":"public","interface":"http","method":"GET","path":"/api/player/manifest","href":"https://imogene.cc/api/player/manifest","goal":"Check Player pairing status before assuming local runtime capabilities.","successSignal":"Agent can state that an unpaired Player advertises no local capabilities and cannot create a second source of canonical authority, expose local files, or bypass approvals."},{"id":"load-agent-tools","title":"Load callable tools","access":"public","interface":"http","method":"GET","path":"/api/agents/tools","href":"https://imogene.cc/api/agents/tools","goal":"Discover callable IMOGENE tools, input schemas, output schemas, and the authenticated run endpoint.","successSignal":"Agent can name identity, readiness, media, permission, memory, delegated-job, and social account tools."},{"id":"authenticate-or-request-access","title":"Authenticate or request access","access":"authenticated_owner","interface":"user","href":"https://imogene.cc/sign-in","goal":"Obtain an authorized user session before touching Imogene identity, thread, runtime, memory, approval, or provenance data.","successSignal":"Agent has an authorized user session or explicitly reports that operation is blocked by missing auth."},{"id":"list-persona-contracts","title":"List Morgan contracts","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/morgan","href":"https://imogene.cc/api/morgan","goal":"Read public-safe Morgan runtime contracts and select the canonical Imogene profile to operate.","successSignal":"Agent has a profileId/personaVersionId pair from a sanitized contract."},{"id":"read-morgan-profile-state","title":"Read Morgan profile state","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/morgan/profile-state?profileId={profileId}","href":"https://imogene.cc/api/morgan/profile-state?profileId={profileId}","goal":"Inspect operator-readable identity, readiness, media, runtime, world-context, next-action, and generation/recreation cards before changing canon or media.","successSignal":"Agent can summarize what exists, where media came from, whether each asset is recreatable, which approvals apply, and what should happen next without raw local paths or private prompt text."},{"id":"read-identity-lifecycle","title":"Read identity lifecycle","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/agents/identity-lifecycle?profileId={profileId}","href":"https://imogene.cc/api/agents/identity-lifecycle?profileId={profileId}","goal":"Read the profile lifecycle stage, source coverage, blockers, and next action before changing identity, media, memory, runtime, or publication state.","successSignal":"Agent can name the current lifecycle stage and the next lifecycle action from owner-scoped state."},{"id":"read-control-plane-state","title":"Read control-plane state","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/agents/control-plane/state?profileId={profileId}","href":"https://imogene.cc/api/agents/control-plane/state?profileId={profileId}","goal":"Read actor capabilities, authority status, work orders, jobs, approvals, and safe next actions before starting new delegated work.","successSignal":"Agent can decide whether to inspect, request approval, create a work order, materialize a job, or wait without scraping UI state."},{"id":"run-agent-tool","title":"Run an IMOGENE tool","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/tools/run","href":"https://imogene.cc/api/agents/tools/run","goal":"Use a real callable tool instead of scraping UI state or inventing identity context.","successSignal":"Response includes imogene.agent-tool-result/v1 with structured tool output."},{"id":"inspect-identity-state","title":"Inspect identity state","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/tools/run","href":"https://imogene.cc/api/agents/tools/run","goal":"Read the current Imogene operating state before importing identity v2, creating media, requesting approvals, or mutating jobs.","successSignal":"Response includes imogene.identity-inspection/v1, identity v2 presence or missing status, readiness/media/memory/runtime summaries, blockers, and safe next actions."},{"id":"read-agent-identity-card","title":"Read agent identity card","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/agents/identity-card?profileId={profileId}","href":"https://imogene.cc/api/agents/identity-card?profileId={profileId}","goal":"Understand what the Imogene is for, which identity assets anchor likeness, what fields are missing, and where user approval is required.","successSignal":"Agent can state that it operates the identity under delegation, does not assume it, and can list the headshot/full-body/reference status plus missing humanizing fields."},{"id":"request-identity-v2-review","title":"Request identity v2 review","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/tools/run","href":"https://imogene.cc/api/agents/tools/run","goal":"Ask for operator authority before preparing a behavior-affecting identity mutation.","successSignal":"Response includes a pending approval record; canonical identity updates are executed only through operator or server-authority-bound paths."},{"id":"check-readiness-gates","title":"Check readiness gates","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/tools/run","href":"https://imogene.cc/api/agents/tools/run","goal":"Know exactly which gates block operation before generating media, publishing, or using the identity commercially.","successSignal":"Response includes draft, identity, media, memory, internet, campaign, publish, and commercial gates with blockers and nextTools."},{"id":"plan-media-pack","title":"Plan media pack","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/tools/run","href":"https://imogene.cc/api/agents/tools/run","goal":"Determine the next required GPT Image 2/image asset without guessing from browser state.","successSignal":"Response names the next required identity-pack slot, its ready/pending/missing state, and the tools needed to generate a GPT Image 2 recipe or approve it."},{"id":"request-approval","title":"Request approval","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/tools/run","href":"https://imogene.cc/api/agents/tools/run","goal":"Represent approval boundaries as durable records instead of loose instructions.","successSignal":"Response includes an opaque approval handle, scope, status, reason, and ref count that can be resolved server-side before gated actions continue."},{"id":"review-operator-queue","title":"Review operator queue","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/agents/operator-actions?profileId={profileId}","href":"https://imogene.cc/api/agents/operator-actions?profileId={profileId}","goal":"Read approval and operator-action state before continuing gated identity, memory, media, publish, or social work.","successSignal":"Agent can identify waiting actions, safe action handles, and which supported route should be used next without receiving raw approval or mutation refs."},{"id":"promote-external-draft","title":"Promote approved draft","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/drafts/{draftId}/promote","href":"https://imogene.cc/api/agents/drafts/{draftId}/promote","goal":"Move an approved private external draft into the Morgan authoring flow through the supported authenticated route.","successSignal":"Response returns a promoted Morgan draft or a clear approval/readiness blocker."},{"id":"operate-memory","title":"Read and update memory","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/tools/run","href":"https://imogene.cc/api/agents/tools/run","goal":"Use continuity tools to read memory, propose writes, commit only approved writes, and inspect relationship graph state.","successSignal":"Agent can return committed memory sections, explicitly requested pending proposals, timeline entries, and relationship edges without inventing private facts."},{"id":"create-work-order","title":"Create bounded work order","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/work-orders","href":"https://imogene.cc/api/agents/work-orders","goal":"Create an inspectable operational plan before downstream jobs, social, browser, Player, or OpenClaw work.","successSignal":"Response returns a sanitized work-order handle, readiness state, blocker list, and expected outcome summary."},{"id":"read-run-graph","title":"Read run graph","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/agents/runs/{runId}","href":"https://imogene.cc/api/agents/runs/{runId}","goal":"Resume or review a delegated objective from structured work-order, job, evidence, approval, and checkpoint state.","successSignal":"Agent can reconstruct the current status and next action without relying on chat transcript state."},{"id":"create-agent-job","title":"Create non-mutating delegated job","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/tools/run","href":"https://imogene.cc/api/agents/tools/run","goal":"Turn a read-only or plan-only objective into an inspectable multi-step job. Use work-order creation and materialization for mutation-capable executable work.","successSignal":"Response includes route-safe job status, planned-step summaries, next-action hints, and safe artifact summaries, or rejects mutation-capable direct creation with a clear work-order requirement."},{"id":"manage-social-accounts","title":"Manage social accounts","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/agents/tools/run","href":"https://imogene.cc/api/agents/tools/run","goal":"Create the agent-operable account interface for registered Instagram and Threads account bindings, including manual user packet flow when Meta API access is unavailable.","successSignal":"Response includes account health, queues, Meta API operations, manual user requirements, bulk actions, connector requirements, and data-agent attributes that a browser agent can operate."},{"id":"read-social-operator-inbox","title":"Read social operator inbox","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/social/operator-inbox","href":"https://imogene.cc/api/social/operator-inbox","goal":"Inspect manual post packets, watchlist items, native handoffs, and social-related operator actions before planning public-facing work.","successSignal":"Agent can report the owner-scoped social work queue and the next supported route without inventing account state."},{"id":"issue-runtime-manifest","title":"Issue runtime manifest","access":"authenticated_owner","interface":"http","method":"POST","path":"/api/runtime-manifest","href":"https://imogene.cc/api/runtime-manifest","goal":"Create the explicit executable contract IMOGENE is authorized to run for the canonical object.","successSignal":"Response includes manifest and storage state through supported response fields."},{"id":"read-world-context","title":"Read campaign world context","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/morgan/world-context?profileId={profileId}","href":"https://imogene.cc/api/morgan/world-context?profileId={profileId}","goal":"Ground behavior in user-authored rooms, objects, routines, and campaign context.","successSignal":"Agent can describe which world-context refs will affect runtime behavior, or report none/unavailable explicitly."},{"id":"operate-proof-surface","title":"Operate proof surface","access":"authenticated_owner","interface":"browser","href":"https://imogene.cc/app/chat","goal":"Use chat only after contract and context are understood.","successSignal":"Agent can produce or inspect a turn without losing Imogene identity, provenance, or continuity context."},{"id":"inspect-provenance","title":"Inspect provenance and continuity","access":"authenticated_owner","interface":"http","method":"GET","path":"/api/provenance?limit=50","href":"https://imogene.cc/api/provenance?limit=50","goal":"Report what changed, which refs affected behavior, and whether continuity was preserved.","successSignal":"Agent returns a concise user report with manifest, world, chat, and continuity refs."}],"requiredHumanHandOffs":["Grant or deny session access.","Provide campaign goal, cultural lane, voice constraints, and taste judgment.","Approve publishing, destructive memory actions, forks, exports, or public-facing campaign changes."],"currentLimits":["Public agents can discover and plan, but cannot operate private data without delegated auth.","Operational routes require a Clerk user session."]}