Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.compose.market/llms.txt

Use this file to discover all available pages before exploring further.

Manowar uses a dynamic system block built per turn in framework.ts. The block is small on cold starts and grows only when memory or session context has useful data.

Prompt Sections

SectionSourceIncluded when
Identityagent/identity.ts or agent config fallbackAlways.
PersonaRegistered systemPromptPresent on the agent config.
MemoryretrieveAgentMemory()Ranked memory exists for the user turn.
SessionPer-request execution contextSession budget, permissions, or Backpack accounts exist.
Capability sentenceagent/tools/surface.tsAlways.

Memory Budget

The runtime retrieves all six layers but injects only compact results:
SettingValue
Layersworking, scene, graph, patterns, archives, vectors
Retrieval limit12
Max injected items6
Max chars per item120
Prompt budget900 chars
The broader memory summary formatter supports a larger 1,800 character budget for non-turn uses. The agent turn path uses the tighter 900 character budget.

Compacting Rules

Memory is deduped by fingerprint, ranked by layer priority, semantic score, query overlap, confidence, recency, and access count, then packed by score-per-character. This keeps the injected context short without throwing away the layer signal.

Comparison

SystemContext strategyManowar strategy
LangGraphState is graph-defined and persisted through checkpointers/stores.The native turn prompt receives compact ranked context from the memory system.
Google ADKSession, State, and Memory manage conversational context.Manowar scopes memory by agent wallet, user, thread, workflow, and local HAI id.
OpenAI Agents SDKThe app supplies instructions, tools, handoffs, guardrails, and context.The runtime assembles identity, memory, session, and tools for deployed Compose agents.