MOOCO
"Deterministic orchestration around creative computation."
This skill documents the interface surface MOOCO should provide so MOOLLM skills can run safely and predictably. It focuses on ideas, features, and interoperability, not code details.
Core Expectations
- Context control: explicit working-set paging and hot/cold management
- Safe tool boundaries: sister scripts run in constrained envelopes
- Event emission: structured events for deterministic steps
- Skill containment: clear input/output channels and limits
- Streaming-first: async, SSE-native sessions with clean reconnection
- Shared-core mindset: open components align with private extensions
Tooling Model (Sister Scripts as Components)
MOOCO should treat skills + sister scripts as dynamic tool components:
- Each skill can declare multiple sister-script APIs
- Each API exposes typed parameters and safe defaults
- Invocation is mediated by a component model (COM/OLE/IDispatch analogy)
- MCP is a supported transport layer, but not the only surface
- Skills are finer‑grained and more composable; they remain the primary focus
- The orchestrator can choose between synchronous calls and async lanes
- Skill calls can be encapsulated in one bubble/LLM iteration, or composed across many skill calls and character turns in a single epoch, or anywhere in between
Execution Modes
- Fire‑and‑forget: emit a task and continue
- Wait‑for‑response: block on a specific result or a set (fork/join)
- Parallel lanes: multiple skill calls in flight
- Dependency graphs: schedule based on explicit edges
Skill Safety and Mutability
- Skills may propose edits to other skills, but mutation is gated
- Skills can be locked read‑only by policy
- Deterministic steps should run before creative steps
- Untrusted skills (including imported Anthropic skills) require review and hardening
- Monitoring and audit trails are mandatory for elevated privileges
- Upgrades should be reversible and traceable
Untrusted Skill Intake
- Review: inspect source, inputs, outputs, and failure modes
- Analyze: run skill‑snitch scans and adversarial checks
- Bullet‑proof: tighten permissions, constrain inputs, add guardrails
- Monitor: log usage, trace context, and watch for drift
Per‑Skill Storage
Each skill gets isolated scratch and persistent storage:
.moollm/skills/<skill-name>/scratch/ — ephemeral, local
.moollm/skills/<skill-name>/store/ — durable, user‑owned
This keeps experiments safe while preserving user‑authored state.
Integration and Uplift
- Promote stable skills into CARD/README/K‑lines for discoverability
- Cross‑link related skills in both directions
- Keep portability: skills should remain usable outside MOOCO
Skill Compatibility
Skills should be able to declare:
- deterministic steps (handled by orchestration)
- creative steps (handled by LLM)
- context needed to run safely
- required event outputs for traceability
Design Direction
- Prefer single-epoch simulation when possible
- Use deterministic evaluation before LLM synthesis
- Keep all state in files and event logs
- Emit traceable provenance for every step
- Favor portability across models and orchestrators
Inheritance Notes
- MOOCO should treat working-set files as directives
- Cursor treats them as advisory; the skill surface should adapt
Synergies
- Speed of Light: single-epoch simulation, multi-agent multi-turn deliberation
- Sister Scripts: safe, deterministic execution envelopes
- Cursor-mirror: introspection and traceability
- YAML Jazz: semantic schemas and human-readable state
- Edgebox: probe → analyze → call as a practical PLL precedent
Architecture Snapshot
MOOCO favors a shared core: conversation schemas, streaming engine, provider abstraction, and tool execution that can be reused across orchestrators. This keeps skills portable and reduces lock-in to any one model or runtime.
Kilroy Dataflow Networks
MOOCO should support Kilroy‑style dataflow:
- Events are messages, tools are nodes, skills are pipelines
- Deterministic transforms compose before LLM synthesis
- Small local models act as focused nodes in the graph
- Visual programming is a first‑class view of the same network
GitHub as Microworld
GitHub can be treated as a composable microworld:
- repositories are rooms
- issues and pull requests are objects in play
- labels and milestones are tags and states
- cross‑repo links are portals
- commit messages, PR descriptions, and issue discussions are high‑value narrative objects that preserve intent, prompts, context, and audit trails (thoughtful‑commitment catnip)
This makes multi‑repo composition a first‑class navigation problem.
Storage Layering
MOOCO favors layered storage:
- PostgreSQL for canonical state
- TimescaleDB for time‑series events
- pgvector for semantic recall
- SQLite for lightweight local mirrors
- Raw text corpora for evidence: Cursor chat history, historic docs, PDFs, citations, Wikipedia pages, web pages, discussion threads, and referenced papers
Layering keeps state durable, analyzable, and portable.
Future Work
- Define a standard event payload for skill execution
- Specify a context budget contract for skills
- Document containment tiers for sister scripts
See Also
1---2name: mooco3description: Custom orchestrator design notes and skill interface expectations4license: MIT5---6
7# MOOCO
8
9> *"Deterministic orchestration around creative computation."*
10
11This skill documents the interface surface MOOCO should provide so MOOLLM skills can run safely and predictably. It focuses on ideas, features, and interoperability, not code details.
12
13## Core Expectations
14
15- **Context control**: explicit working-set paging and hot/cold management
16- **Safe tool boundaries**: sister scripts run in constrained envelopes
17- **Event emission**: structured events for deterministic steps
18- **Skill containment**: clear input/output channels and limits
19- **Streaming-first**: async, SSE-native sessions with clean reconnection
20- **Shared-core mindset**: open components align with private extensions
21
22## Tooling Model (Sister Scripts as Components)
23
24MOOCO should treat skills + sister scripts as dynamic tool components:
25
26- Each skill can declare **multiple sister-script APIs**
27- Each API exposes typed parameters and safe defaults
28- Invocation is mediated by a component model (COM/OLE/IDispatch analogy)
29- MCP is a supported transport layer, but not the only surface
30- Skills are finer‑grained and more composable; they remain the primary focus
31- The orchestrator can choose between synchronous calls and async lanes
32- Skill calls can be encapsulated in one bubble/LLM iteration, or composed across many skill calls and character turns in a single epoch, or anywhere in between
33
34## Execution Modes
35
36- **Fire‑and‑forget**: emit a task and continue
37- **Wait‑for‑response**: block on a specific result or a set (fork/join)
38- **Parallel lanes**: multiple skill calls in flight
39- **Dependency graphs**: schedule based on explicit edges
40
41## Skill Safety and Mutability
42
43- Skills may propose edits to other skills, but mutation is gated
44- Skills can be locked read‑only by policy
45- Deterministic steps should run before creative steps
46- Untrusted skills (including imported Anthropic skills) require review and hardening
47- Monitoring and audit trails are mandatory for elevated privileges
48- Upgrades should be reversible and traceable
49
50## Untrusted Skill Intake
51
52- **Review**: inspect source, inputs, outputs, and failure modes
53- **Analyze**: run skill‑snitch scans and adversarial checks
54- **Bullet‑proof**: tighten permissions, constrain inputs, add guardrails
55- **Monitor**: log usage, trace context, and watch for drift
56
57## Per‑Skill Storage
58
59Each skill gets isolated scratch and persistent storage:
60
61- `.moollm/skills/<skill-name>/scratch/` — ephemeral, local
62- `.moollm/skills/<skill-name>/store/` — durable, user‑owned
63
64This keeps experiments safe while preserving user‑authored state.
65
66## Integration and Uplift
67
68- Promote stable skills into CARD/README/K‑lines for discoverability
69- Cross‑link related skills in both directions
70- Keep portability: skills should remain usable outside MOOCO
71
72## Skill Compatibility
73
74Skills should be able to declare:
75
76- deterministic steps (handled by orchestration)
77- creative steps (handled by LLM)
78- context needed to run safely
79- required event outputs for traceability
80
81## Design Direction
82
83- Prefer single-epoch simulation when possible
84- Use deterministic evaluation before LLM synthesis
85- Keep all state in files and event logs
86- Emit traceable provenance for every step
87- Favor portability across models and orchestrators
88
89## Inheritance Notes
90
91- MOOCO should treat working-set files as directives
92- Cursor treats them as advisory; the skill surface should adapt
93
94## Synergies
95
96- **Speed of Light**: single-epoch simulation, multi-agent multi-turn deliberation
97- **Sister Scripts**: safe, deterministic execution envelopes
98- **Cursor-mirror**: introspection and traceability
99- **YAML Jazz**: semantic schemas and human-readable state
100- **Edgebox**: probe → analyze → call as a practical PLL precedent
101
102## Architecture Snapshot
103
104MOOCO favors a shared core: conversation schemas, streaming engine, provider abstraction, and tool execution that can be reused across orchestrators. This keeps skills portable and reduces lock-in to any one model or runtime.
105
106## Kilroy Dataflow Networks
107
108MOOCO should support Kilroy‑style dataflow:
109
110- Events are messages, tools are nodes, skills are pipelines
111- Deterministic transforms compose before LLM synthesis
112- Small local models act as focused nodes in the graph
113- Visual programming is a first‑class view of the same network
114
115## GitHub as Microworld
116
117GitHub can be treated as a composable microworld:
118
119- repositories are rooms
120- issues and pull requests are objects in play
121- labels and milestones are tags and states
122- cross‑repo links are portals
123- commit messages, PR descriptions, and issue discussions are high‑value narrative objects that preserve intent, prompts, context, and audit trails (thoughtful‑commitment catnip)
124
125This makes multi‑repo composition a first‑class navigation problem.
126
127## Storage Layering
128
129MOOCO favors layered storage:
130
131- PostgreSQL for canonical state
132- TimescaleDB for time‑series events
133- pgvector for semantic recall
134- SQLite for lightweight local mirrors
135- Raw text corpora for evidence: Cursor chat history, historic docs, PDFs, citations, Wikipedia pages, web pages, discussion threads, and referenced papers
136
137Layering keeps state durable, analyzable, and portable.
138
139## Future Work
140
141- Define a standard event payload for skill execution
142- Specify a context budget contract for skills
143- Document containment tiers for sister scripts
144
145## See Also
146
147- [MOOCO-ARCHITECTURE.md](../../../mooco/designs/MOOCO-ARCHITECTURE.md) — Full architecture with event mapping appendix
148- [MOOCO-SCHEMA.md](../../../mooco/designs/MOOCO-SCHEMA.md) — Database schema and MessagePart extensions