v1.12.0: per-task context
A run already plans on context from a brain (the ContextProvider seam). This routes that seam down to every task, so each agent in a parallel or looped plan gets fresh, task-specific context, not one snapshot taken once before planning.
- Per-task context: with a
ContextProvider, the dispatcher pullscontext(task.instruction)for each task before it runs, caps it (like upstream data), injects it into the task's prompt, witnesses it as acontextentry, and chains the task to it, so the record shows exactly what context shaped each task. The defaultNullContextProviderreturns nothing, so this is a no-op until a brain is plugged in, and Forum stands alone. - Peer-composition holds: Forum times, routes, and witnesses (its lane); the brain assesses and supplies (its lane); the injected context is verified (witnessed) and fresh (pulled per task). Forum never generates it. The pull is synchronous per task, so a brain doing heavy I/O serializes the wave; it is meant to be fast and offline.
Pure standard library. 249 tests, plus 2 gated real-model tests.
Install: pip install forum-engine