You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generalize the current Cloud Story Mode settings into one provider-neutral Story Mode surface with three PlotPickle execution policies:
[L] LOCAL
[C] CLOUD
[H] HYBRID
Ollama should be represented as a provider family with distinct local and cloud connection routes behind those policies. Local / Cloud / Hybrid are PlotPickle execution modes, not Ollama product modes.
This is a focused settings/routing clarification. Reuse the existing provider/capability routing architecture and current Cloud Story Mode behavior. Do not create a second provider system, a new orchestration engine, or duplicated settings pages.
Product decision
Story Mode is the user-facing concept
The parent surface should become:
SETTINGS / STORY MODE
rather than making Ollama itself the product-level mode.
The user chooses one of three PlotPickle policies:
LOCAL — use enabled local-capable providers/runtimes.
CLOUD — use explicitly enabled/consented cloud connections.
HYBRID — allow both Local and Cloud routes according to capability, availability and routing preference.
Ollama remains replaceable infrastructure behind that boundary.
Target settings structure
Story Mode landing surface
Use the existing Matrix / BBS keyboard language:
[L] LOCAL - Local-first Story compute and generation
[C] CLOUD - Explicit cloud Story connections
[H] HYBRID - Route across Local and Cloud capabilities
Do not build three separate application shells. Reuse the current Cloud Story Mode surface as the Cloud destination and add only the minimum Local/Hybrid equivalents needed.
LOCAL
Expose local Story capabilities and connections.
Initial connection of interest:
[O] Ollama - Local LLM/runtime for supported Writing and Agent compute
Where existing architecture supports it, Local may also surface other established local-capable runtimes such as local ComfyUI without creating a new provider registry.
Ollama Local configuration may expose only useful operational facts already available or safely detectable, such as:
availability / connection state;
local endpoint;
installed/available models where existing APIs permit;
model capability/context information where reliable;
relevant hardware/runtime readiness.
Do not require Ollama for Local Story Mode. Ollama is one local connection, not the definition of Local.
CLOUD
Preserve the current Cloud Story Mode capability model and consent boundary.
Existing cloud connections remain valid, including where supported:
OpenAI;
remote ComfyUI;
Gemini;
MiniMax;
other existing reviewed cloud providers.
Add Ollama Cloud as a cloud connection for supported Writing / Agent compute where the existing routing/capability contracts can represent it truthfully.
The connection should be described as Ollama Cloud, not as a separate “Ollama Cloud Story Mode.”
Cloud routes remain explicit and consented. Paid/remote routes must not be silently activated.
HYBRID
Hybrid is a routing policy, not another provider connection.
Do not create “Ollama Hybrid.” Hybrid consumes whatever Local and Cloud connections are already enabled.
Initial Hybrid UI should remain small. It may expose a bounded routing preference such as:
Prefer Local
Best Available
Prefer Cloud
along with existing consent/fallback behavior where already supported.
Hybrid must reuse the canonical routing/capability resolver rather than adding Hybrid-specific provider selection logic.
Status model
Support a compact derived Story Mode status such as:
LOCAL: READY
CLOUD: READY
HYBRID: READY
MODE: LOCAL
These are derived operational states, not manually configured flags.
Suggested semantics:
LOCAL: READY — at least one usable enabled local route satisfies the relevant Story capability contract.
CLOUD: READY — at least one usable, consented cloud route is available.
HYBRID: READY — both usable Local and Cloud routes are available to the routing policy.
MODE — the active PlotPickle Story Mode policy: LOCAL / CLOUD / HYBRID.
Do not imply a provider is usable merely because it is installed or listed. Readiness should follow existing capability/availability truthfulness.
Ollama architecture boundary
Recent Ollama desktop releases expose Apps / ollama launch integrations for external coding and agent clients such as Claude Code, Codex CLI, OpenCode, Pi, Cline, Qwen Code, DeepSeek Harness and others.
That is useful evidence that Ollama increasingly acts as a model/runtime socket for interchangeable external harnesses, but this issue does not turn those applications into Story Mode providers or new PlotPickle product Agents.
Keep the two lanes separate:
PlotPickle product Agent / Story task
→ PlotPickle routing + capability resolution
→ Local / Cloud provider connection
→ Ollama or other selected runtime/model
versus developer tooling:
Pi / Cline / Codex / Claude Code / other developer harness
→ Ollama or another model backend
→ PlotPickle repository work
Developer agents remain governed by the repository development contract and are not part of Story Mode simply because Ollama can launch them.
Architectural rule
Do not introduce “Multiplexer” as a new PlotPickle subsystem for this work.
The useful behavior is already Routing / Capability Resolution:
Story task requirement
→ capability resolver
→ active Story Mode policy
→ eligible Local / Cloud route
→ provider/runtime/model
The provider and model remain replaceable.
PlotPickle owns:
Story Mode policy;
capability requirements;
routing/selection policy;
consent boundaries;
Story/PPF authority.
Providers such as Ollama, OpenAI, Gemini, MiniMax or ComfyUI supply capabilities but do not become creative authority.
Preserve authority boundaries
This settings work must not alter canonical creative ownership.
Maintain the distinction:
Model ≠ Agent ≠ Harness ≠ Provider ≠ PPF
PPF / Human-approved PlotPickle state remains canonical creative truth.
Story Mode only decides where eligible compute executes. It must not decide what becomes canon.
No parallel provider registry, routing engine or duplicated Story settings architecture is introduced.
Implementation remains small, provider-neutral and compatible with future Local and Cloud providers beyond Ollama.
Implementation discipline
Keep this conservative. First inventory the current Cloud Story Mode, Local AI, provider routing and Ollama boundaries. Reuse existing contracts and UI primitives. Add only the minimum missing Story Mode policy layer and Ollama connection representations needed to express the agreed architecture.
The goal is not to make Ollama the center of PlotPickle. The goal is to let PlotPickle use Ollama cleanly as one replaceable Local/Cloud provider family behind a stable Story Mode boundary.
Developer Brief
Objective
Generalize the current Cloud Story Mode settings into one provider-neutral Story Mode surface with three PlotPickle execution policies:
Ollama should be represented as a provider family with distinct local and cloud connection routes behind those policies. Local / Cloud / Hybrid are PlotPickle execution modes, not Ollama product modes.
This is a focused settings/routing clarification. Reuse the existing provider/capability routing architecture and current Cloud Story Mode behavior. Do not create a second provider system, a new orchestration engine, or duplicated settings pages.
Product decision
Story Mode is the user-facing concept
The parent surface should become:
rather than making Ollama itself the product-level mode.
The user chooses one of three PlotPickle policies:
Ollama remains replaceable infrastructure behind that boundary.
Target settings structure
Story Mode landing surface
Use the existing Matrix / BBS keyboard language:
Do not build three separate application shells. Reuse the current Cloud Story Mode surface as the Cloud destination and add only the minimum Local/Hybrid equivalents needed.
LOCAL
Expose local Story capabilities and connections.
Initial connection of interest:
Where existing architecture supports it, Local may also surface other established local-capable runtimes such as local ComfyUI without creating a new provider registry.
Ollama Local configuration may expose only useful operational facts already available or safely detectable, such as:
Do not require Ollama for Local Story Mode. Ollama is one local connection, not the definition of Local.
CLOUD
Preserve the current Cloud Story Mode capability model and consent boundary.
Existing cloud connections remain valid, including where supported:
Add Ollama Cloud as a cloud connection for supported Writing / Agent compute where the existing routing/capability contracts can represent it truthfully.
The connection should be described as Ollama Cloud, not as a separate “Ollama Cloud Story Mode.”
Cloud routes remain explicit and consented. Paid/remote routes must not be silently activated.
HYBRID
Hybrid is a routing policy, not another provider connection.
Do not create “Ollama Hybrid.” Hybrid consumes whatever Local and Cloud connections are already enabled.
Initial Hybrid UI should remain small. It may expose a bounded routing preference such as:
along with existing consent/fallback behavior where already supported.
Hybrid must reuse the canonical routing/capability resolver rather than adding Hybrid-specific provider selection logic.
Status model
Support a compact derived Story Mode status such as:
These are derived operational states, not manually configured flags.
Suggested semantics:
LOCAL: READY— at least one usable enabled local route satisfies the relevant Story capability contract.CLOUD: READY— at least one usable, consented cloud route is available.HYBRID: READY— both usable Local and Cloud routes are available to the routing policy.MODE— the active PlotPickle Story Mode policy: LOCAL / CLOUD / HYBRID.Do not imply a provider is usable merely because it is installed or listed. Readiness should follow existing capability/availability truthfulness.
Ollama architecture boundary
Recent Ollama desktop releases expose Apps /
ollama launchintegrations for external coding and agent clients such as Claude Code, Codex CLI, OpenCode, Pi, Cline, Qwen Code, DeepSeek Harness and others.That is useful evidence that Ollama increasingly acts as a model/runtime socket for interchangeable external harnesses, but this issue does not turn those applications into Story Mode providers or new PlotPickle product Agents.
Keep the two lanes separate:
versus developer tooling:
Developer agents remain governed by the repository development contract and are not part of Story Mode simply because Ollama can launch them.
Architectural rule
Do not introduce “Multiplexer” as a new PlotPickle subsystem for this work.
The useful behavior is already Routing / Capability Resolution:
The provider and model remain replaceable.
PlotPickle owns:
Providers such as Ollama, OpenAI, Gemini, MiniMax or ComfyUI supply capabilities but do not become creative authority.
Preserve authority boundaries
This settings work must not alter canonical creative ownership.
Maintain the distinction:
PPF / Human-approved PlotPickle state remains canonical creative truth.
Story Mode only decides where eligible compute executes. It must not decide what becomes canon.
This also aligns with:
Do not duplicate any of those responsibilities here.
Reuse boundary
Before adding new schemas or registries, inventory and reuse current:
Prefer adapting the current surfaces/contracts over creating new ones.
Initial implementation scope
In scope:
Out of scope:
Acceptance criteria
Implementation discipline
Keep this conservative. First inventory the current Cloud Story Mode, Local AI, provider routing and Ollama boundaries. Reuse existing contracts and UI primitives. Add only the minimum missing Story Mode policy layer and Ollama connection representations needed to express the agreed architecture.
The goal is not to make Ollama the center of PlotPickle. The goal is to let PlotPickle use Ollama cleanly as one replaceable Local/Cloud provider family behind a stable Story Mode boundary.