{
  "schemaVersion": 1,
  "asOf": "2026-10-09",
  "description": "Where pages from the separate Little Workflow, Little Harness and Little Compute docs sites live on the combined Little documentation site. Paths are site-relative.",
  "notes": [
    "Workflow entries were served by this host; the redirects in next.config.mjs send them to their new path.",
    "Harness entries came from the separate Little Harness site (https://little-harness.dev). This host cannot redirect that domain, so these entries are a link-migration map only.",
    "Compute entries came from the separate Little Compute docs app. Their page names do not collide with pages on this site, so this host also redirects /docs/<page> for each of them.",
    "/docs on this host is now the family index and is intentionally not redirected.",
    "The two LittleDB integration pages moved to the LittleDB root; the old product paths remain as short pointer pages."
  ],
  "redirectRulesOnThisHost": [
    { "source": "/docs/v0.1.0-alpha/running/using-littledb", "destination": "/docs/littledb/workflow" },
    { "source": "/docs/v0.1.0-alpha", "destination": "/docs/workflow/v0.1.0-alpha/getting-started" },
    { "source": "/docs/v0.1.0-alpha/:path*", "destination": "/docs/workflow/v0.1.0-alpha/:path*" },
    { "source": "/docs/comparisons/:path*", "destination": "/docs/workflow/comparisons/:path*" },
    { "source": "/docs/:page(architecture|artifacts|cli|concepts|http-api|planned-enforcement|providers|recovery|runtime-io|self-hosting|topology-credential-worker)", "destination": "/docs/compute/:page" },
    { "source": "/llms.mdx/docs/... and /og/docs/...", "destination": "The same rules, applied to the Markdown and Open Graph image routes" }
  ],
  "workflow": {
    "oldSite": "Little Workflow docs (this host)",
    "redirectedOnThisHost": true,
    "entries": [
      { "oldPath": "/docs", "newPath": "/docs/workflow", "redirected": false, "note": "/docs is now the family index." },
      { "oldPath": "/docs/comparisons", "newPath": "/docs/workflow/comparisons" },
      { "oldPath": "/docs/v0.1.0-alpha", "newPath": "/docs/workflow/v0.1.0-alpha/getting-started", "note": "The old version root had no page." },
      { "oldPath": "/docs/v0.1.0-alpha/roadmap", "newPath": "/docs/workflow/v0.1.0-alpha/roadmap" },
      { "oldPath": "/docs/v0.1.0-alpha/getting-started", "newPath": "/docs/workflow/v0.1.0-alpha/getting-started" },
      { "oldPath": "/docs/v0.1.0-alpha/getting-started/quickstart", "newPath": "/docs/workflow/v0.1.0-alpha/getting-started/quickstart" },
      { "oldPath": "/docs/v0.1.0-alpha/foundations", "newPath": "/docs/workflow/v0.1.0-alpha/foundations" },
      { "oldPath": "/docs/v0.1.0-alpha/foundations/planner-lifecycle", "newPath": "/docs/workflow/v0.1.0-alpha/foundations/planner-lifecycle" },
      { "oldPath": "/docs/v0.1.0-alpha/authoring/define-a-workflow", "newPath": "/docs/workflow/v0.1.0-alpha/authoring/define-a-workflow" },
      { "oldPath": "/docs/v0.1.0-alpha/authoring/advanced-createlittleworkflow", "newPath": "/docs/workflow/v0.1.0-alpha/authoring/advanced-createlittleworkflow" },
      { "oldPath": "/docs/v0.1.0-alpha/authoring/ai-sdk-native", "newPath": "/docs/workflow/v0.1.0-alpha/authoring/ai-sdk-native" },
      { "oldPath": "/docs/v0.1.0-alpha/authoring/compose-with-harness", "newPath": "/docs/workflow/v0.1.0-alpha/authoring/compose-with-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/authoring/memory", "newPath": "/docs/workflow/v0.1.0-alpha/authoring/memory" },
      { "oldPath": "/docs/v0.1.0-alpha/authoring/orchestrating-workflows", "newPath": "/docs/workflow/v0.1.0-alpha/authoring/orchestrating-workflows" },
      { "oldPath": "/docs/v0.1.0-alpha/authoring/skills", "newPath": "/docs/workflow/v0.1.0-alpha/authoring/skills" },
      { "oldPath": "/docs/v0.1.0-alpha/authoring/tools-and-capabilities", "newPath": "/docs/workflow/v0.1.0-alpha/authoring/tools-and-capabilities" },
      { "oldPath": "/docs/v0.1.0-alpha/running/run-a-workflow", "newPath": "/docs/workflow/v0.1.0-alpha/running/run-a-workflow" },
      { "oldPath": "/docs/v0.1.0-alpha/running/inspect-runs", "newPath": "/docs/workflow/v0.1.0-alpha/running/inspect-runs" },
      { "oldPath": "/docs/v0.1.0-alpha/running/local-world", "newPath": "/docs/workflow/v0.1.0-alpha/running/local-world" },
      { "oldPath": "/docs/v0.1.0-alpha/running/replay-and-durability", "newPath": "/docs/workflow/v0.1.0-alpha/running/replay-and-durability" },
      { "oldPath": "/docs/v0.1.0-alpha/running/using-littledb", "newPath": "/docs/littledb/workflow", "note": "Moved to the LittleDB root; /docs/workflow/v0.1.0-alpha/running/using-littledb is a pointer page." },
      { "oldPath": "/docs/v0.1.0-alpha/reference/api-reference", "newPath": "/docs/workflow/v0.1.0-alpha/reference/api-reference" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/cli", "newPath": "/docs/workflow/v0.1.0-alpha/reference/cli" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/setup-recovery", "newPath": "/docs/workflow/v0.1.0-alpha/reference/setup-recovery" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/lwir-reference", "newPath": "/docs/workflow/v0.1.0-alpha/reference/lwir-reference" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/glossary", "newPath": "/docs/workflow/v0.1.0-alpha/reference/glossary" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/changelog", "newPath": "/docs/workflow/v0.1.0-alpha/reference/changelog" },
      { "oldPath": "/docs/v0.1.0-alpha/cookbook", "newPath": "/docs/workflow/v0.1.0-alpha/cookbook" },
      { "oldPath": "/docs/v0.1.0-alpha/cookbook/plan-once-run-many", "newPath": "/docs/workflow/v0.1.0-alpha/cookbook/plan-once-run-many" },
      { "oldPath": "/docs/v0.1.0-alpha/cookbook/resume-after-a-crash", "newPath": "/docs/workflow/v0.1.0-alpha/cookbook/resume-after-a-crash" },
      { "oldPath": "/docs/v0.1.0-alpha/internals", "newPath": "/docs/workflow/v0.1.0-alpha/internals" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/ai-sdk-adapter", "newPath": "/docs/workflow/v0.1.0-alpha/internals/ai-sdk-adapter" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/architecture", "newPath": "/docs/workflow/v0.1.0-alpha/internals/architecture" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/compile-pipeline", "newPath": "/docs/workflow/v0.1.0-alpha/internals/compile-pipeline" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/event-log", "newPath": "/docs/workflow/v0.1.0-alpha/internals/event-log" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/expressions", "newPath": "/docs/workflow/v0.1.0-alpha/internals/expressions" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/fixer", "newPath": "/docs/workflow/v0.1.0-alpha/internals/fixer" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/harness", "newPath": "/docs/workflow/v0.1.0-alpha/internals/harness" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/identity-manifests", "newPath": "/docs/workflow/v0.1.0-alpha/internals/identity-manifests" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/local-world-storage", "newPath": "/docs/workflow/v0.1.0-alpha/internals/local-world-storage" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/lwir-internals", "newPath": "/docs/workflow/v0.1.0-alpha/internals/lwir-internals" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/memory-scratch", "newPath": "/docs/workflow/v0.1.0-alpha/internals/memory-scratch" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/parallel", "newPath": "/docs/workflow/v0.1.0-alpha/internals/parallel" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/replay", "newPath": "/docs/workflow/v0.1.0-alpha/internals/replay" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/runtime-execution", "newPath": "/docs/workflow/v0.1.0-alpha/internals/runtime-execution" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/sdk-implementation", "newPath": "/docs/workflow/v0.1.0-alpha/internals/sdk-implementation" },
      { "oldPath": "/docs/v0.1.0-alpha/internals/security-model", "newPath": "/docs/workflow/v0.1.0-alpha/internals/security-model" }
    ]
  },
  "harness": {
    "oldSite": "Little Harness docs (https://little-harness.dev)",
    "redirectedOnThisHost": false,
    "note": "Link migration only. Prefix an old Harness path with /docs/harness on this site, except the two noted entries.",
    "entries": [
      { "oldPath": "/docs", "newPath": "/docs/harness" },
      { "oldPath": "/docs/v0.1.0-alpha", "newPath": "/docs/harness/v0.1.0-alpha" },
      { "oldPath": "/docs/v0.1.0-alpha/getting-started", "newPath": "/docs/harness/v0.1.0-alpha/getting-started" },
      { "oldPath": "/docs/v0.1.0-alpha/quickstart", "newPath": "/docs/harness/v0.1.0-alpha/quickstart" },
      { "oldPath": "/docs/v0.1.0-alpha/roadmap", "newPath": "/docs/harness/v0.1.0-alpha/roadmap" },
      { "oldPath": "/docs/v0.1.0-alpha/foundations", "newPath": "/docs/harness/v0.1.0-alpha/foundations" },
      { "oldPath": "/docs/v0.1.0-alpha/foundations/files-and-artifacts", "newPath": "/docs/harness/v0.1.0-alpha/foundations/files-and-artifacts" },
      { "oldPath": "/docs/v0.1.0-alpha/foundations/persistent-dirs", "newPath": "/docs/harness/v0.1.0-alpha/foundations/persistent-dirs" },
      { "oldPath": "/docs/v0.1.0-alpha/foundations/sessions", "newPath": "/docs/harness/v0.1.0-alpha/foundations/sessions" },
      { "oldPath": "/docs/v0.1.0-alpha/foundations/tools-vs-exports", "newPath": "/docs/harness/v0.1.0-alpha/foundations/tools-vs-exports" },
      { "oldPath": "/docs/v0.1.0-alpha/foundations/tracing", "newPath": "/docs/harness/v0.1.0-alpha/foundations/tracing" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/agent-folders", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/agent-folders" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/agent-groups", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/agent-groups" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/basic-agent", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/basic-agent" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/chat-connectors", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/chat-connectors" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/dynamic-workflows", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/dynamic-workflows" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/generating-and-streaming", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/generating-and-streaming" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/input-types", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/input-types" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/memory", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/memory" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/message-files", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/message-files" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/outcomes", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/outcomes" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/skills", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/skills" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/tools", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/tools" },
      { "oldPath": "/docs/v0.1.0-alpha/build-agents/workflows", "newPath": "/docs/harness/v0.1.0-alpha/build-agents/workflows" },
      { "oldPath": "/docs/v0.1.0-alpha/runtime", "newPath": "/docs/harness/v0.1.0-alpha/runtime" },
      { "oldPath": "/docs/v0.1.0-alpha/runtime/execution-environments", "newPath": "/docs/harness/v0.1.0-alpha/runtime/execution-environments" },
      { "oldPath": "/docs/v0.1.0-alpha/runtime/execution-tiers", "newPath": "/docs/harness/v0.1.0-alpha/runtime/execution-tiers" },
      { "oldPath": "/docs/v0.1.0-alpha/runtime/isolation-and-security", "newPath": "/docs/harness/v0.1.0-alpha/runtime/isolation-and-security" },
      { "oldPath": "/docs/v0.1.0-alpha/runtime/just-bash", "newPath": "/docs/harness/v0.1.0-alpha/runtime/just-bash" },
      { "oldPath": "/docs/v0.1.0-alpha/runtime/local-host", "newPath": "/docs/harness/v0.1.0-alpha/runtime/local-host" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/alpha-migrations", "newPath": "/docs/harness/v0.1.0-alpha/reference/alpha-migrations" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/api-reference", "newPath": "/docs/harness/v0.1.0-alpha/reference/api-reference" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/cli", "newPath": "/docs/harness/v0.1.0-alpha/reference/cli" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/create-harness", "newPath": "/docs/harness/v0.1.0-alpha/reference/create-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/events", "newPath": "/docs/harness/v0.1.0-alpha/reference/events" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/file-writer", "newPath": "/docs/harness/v0.1.0-alpha/reference/file-writer" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/generate-harness", "newPath": "/docs/harness/v0.1.0-alpha/reference/generate-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/glossary", "newPath": "/docs/harness/v0.1.0-alpha/reference/glossary" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/harness-session", "newPath": "/docs/harness/v0.1.0-alpha/reference/harness-session" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/local-host", "newPath": "/docs/harness/v0.1.0-alpha/reference/local-host" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/persistent-dir-reference", "newPath": "/docs/harness/v0.1.0-alpha/reference/persistent-dir-reference" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/skill-helper", "newPath": "/docs/harness/v0.1.0-alpha/reference/skill-helper" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/storage-adapters", "newPath": "/docs/harness/v0.1.0-alpha/reference/storage-adapters" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/stream-harness", "newPath": "/docs/harness/v0.1.0-alpha/reference/stream-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/reference/using-littledb", "newPath": "/docs/littledb/harness", "note": "Moved to the LittleDB root; /docs/harness/v0.1.0-alpha/reference/using-littledb is a pointer page." },
      { "oldPath": "/docs/v0.1.0-alpha/cookbook/customer-research-agent", "newPath": "/docs/harness/v0.1.0-alpha/cookbook/customer-research-agent" },
      { "oldPath": "/docs/v0.1.0-alpha/cookbook/document-research-agent", "newPath": "/docs/harness/v0.1.0-alpha/cookbook/document-research-agent" },
      { "oldPath": "/docs/v0.1.0-alpha/cookbook/internal-data-agent", "newPath": "/docs/harness/v0.1.0-alpha/cookbook/internal-data-agent" },
      { "oldPath": "/docs/v0.1.0-alpha/cookbook/nextjs-use-chat", "newPath": "/docs/harness/v0.1.0-alpha/cookbook/nextjs-use-chat" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons", "newPath": "/docs/harness/v0.1.0-alpha/comparisons" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons/agent-frameworks-vs-little-harness", "newPath": "/docs/harness/v0.1.0-alpha/comparisons/agent-frameworks-vs-little-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons/ai-sdk-vs-little-harness", "newPath": "/docs/harness/v0.1.0-alpha/comparisons/ai-sdk-vs-little-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons/coding-harnesses-vs-little-harness", "newPath": "/docs/harness/v0.1.0-alpha/comparisons/coding-harnesses-vs-little-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons/langgraph-vs-little-harness", "newPath": "/docs/harness/v0.1.0-alpha/comparisons/langgraph-vs-little-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons/mastra-vs-little-harness", "newPath": "/docs/harness/v0.1.0-alpha/comparisons/mastra-vs-little-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons/memory-observability-vs-little-harness", "newPath": "/docs/harness/v0.1.0-alpha/comparisons/memory-observability-vs-little-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons/openai-agents-sdk-vs-little-harness", "newPath": "/docs/harness/v0.1.0-alpha/comparisons/openai-agents-sdk-vs-little-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons/sandboxes-vs-little-harness", "newPath": "/docs/harness/v0.1.0-alpha/comparisons/sandboxes-vs-little-harness" },
      { "oldPath": "/docs/v0.1.0-alpha/comparisons/visual-builders-vs-little-harness", "newPath": "/docs/harness/v0.1.0-alpha/comparisons/visual-builders-vs-little-harness" }
    ]
  },
  "compute": {
    "oldSite": "Little Compute docs app (unpublished)",
    "redirectedOnThisHost": true,
    "note": "Old /docs/<page> paths redirect on this host. The old Compute index (/docs) is not redirected, because /docs is now the family index.",
    "entries": [
      { "oldPath": "/docs", "newPath": "/docs/compute", "redirected": false },
      { "oldPath": "/docs/architecture", "newPath": "/docs/compute/architecture" },
      { "oldPath": "/docs/artifacts", "newPath": "/docs/compute/artifacts" },
      { "oldPath": "/docs/cli", "newPath": "/docs/compute/cli" },
      { "oldPath": "/docs/concepts", "newPath": "/docs/compute/concepts" },
      { "oldPath": "/docs/http-api", "newPath": "/docs/compute/http-api" },
      { "oldPath": "/docs/planned-enforcement", "newPath": "/docs/compute/planned-enforcement" },
      { "oldPath": "/docs/providers", "newPath": "/docs/compute/providers" },
      { "oldPath": "/docs/recovery", "newPath": "/docs/compute/recovery" },
      { "oldPath": "/docs/runtime-io", "newPath": "/docs/compute/runtime-io" },
      { "oldPath": "/docs/self-hosting", "newPath": "/docs/compute/self-hosting" },
      { "oldPath": "/docs/topology-credential-worker", "newPath": "/docs/compute/topology-credential-worker" }
    ]
  },
  "littledb": {
    "oldSite": "No separate LittleDB docs site existed; these pages came from the Harness and Workflow sites.",
    "entries": [
      { "oldPath": "/docs/v0.1.0-alpha/reference/using-littledb", "oldSiteOfEntry": "harness", "newPath": "/docs/littledb/harness" },
      { "oldPath": "/docs/v0.1.0-alpha/running/using-littledb", "oldSiteOfEntry": "workflow", "newPath": "/docs/littledb/workflow" }
    ]
  }
}
