{
  "schema_version": "2026-04-14",
  "product": "ORI",
  "public_api": {
    "chat": true,
    "email_send": true,
    "streaming": true,
    "model_listing": true,
    "first_party_app_registration": true,
    "agent_safe_bootstrap": true,
    "hosted_mcp": true,
    "surface_context": true,
    "working_style_selection": true,
    "scope_enforcement": true,
    "tenant_scoped_spaces": true,
    "mcp_memory_read_write": true,
    "mcp_key_introspection": true,
    "mcp_health_check": true,
    "mcp_spaces_management": true,
    "vision_analysis": true,
    "mcp_pocketbase_direct": true,
    "sass_factor_control": true,
    "agent_routing": true,
    "graduated_autonomy": true,
    "custom_agents": true,
    "agent_delegation": true,
    "skill_catalog_listing": true,
    "chat_ori_skills_field": true,
    "user_skill_preferences_api": true,
    "user_custom_skills_api": true,
    "learning_substrate": true,
    "quest_scaffold": true,
    "behavioral_reinforcement": true,
    "ambient_continuity": true,
    "ambient_intent": true,
    "ambient_policy": true,
    "ambient_action_route": true
  },
  "guarantees": [
    "ORI is the public API entrypoint.",
    "Plain chat is Oracle-first by default.",
    "If no profile is supplied, ORI stays on her default baseline for the chosen surface.",
    "Surface changes behavior and vocabulary, not core identity.",
    "Developer manifests (llms.txt, agent.json, OpenAPI, tools) are served from dev.thynaptic.com; authenticated API traffic uses glm.thynaptic.com/v1.",
    "One ORI runtime key (ori.*) works for every integration and client; scopes and headers (for example X-Ori-Context) select behavior — not separate keys per surface.",
    "Protected runtime routes enforce scopes.",
    "ORI Home Spaces are tenant-scoped."
  ],
  "non_guarantees": [
    "Oracle is not a public endpoint.",
    "Internal-only lanes are not selectable through the public API.",
    "Invalid surface values are not guaranteed to error; they may be ignored.",
    "Invalid profile values are not guaranteed to error; they may be ignored.",
    "Legacy unowned Spaces are not auto-adopted by the first tenant that lists Spaces."
  ],
  "public_surfaces": [
    "studio",
    "home",
    "dev",
    "red",
    "learn"
  ],
  "public_models": [
    "oricli-oracle"
  ],
  "intended_public_default": {
    "model": "oricli-oracle",
    "profile": null
  },
  "notes": [
    "Use a working style only when a specific lane is needed.",
    "A valid key without the required scope returns 403.",
    "ORI Home app registration returns chat, email, model, spaces, and workspaces scopes.",
    "Agent-safe bootstrap keys use the agb.* format and can only mint approved first-party app keys through POST /agent/register.",
    "Native runtime email sending is available at POST /email/send.",
    "Notion formula assistance is available through ORI Studio and ORI MCP.",
    "Hosted ORI MCP is available at https://glm.thynaptic.com/v1/mcp.",
    "The current public runtime MCP tool pack includes get_key_info, check_health, get_capabilities, list_surfaces, list_working_styles, and get_request_template.",
    "get_key_info and check_health are available to any authenticated key with no additional scope.",
    "API keys generated via the admin endpoint now persist across backbone restarts.",
    "MCP tools pb_* provide direct PocketBase record and collection management.",
    "Sass Factor system (default 0.65) now drives personality wit and pushback across all surfaces.",
    "POST /capabilities/agent routes through intent-aware agent classification. Query complexity determines model tier (fast/default/heavy), autonomy level (observe/suggest/execute/commit), and effort. The response includes is_delegated and pr_link when the task is handed off as a background job.",
    "POST /capabilities/research always runs at observe autonomy (read-only, no file mutations) with high reasoning effort. Suitable for safe, side-effect-free research calls from external integrations.",
    "Graduated autonomy levels: Level0 (read-only), Level1 (draft/plan only), Level2 (write + run, no git), Level3 (full autopilot including git commit). External /capabilities/agent calls start at Level2 minimum.",
    "Custom specialist agents (architect, security, test, debug, docs) are selected automatically based on query intent signals.",
    "GET /v1/modules lists builtin .ori skills publicly (no API key).",
    "Chat requests may include ori_skills (enabled ids, custom bodies) and/or headers X-Ori-Skill, X-Ori-Skills-Persisted, X-Ori-Skills-Scope for one-shot merge of saved PocketBase skill rows.",
    "GET/PUT /v1/user/ori-skills/prefs and GET/PUT/DELETE /v1/user/ori-skills/custom/* persist tenant skill state (runtime:chat).",
    "POST /v1/learning/mastery/compile exposes the app-neutral MaterialToMasteryCompiler for supplied user-owned material; clients still own capture, OCR, storage, scheduling, notifications, consent, and persistence.",
    "POST /v1/quest/scaffold exposes the app-neutral Quest Scaffold primitive: vague improvement goal -> role identity, first action, milestones, rhythm, workspace, progress model, review schedule, memory seeds, and Memory/Chronos/GoalDaemon/PAD integration hints. Clients still own persistence, reminders, social accountability, and confirmed goal registration.",
    "POST /v1/behavior/create, /v1/behavior/event, and /v1/behavior/state expose the app-neutral Behavioral Reinforcement Substrate: behavior object model, surface-specific symbolic feedback, completion/miss/defer state updates, recovery suggestions, stability scoring, friction pattern hints, and Memory/Chronos/GoalDaemon/PAD/CALI integration hints. Clients still own durable storage, reminders, widgets, sync, shared rooms, permissions, and reinforcement intensity.",
    "POST /v1/context/momentum exposes the app-neutral Context-to-Momentum Engine: messy notes/tasks/links/project fragments -> actionability buckets, future-self packets, next 5-minute and 30-minute moves, a preserved stepping stone, memory seeds, and Memory/Chronos/GoalDaemon integration hints. Clients still own capture, storage, file movement, task creation, reminders, and confirmed archive/write actions.",
    "POST /v1/procedure/compile exposes the app-neutral Procedure Compiler: observed workflow/transcript/notes/tools/inputs/outputs -> SOP, checklist, skill candidate, automation readiness, SCL TierSkills seed, and GoalDAG/Chronos/Forge integration hints. Clients still own durable writes, skill registration, automation execution, permissions, approval gates, and external system changes.",
    "POST /v1/workflow/grammar/compile exposes the app-neutral Workflow Grammar Compiler: natural-language workflow intent/triggers/conditions/actions/tools/approvals/constraints/exceptions -> trigger-action graph, variables, approval gates, failure modes, dry-run plan, readiness score, and Procedure/WorkGraph/Temporal/Forge/Memory integration hints. Clients still own durable workflow registration, external writes, schedules, notifications, execution, credentials, permissions, and approval UX.",
    "POST /v1/actions/plan exposes the app-neutral Sovereign Action Gateway planner: intent/action hints/available providers/scopes/approval policy/risk tolerance/memory policy -> ranked action candidates, recommended provider route, approval gate, policy labels, audit plan, dry-run instructions, memory plan, and WorkflowGrammar/WorkGraph/CALI/SCL/Chronos/Red integration hints. It does not execute external actions; clients own credentials, real execution, approval UX, durable action logs, notifications, schedules, and external mutations.",
    "POST /v1/conversation/harvest exposes the app-neutral Conversational Context Harvester: meeting/chat transcript turns -> decisions, commitments, unresolved threads, follow-up packets, memory seeds, and Memory/Chronos/GoalDAG/Procedure integration hints. Clients still own note storage, memory writes, task creation, reminders, CRM/calendar updates, and confirmed persistence.",
    "POST /v1/temporal/coordinate exposes the app-neutral Temporal Coordination Engine: tasks/available attention windows/fixed events/energy/dependencies/preferences -> now-next-later buckets, schedule proposals, conflicts, memory seeds, and Chronos/GoalDAG/Memory automation hints. Clients still own calendar writes, task mutations, reminders, notifications, conflict resolution, and confirmed commitment moves.",
    "POST /v1/ambient/continuity/compile exposes the app-neutral Ambient Continuity Ledger compiler: active goal/project/recent events/work items/temporal commitments/previous ledger -> compact cross-surface ledger, paused work, open loops, commitments, recent events, cooldown hints, suggestion_context for /ambient/intent/suggest, and AmbientIntent/Continuity/IntentTimeline/WorkGraph/Temporal/Memory hints. Clients still own capture, storage, durable ledgers, sync, reminders, notifications, consent policy, and all external mutations.",
    "POST /v1/ambient/intent/suggest exposes the app-neutral Ambient Intent layer: recent events/continuity context/WorkGraph snippets/temporal commitments/user tempo/interruption budget -> ranked micro-suggestions, reasons, confidence, interruption cost, suggested copy, confirmation-gated actions, and Continuity/Intent/WorkGraph/Temporal/Execution/Behavior hints. Clients still own capture, storage, durable ledgers, reminders, notifications, UI, external execution, and consent policy.",
    "POST /v1/ambient/policy/evaluate exposes the app-neutral Ambient Suggestion Policy gate: Ambient Intent suggestions/cooldown hints/recent policy decisions/user tempo/preferences -> visible, delayed, and suppressed suggestions with reasons, policy scores, next-review hints, and AmbientIntent/Continuity/Execution/Behavior/Memory hints. Clients still own rendering, notifications, preference storage, durable cooldown state, and all external actions.",
    "POST /v1/ambient/action/route exposes the app-neutral Accepted Ambient Suggestion Handoff: accepted suggestion/policy/continuity/user state -> downstream primitive route, endpoint, request payload draft, confirmation requirement, risk notes, cooldown and memory update hints, and AmbientPolicy/Continuity/Execution/Temporal/Behavior/WorkGraph/Memory hints. It does not execute drafted calls, persist state, notify users, or mutate external systems; clients own confirmation UX, durable outcome state, and real actions.",
    "POST /v1/anticipation/prepare exposes the app-neutral Ambient Anticipation layer: upcoming situations/intent/participants/context signals/preferences/recent outcomes -> readiness scoring, prep packets, missing context, suggested tone, safe next moves, memory seeds, and Memory/Chronos/Conversation/Temporal integration hints. Clients still own email, calendar, CRM, memory, notification, task writes, and confirmed durable or external actions.",
    "POST /v1/codebase/task/plan exposes the app-neutral Codebase-Resident Task Agent planner: developer intent/repo area/file and symbol signals/constraints/known risks/test commands -> scoped work packets, file ownership proposals, risk flags, verification steps, delegation hints, memory seeds, and Procedure/Temporal/Memory/Forge integration hints. Agent runtimes still own actual reads, edits, tests, commits, deployment, permissions, and protection of unrelated user changes.",
    "POST /v1/continuity/recover exposes the app-neutral Continuity Recovery Engine: previous sessions/artifacts/decisions/commitments/open loops/intent/project context -> recovered thread, context packets, decision and commitment logs, open-loop state, suggested continuation, memory seeds, and Memory/Chronos/Conversation/Temporal/Procedure hints. Clients still own durable memory writes, project snapshots, document/task updates, timelines, notifications, and source-of-truth storage.",
    "POST /v1/execution/orchestrate exposes the app-neutral Intent-First Execution Orchestrator: goal/intent/task state/blockers/dependencies/energy/available time/recent signals -> momentum score, next-best move, next options, blocked-because reasoning, dependency edges, memory seeds, and Continuity/Temporal/Procedure/Memory hints. Clients still own issue/task mutations, project board writes, scheduling, assignment, notifications, and external execution.",
    "POST /v1/workgraph/compile exposes WorkGraph v0: messy operator context/notes/conversations/work items -> typed work-state objects including jobs, tasks, decisions, owners, deadlines, blockers, approvals, notes, follow-ups, and metrics, plus graph edges, operator pulse, memory seeds, and Continuity/Execution/Conversation/Temporal/Procedure hints. Clients still own durable graph storage, workspace UI, dashboards, permissions, notifications, task/document writes, and external mutations.",
    "POST /v1/workgraph/answer exposes Ambient Answers over supplied WorkGraph state: questions like what is stuck, what was promised, what needs approval, who owns this, and what to handle first -> findings, recommended moves, confidence, and Execution/Continuity/Memory hints. Answers use supplied graph state only and do not mutate workspaces.",
    "POST /v1/contextual-action/plan exposes the Contextual Action Fabric: entity/objective/surface context/available tools/evidence/signals/constraints -> entity profile, evidence acquisition plan, fit-confidence score, governed action recommendations, reusable Skill Function candidate, memory seeds, and WorkGraph/Execution/Procedure/Memory/Temporal hints. Clients still own provider calls, paid enrichment, CRM updates, outreach, budgets, audit logs, and approvals.",
    "POST /v1/signals/opportunities exposes the Signal Opportunity layer: entity-bound signals/context/objective/timing windows -> ranked opportunities, handle-first recommendation, watchlist candidates, memory seeds, and Contextual Action/Temporal/WorkGraph hints. Clients still own durable watches, alerts, notifications, external monitoring, and execution approval.",
    "POST /v1/intent/timeline exposes the Intent Timeline: work events/artifacts/decisions/constraints/outcomes/open loops -> preserved intent moments, detected intent shifts, rationale trails, current-intent state, continuity packets, memory seeds, and Continuity/WorkGraph/Procedure/Memory/Temporal hints. Clients still own durable memory, task/document updates, artifact writes, timelines, and source-of-truth storage.",
    "POST /v1/procedural/crystallize exposes the Procedural Crystallizer: repeated workflow runs/triggers/steps/tools/pain points/inputs/outputs/outcome signals -> pattern readiness, candidate procedure, skill candidate, automation readiness, next-observation plan, memory seeds, and Procedure/Skills/WorkGraph/Memory/Temporal/Forge hints. Clients still own durable writes, skill registration, automation execution, schedules, notifications, approvals, and external mutations.",
    "POST /v1/memory/semantic/graph exposes the Semantic Memory Graph: loose captures/notes/existing node hints/tags/people/objects/source handles/retrieval questions -> ontology-free nodes, edges, soft clusters, recoverability scoring, retrieval moves, progressive-structure guidance, memory seeds, and Memory/WorkGraph/Continuity/Intent/Procedure hints. Clients still own durable memory persistence, source storage, permissions, deletion policy, artifact/task updates, and external mutations.",
    "POST /v1/resources/commitment/reason exposes the Commitment-Aware Resource Reasoner: scarce resource pools/proposed actions/explicit commitments/hidden-obligation context/decision questions/drift events -> resource reality, protected commitments, affected commitments, tradeoff options, least-disruptive repair, non-shaming permission language, memory seeds, and Memory/Chronos/WorkGraph/Temporal/Intent/Behavior hints. Clients still own durable records, payment/bank/account sync, approvals, scheduling, notifications, and regulated financial/legal/tax/debt/investment decisions."
  ]
}
