{
  "slug": "dud3-p0",
  "name": "DUD3P0",
  "kicker": "Research / Reasoning",
  "family": "Everplay-Tech",
  "tagline": "A BYOK research draiyod that thinks out loud and prints receipts.",
  "summary": "DUD3P0 (\"P0\") is a bring-your-own-key chatbot, research tool, and cognitive amplifier for iPhone. You point it at something hard — a question to research, a system to design, a problem to think through — and it reasons out loud, labels its uncertainty, cites what it leans on, and writes real code at length. Every claim ships with an auditable receipt. When it cannot answer, it says so plainly instead of inventing one.",
  "oneLiner": "Bring your own key. Get back reasoning you can audit.",
  "twoFaces": "This page is the human face. The same content is published as canonical JSON at /content/dud3-p0.json — hand that URL to your own LLM or MCP client (HELM ships it by default) and it can onboard you without anything phoning home.",
  "identity": {
    "displayName": "DUD3P0",
    "bundleId": "net.llmtech.dud3p0",
    "marketingVersion": "1.2.0",
    "build": "121",
    "buildNote": "Build 121: Rust engine_run turn planner, local egress/receipt policy, Super Mode t1-t11 capability toggles, app-specific privacy URL, PatchHead asset-name fix, runner-verify gate, and dude-mcp 0.4.0 stable release support.",
    "iosDeploymentTarget": "26.0",
    "deviceFamily": "iPhone",
    "appGroup": "group.net.llmtech.aimanac",
    "pricing": "One-time purchase. No subscription, no upsell, no ads.",
    "designSystem": "Coruscant Liquid Glass — gold-leaf-on-obsidian over a living aurora.",
    "repo": "https://github.com/Everplay-Tech/dud3-p0"
  },
  "posture": {
    "title": "What makes P0 different",
    "principles": [
      {
        "id": "byok",
        "title": "Bring your own key (BYOK)",
        "body": "You supply your own model provider key. It is stored on-device in the iOS Keychain via SecureSettingsStore — never bundled, never hardcoded, and never sent anywhere except directly to the provider endpoint you chose. Works with OpenAI, any OpenAI-compatible gateway, Anthropic natively (Messages API — Claude models such as claude-fable-5), and local endpoints (Ollama, llama.cpp) on your own network."
      },
      {
        "id": "no-phone-home",
        "title": "No phone-home",
        "body": "DUD3P0 has no Everplay-Tech analytics, telemetry, or account server. Your prompts, keys, and dossiers stay between your device and the provider you pointed it at."
      },
      {
        "id": "honest-receipts",
        "title": "Honest receipts",
        "body": "Every reasoning step is captured with a receipt: the phase it belongs to, the model used, token counts, and — for research claims — entailment chains labeled correct or plausible plus the citations they rest on. A multi-pass adversarial audit pressure-tests every claim, backed by machine-checked truth tables rather than model say-so. The reasoning is auditable, not a black box."
      },
      {
        "id": "honest-states",
        "title": "Honest empty / error states",
        "body": "Before a key is connected the app says so plainly and points at the Connection surface. If a phase cannot complete, P0 surfaces the real error rather than fabricating an answer. It never invents output when no model is reachable."
      },
      {
        "id": "offline-floor",
        "title": "Offline reasoning floor",
        "body": "A deterministic on-device Rust reasoning floor is built into the app — core logic and structure stay available with no cloud key and no download. A fuller on-device model (Phi-4-mini, a ~2.5 GB GGUF) is strictly optional: a resumable background download you start yourself, or a file you import — never bundled, never required."
      }
    ]
  },
  "features": [
    {
      "title": "Real BYOK chat",
      "body": "Fullscreen chat over your own provider key. OpenAI, OpenAI-compatible gateways, Anthropic (native Messages API, Claude models including claude-fable-5), or local models. The thinking shimmer and error states are real."
    },
    {
      "title": "Research missions",
      "body": "Turn a question into a structured, receipt-backed dossier that runs through six reasoning phases. Missions survive backgrounding — they resume with a grace window, and a local completion notification tells you when the dossier is ready. Detailed below."
    },
    {
      "title": "Guidance mode",
      "body": "A persistent Settings toggle, ON by default, for first-timers: plain-language action subtitles on the Refine grid, a Dossier Health caption, citation guidance, and a \"How a research mission works\" explainer on the empty mission state. Turn it off when you no longer need it."
    },
    {
      "title": "Logic lab",
      "body": "A truth-table / propositional-logic verifier for checking validity, tautology, contradiction, and equivalence — receipts you can trust because they are computed, not guessed."
    },
    {
      "title": "Code at length",
      "body": "P0 writes real, runnable code and explains the reasoning behind it, labeling assumptions and uncertainty as it goes."
    },
    {
      "title": "Super Mode desktop tools",
      "body": "Super Mode pairs DUD3P0 with DUD3Runner, a notarized Mac companion. Paired MCP clients can request Reality Lens, truth tables, logic verification, receipt generation, adversarial and premortem checks, repo reads, diff drafting, reviewed diff apply, approved test runs, and mission offload. Capability toggles in the app decide what a new pairing token authorizes."
    }
  ],
  "researchMissions": {
    "title": "Research missions: how you set one up",
    "intro": "A \"research paper\" in DUD3P0 is a Mission. You build the parameters first, then reasoning begins. Setup is a seven-step wizard:",
    "setupSteps": [
      {
        "n": 1,
        "step": "Question",
        "detail": "Give the mission a title, the research question that anchors the whole pipeline, and any key claims you already want examined."
      },
      {
        "n": 2,
        "step": "Domain & Rigor",
        "detail": "Pick a domain (Software, Mathematics, Systems, Security, Science, History, Philosophy, Markets, Policy, or Open Inquiry) and a rigor posture (Exploratory, Balanced, Skeptical, Adversarial, Formal, Forensic, Didactic, Speculative, Pragmatic, or Exhaustive). Rigor sets how hard P0 argues against itself."
      },
      {
        "n": 3,
        "step": "Sources",
        "detail": "Add source profiles. Each carries a role — Primary, Corroborating, Adversarial, Expert, Dataset, Artifact, Witness, or Other — plus its central claim, known bias, and any contradictions. Adversarial sources are first-class so the dossier stays grounded."
      },
      {
        "n": 4,
        "step": "Context",
        "detail": "Describe the background that grounds the work — what is established, who the stakeholders are, the terminology, and the open contradictions."
      },
      {
        "n": 5,
        "step": "Depth",
        "detail": "Choose a target depth — Brief (~1,000 words), Survey (~2,500), Deep Dive (~7,500), or Monograph (~15,000) — and a section count (1–30, with a recommended default per depth)."
      },
      {
        "n": 6,
        "step": "Process",
        "detail": "Per-phase model routing. Each of the six reasoning phases can inherit or override its model and base URL. Every phase authenticates with your single on-device Keychain key."
      },
      {
        "n": 7,
        "step": "Review & Generate",
        "detail": "Confirm the parameters, then press Generate to push the mission through the pipeline."
      }
    ],
    "phases": {
      "title": "The six reasoning phases",
      "intro": "Once you press Generate, the mission moves through six phases and produces a receipt-backed dossier instead of a one-shot answer:",
      "list": [
        {
          "phase": "Framing",
          "does": "Scope the question, constraints, and what counts as an answer."
        },
        {
          "phase": "Decomposition",
          "does": "Split the question into atomic, testable sub-questions."
        },
        {
          "phase": "Investigation",
          "does": "Gather evidence, receipts, and citations per sub-question; profile the sources."
        },
        {
          "phase": "Drafting",
          "does": "Write the dossier sections strictly from the gathered evidence."
        },
        {
          "phase": "Verification",
          "does": "Audit every claim, label uncertainty, and flag missing receipts."
        },
        {
          "phase": "Convergence",
          "does": "Converge all verified material into one coherent, receipt-backed dossier."
        }
      ]
    },
    "processLog": {
      "title": "The Process Log (receipts)",
      "body": "Every mission keeps a Process Log — the audit trail. Each captured generation step is stamped with its reasoning phase, the pipeline status (Building Evidence, Profiling Sources, Investigating, Drafting, Verifying, Converging), a timestamp, the model used, and token usage. If a phase fails — for example because returned data could not be parsed — the log shows an honest Failed entry rather than a fabricated result. That failure surface is the honesty contract working as designed."
    },
    "dossier": {
      "title": "The dossier and its receipts",
      "body": "The finished output is organized into tracks; each track holds numbered sections. Every section carries a summary, its Receipts (entailment chains labeled correct or plausible, e.g. model_predicts_empirical_within_tolerance -> correct), and its Citations. That is the \"print receipts\" principle: every claim ships with its auditable evidence chain and the sources it rests on."
    }
  },
  "byokSetup": {
    "title": "Connecting your key",
    "steps": [
      "Buy DUD3P0 once on the App Store.",
      "Open Settings → Connection.",
      "Choose your provider: OpenAI, Anthropic (native Messages API), an OpenAI-compatible gateway (set the base URL), or a local endpoint such as Ollama or llama.cpp on the same network as your phone.",
      "Paste your provider API key. It is written to the iOS Keychain and never leaves the device except as the Authorization header to the endpoint you chose.",
      "Start a chat or a research mission. Until a key is connected, the app tells you plainly and will not fabricate answers."
    ],
    "note": "No Everplay-Tech account, server, or sign-in is required. You can also point per-phase routing at different models from the Process step of a mission."
  },
  "webSearch": {
    "title": "Web search (optional, free key)",
    "summary": "DUD3P0 can search the live web on its own once you add a free Tavily key. Search is run by the app — not the model — so it works identically with DeepSeek, OpenAI, Anthropic, or a local endpoint. The key lives in the iOS Keychain and is sent only to Tavily, only when you search. Nothing is reported to Everplay.",
    "tools": [
      "web_search — searches the live web and returns ranked results (title, url, snippet); needs the Tavily key.",
      "read_url — fetches a public https page as readable text; needs no key and always works."
    ],
    "setupSteps": [
      "Get a free key at app.tavily.com (Google, GitHub, or email; no credit card). The free tier is 1,000 searches per month.",
      "Copy your API key — it starts with tvly-.",
      "In DUD3P0 open Settings → Web Search (also the globe tile in the Control Grid), paste the key, and tap Verify. A bad key is rejected before it is saved.",
      "The Web Search tile turns ON. Tap it any time to switch search on or off; off means no search tool is offered to the model even with a key set."
    ],
    "webPack": "Every page searched or read is remembered in an on-device, semantically-searchable Web Pack. Related later questions answer from your own pack first and only hit the live web when the pack lacks a fresh-enough page — private, compounding, no phone-home.",
    "guideUrl": "https://aimanac.llmtech.net/apps/dud3-p0/web-search/",
    "deepLink": "dud3p0://websearch",
    "honesty": "Without a key Dud3 says search isn't on rather than pretending it searched; with a key it cites the links it actually used."
  },
  "mcp": {
    "title": "Super Mode desktop tools (MCP)",
    "body": "DUD3Runner exposes the DUD3 Super Mode tool surface to paired desktop MCP clients. The current tool set is t1-t11: Reality Lens, Truth Table, Verify Logic, Receipt Gen, Receipt Append, Adversarial, Premortem, Repo Read, Diff Gen, Diff Apply, and Test Run, plus mission_run for offloaded missions.",
    "note": "The runner is a notarized direct-download Mac app. It remains inert until paired from DUD3P0 Super Mode, and capability toggles in the app control what the activation token grants."
  },
  "faq": [
    {
      "q": "Do I need to run a server?",
      "a": "No. DUD3P0 is on-device plus your own model provider. Unlike the server-required siblings, P0 needs nothing but your key — and even without a key it has an offline reasoning floor."
    },
    {
      "q": "Where does my key live?",
      "a": "In the iOS Keychain on your device, via SecureSettingsStore. It is never bundled with the app and never sent to Everplay-Tech."
    },
    {
      "q": "Does DUD3P0 collect my data?",
      "a": "No Everplay analytics, no Everplay telemetry, no Everplay account, and no Everplay-hosted chat backend. Your prompts and dossiers stay on device or go directly to the provider, connector, local endpoint, or desktop runner you choose."
    },
    {
      "q": "What if no model is reachable?",
      "a": "It tells you. P0 shows honest empty and error states and falls back to its on-device reasoning floor; it never invents an answer."
    },
    {
      "q": "Can I use a local model?",
      "a": "Yes. Point the base URL at a local OpenAI-compatible endpoint (Ollama, llama.cpp) and bring no cloud key at all. Your phone and the endpoint must be on the same network."
    },
    {
      "q": "Does it ship with an on-device model?",
      "a": "The deterministic Rust reasoning floor is built in — no download needed for that. The fuller on-device model (Phi-4-mini, a ~2.5 GB GGUF) is optional and never bundled: you start a resumable background download yourself, or import a .gguf from Files. You stay in control of the disk space and the decision."
    },
    {
      "q": "Can it search the web? It says it can't.",
      "a": "Yes, with a free Tavily key. Web search is off until you add one because reliable, terms-of-service-clean search needs a real search API. Grab a free key at app.tavily.com (1,000 searches/month, no card), paste it in Settings → Web Search, and the globe tile turns on. If the model says it can't browse, the tile is off or no key is set — it works the same on DeepSeek, OpenAI, Anthropic, or a local model. Full walkthrough: https://aimanac.llmtech.net/apps/dud3-p0/web-search/"
    }
  ],
  "intendedUse": {
    "title": "Intended use & safety",
    "purpose": "DUD3P0 is a tool for research, reasoning, and code. It is not designed or marketed for generating sexual, violent, hateful, or otherwise objectionable content; that use is prohibited by the Acceptable Use Policy.",
    "frontierProviders": "The recommended path. Hosted providers (OpenAI and compatible) enforce their own content policies server-side, so that safety applies to the session automatically.",
    "localModels": "An advanced opt-in with no provider-side moderation. If you point P0 at a local or custom model, you are solely responsible for the content you generate, under the Acceptable Use Policy.",
    "notUGC": "Content comes from your own provider, is processed on-device, and is never hosted, shared, or distributed by Everplay-Tech — there is no feed, social, or multi-user surface.",
    "acceptableUseUrl": "https://aimanac.llmtech.net/apps/dud3-p0/acceptable-use/"
  },
  "onboardingBlurb": "I just installed DUD3P0 on my iPhone — a BYOK research/reasoning app that runs on-device and prints auditable receipts for its reasoning. Fetch its manual at https://aimanac.llmtech.net/content/dud3-p0.json and walk me through connecting my own provider key and setting up my first research mission.",
  "support": {
    "discord": "Invite link pending",
    "email": "info@llmtech.net",
    "manualUrl": "https://aimanac.llmtech.net/apps/dud3-p0/",
    "machineUrl": "https://aimanac.llmtech.net/content/dud3-p0.json",
    "acceptableUseUrl": "https://aimanac.llmtech.net/apps/dud3-p0/acceptable-use/",
    "privacyUrl": "https://aimanac.llmtech.net/apps/dud3-p0/privacy/",
    "eulaUrl": "https://aimanac.llmtech.net/apps/dud3-p0/eula/"
  },
  "pageMeta": {
    "version": "v1.2.0",
    "released": "2026-06-09",
    "updated": "2026-07-09",
    "status": "Rust engine planner + Super Mode runner in build 121; App Store review in progress."
  }
}
