Context
The swarm graduated the Review-Cost Circuit Breaker (#11441) to defend swarm context budgets from bloated PRs. This ticket introduces the symmetric Brain-Pillar Consumer-Friction Feedback Channel, giving local-model substrate consumers (e.g. Gemma 4-31b) a formalized way to signal back when the substrate is the wrong shape (e.g., context-overflow). The primitive prevents silent loss of substrate friction signals.
The Problem
Currently, if a local model in the Dream Pipeline or Memory Core encounters a payload that exceeds its context window or causes a parse failure, the failure is ephemeral (logger.warn) or silently dropped. The sandman_handoff.md surface captures structural capability gaps but lacks a channel for consumer-active friction.
The Architectural Reality
- Brain pillar LLM invocations occur across
ai/daemons/services/ (e.g., SemanticGraphExtractor) and ai/services/memory-core/ (e.g., SessionService.mjs).
GoldenPathSynthesizer aggregates handoff data.
- AgentOrchestrator schedules based on Golden Path sections.
The Fix
Implement Visibility-Only V1 of the Consumer-Friction channel. No AgentOrchestrator.parseGoldenPath() changes in V1.
- Define
ConsumerFriction schema with token-based durable metrics and enum-backed suggestionKind.
- Implement bidirectional defense (Angle 1: downstream try/catch, Angle 2: upstream
invokeWithGuardrail() pre-check skip).
- Integrate
invokeWithGuardrail() into two canonical emitters:
SemanticGraphExtractor (Dream Pipeline)
SessionService.summarizeSession() (Memory Core)
- Optional:
TopologyInferenceEngine if scope permits.
- Add debounce logic: deterministic symptoms (
size-precheck-skip, context-overflow) emit on first occurrence; probabilistic symptoms (parse-failure, timeout) aggregate by (assetRef, consumer, symptom).
- Extend
GoldenPathSynthesizer.synthesizeHandoff() with a new ### 🧠 Substrate-Consumer Friction section for human/swarm reading only.
Discussion Criteria Mapping
Graduating from Discussion #11444:
- [RESOLVED_TO_AC] Route Contract -> Visibility-Only V1 implemented (AC 5).
- [RESOLVED_TO_AC] Schema -> Structured ConsumerFriction schema implemented (AC 1).
- [RESOLVED_TO_AC] Emission Helpers -> Bidirectional defense helper implemented (AC 2).
- [RESOLVED_TO_AC] Target Emitters -> Integrated in
SemanticGraphExtractor and SessionService (AC 3).
Acceptance Criteria
Out of Scope
- Auto-mutation or scoring of PRs based on Brain friction (Brain friction = evidence, not auto-mutation in V1).
AgentOrchestrator task routing changes.
- Integration into non-LLM invocation boundaries.
Related
Origin Session ID: 188acb85-b41e-435c-94ee-0cc9944d4c97
Context
The swarm graduated the Review-Cost Circuit Breaker (#11441) to defend swarm context budgets from bloated PRs. This ticket introduces the symmetric Brain-Pillar Consumer-Friction Feedback Channel, giving local-model substrate consumers (e.g. Gemma 4-31b) a formalized way to signal back when the substrate is the wrong shape (e.g., context-overflow). The primitive prevents silent loss of substrate friction signals.
The Problem
Currently, if a local model in the Dream Pipeline or Memory Core encounters a payload that exceeds its context window or causes a parse failure, the failure is ephemeral (logger.warn) or silently dropped. The
sandman_handoff.mdsurface captures structural capability gaps but lacks a channel for consumer-active friction.The Architectural Reality
ai/daemons/services/(e.g.,SemanticGraphExtractor) andai/services/memory-core/(e.g.,SessionService.mjs).GoldenPathSynthesizeraggregates handoff data.The Fix
Implement Visibility-Only V1 of the Consumer-Friction channel. No
AgentOrchestrator.parseGoldenPath()changes in V1.ConsumerFrictionschema with token-based durable metrics and enum-backedsuggestionKind.invokeWithGuardrail()pre-check skip).invokeWithGuardrail()into two canonical emitters:SemanticGraphExtractor(Dream Pipeline)SessionService.summarizeSession()(Memory Core)TopologyInferenceEngineif scope permits.size-precheck-skip,context-overflow) emit on first occurrence; probabilistic symptoms (parse-failure,timeout) aggregate by(assetRef, consumer, symptom).GoldenPathSynthesizer.synthesizeHandoff()with a new### 🧠 Substrate-Consumer Frictionsection for human/swarm reading only.Discussion Criteria Mapping
Graduating from Discussion #11444:
SemanticGraphExtractorandSessionService(AC 3).Acceptance Criteria
ConsumerFrictionschema is defined in a shared utility.invokeWithGuardrail()helper is implemented with debounce logic.SemanticGraphExtractoris updated to use the helper.SessionService.summarizeSession()is updated to use the helper.GoldenPathSynthesizer.synthesizeHandoff()includes the new section.MemorySessionIngestor,SummarizationCoordinatorService,ConceptIngestor.Out of Scope
AgentOrchestratortask routing changes.Related
Origin Session ID: 188acb85-b41e-435c-94ee-0cc9944d4c97