This commit serves as the final polish for the context architecture unification.
Key Changes:
- **Lexical Cleansing:** Swept the entire `context` module (including tests, documentation, and snapshot configurations) to replace all legacy terms ('worker', 'ContextWorker', 'StateSnapshotWorker') with their modern unified equivalents ('async pipeline', 'AsyncContextProcessor', 'StateSnapshotAsyncProcessor').
- **Registry Cleanup:** Stripped `registry.ts` of `ContextWorkerDef` maps, unifying around a single, clean processor definition registry.
- **File Reorganization:** Dismantled the monolithic `sidecar/` directory (which initially housed both engine machinery and configuration loaders).
- `pipeline/`: Now houses the core execution engine (`orchestrator`, `inbox`, `contextWorkingBuffer`, `environment`).
- `config/`: Now exclusively contains the dynamic JSON configuration logic (`SidecarLoader`, `profiles`, `schema`, `registry`).
This commit formally unifies the architecture of synchronous and asynchronous context modification.
Key Changes:
- **Unified Triggers:** Triggers are no longer embedded inside individual processors. Instead, they are defined on `PipelineDef` and `AsyncPipelineDef` wrappers.
- **AsyncContextProcessor:** `ContextWorker` has been renamed to `AsyncContextProcessor`. It shares the exact same functional closure pattern as its synchronous sibling: `process(args: ProcessArgs): Promise<void>`.
- **Shared Inbox State:** Both sync and async pipelines now share the exact same `ProcessArgs` interface, which provides unified access to the graph targets, the Working Buffer, and the Inbox.
- **Architecture Doc:** Drafted `docs/context-manager-async-mutations.md` documenting the future V1 Optimistic Concurrency mechanism for async graph mutations.
This commit acts on the design review feedback:
1. Eliminates dynamic JSON registry instantiation for pipelines.
2. Introduces TS ContextProfiles for strongly-typed declarative wiring.
3. Converts ContextProcessors to pure functions returned by factories (HOFs) holding local state via closures.
4. Converts ContextWorkers to simple {start, stop} lifecycle objects.
5. Removes now-obsolete registry and JSON parsing overhead from Orchestrator.