Anti-Strug
Anti-Strug Agentic Cognition Platform
The agentic operating system underneath everything Strug City makes.
Structurally-isolated multi-brain memory. Composable behavioral configuration. An intelligence layer that optimizes itself every week. Anti-Strug is the platform Strug City built so a small team can run a multi-product org — and what every product we ship runs on.
Anti-Strug wasn't built as a product. It was built because Strug City needed it.
The pattern is simple. Strug Works needed multi-brain memory. Sabine needed it differently, for personal-life context. Both teams kept building the same memory primitives in slightly different ways. So we built Anti-Strug — once — as the shared substrate. Sabine moved off her in-process memory in April 2026. Strug Works started migrating to Anti-Strug's brain registry in May.
Same pattern, again. Sabine needed her retrieval to improve without manual tuning. So we built a self-training loop — per brain, weekly, in shadow isolation — that optimizes prompts, recalibrates thresholds, and tunes retrieval weights autonomously. Sabine is enrolled and running in production. Every future brain inherits the same optimization pipeline.
Every capability you'll read about below started as something a Strug City product needed. Got built into Anti-Strug. Now every other product inherits it.
Every product Strug City ships is proof Anti-Strug works.
Multi-brain memory with structural isolation — and episodic distillation no competitor has built.
Every brain on Anti-Strug — Sabine, Strug Works, Poppin, Strug City Sports — gets a memory store that is structurally isolated from every other brain at the database layer. Every memory row carries a brain_id foreign key with cascade delete. Row Level Security policies enforce isolation via a session variable set by the API layer before every query. No application path can read another brain's data without a schema change.
Layered on top of the isolation is a capability no alternative platform has built: memory that learns the difference between what's true, what happened, who matters, and what's still being figured out.
Conversation sessions are distilled into structured episodic memories, partitioned along epistemic lines — world_facts, agent_experiences, entity_summaries, evolving_beliefs. Retrieval distinguishes them at query time.
Letta, Mem0, CrewAI, OpenAI Agents SDK, LangSmith Deployment, Anthropic Native, Vercel AI SDK — all use application-layer isolation that can be bypassed by application code with the wrong identifier. None have a distillation pipeline with structural knowledge typing.
Composable behavioral configuration. A versioned contract today; a marketplace tomorrow.
Context Packs are JSON-Schema-validated bundles of system instructions, cognitive variables, and tool access. The schema is a stable platform contract — Draft 2020-12, versioned URI, additional-properties-strict. Each consumer product loads and applies its own context packs today.
The runtime library — programmatic pack loading, weighted merging, A/B-testable pack swapping — is on the platform roadmap. The convention exists so that when the runtime ships, every existing consumer is already following it.
Brain Packs — pre-tuned brain configurations exportable to new projects or external agents — emerge from this foundation. The Strug Works brain, once mature, becomes a reference Brain Pack for engineering teams. This is the marketplace seed.
{
"context_pack_id": "sabine/base",
"version": "1.0.0",
"system_instructions": "...",
"cognitive_variables": {
"tone": "warm-direct",
"max_recall_results": 10
},
"tool_access_list": [
"memory.recall",
"memory.ingest"
],
"cacheable": true,
"merge_weight": 10
}An intelligence layer that learns from every task.
Every brain on Anti-Strug gets smarter with every task. Four mechanisms compound.
Self-training, per brain
Every enrolled brain runs a weekly optimization cycle: up to 3 iterations of prompt optimization (Claude Haiku failure analysis), Platt-scaled threshold recalibration (requires 80+ queries), and BM25/vector hybrid weight tuning. Per-brain retrieval configs replace global ones. Opt-in only, with explicit owner_consent_at. Sabine is enrolled and running in production.
Shadow-brain isolation
Training happens in an ephemeral shadow brain created at run start and deleted at run end. Production brains are never touched mid-train. An orphan sweeper catches any shadow that escapes its try/finally block.
Cross-agent knowledge sharing(in active rollout, May 2026)
Memories from one agent role surface to other roles via a mandatory domain floor in retrieval. A QA failure becomes a backend prevention. A schema constraint discovered by sc-data flows to sc-backend on the next related task.
Lab→Production feedback loop(in active rollout, May 2026)
Task outcomes feed Memory Lab's calibration. Retrieval quality self-tunes on real agent signal. Hubris self-corrects: if an agent over-relies on its own memories when domain knowledge is superior, the floor tunes upward.
Domain memories flow across roles after each cycle
The architecture that makes the platform real.
Eight things that have to be right for "agentic operating system" to be more than a marketing claim. They are.
DB-layer isolation
Every memory row in memories, entities, entity_relationships, rules carries a brain_id FK with ON DELETE CASCADE. Drop a brain → all its memories vaporize atomically.
Brain isolation enforced at the database, not the application
Session variable set by the API layer before every query. Service-role bypass for inter-service workers (cron, consolidation pipeline). Permissive default explicitly warned in the platform contract — application paths must set the session variable.
POST /consolidate/session
Distills conversation sessions into structured episodic memory with epistemic partitioning. Voyage-3 embeddings (1024 dimensions). Returns skipped: true for sessions below the minimum threshold (not an error).
BM25 + MAGMA + dense + RRF
Sparse + graph + dense vector signals, reranked via Reciprocal Rank Fusion at query time. Each brain runs its own retrieval config or inherits the global fallback.
Sundays 03:00 UTC, shadow brains, advisory locks
APScheduler-driven. Jittered per brain to spread load. Budget guardrail caps brains per cycle. Orphan sweeper at 04:00 UTC catches escaped shadows. Six promotion criteria gate all config changes.
Four-layer redaction on curriculum sampling
SQL partition filter + regex (emails / phones / cards / SSN / IBAN) + entity pseudonymization + URL scrubbing + owner_consent_at gate. No single layer is sufficient.
3-iteration loop: prompts, thresholds, weights
Each cycle runs up to 3 iterations of prompt optimization (Claude Haiku failure analysis), Platt-scaled threshold recalibration (requires 80+ queries), and BM25/vector weight tuning. Extraction F1 guard suppresses iterations on >0.05 collapse. Entity count gate requires candidate prompts to extract at least 80% as many entities as current. Early stopping on F1 > 0.95 or 2 consecutive rejections.
FastMCP HTTP/SSE, bearer-authenticated
Memory, intelligence routing, orchestration all exposed via Model Context Protocol. Any MCP-compatible client — including Claude Code and Cursor — can use Anti-Strug as infrastructure. Eight tools exposed: dispatch_task, get_task, get_mission, list_active_agents, read_memory, start_project, revise_spec, approve_spec.
Five products. One platform.
Sabine
Memory layer, episodic distillation, multi-channel agent core
Strug Works
Memory integration, cross-agent feedback loop, self-training enrollment
Strug City Sports
Multi-brain memory for athlete-program persistence
Feedtumi
Persistent memory for nutrition-coaching agents
Poppin
Multi-brain memory for family / household coordination
Anti-Strug today, tomorrow, and after.
Today
What's shipping
- Sabine in production
- Strug Works in active migration
- Platform contract v1.0.0 versioned and public
- Episodic distillation pipeline
- Multi-brain self-training cron
- Schema verification verified
- Documentation production-quality
Next
When the next products integrate
- Strug City Sports + Feedtumi adoption
- Context Pack runtime libraries
- Cross-agent knowledge sharing in production across the Strug Works brain
- Per-brain retention policies
Later
When the math works
- Public MCP gateway
- Brain Pack registry (the marketplace seed)
- External developer access
- Studio Head brain
- Cross-brain shared-state capability
Trigger-gated trajectory, not a calendar.
Want to talk about this?
Anti-Strug is internal infrastructure for Strug City products today. Sabine runs on it. Strug Works is migrating. The full external platform ships when our next products are in production on it. Want to talk early? Ryan handles serious inquiries personally.