docs: the governing principle — every LLM request is reconstructable from the session log
The reconstructability RFC is the principle's home: model-visible ⟺ logged in both forms, the mechanism (boundary derivation + header fold), the enforcement (write-time round-trip guard, the dev invariant), the corollaries ranked (prefix-cache stability first), the MiniCode lineage with the provenance arrow inverted, and the alternatives it beat — including the stateful transmission client whose three-design archaeology lives in PR #162. Placements per the one-home-per-fact taxonomy: a standing-order line in root AGENTS.md (with displacement trims to stay inside the 1,575-word ceiling), the principle statement in architecture.md § Session Log and its Turn Flow lines (condensed to the ratcheted 1,630 ceiling), the request-envelope section in core-data-structures/core.md with the LlmCallConfig paste, both review-requested FIXMEs (FIXME(call-config-shape) beside the type, FIXME(catalog-verbs) at the catalog's drift-gate note), cookbook rows redirected off agent/request (tool filtering → system-prompt/assemble, plan-mode prompt → sections/ inject()), and the llm/stream JSDoc stating the frozen-request contract. RFC index and all generated catalogs regenerated.
This commit is contained in:
@@ -26,10 +26,14 @@ declare module 'cordis' {
|
||||
|
||||
interface Events {
|
||||
/**
|
||||
* Waterfall around every streaming model call (retry, caching, routing).
|
||||
* Waterfall around every streaming model call (retry, replay, routing).
|
||||
* Bound to the {@link LlmService}; call `next()` to reach the resolved
|
||||
* adapter's stream, or yield your own chunks to short-circuit.
|
||||
* @param options - the full request; listeners may rewrite it before delegating.
|
||||
* @param options - the full request. A LOOP-built request arrives
|
||||
* deep-frozen (mutation throws): its content is a pure function of the
|
||||
* session log (the reconstructability RFC), so listeners read it, never
|
||||
* rewrite it. A hand-built one-shot (compaction summarize) is the
|
||||
* caller's own object and stays mutable here.
|
||||
* @mode waterfall
|
||||
*/
|
||||
'llm/stream'(this: LlmService, options: GenerateOptions, next: () => AsyncIterable<StreamChunk>): AsyncIterable<StreamChunk>
|
||||
|
||||
Reference in New Issue
Block a user