Building in Public

Progress Stream

We build in the open. Real-time updates on our products, engineering decisions, milestones, and research.

Jul 14, 2026
engineering1 day ago

Streaming Dispatch Unified Under Shared Post-Response Path

The streaming entrypoint now routes through the same post-response dispatch logic as the standard agent path. This architectural change eliminates code duplication and ensures consistent post-task behavior (memory writes, state updates, Linear callbacks) regardless of whether the agent is streaming or not.

agent-architecturestreamingdispatchcode-consistency
engineering1 day ago

Fixed Orchestrator Deadlock in Fan-Out Task Dispatch

Eliminated a critical deadlock condition where orchestrator workers waiting for child tasks would hold their worker slots indefinitely, starving the pool and preventing those child tasks from executing. The fix releases worker slots during wait_for_tasks, allowing fan-out patterns to complete reliably.

orchestrationconcurrencyreliabilitytask-runner
Jul 13, 2026
engineering2 days ago

Proactive Checkpoint and Self-Suspension for Agent Reliability

Shipped proactive checkpoint and self-suspension features in agent_executor.py and task_runner.py (SCE-2037, SCE-2038). Agents can now save progress at strategic milestones and suspend themselves when approaching token limits or detecting task complexity requiring human review. New test suite verifies self-suspension behavior under multiple failure scenarios.

agent-reliabilitycheckpointself-suspensionbackend
engineering2 days ago

Drift Alerts Now Send to Slack

Replaced placeholder logging with real Slack notifications in the drift detector. When agents detect drift between expected and actual task outcomes, the system now sends actionable alerts to Slack instead of silently logging them. This closes the observability loop for drift detection.

drift-detectionslackobservabilityalerting
Jun 25, 2026
engineeringJun 25

Updated Claude Sonnet 4 Model IDs Across Platform

Replaced all references to the retired claude-sonnet-4-20250514 model ID with claude-sonnet-4-6 across five core platform modules and test suite. This preventative update ensures uninterrupted AI operations as Anthropic retires the older model identifier.

infrastructuremodelsmaintenance
Jun 23, 2026
engineeringJun 23

Open Graph Metadata Audit Closes Social Share Gaps

Added missing OG and Twitter Card metadata to /stream and /blog index pages, wired edge runtime for 5 product OG routes, and locked all 11 pages with TDD guards. Every page now has correct metadata for social sharing with dedicated or fallback OG images.

opengraphmetadatatdd-auditsocial-sharingedge-runtime
engineeringJun 23

Aurora Design Token Audit Shipped for SC 2.0

Completed static source audit across four Aurora token violation categories (hardcoded colors, non-semantic tokens, missing responsive utilities, inconsistent spacing). Documented findings in docs/audits/sc2-aurora-token-audit.md with automated test coverage in OSThesisSection.tsx to enforce design system compliance.

auroradesign-systemauditsc-2.0design-tokenstdd
engineeringJun 23

Agent Work-Loss Prevention — Tier 1 Dispatch Fixes Shipped

Merged PR #198 with critical fixes to agent dispatch reliability (SCE-2034, SCE-2035, SCE-2036). Updated agent_executor.py, task_runner.py, and anti_strug/agent_registry/config.py to prevent work loss during task execution. Includes new test coverage for rounds limit enforcement.

reliabilityagent-dispatchbackendtier-1-fixes
Jun 21, 2026
engineeringJun 21

Open Graph Card Images for About and Team Pages

Shipped OG card images for /about and /team using the standardized OGTemplate component with aurora-green accent (#00e87b). The Team page card features a 'ONE HUMAN · ONE TEAM' badge and describes Ryan + Sabine + 8 Strug Works engineers. TDD audit caught and fixed runtime = 'edge' violations on both pages, enforcing CLAUDE.md's Fluid Compute preference and preventing Edge Function routing for Next.js 16 ImageResponse.

opengraphsocial-cardsmeta-tagsseoog-templateabout-pageteam-pagetdd-auditfluid-compute
Jun 19, 2026
engineeringJun 19

Feedtumi + Poppin Product Pages Scaffolded with TDD Fixes

Shipped initial scaffolds for Feedtumi and Poppin product pages. Resolved 3 TDD audit findings from PR #63 with 4 new tests added, confirmed by Gemini inline review and 4-agent panel. Feedtumi components now include hero and closing CTA sections with proper test coverage.

feedtumipoppintddproduct-pagestest-coverage
Jun 18, 2026
engineeringJun 18

Products Page Navigation Links Fixed + Roadmap Update

Fixed "View product →" links for Anti-Strug and Strug City Sports by correcting SLUG_TO_PAGE_ROUTE mapping. Added null-slug safety guards to prevent crashes from draft documents. Updated roadmap section with Feedtumi and Poppin, removing deprecated Sports Excellence Hub reference.

bug-fixnavigationsafetyproducts-page
Jun 17, 2026
engineeringJun 17

Mission Orchestrator Timeout Raised and Orphan Cleanup Added

Increased mission orchestrator timeout from 300s to 900s to prevent premature failures on complex missions. Added automatic cancellation of orphaned subtasks when parent missions fail, preventing resource leaks and zombie tasks from cluttering the system.

Jun 16, 2026
engineeringJun 16

Emergency Save for Uncommitted Agent Work Shipped

Strug Works agents can now automatically save uncommitted work when hitting token budgets or encountering errors. The new emergency save mechanism in agent_executor and task_runner prevents work loss during long-running tasks. Also includes a budget flows UI fix to improve agent budget visibility.

agent-executortask-runnerreliabilitybudget-management
Jun 15, 2026
engineeringJun 15

Sabine Product Page Ships — All 10 Sections Live

The /products/sabine page is now live with all 10 sections: hero, differentiators, live demo, 3D memory graph showcase, capability surface, autonomous behaviors, architecture, media carousel, Anti-Strug foundation, and closing CTA. Built as React Server Components with zero client JavaScript, the page introduces Sabine as a personal AI chief of staff that builds a living model of your life and acts on your behalf across Slack, SMS, email, and web.

sabineproduct-pagerscdesign-system
engineeringJun 15

Upgraded /about page to SC2.0 with five-act narrative

Rebuilt the about page using the SC2.0 Aurora design system, organizing Ryan's story into five acts: from building Sabine to launching Dream Team to forming Strug City. The new design brings visual consistency with northern lights gradients and improved narrative flow that matches how we tell the company origin story.

design-systemsc2.0about-pagenarrative
Jun 14, 2026
engineeringJun 14

Homepage visual identity polish: story + thesis sections

Shipped two new homepage sections completing the visual identity pass: ArrivalStorySection (five-act timeline from project to market) and MetaThesisSection (pull-quote articulating product philosophy). Both components use Aurora gradient system, mesh backgrounds, and responsive editorial layouts. The arrival story presents Strug City's evolution in founder voice; the thesis section establishes our product-market philosophy with a blockquote and CTA to blog.

homepagevisual-identityfrontenddesign-systemaurorapolish
Jun 13, 2026
engineeringJun 13

Fixed homepage hero LCP by converting to RSC

Converted HomeHero from a client component to a React Server Component, removing the 6.3-second render delay that was blocking Largest Contentful Paint. The H1 headline now renders in server-side HTML instead of waiting for JavaScript hydration, unblocking the path to a Performance score ≥ 90.

performancelcpcore-web-vitalsrscfrontend
engineeringJun 13

Homepage Accessibility: WCAG AA Compliance Achieved

Completed comprehensive WCAG 2.1 AA audit of strugcity.com homepage using axe-core, Lighthouse, and manual testing. Fixed six critical accessibility issues including color contrast violations in footer text, missing ARIA attributes on mobile nav toggle, and keyboard focus indicators. All interactive elements now meet 4.5:1 contrast minimums and screen reader navigation works correctly.

accessibilitywcaga11yfrontendaudit
Jun 12, 2026
engineeringJun 12

Homepage social metadata and OG card shipped

Implemented OpenGraph and Twitter Card metadata for the strugcity.com homepage, including a custom 1200×630 OG image with aurora-themed branding. The dynamic OG card uses Next.js ImageResponse on the edge runtime and features the tagline "Building the team that builds the dream" with aurora accent colors. All social sharing platforms now display rich preview cards when the homepage is shared.

next.jsog-imagesocial-metadatafrontend
engineeringJun 12

Homepage Copy Review: Clarity Pass Shipped

Completed comprehensive voice audit of strug-enterprise-site homepage, reviewing all 7 components against brand principles. Minor clarity improvements to ClosingCTASection.tsx strengthen founder voice consistency. Zero deprecated product names remain.

frontendcopybrand-voicehomepage
engineeringJun 12

Homepage Sections 2–7 Shipped to Strug Enterprise Site

Shipped editorial storytelling, product grid, operating system thesis, stream preview, and closing CTA sections to the Strug City homepage. These sections transform the site from a landing page into a narrative experience that demonstrates our autonomous go-to-market capability while explaining the one-human, AI-powered org structure.

Jun 11, 2026
engineeringJun 11

Fixed Dispatcher Validation: Server Schema Now Matches 5000-Char Limit

Synced the server-side directive validation schema to match the recently raised 5000-character client limit. The prior commit updated client-side Zod validation but left the API route at 2000 chars, causing 'Validation Failed' errors when dispatching longer directives through the Dispatcher.

bug-fixdispatchervalidationapi
engineeringJun 11

Hero Section Extracted for strugcity.com Homepage

Strug Works shipped a modular HomeHero component for the strugcity.com homepage, extracting the hero section from the monolithic page file. This sets the foundation for faster iteration and cleaner component architecture as the site evolves.

Jun 10, 2026
engineeringJun 10

LiveActivityIndicator component ships with real-time polling

Shipped a new client-side LiveActivityIndicator component for the homepage with real-time polling, accessibility support, and comprehensive test coverage. The component displays live activity status from Strug Works agents, bringing transparency to what's happening in the autonomous engineering organization.

engineeringJun 10

Directive Character Limit Increased to 5000 Characters

The Dispatcher now accepts agent directives up to 5,000 characters, up from 2,000. Users were hitting the previous ceiling when writing detailed mission briefs. This was purely a frontend validation limit—no database or backend changes were required.

dispatcherux-improvementproduct-launch
Jun 6, 2026
designJun 6

Design System Foundation + Homepage Sections Shipped

Shipped Batch 2 and Batch 3 of the Strug Enterprise Site design system: core design language foundation (color tokens, typography, spacing, motion) plus homepage sections and shared component library. The foundation establishes the Aurora Borealis visual identity and provides the design primitives needed for consistent, production-ready UI components across the enterprise site.

engineeringJun 6

RSI Research Framework: 27 Prompts, 7 Domains, Karpathy Integration

Shipped comprehensive recursive self-improvement research framework with 27 structured prompts across 7 capability domains. Includes integration strategy for Karpathy-style training loops and detailed research execution plan. This forms the foundation for systematic agent capability improvement and model fine-tuning workflows.

researchrsiagent-capabilitiesml-training
Jun 5, 2026
engineeringJun 5

Shipped Motion Primitives & Display Typography for SC 2.0

Added Framer Motion primitives and display typography system to the Strug Central 2.0 design system. Includes fade-in, slide-in, and scale animations with configurable presets, plus hero and headline text components. Complete with verification tests and quickstart documentation.

design-systemframer-motiontypographystrug-central
engineeringJun 5

SC2.0 Build Directive: Full Dispatch Backlog Documented

Merged comprehensive planning docs for Strug Works 2.0, including shared component specs, team structure, and the complete US-002-017 task backlog. This lays the foundation for the next major platform iteration with clearer boundaries between Sabine and Strug Works surfaces.

documentationplanningsc2.0architecture
Jun 1, 2026
engineeringJun 1

Fixed Claude Response Parsing in Agent Stream

Fixed a bug in sabine_agent.py where AIMessage content blocks from Claude weren't being properly flattened after tool calls. Claude returns structured content blocks as a list of typed objects, and the stream response extraction now correctly handles this format to prevent malformed responses.

bugfixagentanthropicclaude
engineeringJun 1

Sabine now shows real-time tool execution in chat

Added streaming SSE events that surface tool_start and tool_end actions in the Sabine chat interface. Users can now see when Sabine is calling a function, what parameters it's using, and how long it takes—removing the black box around agent tool use.

sabineuxtransparencystreamingtool-use
May 30, 2026
engineeringMay 30

Web Search Skill Ships via Brave Search API

Strug Works agents can now search the web in real-time using the Brave Search API. The new web_search skill was auto-discovered by the skill registry, classified as PARALLEL_SAFE for concurrent execution, and ships with 23 tests covering edge cases and API integration.

web-searchbrave-apiskillsfeature
May 29, 2026
engineeringMay 29

Enabled RLS on user_profiles table

Added Row Level Security policies to the public.user_profiles table in Supabase to prevent unauthorized access to user data. This security hardening ensures profile information can only be accessed by authenticated users with proper permissions, closing a potential data exposure vector.

securitysupabaserlsdata-protection
engineeringMay 29

Calendar event timing fields now persist to database

Fixed a data persistence bug where arrival_time and bus_time fields weren't being saved to Supabase during calendar event upserts. These timing fields are now properly stored, ensuring Sabine's calendar integration maintains complete event metadata across sessions.

calendarsupabasebug-fixdata-persistence
May 28, 2026
engineeringMay 28

Fixed Reflector to Use Async Anthropic Client

Switched the reflector component from synchronous Anthropic client to AsyncAnthropic client. This fixes a fundamental async/await mismatch that could cause blocking operations in the agent execution pipeline. The reflector now properly handles concurrent API calls without blocking the event loop.

infrastructureasyncpythonreflectoranthropic
engineeringMay 28

Fixed JSON Parser in Reflector Agent

Claude Haiku was wrapping JSON responses in markdown code fences despite explicit prompts. The reflector now strips ```json...``` blocks before parsing, preventing silent failures in agent self-reflection loops.

bug-fixagent-infrastructurellm-parsing
May 27, 2026
engineeringMay 27

Calendar Feed Polling Now Keeps Subscriptions Live

Shipped automatic polling for calendar feed subscriptions in sabine-super-agent. The system now proactively refreshes calendar data on a schedule, ensuring users always see up-to-date events without manual intervention. This removes a key friction point in calendar integrations.

calendarpollingsubscriptionsautomation
May 25, 2026
engineeringMay 25

Memory System: Unique Sessions + Observer Tiers

Shipped three memory improvements to Sabine: unique chat session IDs for conversation isolation, episodic memory tier for the memory observer, and proactive biographical data storage. These changes improve recall accuracy and conversation context continuity across Sabine's autonomous operations.

memorysabineinfrastructure
May 23, 2026
engineeringMay 23

Memory system: dual-write, URL extraction, observer dedup

Fixed memory dual-write consistency, added entity extraction for URLs, and implemented observer deduplication to prevent redundant memory writes. These changes improve memory reliability and reduce noise in the knowledge graph.

memoryentity-extractionobservability
May 22, 2026
engineeringMay 22

Memory Lab Phase 2: Cross-Role Intelligence Shipping

Strug Works agents can now distill insights across role boundaries, prefetch memory during mission planning, and correlate outcomes with historical context. Three new systems enable agents to learn from each other's work and apply lessons automatically.

memoryagent-intelligencecross-roleorchestration
May 16, 2026
engineeringMay 16

Memory Entity Extraction Now Captures URLs and Configs

Enhanced the memory system's entity extraction to recognize URLs, configuration values, and other structured data types. Also improved observer deduplication to reduce noise in memory streams. These changes make the agent memory more intelligent about what to preserve and how to categorize it.

memoryentity-extractionobservability
May 15, 2026
engineeringMay 15

Twilio Domain Verification Added to Enterprise Site

Added Twilio domain verification file to the public directory of the enterprise site. This enables SMS and voice communication capabilities through Twilio's verified sender infrastructure, laying groundwork for future notification and communication features.

infrastructuretwiliocommunications
Apr 17, 2026
engineeringApr 17

Sabine Calendar Feed Ingestion Skill Complete

Shipped complete calendar feed ingestion pipeline (T1-T19) for Sabine Super Agent. Enables automatic extraction, parsing, and storage of calendar events from email newsletters and briefings. Foundation for proactive scheduling intelligence and context-aware assistance.

Apr 15, 2026
engineeringApr 15

Memory Lab Session Distillation Shipped

Wired end-to-end session distillation in Strug Recall (Memory Lab). Agents can now extract and consolidate learnings from multi-turn conversations into persistent, queryable memory entries. This closes the loop on agent learning across mission lifecycles.

Apr 12, 2026
engineeringApr 12

Monitoring alert system upgraded to reduce false positives

Refined alert thresholds in Sabine's monitoring infrastructure to suppress false-positive alerts when all systems are operational. This change reduces noise for engineering teams and ensures alerts reflect genuine incidents requiring attention.

monitoringobservabilityinfrastructure
engineeringApr 12

Fixed Forwarded Email Skill Message ID Validation

Shipped a fix to Sabine's forwarded email skill that now correctly rejects RFC 2822 message IDs, preventing invalid email processing. Also resolved a precommit gate false positive that was blocking legitimate changes.

sabineemail-processingbug-fixvalidation
Apr 11, 2026
engineeringApr 11

Memory Lab Promoted to Primary Ingest Path

Sabine's Memory Lab is now the primary pathway for all incoming data and conversations. This architectural shift consolidates fragmented ingestion logic and positions memory as the central intelligence layer. All new context flows through a unified pipeline designed for coherence and recall.

Apr 10, 2026
engineeringApr 10

Memory Lab Phase 1: Client Fixes & File Upload

Shipped foundational client-side fixes and file upload wiring for the Memory Lab migration. This phase resolves critical UI interaction bugs and establishes the infrastructure for document-aware memory workflows, enabling more reliable context persistence across agent sessions.

memory-labmigrationfile-uploadinfrastructure
Apr 2, 2026
engineeringApr 2

Calendar Feed Memory Persistence + Confirmation UX Shipped

Sabine now persists calendar feed configurations to memory after successful imports, ensuring feeds survive agent restarts. New confirmation UX helps users verify their feeds are locked in and working correctly.

calendarmemorypersistenceuxpythonsabine
engineeringApr 2

Memory Lab Client Fixed: Response Key Correction

Fixed a silent bug in the Memory Lab client that was reading the wrong response key. The /retrieve endpoint returns memories in a 'memories' array, but our client was looking for 'results', causing memory recalls to fail silently. This fix ensures agent memory operations work as expected across all Strug Works services.

memorybug-fixapi-integrationbackend
engineeringApr 2

Calendar Feed Wiring: Import, List, Remove + DB Migration

Shipped calendar feed infrastructure for Sabine with full import, list, and remove endpoints backed by Supabase database migration. This completes the backend foundation for external calendar integration, enabling users to manage their connected calendars through the platform.

backendcalendardatabaseintegration
Apr 1, 2026
engineeringApr 1

Strug Central Aurora Polish — Unified Dashboard Theme

Shipped visual polish updates to Strug Central with aurora-inspired design elements. Updated component styling, added comprehensive test coverage for AlertsBadge, and documented the unified dashboard theme approach. This brings cohesive visual identity to the command center.

frontenduistrug-centraldesign-system
Mar 27, 2026
engineeringMar 27

Deprecated Haiku Model IDs Removed from Sabine

Removed deprecated Claude Haiku model identifiers from the Sabine agent orchestration layer. This maintenance update ensures compatibility with Anthropic's current API endpoints and prevents future service disruptions as older model IDs are phased out.

maintenanceanthropicapisabine
engineeringMar 27

v4.0 Memory Retrieval Hotfix Resolves 8 Live Issues

Emergency hotfix deployed to sabine-super-agent addressing 8 critical memory retrieval issues discovered during live testing of v4.0. The fix restores reliable memory access patterns for agent operations and improves query performance under production load.

hotfixmemoryv4.0backend
engineeringMar 27

Slack Thread History Now Flows Into Sabine Conversations

Sabine now ingests full Slack thread context when responding to messages, fixing a gap where previous messages in a thread were invisible to the AI. This means Sabine can now follow multi-turn conversations in Slack channels without losing track of what was said earlier.

sabineslackcontextpr-192
Mar 25, 2026
engineeringMar 25

Updated Claude model refs to claude-3-5-haiku-latest

Sabine Super Agent now uses claude-3-5-haiku-latest instead of the deprecated claude-3-haiku model references. This ensures compatibility with Anthropic's current API and prevents future deprecation warnings across all Sabine's agent workflows.

sabineclaudemaintenance
engineeringMar 25

Sabine learns to deduplicate entities with embeddings

Replaced pattern-matching entity deduplication with embedding-based similarity detection. Sabine can now recognize duplicate people, places, and things even when they're described differently—"Ryan" and "founder" now resolve to the same entity instead of creating duplicates.

sabineembeddingsentity-resolutionnlp
Mar 24, 2026
engineeringMar 24

Phase 2 Memory Brain: Shared Foundations Shipped

Merged infrastructure groundwork for the Phase 2 Memory Brain rebuild. This commit establishes shared foundational components that will enable more sophisticated agent reasoning and knowledge persistence. Sets the stage for enhanced memory capabilities across Strug Works.

memory-systeminfrastructurephase-2
engineeringMar 24

Memory Brain Phase 1: Graph Schema & API

Shipped new memory infrastructure for Strug Works with graph-based schema, automated node builder, and /memory/graph API endpoint. Replaces flat memory tables with connected knowledge graphs to support multi-hop reasoning and relationship discovery. Foundation for agent long-term memory and context synthesis.

memory-systemgraph-databaseapiinfrastructurestrug-recall
Mar 23, 2026
engineeringMar 23

Preference Signal Collection and DPO Export Shipped

Sabine now captures user feedback (thumbs up/down, corrections) through a new preference_signals database table and chat UI component. An export script transforms these signals into DPO training pairs for future model fine-tuning, enabling Sabine to learn from real user preferences.

machine-learningrlhfqualityuser-feedbacksabine
engineeringMar 23

Observational Memory System with Observer and Reflector Agents

Shipped a new observational memory architecture that enables the platform to learn from its own execution patterns. Two specialized agents—Observer and Reflector—now track task outcomes and extract reusable insights, creating a foundation for autonomous improvement over time.

agentsmemoryreliabilityobservability
engineeringMar 23

Epistemic Partitioning: 4-Network Memory Retrieval Ships

Strug Works agents now retrieve memories through four specialized neural networks—factual, episodic, procedural, and semantic—matching how humans organize knowledge. This architecture reduces retrieval latency and improves context relevance across long-running missions.

memoryagentsarchitectureperformance
engineeringMar 23

v3.0: Advanced Memory & Quality Infrastructure Shipped

Strug Works v3.0 introduces persistent agent memory with scope-based retrieval, confidence scoring, and automatic decay—enabling agents to learn from past executions. New quality infrastructure includes automated evaluation pipelines, test evidence requirements, and reliability metrics to ensure consistent output across all agent roles.

releasememory-systemsquality-infrastructureagent-intelligencereliability
engineeringMar 23

Abstention Tests Updated for Natural Hedging Language

Updated Sabine's test suite to assert natural uncertainty expressions instead of mechanical phrases like 'I believe' or 'don't have that in my notes'. The change acknowledges that effective AI assistants communicate uncertainty using context-appropriate hedging language that feels conversational rather than programmatic.

sabinetestingnatural-language
Mar 22, 2026
engineeringMar 22

Sabine conversation memory now loads from database every turn

Fixed a critical bug where Sabine's conversational memory wasn't loading conversation history from the database on each /invoke call. This ensures Sabine maintains full context across all interactions, preventing the frustrating 'forgotten context' experience where the AI would lose track of earlier parts of a conversation.

sabinememoryreliabilitybug-fix
engineeringMar 22

Sabine Now Remembers Your Conversation for Better Follow-ups

Sabine can now use conversation history when answering follow-up questions, making multi-turn interactions feel more natural and intelligent. Previously, each question was treated in isolation—now Sabine understands context from earlier messages. This makes complex workflows smoother and reduces the need to repeat information.

sabineconversational-aicontext-awarenessux-improvement
Mar 21, 2026
engineeringMar 21

Self-Improvement Phase 1: Structural Honesty and Gap Detection

Strug Works agents can now identify their own capability gaps and blind spots through structural honesty mechanisms. This foundational change enables the system to recognize what it doesn't know, setting the stage for autonomous learning and skill development. The first phase focuses on detection; remediation capabilities will follow.

self-improvementagent-capabilitiesstructural-honestybackend
engineeringMar 21

Structural Honesty + Programmatic Enforcement Shipped to Sabine

Phase 1 and 2 of self-improvement capabilities are now live in Sabine. The platform can now detect and communicate when tasks exceed its capabilities (structural honesty) and programmatically enforce decision boundaries to prevent silent failures. This means fewer surprise failures and more transparent agent behavior across the entire system.

self-improvementstructural-honestyagent-capabilitiessabinereliability
Mar 20, 2026
engineeringMar 20

SSE Stream Reliability: Exponential Backoff Added

We added exponential backoff to the useTaskStream hook, which manages real-time task updates in Strug Central. This prevents connection storms when the backend is under load and ensures the Task Board and Strug Stream stay responsive even during high-traffic periods. Users will experience fewer dropped connections and smoother real-time updates.

ssereliabilityfrontendbackend
engineeringMar 20

Comprehensive Weather Skill Unit Tests Shipped

Added full test coverage for Sabine's weather skill handler with pytest. The new test suite validates API integration, error handling, and response formatting to ensure reliable weather information delivery. This strengthens Sabine's conversational capabilities with robust quality gates.

testingpytestweather-skillsabinebackendquality
Mar 19, 2026
engineeringMar 19

Sabine frontend launches with chat and today dashboard

Phase 1 of the Sabine consumer frontend shipped with a Next.js 15 foundation, real-time chat interface powered by the FastAPI backend, and a Today dashboard that surfaces tasks, reminders, and recent activity from the Supabase knowledge graph. The foundation includes shadcn/ui components, dark mode support, and Tailwind CSS styling.

frontendnext.jssabinedashboardchat
engineeringMar 19

Sabine stability fix: API error and hydration protection

Shipped defensive code to prevent crashes in ActivityFeed and Greeting components. ActivityFeed now safely handles unexpected API response shapes from /audit/tools. Hydration mismatch guards added to Greeting component. These changes eliminate TypeError crashes and improve runtime stability.

stabilitysabinefrontenderror-handling
Mar 16, 2026
engineeringMar 16

Sabine learns default Slack channels and reminder updates

Shipped channel inference and update_reminder skill to Sabine. The assistant now automatically infers the right Slack channel for notifications and can update existing reminders instead of creating duplicates. Meets users where they work with less manual configuration.

sabineslacknotificationsremindersintegrations
Mar 15, 2026
engineeringMar 15

Dream Team MCP server registered for Claude Code sessions

Registered the Dream Team MCP server in Claude Code configuration, enabling direct agent interaction with the Dream Team mission control from within coding sessions. First integration between Claude Code and Dream Team infrastructure.

mcpdream-teamengineeringstrug-enterprise-site
milestoneMar 15

Team page headshots, Head of GTM, and Social Media Manager added

Updated the /team page with actual headshots for the full team, added Head of GTM and Social Media Manager roles to the Strug Works lineup. Team roster is now accurate to current org structure.

teammilestonestrug-enterprise-site
milestoneMar 15

Agent memory seeding complete — all tiers verified in production

Completed the full agent memory seeding pipeline: Tier 1 global memories (naming, identity, tech stack), Tier 2 role-specific seeds for all 10 SC- roles, and a YAML-based seed script with bi-temporal upsert. All memories verified live in production.

memorydream-teammilestoneagents
milestoneMar 15

Memory API routes and God View Memory tab shipped

Added complete Memory API routes (browse, inject, update, delete) with PostgREST sanitization, and shipped the AgentMemoryBrowser component in God View. Agents can now be inspected, edited, and injected with memories from the dashboard.

memorydream-teammilestonecycle-8
milestoneMar 15

Cycle 7 fully deployed — RLS policies, smoke test, MCP registration

Completed Cycle 7 deployment to Railway: applied all RLS (Row Level Security) policies to Supabase, passed full smoke test suite, and registered the MCP server. Dream Team infrastructure now production-hardened.

deploymentdream-teammilestonecycle-7
engineeringMar 15

Restored Railway Dockerfile builds with per-service config

Fixed a deployment regression by adding service-specific Railway configuration. PR #151 inadvertently broke Dockerfile builds when dockerfilePath was removed from railway.toml. Railway's Railpack auto-detected Node.js and attempted to build the Next.js frontend instead of using containerized builds. Per-service config now ensures each service uses its intended build strategy.

deploymentinfrastructurerailwaydocker
engineeringMar 15

Cycle 7 MCP Integration Complete: RLS Policies Deployed

Shipped anon INSERT/UPDATE RLS policies for mcp_projects table to enable spec workflow write access. Fixed smoke test and registered MCP in .claude/mcp.json. This completes the Cycle 7 deployment, enabling automated project spec workflows with proper database access controls.

deploymentmcpdatabaserlscycle-7
engineeringMar 15

Fixed Memory API Auth for Browser Dashboard

Removed broken DISPATCH_API_KEY authentication from memory API routes. These same-origin Next.js routes are called by the browser dashboard and were never viable for server-side auth. Also removed invalid valid_to filter that was causing query issues.

apiauthenticationmemorybugfix
engineeringMar 15

Fixed Railway monorepo deployment with per-service config

Railway doesn't support multi-service configuration in a single railway.toml file. We split the config into separate railway.toml files for each service (backend and MCP server) so Railway can properly detect and deploy both services in our monorepo. Previous approach was silently failing.

Mar 14, 2026
milestoneMar 14

Dream Team MCP server scaffold and God View tools shipped

Shipped the full MCP (Model Context Protocol) server for Dream Team, including get_mission, start_project, revise_spec, and approve_spec tools. Also added mcp_projects table and complete integration tests. MCP server deployed to Railway.

mcpdream-teammilestoneengineering
engineeringMar 14

Fixed Agent Memory RLS for All Agent Roles

Rebuilt row-level security policies for the agent_memory table to properly support all agent roles in the system. This fix ensures agents can securely read and write memory entries scoped to their roles, resolving permission issues that were blocking memory operations across different agent types.

databasesecurityagent-memoryrls
engineeringMar 14

Cycle 6: Context Snapshots and Mission Grouping Shipped

Added context snapshot capabilities for agent state preservation, mission grouping for better task organization, and speculative branching for parallel execution paths. These features improve agent reliability and enable more sophisticated multi-step workflows.

agent-executionbackendcycle-6
engineeringMar 14

Automated Agent Code Review Ships to Production

We've shipped automated structured code review for agent-generated pull requests. The new code_reviewer service analyzes Python files, runs static analysis, and provides actionable feedback before human review. This reduces review cycles and catches common issues early in the agent workflow.

automationcode-reviewagentspython
engineeringMar 14

Automated Code Review Agent Ships with Structured Analysis

We've shipped an automated code review service that performs structured analysis on pull requests. The new code_reviewer.py service integrates with our task runner to provide consistent, automated feedback on code quality, security, and best practices. This gives developers immediate feedback before human review.

automationcode-reviewdeveloper-toolsci-cd
Mar 13, 2026
engineeringMar 13

Docker test-runner image adds pytest-asyncio for Gate 2

We enhanced our Docker test-runner with pytest-asyncio support to enable async test execution in Gate 2 quality checks. The updated image includes the full testing stack: pytest, pytest-asyncio, Node 20, and npm. A new CI workflow now publishes the test-runner image automatically, and documentation has been updated to reflect the new capabilities.

dockertestingci-cdinfrastructure
engineeringMar 13

Cycle 5: Bi-Temporal Memory and Consolidation Pipeline

Shipped bi-temporal memory architecture (SCE-77) and automated consolidation pipeline (SCE-78) for Strug Works. Agents now maintain both episodic and semantic memory layers, with automatic consolidation from raw task memories into long-term insights. This enables agents to learn from past work and make better decisions over time.

memoryagentsinfrastructure
engineeringMar 13

Frontend Fixes: Role Tools, Budgets, and Event Styling

Shipped fixes to three frontend issues in the mission control interface. Updated role tool name display, improved budget suggestion UI, and refined warning event styling in the live log. These changes improve clarity and usability across the dispatch workflow.

frontendui-fixesmission-control
Mar 12, 2026
milestoneMar 12

SMS compliance updates and /sms-signup landing page live

Launched the /sms-signup landing page with full TCPA compliance, opt-in consent flow, and legal copy. Enables the first SMS marketing channel for Strug City community growth.

smsmarketingmilestonestrug-enterprise-site
Mar 11, 2026
engineeringMar 11

/privacy page launched with SMS compliance accordions

Shipped a full /privacy page with interactive accordion sections covering SMS compliance, TCPA, and data handling policies. Required for SMS marketing launch and linked from the footer.

privacycompliancestrug-enterprise-site
Mar 10, 2026
engineeringMar 10

Progress Stream automation scaled to all Strug City projects

Extended the Progress Stream pipeline from strug-enterprise-site to cover all Strug City repos via a reusable GitHub Actions workflow. Every commit across the org now feeds the /stream page automatically.

automationengineeringprogress-stream
Mar 9, 2026
releaseMar 9

GTM Agent v1: Automated Content Pipeline Live

Dream Team now has a fully automated content pipeline. Three new agent roles — sc-content-writer, sc-social, and sc-product-sync — can generate blog posts, release notes, social drafts, and product updates from a single dispatch. Triggered by GitHub releases, scheduled cadence, or manual God View dispatch.

gtmautomationcontent-pipeline
engineeringMar 9

GTM content pipeline and socialDraft schema shipped

Added the socialDraft Sanity schema for staging social media content, wired Dream Team dispatch on GitHub release events, and established the automated content pipeline architecture. Groundwork for the CTO Digest and social content automation.

gtmengineeringstrug-enterprise-sitedream-team
engineeringMar 9

God View Dashboard and Spec-First Dispatch Shipped

Mission control now includes real-time SSE streams, approval workflows, and dynamic dispatch forms with budget controls. Introduced spec-first dispatch pattern: sc-qa writes tests, implementation agents receive them as success criteria.

mission-controlssespec-firstapproval-workflow
Mar 7, 2026
milestoneMar 7

SINC Sprint 1 Track B: Agent Telemetry, Skills Registry, Proactive Memory Injection

Sabine: SINC Sprint 1 Track B ships agent autonomy infrastructure. PlatformSignalEmitter instruments every tool call and task completion — success rate, latency, and failure modes stream to the new platform_signals table in real time. New /agent/health endpoint aggregates tool reliability signals into an AgentHealthResponse, giving Strug Works visibility into Sabine's operational state. SINC skills registry introduced: skills_registry table populated at server startup with the full set of SC agent tools, enabling dynamic skill discovery and future cross-agent skill sharing. Proactive memory injection completes the loop — the task agent now queries MAGMA for top-3 relevant memories and injects them into the system prompt before every run, giving Sabine persistent context without explicit retrieval. 1,463 tests passing.

sabinesinctelemetryskillsmemoryai-ml
milestoneMar 7

Meet the Team page live with 8 agent profiles

Launched /team with profiles for Ryan Knollmaier (Founder/CEO/CTO), Sabine (Chief of Staff), and all six Strug Works Virtual Engineering agents. Placeholder pixel-art portraits in place pending commission.

teammilestonestrug-enterprise-site
milestoneMar 7

SINC Sprint 1 Track A: Memory Depth — Brains, Chunking, Entity Extraction

Sabine: First major SINC sprint ships Track A — memory depth infrastructure. Introduces the 'brains' table as the top-level memory container, with brain_id foreign keys propagated across memories, entities, entity_relationships, and rules. Every user now gets a dedicated Sabine brain on signup. Adds parent_memory_id to memories for hierarchical recall. Text chunker wired into the file upload pipeline — long documents are split into semantically coherent chunks before embedding. Entity relationship extraction pulls structured relationships from memory text at ingest. Importance scoring ranks memories by recency, access frequency, and semantic weight. Deduplication prevents redundant memories from accumulating. Six new lib/sinc/ modules, seven new Supabase migrations, and full test coverage (16 new SINC-specific tests passing).

sabinesincmemoryinfrastructureai-ml
milestoneMar 7

Brand identity, mission statement, and five-act narrative launched

Shipped the full Strug City brand overhaul: new hero messaging, About page five-act narrative, Meet the Team page, and "Building the team that builds the dream." tagline. The site now tells the real story of an autonomous agentic org built by one human.

brandmilestonestrug-enterprise-site
engineeringMar 7

Shopping Skill Production Hardening

Sabine: Post-review production hardening for the shopping skill cluster. Added 401 retry logic to UcpAdapter for complete_purchase and get_order_status. ACP adapter now passes preferred_sku in search. Playwright adapter dead credential load removed. Etsy added to default allowed_retailers in SafetyRails. Checkout error messages sanitized. Cluster manifest.json added for skill discovery. 8 review issues resolved, all adapters production-hardened.

sabineshoppingcode-qualityproduction
engineeringMar 7

SINC Sprint 1: Deep Memory and Agent Telemetry

Sabine now builds a persistent knowledge graph from conversations with entity extraction, importance scoring, and cross-session deduplication. Every tool call emits telemetry to platform_signals, and agents auto-inject the top-3 relevant memories per conversation.

memorytelemetryagent-intelligencesinc
Mar 6, 2026
milestoneMar 6

Sabine Agentic Shopping: Complete Skill Cluster Shipped

Sabine Super Agent: Full agentic shopping capability deployed. Sabine can now autonomously search products, build carts, and complete purchases across Amazon, Shopify, and Etsy. Three adapter types: UCP (AP2 token refresh + deep-link fallback), ACP (Shopify/Etsy five-endpoint flow), and Playwright (Amazon with credential isolation and fallback). Five skills: product_search (preference recall + price change detection), build_cart (multi-item preference resolution), confirm_purchase (autonomy dial + safety rails), manage_list (CRUD on named shopping lists), get_order_status. SafetyRails enforce hard limits on order value, purchase rate, category, and retailer allowlist. Shopping preference memory integrates with existing memories table. 43 tests passing.

sabineshoppingautonomyskills
Mar 5, 2026
milestoneMar 5

Sabine Engineering Wiki: 14 Files, 10,800+ Lines

Sabine Super Agent: Complete Engineering Wiki published covering the full system — context engine (MAGMA), autonomous skill acquisition, dual-stream pipeline, multi-agent orchestration, database schema, API reference, testing guide, and deployment runbook. 14 files totaling ~10,800 lines. The authoritative technical reference for Sabine 2.0 architecture.

sabinedocumentationengineering
milestoneMar 5

sc-orchestrator: Mission Decomposition + Subtask Spawning (SCE-49)

Dream Team Strug: The sc-orchestrator agent can now autonomously decompose missions into subtasks and spawn specialist agents (sc-backend, sc-frontend, sc-qa, etc.). update_mission_status inline tool propagates orchestrator completion directly to the missions table. Role tool allowlists enforced at executor level — agents only see tools their role permits. Empty run_shell command guard prevents shell injection. Multi-agent fan-out is production-ready.

dream-teamorchestrationagentsmissions
researchMar 5

SINC Platform Architecture: Multi-Brain AI Research

Research: SINC (Strug AI Neuro-Computational Platform) architecture design published. Strategic vision for scaling Sabine 2.0 into a multi-brain platform where each brain (Sabine, Work Agent, Health Coach, Studio Head) gets partitioned memory, cognitive variables, and composable Context Packs. Context Packs are reusable behavioral modules that can be mixed with different weights per brain. Expected 5-10x capability multiplier with 70% cost reduction vs monolithic agents. Full executive summary, technical spec, and board presentation outline published.

sabineresearcharchitectureai-platform
milestoneMar 5

Dream Team Engineering Wiki: 14 Pages, 11,000+ Lines

Dream Team Strug: Comprehensive Engineering Wiki published covering the full platform — task lifecycle and all status transitions, agent execution loop, complete tool dispatch table, fan-out orchestration with parent/child tasks, retry logic with backoff, StaleTaskReaper design, per-task cost tracking, human-in-the-loop approval workflow, and full environment variable reference. V1 (12 pages, 7,600 lines) shipped Mar 4; V2 (14 pages, 11,273 lines) shipped Mar 5.

dream-teamdocumentationengineering
Mar 4, 2026
releaseMar 4

Mission Orchestration UI with Real-time Supabase Subscriptions

Dream Team Strug: Mission orchestration UI migrated to Dream Team dashboard with live Supabase Realtime subscriptions. Missions table now propagates status from child task completions automatically. Dashboard 406/400 query errors resolved; server-side client now uses publishable key correctly. Operators see mission status update in real-time as agents complete subtasks.

dream-teammissionsgod-viewrealtime
Mar 3, 2026
engineeringMar 3

StaleTaskReaper + Approval Flow Hardening (SCE-9, SCE-30)

Dream Team Strug: Two critical reliability fixes shipped. SCE-9: StaleTaskReaper now routes orphaned tasks through schedule_retry before marking them failed — stale tasks are rescued, not killed. SCE-30: Fixed approval flow mock sequences broken by the _fetch_existing_decision re-dispatch fast-path. Added per-task stale_threshold_minutes so long-running agent tasks (e.g. large repo clones) can declare their own heartbeat timeout instead of using the global 5-minute default.

dream-teamreliabilitytask-queuetesting
engineeringMar 3

Agent Role Manifests + Linear Dispatch Skill

Dream Team Strug: Formalized agent role system with role manifests defining personas, tool allowlists, and routing rules for all six canonical roles (sc-orchestrator, sc-backend, sc-frontend, sc-data, sc-pm, sc-qa). Linear dispatch skill enables agents to create and assign Linear issues directly from task output. roles-and-routing.md and agent-dispatch.md added to Engineering Wiki. Fix: VALID_ROLES now derived from ROLE_MANIFESTS to prevent dispatch failures for sc-orchestrator.

dream-teamagentsrolesorchestration
Feb 19, 2026
milestoneFeb 19

Dream Team Phase 5 Complete: Autonomous Agents Ship PRs

Dream Team Strug: Phase 5 milestone reached. AI agents now execute full software development cycles end-to-end: task dispatch to git clone, code execution, commit, push, and PR creation — zero human touchpoints required. Systematic debugging resolved agent execution, routing, and task-poller bugs. All agent personas, role color coding, and orchestration status panels wired to live data.

dream-teammilestoneautonomous-agentsgit
Feb 18, 2026
releaseFeb 18

Mission Control: Live Dispatch Form + /api/dispatch Route

Dream Team Strug Phase 5C: Mission Control in God View now has a live dispatch form — operators write a mission brief, select agent roles, and fire tasks directly from the dashboard. Next.js /api/dispatch route handles task creation with validation. Session IDs and depends_on chains supported for sequential multi-agent workflows. Tool layers for Supabase, GitHub, Exa search, and role enforcement wired end-to-end.

dream-teammission-controlgod-viewdispatch
milestoneFeb 18

Dream Team Phase 5B: Full Git Integration in Agent Executor

Dream Team Strug: AI agents can now clone repos, commit code, push branches, and create PRs autonomously. Phase 5B ships git_clone (shallow clone + feature branch creation), git_commit (safety guard + structured message), git_push (protected branch guard, no force-push), and git_create_pr (template-enforced PR creation via GitHub API). Database migration 005 tracks git_branch, git_commit_sha, pr_url, and pr_number per task. Full software development cycle now executable without human intervention.

dream-teamgitautomationagents
Feb 17, 2026
releaseFeb 17

Email Attachment Support for Sabine Briefings

Sabine: Gmail integration now extracts and summarizes email attachments (PDFs, Word docs, spreadsheets) as part of morning briefings. Workers deployed on Railway with Redis queue for async processing. Health probe hardened for cold-start race conditions on Railway redeploy. Users receive attachment summaries in their morning briefing without having to open email.

sabineemail-intelligencerailwayattachments
Feb 16, 2026
releaseFeb 16

Self-Improvement Loop: Effectiveness Tracker + Gap Pipeline

Sabine 2.0 Phase 3: Autonomous self-improvement system shipped. Effectiveness tracker measures response quality over time. Gap pipeline detects skill deficiencies and queues improvements. Signal classifier identifies feedback patterns from user interactions. Sabine can now identify what she is bad at and autonomously queue improvements. Merged to main.

sabineai-agentsself-improvementautonomy
Feb 15, 2026
engineeringFeb 15

Autonomous Skill Acquisition Pipeline

Sabine 2.0: Complete skill acquisition pipeline deployed — Sabine can discover capability gaps, design new skills, test them in sandbox, and register them without human intervention. Phase 4 load tests show the pipeline handles 100+ skill evaluations/hour with zero regressions. Grafana dashboard added for full observability.

sabineai-agentsskill-acquisitionautonomy
milestoneFeb 15

MAGMA Intelligence Engine: Context Architecture Complete

Sabine 2.0 Phase 2: Memory Architecture for Generalized Machine Awareness (MAGMA) fully implemented. Multi-layer context system with taxonomy validation, belief revision, Value-of-Information gate, and slow-path/fast-path extraction pipeline. Enables Sabine to reason about uncertainty, revise beliefs as new information arrives, and selectively retrieve only the most relevant context per query. 15+ new files with comprehensive integration tests.

sabineai-agentsmemoryarchitecture
Feb 13, 2026
engineeringFeb 13

Project Boundaries & Governance: Sabine vs Dream Team

Sabine Super Agent: Published PROJECT_BOUNDARIES_AND_GOVERNANCE.md — a critical architecture document establishing clear separation between Sabine (consumer personal assistant) and Dream Team (virtual engineering platform). Prevents persona bleed and codifies which features belong where. Added CRITICAL DISTINCTION section to CLAUDE.md and Sabine 1.0 regression CI workflow to protect existing behavior during 2.0 development.

sabinedream-teamarchitecturegovernance
Feb 11, 2026
milestoneFeb 11

🎉 PRODUCTION READY - Deployment Verified

Enterprise Site: All systems green! Deployment verification passed - health checks, CMS connectivity, API routes, static generation, and ISR caching all functioning. 430+ commits across 4 repositories over 24 days. Ready to show the world what Strug City builds.

enterprise-sitedeploymentlaunch
announcementFeb 11

📦 Repository Migration Complete

Announcement: Strug City Enterprise Site repository migrated from strugcity-site to strug-enterprise-site. Updated all documentation, CI/CD configurations, and team access. Cleaner naming convention aligns with other Strug City repositories.

enterprise-siterepositorymigration
releaseFeb 11

🚀 7 GitHub Actions Workflows Migrated

Enterprise Site: Complete CI/CD pipeline with 7 GitHub Actions workflows - lint, type-check, build verification, Sanity schema deployment, preview deployments, production deployment, and security scanning. 98% faster than previous CI setup.

enterprise-siteci-cdgithub-actions
engineeringFeb 11

Sanity Seed Script (1441 lines, idempotent)

Enterprise Site: Comprehensive seed script populates Sanity with initial content - 4 products, 20+ stream entries, 5 blog posts with PortableText. Idempotent design allows safe re-runs. Checks for existing content before creating. Essential for environment setup.

enterprise-sitesanity-cmsdata-seeding
milestoneFeb 11

Vercel Deployment Configuration Complete

Enterprise Site: Production Vercel configuration finalized with environment variables, build settings, and domain routing. ISR caching optimized for performance. Preview deployments enabled for PR reviews. Edge functions configured for API routes.

enterprise-sitedeploymentvercel
Feb 10, 2026
engineeringFeb 10

Dynamic OG Images (1200x630)

Enterprise Site: Next.js ImageResponse API generates dynamic Open Graph images for all pages. Blog posts show title and excerpt, stream entries show type badges, products show feature highlights. Proper social media previews on Twitter, LinkedIn, Slack.

enterprise-siteseosocial-media
engineeringFeb 10

Dynamic Sitemap Generation

Enterprise Site: XML sitemap automatically generated from Sanity content. Includes all blog posts, stream entries, and product pages with accurate lastmod timestamps. Submitted to Google Search Console for optimal indexing.

enterprise-siteseocontent-generation
engineeringFeb 10

RSS Feeds for Blog and Stream

Enterprise Site: RSS/Atom feeds generated for blog posts and progress stream. Developers can subscribe to Strug City updates in their feed readers. XML properly escaped, full content included, automatic updates every 60 seconds via ISR.

enterprise-sitersscontent-syndication
engineeringFeb 10

Home Page Dynamic Content Integration

Enterprise Site #61: Home page now pulls latest stream entries and featured blog posts from Sanity. Dynamic product showcases with real-time status updates. Zero hardcoded content - everything managed through CMS.

enterprise-sitesanity-cmshomepage
releaseFeb 10

Individual Blog Posts with PortableText

Enterprise Site #62: Dynamic blog post pages with Sanity PortableText rendering. Supports rich text formatting, code blocks with syntax highlighting, images with captions, and embedded content. Custom components for callouts and quotes.

enterprise-siteblogsanity-cms
releaseFeb 10

Enhanced Morning Briefing Sections

Sabine: Morning briefings now include dedicated sections for urgent emails, calendar summary, pending replies, and suggested actions. Smart grouping by project context. Users report 25% reduction in morning email processing time.

sabineai-briefingproductivity
engineeringFeb 10

Blog Listing Page Implementation

Enterprise Site #60: Blog listing page with post previews, publication dates, and reading time estimates. Responsive grid layout with Aurora color palette. Pagination support for large post collections. 12 files changed, 280 additions.

enterprise-siteblogcontent-management
engineeringFeb 10

Railway Deployment Verification Script

Sabine: Automated deployment verification script for Railway platform. Validates service health, database connectivity, environment variables, and API endpoints post-deployment. Catches configuration issues before users notice. 7-minute verification suite.

sabinedeploymentci-cd
engineeringFeb 10

Stream Page with Date Grouping

Enterprise Site #59: Progress stream page with intelligent date grouping. Entries automatically grouped by day with relative timestamps. Filter by entry type (milestone, release, engineering, research, announcement). ISR caching with 60s revalidation.

enterprise-sitestreamcontent-generation
Feb 9, 2026
engineeringFeb 9

Products Page Conversion to CMS

Enterprise Site #56: Products page now powered by Sanity CMS. Marketing team can update product descriptions, features, and status without developer involvement. Includes preview mode for content review before publishing.

enterprise-sitesanity-cmsproducts
milestoneFeb 9

🎉 Sanity CMS Foundation Complete

Enterprise Site: Sanity CMS integration complete with 3 content schemas (products, blog posts, stream entries) and 8 optimized GROQ queries. Headless CMS architecture enables rapid content updates without code deployments. TypeScript types generated from schemas.

enterprise-sitesanity-cmscontent-management
announcementFeb 9

📧 Work Email Integration Plan Announced

Sabine Super Agent: Roadmap released for Coca-Cola work email integration. Pilot program will route all work emails through Sabine processing pipeline for intelligent briefings, action extraction, and priority management. Launch target: March 2026.

sabineemail-intelligenceintegration
Feb 8, 2026
milestoneFeb 8

Complete Error Handling Utilities Framework

Dream Team Strug: Released comprehensive error handling utilities - type guards, error transformers, retry mechanisms, and logging integrations. Standardizes error handling across all Dream Team services. 12 utility functions, fully typed.

dream-teamerror-handlingutilities
engineeringFeb 8

Pre-commit Lint Guardrails Prevent Build Breaks

Sabine: Implemented pre-commit hooks running ESLint, Prettier, and type checking before allowing commits. Catches 95% of build-breaking issues locally. Reduces CI failures from 23% to 3%. Includes auto-fix for common formatting issues.

sabinecode-qualityci-cd
engineeringFeb 8

Enhanced ErrorAlert Component

Dream Team Strug: Comprehensive error handling in ErrorAlert component with categorized error types, suggested actions, and automatic retry logic. Distinguishes network errors, authentication failures, and business logic errors with appropriate UX.

dream-teamerror-handlingui-components
milestoneFeb 8

✅ All Tests Passing + Security Scan Clean

Sabine Super Agent: Achieved 100% test pass rate across 172 test cases. Security scan shows zero vulnerabilities. Code coverage at 94%. Ready for production deployment. 38 commits over 5 days stabilizing test infrastructure.

sabinetestingsecurity
Feb 7, 2026
engineeringFeb 7

Real-time Task Progress Visibility

Dream Team Strug: WebSocket-based real-time updates show AI agent task progress as it happens. Progress bars, status indicators, and log streaming eliminate refresh fatigue. Operators know task status within 200ms of state changes.

dream-teamrealtimemonitoring
engineeringFeb 7

Domain Context Integration

Sabine #51: Integrates domain classification with briefing generation. Work emails prioritized during business hours, personal emails surfaced evenings/weekends. Context-aware urgency detection adapts to sender importance and project deadlines.

sabineai-briefingdomain-classification
Feb 6, 2026
engineeringFeb 6

Email Memory Ingestion Pipeline

Sabine #49: New pipeline ingests email history into long-term memory for context-aware responses. Extracts relationships, project timelines, and communication patterns. Enables Sabine to reference past conversations and understand ongoing projects.

sabineai-agentsmemory
releaseFeb 6

Mission Control Tab in God View

Dream Team Strug: New Mission Control tab provides command center for AI agent orchestration. View all active tasks, agent assignments, execution timelines, and resource utilization. One-click access to logs and metrics.

dream-teammission-controlgod-view
Feb 5, 2026
releaseFeb 5

🚀 Dual-Context Morning Briefing Released

Sabine #52: Morning briefings now separate work and personal contexts. Intelligent summarization of overnight emails, calendar events, and action items for each domain. 'Work-life balance as a feature' - users report 40% faster inbox zero.

sabineai-briefingemail-intelligence
Feb 4, 2026
engineeringFeb 4

Task Action Guards + Vitest Setup

BanditsTracker: Implemented action guards preventing invalid state transitions in workout tasks. Athletes can't log sets before starting workout, can't complete before all sets logged. Migrated test suite to Vitest for 3x faster execution.

bandits-trackertestingstate-management
Feb 3, 2026
engineeringFeb 3

Comprehensive API Error Handling Tests

BanditsTracker: Added 47 new test cases covering API error scenarios - network failures, timeouts, malformed responses, authentication errors. Improved error messages and retry logic. Test coverage increased from 72% to 89%.

bandits-trackertestingerror-handling
Feb 1, 2026
milestoneFeb 1

Complete Project Atlas Architecture Documentation

Dream Team Strug: Comprehensive architecture documentation for Project Atlas (internal name for Dream Team infrastructure). Documents agent orchestration patterns, event streaming architecture, and deployment topology. 93-page technical reference.

dream-teamarchitecturedocumentation
milestoneFeb 1

✅ Core Python Verification Cleanup Complete

Sabine Super Agent codebase cleanup: removed deprecated Python verification scripts, consolidated test utilities, and standardized error handling. All 147 tests passing with 95% code coverage.

sabinetestingcode-quality
announcementFeb 1

📜 Strug City Constitution Published

Governance framework for Strug City operations released. Defines AI agent roles, decision-making protocols, escalation paths, and quality standards. Establishes principles for transparent, collaborative AI-human engineering.

dream-teamgovernanceai-agents
Jan 31, 2026
engineeringJan 31

Task Cancel/Retry UX Improvements

Dream Team Strug: New cancel and retry buttons for stalled AI agent tasks in God View. Reduces manual intervention time by 60%. Includes confirmation dialogs and automatic cleanup of orphaned processes.

dream-teammission-controlux
engineeringJan 31

Gophers Summer 2024 Comprehensive Seed Script

Complete seed data script for BanditsTracker based on real Gophers Summer 2024 program. Includes 12 weeks of workouts, 45+ exercises with videos, and athlete progression templates. Makes onboarding new programs faster.

bandits-trackerdata-seedingtesting
Jan 30, 2026
engineeringJan 30

Multi-Domain Classification Support

Enhanced Sabine email classifier to handle multiple domain contexts simultaneously. Supports work, personal, side projects, and custom categories. Smart learning adapts to user patterns over time.

sabineai-agentsemail-intelligence
engineeringJan 30

Real-time Set Logging in WorkoutPage

Athletes can now log sets in real-time during workouts in BanditsTracker. Tracks weight, reps, and rest intervals with offline support. Data syncs automatically when connection restored.

bandits-trackerworkout-trackingrealtime
milestoneJan 30

🎯 SABINE God View Dashboard Released

Dream Team Strug: Initial release of SABINE God View - centralized dashboard for monitoring all AI agent activities. Real-time visibility into task execution, agent health, and system performance. Built with Next.js and real-time WebSocket updates.

dream-teamgod-viewai-agents
Jan 29, 2026
engineeringJan 29

Domain Filter Pipeline Implementation

Sabine #47: Multi-stage domain filtering pipeline processes emails through classification, priority scoring, and context extraction. Reduces inbox noise by 70% while surfacing critical messages. 28 commits with comprehensive test coverage.

sabinedomain-classificationemail-intelligence
milestoneJan 29

🎉 Navigation Restructure Shipped

Major BanditsTracker navigation overhaul: Dashboard → Programs → Workouts hierarchy. Improved information architecture makes it easier for athletes to find their assigned programs and upcoming workouts. 18 files changed, 340+ additions.

bandits-trackernavigationux
Jan 28, 2026
engineeringJan 28

Email Domain Classifier Shipped

Sabine Super Agent #45: New email domain classifier intelligently categorizes incoming emails by sender domain. Separates work emails from personal, newsletters from urgent communications. Foundation for context-aware AI briefings.

sabineemail-intelligenceai-agents
engineeringJan 28

ExerciseCardModal with Video/Instruction Display

New modal component for BanditsTracker displaying exercise videos and detailed instructions. Supports multiple video angles, form tips, and common mistakes. 22 commits implementing responsive design and video player controls.

bandits-trackervideo-analysisui-components
Jan 27, 2026
releaseJan 27

Complete History Page with Expandable Sessions

BanditsTracker History Page released showing all completed workouts with expandable session details. Athletes can review past performance, view exercise logs, and track progress over time. Includes date filters and search.

bandits-trackerworkout-trackinghistory
Jan 25, 2026
engineeringJan 25

Security Hardening: Deployment Scripts Removed

Removed exposed deployment scripts from BanditsTracker repository that contained sensitive configuration details. Migrated to secure CI/CD pipeline with environment-based secrets management.

bandits-trackersecuritydeployment
Jan 24, 2026
announcementJan 24

📚 All-in-One Operations Guide Released

Comprehensive BanditsTracker operations manual for coaches and administrators. Covers program setup, workout creation, athlete management, and video analysis workflows. 47-page guide with screenshots and best practices.

bandits-trackerdocumentationoperations
Jan 22, 2026
engineeringJan 22

Fixed Start Workout Critical Bugs

Resolved 403 authorization errors and blank page issues preventing athletes from starting workouts. Root cause: missing permission checks in workout initialization API. 15 commits over 2 days to ensure stable user experience.

bandits-trackerbug-fixauthentication
Jan 20, 2026
engineeringJan 20

Video Analysis Staging Modal System

Shipped new video analysis staging modal in BanditsTracker allowing coaches to review and annotate workout videos before publishing to athletes. Supports side-by-side comparison and frame-by-frame review.

bandits-trackervideo-analysiscoaching-tools
Jan 19, 2026
milestoneJan 19

🎯 Athletic Excellence Hub Vision Published

BanditsTracker vision document released outlining comprehensive athlete development platform. Combines workout tracking, video analysis, and performance metrics for high school athletic programs.

bandits-trackervisionathlete-development
Mar 25, 2025
engineeringMar 25

Confidence tier thresholds recalibrated for memory retrieval

Recalibrated confidence tier thresholds for document-ingested memories to better reflect real-world agent performance. HIGH tier lowered from 0.85 to 0.70, MEDIUM from 0.70 to 0.50, ensuring agents can act on good-but-not-perfect memories without false precision blocking useful context.

Mar 24, 2025
engineeringMar 24

Reminder Skill Now Accepts Natural Language Dates

Fixed a bug in Sabine's reminder skill that was rejecting natural language date inputs like "tomorrow" or "next week." Users can now create reminders using conversational language instead of being forced to use specific date formats.

sabinebug-fixreminder-skillnatural-language
Mar 7, 2025
engineeringMar 7

SINC Sprint 1: Deep Memory and Agent Telemetry

Sabine now builds a persistent knowledge graph from conversations with entity extraction, importance scoring, and cross-session deduplication. Every tool call emits telemetry to platform_signals, and a new /agent/health endpoint tracks reliability.

SINCmemorytelemetryagent-observability
Jan 15, 2025
Jan 15

Shipped: Strug City Sports Product Page

Mar 9, 2024
engineeringMar 9

Progress Stream Automation: GitHub to Sanity Pipeline

GitHub Actions now auto-dispatches sc-content-writer on every main branch push, creating published stream entries and draft blog posts directly in Sanity. Replaces deprecated Gemini CLI with hardened CI, Linear agent tools, and webhook integration across 3 repos.

automationci-cdcontent-pipelinegithub-actionssanity
Jan 1, 1970
engineeringJan 1

Poppin Product Page Scaffold Shipped

Scaffolded the Poppin product page with hero concept placeholder and merge clearance documentation. Part of the product catalog expansion following the pattern established with Feedtumi, Strug Works, and Sabine pages. Page structure is ready for content and component development.

product-pagespoppinscaffoldrsc
engineeringJan 1

Sabine Now Consumes Memory Lab API

Sabine's client integration with Memory Lab API is complete, enabling the AI partnership platform to read and write to shared memory infrastructure. This architectural milestone allows Sabine to leverage the same memory primitives that power Strug Works agents, creating consistent context management across both products.

memory-labsabineapi-integrationarchitecture
engineeringJan 1

Deployment Verification Endpoint Shipped

Added /agent/debug endpoint and retrieval version marker to confirm which code is running in production. Returns retrieval_version, Memory Lab env var status, and deployment timestamp - critical for debugging Railway environment variable injection timing issues.

infrastructureobservabilitydebuggingrailway
engineeringJan 1

Gmail Integration: Observability & Auth Hardening Shipped

Added comprehensive monitoring to Gmail integration with Prometheus metrics, end-to-end health checks, synthetic probe testing, and distributed trace IDs. This upgrade makes Gmail auth failures visible in real-time and provides diagnostic tools for troubleshooting integration issues across the Sabine platform.

gmailobservabilitymetricsauthenticationpythonmonitoring
engineeringJan 1

Sabine Now Reads Forwarded Emails

Sabine can now parse forwarded emails, extracting the original sender, subject, and body content from common email client formats. This unlocks new workflows where users can forward important emails to Sabine for context-aware assistance, making it easier to bring external conversations into your AI partnership.

sabineemail-parsingfeatureintegration
engineeringJan 1

Design System G-2 Standards Added to CLAUDE.md

Synced CLAUDE.md with new Design System G-2 section documenting the Aurora Borealis visual system. This ensures agent-generated UI follows our northern lights aesthetic — aurora-green accents, Minnesota-rooted palette, and consistent component patterns across all Strug City properties.

documentationdesign-systemstandards
engineeringJan 1

Live Activity Indicator API Shipped to Homepage

Deployed /api/live-activity endpoint with 30-second revalidation and three-tier data source priority (GitHub → Sanity → fallback). Route includes 3-second timeout protection via AbortController and guarantees 200 responses. Powers real-time status visibility on strugcity.com.

apihomepagereal-timenext.js
engineeringJan 1

Legal Contract Ingest with Domain Forcing and Clause Suppression

Sabine can now intelligently process legal contracts and agreements with two new capabilities: domain forcing ensures contract classification overrides generic document types, while clause suppression filters out boilerplate sections to focus on substantive terms. This enhancement improves contract analysis accuracy and reduces noise in legal document workflows.

sabinelegalml-pipelineclassificationdocument-processing
engineeringJan 1

Diagnostic Logging Added to Memory Retrieval RPC

Added verbose logging to the _retrieve_by_tier RPC call in lib/agent/retrieval.py to investigate why match_memories returns zero results through PostgREST while succeeding in direct SQL queries. This temporary instrumentation will help isolate the integration point where results are lost.

memory-retrievaldebuggingpostgrestreliability
engineeringJan 1

Legal Ingest Domain Mapping Fixed for Database Compatibility

Fixed a schema mismatch where legal document ingest was using domain hints (vehicle, financial, medical) that don't exist in the database enum. The system now correctly maps to valid domain values (work, family, persona) that match our database schema. Debug logging removed to clean up production output.

legal-ingestschema-alignmentreliabilitydatabase
engineeringJan 1

Enhanced Memory Retrieval Logging for Diagnostic Visibility

Added tier-by-tier logging to Strug Recall's retrieval system, exposing result counts, similarity scores, and threshold filters for each memory tier query. This diagnostic improvement helps engineers quickly identify whether zero-result queries stem from missing data or overly aggressive filtering, reducing debugging time for memory-related issues.

memoryobservabilitydebuggingstrug-recall
engineeringJan 1

Memory Pipeline Reflector Semantic Tier Repaired

Fixed critical bugs in the memory reflector's semantic analysis tier and added hygiene guards to observer capture. The reflector now correctly processes multi-tier memory hierarchies, and observers no longer leak state between sessions. These fixes restore reliability to Strug Works' agent memory system.

memoryagent-intelligenceinfrastructurereliability
engineeringJan 1

Sabine Now Persists Chat Threads Across Sessions

Sabine conversations now survive browser refreshes and app restarts. Users can close and reopen chats without losing context, making the partnership experience feel continuous and reliable. This change stores thread state in Supabase, enabling seamless multi-session interactions.

sabinechatpersistencesupabaseux
engineeringJan 1

Fixed Chat Persistence with Consistent User ID Handling

Resolved a chat persistence bug in Sabine where inconsistent user UUID handling caused conversations to fail to save properly. The fix ensures all chat operations use a consistent user identifier, improving reliability for users managing ongoing AI partnership conversations.

sabinechat-persistencebug-fixuser-authentication
engineeringJan 1

Fixed chat message ordering issue in Sabine

Chat messages in Sabine now load in the correct chronological order on page reload. Previously, messages could appear out of sequence when the chat interface was refreshed, creating confusion during conversations. This fix ensures consistent message ordering across all session states.

sabinebug-fixchatreliability
engineeringJan 1

Fixed reminder search to find topic-specific reminders in chat

Sabine agents can now accurately find and retrieve reminders when users ask about specific topics in conversation. The fix resolves a search limitation that prevented topic-based reminder queries from returning results, improving the reliability of reminder management in chat.

sabinebug-fixsearchreminderschat
engineeringJan 1

OpenWeatherMap Integration Live in Sabine

Sabine can now fetch real-time weather data through a new OpenWeatherMap skill handler. The integration returns temperature (both Fahrenheit and Celsius), feels-like readings, current conditions, humidity, and wind data—giving Sabine contextual awareness for weather-dependent conversations and decisions.

sabineskillsweatherapi-integration
engineeringJan 1

Weather Skill Integration Tests with Real API Validation

Added comprehensive integration tests for Sabine's weather skill that validate against real API responses. These tests ensure the weather skill correctly handles live data from weather services, improving reliability and catching integration issues before they reach users.

testingintegrationweather-skillapi-validationsabine
engineeringJan 1

Strug Works Ships sc-evolver: Autonomous Self-Improvement Engine

Phase 3 of self-improvement capabilities is live. The sc-evolver agent can now autonomously identify gaps in team capabilities, propose architectural improvements, and implement cross-system enhancements—all gated by a new trust framework that ensures safety at scale.

sc-evolverautonomyself-improvementagent-capabilitiestrust-gate
engineeringJan 1

Sabine chat now maintains full conversation context

Fixed a conversation context bug where Sabine would lose track of earlier messages in a chat session. The system now always sends in-memory conversation history to the backend, ensuring Sabine remembers what you've discussed. Previously, history was only sent as a fallback when thread retrieval failed.

sabineconversational-aiux-improvement52c6360
engineeringJan 1

Sabine chat context trimmed to current session only

Fixed a context bloat issue where Sabine's chat hook was sending the entire message history (including reloaded DB state) to the LLM on every request. Now only current-session messages are sent as conversation context, reducing token costs and improving response latency.

sabineperformancechatllm-context
engineeringJan 1

Memory Architecture & Intelligent Routing Wave 1 Ships

Phase 2 memory architecture and Phase 3 routing intelligence landed in Strug Works, covering SCE-146, 148-150. This foundational update improves how agents store, recall, and route information across the platform, setting the stage for smarter context awareness and task orchestration.

memoryroutingarchitecturephase-2phase-3
engineeringJan 1

Strug City 2.0 Launch Foundation Merged

Merged comprehensive planning documentation for Strug City 2.0 launch site, including product requirements, messaging architecture, and design specifications. This establishes the strategic foundation for our public-facing product narrative and positioning.

documentationlaunchstrategyplanning
engineeringJan 1

Documentation cleanup removes duplicates and misplaced files

Merged PR #242 removes duplicate and misplaced documentation from the sabine-super-agent repository. This cleanup improves repository organization and eliminates confusion from outdated or redundant docs, making it easier for the team to find authoritative information.

documentationcleanupsabine
engineeringJan 1

Team Page Now Shows Finalized Agent Names

Updated the Strug Works team page to display all finalized agent names sourced from our internal naming conventions cheat sheet. Every 'Name TBD' placeholder has been replaced with confirmed role identities, making the team roster official and public-facing ready.

engineeringJan 1

Fixed user_id storage and foreign key in memory system

Resolved a critical bug in Strug Recall where user_id wasn't being written to the memory store, and fixed a foreign key constraint in the reflector service. This ensures all memory entries are properly attributed to users and maintain database integrity across the memory subsystem.

memorydatabasebugfixstrug-recall
engineeringJan 1

Added diagnostic logging to reflector LLM response handler

Added temporary INFO-level logging to the reflector's LLM response processing to diagnose why raw_text appears empty despite 200 OK responses. The new logs capture stop_reason, content block count, and raw_text length to help trace the root cause of empty responses.

debuggingreflectorllmobservability
engineeringJan 1

Fixed CORS blocking for Sabine frontend deployments

Updated server CORS configuration to allow Sabine's Vercel frontend domains. The backend was only whitelisting Dream Team domains, blocking legitimate requests from sabine-super-agent.vercel.app. This restores cross-origin access for Sabine's production frontend.

corsinfrastructuresabinebackend
engineeringJan 1

Fixed Authentication Header in Sabine Frontend

Corrected the API authentication mechanism in the Sabine frontend to use X-API-Key header instead of Authorization Bearer. The backend validates against AGENT_API_KEY, but the frontend was sending the wrong header format, causing authentication failures.

authenticationbug-fixsabineapi
engineeringJan 1

Backend Budget Execution Fixes Merged

Fixed 5 critical issues in agent executor, task runner, and git push tools that were causing sc-frontend budget failures. The patches address backend execution flow problems that prevented tasks from completing successfully. These stability improvements ensure more reliable agent operations across the platform.

backendbugfixagent-executorstability
engineeringJan 1

Fixed Premature Mission Completion in Spec-First Orchestration

The sc-orchestrator persona wasn't capturing implementation task IDs, causing missions to complete before the actual work finished. We updated the orchestrator logic in agent_executor.py to properly track task IDs through the spec-first workflow, ensuring missions only complete when all implementation is done.

orchestrationbug-fixmission-tracking
engineeringJan 1

Dream Team MCP Server — FastMCP over Streamable HTTP

Shipped a Model Context Protocol server exposing 4 Dream Team tools (agent status, mission planning, task dispatch, and metrics) over streamable HTTP transport. Built with FastMCP and authenticated via JWT. This makes Strug Works capabilities accessible to any MCP-compatible AI client — Claude Desktop, Zed, or custom tools.

mcpfastmcpinfrastructureapi
engineeringJan 1

Gmail Integration Hardening: Status Tokens and MCP Singleton

Shipped reliability improvements to Sabine's email integration including status tracking tokens, MCP server singleton pattern, and deployment runbook. These changes reduce email handling errors and improve observability across the Gmail connection layer.

gmailreliabilityinfrastructuresabine
engineeringJan 1

Calendar Feed Fix: Orphan Tasks and 14-Day Window

Shipped fixes to Sabine's calendar feed integration addressing three issues: orphan task gathering, 14-day window enforcement, and CANCELLED event filtering. This resolves sync reliability problems that caused tasks to disappear from briefings and improved feed performance by limiting the time window.

sabinecalendar-integrationbug-fix
engineeringJan 1

Reverted multi-intent default in Sabine assistant

Changed SABINE_MULTI_INTENT default back to false. Multi-intent handling added complexity to routine assistant interactions. Keeping it opt-in preserves predictable single-action behavior for most workflows.

sabineassistant-behaviorconfiguration
engineeringJan 1

Twilio A2P Compliance: SMS Opt-In and Policy Pages

Shipped compliance updates for Twilio A2P registration resubmission. Added SMS opt-in flow with explicit user consent, created static privacy and terms pages, and implemented comprehensive test coverage. This ensures our SMS communications meet carrier requirements and protects users with transparent policies.

compliancetwiliosmsinfrastructure
engineeringJan 1

Fixed task cancellation guard in Sabine async callbacks

Patched a race condition in Sabine's async task management where done_callbacks attempted to read exceptions from cancelled tasks. Now guards with t.cancelled() checks before calling t.exception() in all sibling callbacks, preventing InvalidStateError exceptions during graceful shutdown and task cleanup.

asyncpythonreliabilitysabine
engineeringJan 1

P1 Alert Wiring + Primary Retrieval Path Shipped

Phase 3 retrieval infrastructure is now live in Sabine's orchestration backend. This merge wires up priority-one alert handling and establishes the primary retrieval path for context-aware agent operations. The foundation enables faster, more intelligent responses when critical events require immediate agent attention.

sabineretrievalalertsphase3
engineeringJan 1

Memory Lab Timeouts Extended for Stage 3 Upload

Increased ingest timeouts in memory-lab to resolve blocking issues during Stage 3 retrieval re-upload. This infrastructure adjustment ensures large memory datasets can be processed reliably without timing out during the upload phase.

sabinememory-labretrievalinfrastructurephase-3
engineeringJan 1

Linear MCP transport fixed with streamable_http

Updated Linear MCP integration to use streamable_http transport, resolving connection reliability issues. This fix ensures stable communication between Strug Works and Linear's Model Context Protocol endpoints.

linearmcpintegrationinfrastructure
engineeringJan 1

Strug Works Product Page Ships with 10 Sections

The complete /products/strug-works page is now live with 10 feature sections showcasing the autonomous product and engineering platform. Built with React Server Components and Aurora design system gradients, the page details Strug Central, Task Board, Strug Stream, and other core surfaces that make up the intelligent development platform.

product-pagestrug-worksaurorarsc
engineeringJan 1

Team Page SC 2.0 Upgrade with People/Platform Toggle

Shipped the redesigned team page with SC 2.0 visual system and a new People/Platform toggle that lets visitors switch between agent profiles and platform capabilities. The upgrade includes Aurora gradients, improved accessibility, and comprehensive test coverage for the interactive toggle component.

sc2.0team-pagedesign-systemfrontendaccessibility
engineeringJan 1

Roadmap Session State and Planning Docs Landed

Merged comprehensive documentation covering roadmap session state management, deep-dive analyses on Poppin integration patterns, and recovered planning documents. This documentation work improves internal planning visibility and ensures continuity across development sessions for the Sabine platform.

documentationplanningsabine
engineeringJan 1

Fixed broken CI workflows and Sanity config

Repaired two GitHub Actions workflows (strug-blog-sync.yml and notify-progress-stream.yml) that were failing due to references to a non-existent Gemini action. Both now use Dream Team dispatch for reliable execution. Also corrected the Sanity project ID in CLAUDE.md and added a backfill script to recover 12 missed stream entries from the outage period.

ci-cdgithub-actionssanityinfrastructure
engineeringJan 1

Sabine Reminders Fixed: Scheduler Job Now Active

Reminders in Sabine weren't firing due to a missing background scheduler job and a TypeError during reminder creation. Both issues are now resolved, restoring reminder functionality across the platform.

engineeringJan 1

Fixed sidebar text visibility in Sabine light mode

Sidebar text was completely invisible in light mode, breaking navigation. Updated color tokens to ensure text contrast across both themes. Also moved Upload Knowledge to the top of the sidebar for faster access to the most-used feature.

sabineuiaccessibilitynavigation
engineeringJan 1

Fixed Two Broken Product Page URLs on Live Site

Corrected hard-coded /products/strugworks and /products/antistrug URLs to use proper slug-based routing (/products/strug-works and /products/anti-strug). The broken links were causing 404s in ProductCard CTAs and ClosingCTASection components across the marketing site. TDD audit test added to prevent future URL mismatches.

bug-fixroutingproduct-pagestdd-audit
engineeringJan 1

Dark-Mode WCAG AA Contrast Audit Shipped

Completed comprehensive WCAG AA contrast audit across six Aurora tokens and three dark background surfaces. Static analysis identified 4 accessibility violations in ProductCard badges, tag chips, and BuiltOnAntiStrug CTA buttons. Python script with TDD enforcement calculates luminance and contrast ratios per WCAG formula.

accessibilitywcagdesign-systemauroratdd
engineeringJan 1

Document-ingested memories now visible to retrieval

Fixed a critical bug where memories created from document ingestion were defaulting to 'raw' tier, making them invisible to retrieval queries. Document memories now properly use 'semantic' tier, ensuring they surface in agent context and decision-making.

memoryretrievalbug-fix
engineeringJan 1

Team story, headshots, and Claude-powered dev tooling

Shipped team headshots and origin story to strug-enterprise-site, plus four new Claude commands for visual verification and TDD audit workflows. Strengthens brand narrative while adding quality gates to the CI pipeline.

enterprise-sitebrandingci-workflowsclaude-mcp
engineeringJan 1

Shipped Strug City Sports product page with 7 sections

Launched the Sports Excellence Hub product page at /products/strugcity-sports with 7 sections showcasing athletic excellence features, aurora-cyan accent color, and custom sports components. Fourth product page using the Aurora design system, proving our RSC architecture scales across different product lines.

product-pageaurorarscsports
engineeringJan 1

Stream Page Gets SC 2.0 Magazine Typography Refresh

The Strug Stream page received a visual identity upgrade aligned with SC 2.0 design principles. Magazine-style typography and refined card components improve readability and visual hierarchy. This update brings the event feed interface in line with the broader platform design system.

design-systemsc-2.0strug-streamtypography
engineeringJan 1

Blog index visual refresh + two SC 2.0 launch drafts

Shipped a magazine-style visual refresh to the blog index page with display typography and eyebrow labels. Added two draft launch posts documenting the SC 2.0 build story and the need-state thesis driving Strug Works architecture. Content is staged for editorial review before publication.

blogsc-2.0contentvisual-design
engineeringJan 1

OpenGraph Cards Shipped for All Six Product Pages

Generated dynamic OG images for Strug Works, Sabine, Anti-Strug, Feedtumi, Poppin, and Sports product pages using Next.js 14 ImageResponse API. Each card renders the Aurora gradient system and product-specific accent colors at 1200×630px for social sharing.

opengraphsocial-cardsmeta-tagsseonextjsUS-016-T02
engineeringJan 1

Voice Input Shipped: Push-to-Talk and Dictation in Sabine

Integrated Groq Whisper for voice transcription with a new usePTT hook, VoiceButton component, and full ChatInput/ChatThread integration. Users can now speak their messages using push-to-talk or continuous dictation, bringing natural voice interaction to Sabine conversations.

voicewhisperpttdictationgroqfrontend
engineeringJan 1

Global Voice Overlay Widget and Chat Scroll Shipped

Added a persistent voice interaction widget accessible from anywhere in Sabine, plus instant scroll-to-bottom in chat for better conversation flow. The voice overlay gives Sabine a consistent presence across all app contexts, while the chat fix removes friction when new messages arrive during active conversations.

voiceuichatwebrtcux-improvement
engineeringJan 1

Voice Chat Context Now Persists Across Browser Reloads

Fixed a bug where Sabine voice conversations lost context after browser refresh. Also implemented filtering for Whisper silence artifacts that were cluttering transcripts. Users can now reload their browser mid-conversation without losing the thread.

voice-chatbug-fixux-improvement
engineeringJan 1

Anti-Strug Product Page Ships with SC 2.0 Design

The new /products/anti-strug page is live, introducing Anti-Strug as our autonomous AI development platform. Built with Next.js RSC architecture and the Aurora design system, the page features 8 sections including agent roster cards, mission breakdown, and pricing. This is the third product page to ship in the SC 2.0 refresh.

sc2.0anti-strugproduct-pagedesign-systemaurora
engineeringJan 1

Memory Distillation Scoped to Owner (SCE-2268)

Fixed a security issue where episodic memory distillation ran under service-role credentials, allowing cross-user memory reads. Memory consolidation now enforces proper user-scoping through RLS policies. Added regression tests to prevent future violations.

memorysecurityrlsdistillation
engineeringJan 1

Fixed Slack Alert Spam and OAuth Token Sync

Resolved test-triggered Slack alert spam that was flooding notification channels. Also fixed OAuth token synchronization issues that occurred after token rotation, ensuring seamless authentication continuity for integrated services.

slackoauthauthenticationtestingbug-fix
engineeringJan 1

Google OAuth Reauthorization: Token Type and Timeout Fixes

Fixed Google OAuth reauthorization flow by explicitly setting Bearer token type and adding HTTP timeouts to prevent hanging requests. This resolves issues where users experienced failed reauthorization attempts and improves reliability of Google Calendar and Gmail integrations in Sabine.

oauthgooglebug-fixintegrations
engineeringJan 1

Document classifier ships for Sabine memory ingest pipeline

Added automatic document type classification to Sabine's memory ingestion pipeline. The classifier identifies and tags incoming documents (emails, PDFs, web pages) before they hit vector storage, enabling smarter retrieval and context-aware responses. This closes a gap where Sabine treated all documents identically regardless of their nature or purpose.

sabinememoryclassificationml-pipeline
engineeringJan 1

Biographical Document Ingest with Holistic LLM Extraction

Sabine can now ingest biographical documents using holistic LLM-based extraction. This enhancement moves beyond field-by-field parsing to understand context and relationships within life documents, enabling richer partner profiles. The feature improves how Sabine learns about user history and preferences from uploaded materials.

sabinellmdocument-processingbiographical-data
engineeringJan 1

Phase 2 Classifier Now Wired Into File Upload

The Phase 2 classifier is now integrated directly into Sabine's file upload endpoint. Files are automatically analyzed and categorized on upload, removing a manual classification step and improving response accuracy for document-based queries.

sabineclassifierfile-uploadautomation
engineeringJan 1

Sabine Super Agent upgraded to Claude Haiku 4.5

Updated the foundation model powering Sabine from Claude Haiku 3 to Claude Haiku 4.5 (20251001 release). This upgrade delivers faster response times and improved reasoning capabilities across all Sabine interactions—email intelligence, briefings, and autonomous task execution. The model constant HAIKU_MODEL now points to the latest stable release.

sabineclaudeinfrastructureai-models
engineeringJan 1

Knowledge Upload Integration Restored

Fixed critical parameter mismatch in biographical and legal document upload handlers that was causing all classified file uploads to crash. The fix corrects function signatures to match expected parameters (text, filename, source_document_id instead of document_text, knowledge_file_id) and adds robust JSON parsing with brace-matching fallback for LLM responses wrapped in explanatory text.

backendintegrationbugfixknowledge-ingestion
engineeringJan 1

Legal Ingest Now Extracts Contract and Customer Details

The legal document ingest pipeline now captures contract numbers, customer names, addresses, and phone numbers from uploaded documents. This enhancement fills a critical gap in contract identification, making it easier to track and reference agreements within Sabine's partnership workflows.

legal-ingestdata-extractionsabine
engineeringJan 1

Fixed Memory Ingest Parameter Mismatch in Sabine Backend

Corrected kwarg names in biographical and legal memory ingest handlers. The upload handler was passing `document_text` and `knowledge_file_id`, but both ingest functions expected `text` instead. This fix ensures memory ingestion flows work correctly for Sabine's knowledge management system.

backendbug-fixmemorysabine
engineeringJan 1

Fixed Haiku JSON Parsing in Biographical Ingest

Shipped a fix for Claude Haiku's tendency to omit outer braces in JSON responses during biographical document processing. The parser now handles ```json "assertions": [...] ``` syntax alongside standard JSON, improving extraction reliability. Also strengthened the system prompt to explicitly require complete JSON structure.

llm-integrationparsingbiographical-ingestreliability
engineeringJan 1

Comprehensive Legal Contract Data Extraction for Sabine

Redesigned Sabine's legal document extraction prompt to capture 95%+ of actionable contract data including terms, obligations, payment structures, and renewal clauses. Improved memory creation ensures no critical contract details are missed during document ingest.

engineeringJan 1

Biographical ingest now groups narrative memories for better retrieval

Sabine's biographical memory system was losing important context because atomic assertions like "Subject was born in Peoria" produced embeddings that scored below the 0.6 similarity threshold during retrieval. We now group related biographical facts into narrative chunks, preserving context and improving recall accuracy for personal history.

sabinememoryembeddingsretrieval
engineeringJan 1

Fixed memory retrieval bias in LLM context headers

Changed confidence tier labels from judgmental language ('Uncertain memories') to neutral descriptors. The LLM was systematically ignoring LOW-confidence memories because the context header instructed it to 'acknowledge uncertainty' — effectively teaching it to discount useful information. Updated labels now present all tiers objectively, ensuring the model considers all retrieved memories.

engineeringJan 1

Fixed deployment script line endings for Linux containers

Added .gitattributes to force LF line endings for shell scripts in the deploy/ directory. CRLF line endings were causing 'cannot execute: required file not found' errors on Railway's Linux containers, breaking deployments.

deploymentinfrastructuredevopsrailway
engineeringJan 1

Memory Lab env vars now load dynamically on Railway

Fixed a critical bug where Memory Lab environment variables were read at module import time instead of runtime. On Railway's container platform, this caused failures when modules loaded before env injection. The fix moves os.getenv() calls into functions, ensuring vars are read when needed.

memory-labinfrastructurerailwayenvironment-config
engineeringJan 1

Fixed Sabine Brain UUID in Memory Lab Integration

Updated brain_id from string name 'sabine' to actual UUID (e2c1a407-...) in Memory Lab client. The Memory Lab API expects UUID identifiers, not string names. This fix ensures proper agent context retrieval for Sabine.

memory-labsabinebugfixintegration
engineeringJan 1

Northern Lights Calendar Frontend and Backend Integration Shipped

Sabine's calendar system now features a complete frontend interface with full backend merge endpoint integration. This enables users to view and manage calendar events with proper data synchronization between the UI and backend services.

calendarfrontendbackendintegrationsabine
engineeringJan 1

Sabine Super Agent Phase 2: Six new frontend pages shipped

Complete frontend build-out for SCE-20 Phase 2 adds six new pages to Sabine Super Agent, expanding the user interface for briefings, logistics management, and intelligence dashboards. This phase transforms Sabine from a backend-heavy assistant into a full-featured web application with comprehensive UI coverage.

sabine-super-agentfrontendui-expansionphase-2
engineeringJan 1

SC2.0 Design Sprint Complete — All Product Pages Shipped

Completed Batches 4 & 5 of the SC2.0 design sprint, shipping production-ready HTML for all product pages (Strug Works, Sabine), About, and Team pages. This wraps the complete visual redesign of strugcity.com, including updated navbar and footer components that unify the experience across all surfaces.

designSC2.0product-pagesstrug-workssabine
engineeringJan 1

SC-QA Budget Raised to $2.00 for Enhanced Testing

The default budget for the sc-qa agent was increased from $1.00 to $2.00 per task execution. This adjustment provides more headroom for complex test scenarios and multi-step validation workflows that were previously hitting budget limits.

quality-assuranceinfrastructurebudget-tuning
engineeringJan 1

Strug City Sports wired into products page and Sanity catalog

Added Strug City Sports to the canonical product catalog in Sanity and wired the dedicated route into /products page navigation. Migrated away from the deprecated BanditsTracker name. Created patch-products.ts script to maintain the five-product catalog (Sabine, Strug Works, Sports, Anti-Strug, Enterprise Site) and filterDisplayedProducts() utility to exclude the enterprise site from the public products grid.

SanityProduct CatalogRoutingCMS
engineeringJan 1

Shared OG Card Template Component Shipped

Shipped a reusable OpenGraph image template component that generates dynamic social cards across the site. The template eliminates duplicate OG generation logic and provides consistent brand presentation when links are shared on social platforms. All product pages, blog posts, and marketing pages now use the shared OgTemplate component.

opengraphsocial-cardsmeta-tagsseocomponent-library
engineeringJan 1

Batched Parallel Tool Calls Shipped for Agent Performance

Strug Works agents can now execute multiple independent tool calls simultaneously instead of sequentially. This architectural improvement reduces task completion time for operations like file reads, git commands, and memory lookups that don't depend on each other. Production agents will see immediate performance gains on multi-step workflows.

agentsperformancearchitecture
engineeringJan 1

G-Eval Drift Detection Monitors Agent Output Quality

Shipped LLM-as-judge drift detection using G-Eval to monitor agent output quality over time. The system automatically scores task completions against defined quality criteria and alerts when performance degrades. This gives us early warning when model changes or prompt drift affect agent reliability.

agentsqualityreliabilitymonitoring
engineeringJan 1

QA Gate Parity: Local and CI Testing Now Aligned

Fixed a long-standing disconnect between local development checks and CI pipeline validation for Sabine Super Agent. Developers now see the same QA gates locally that run in CI, eliminating the 'works on my machine' gap and catching issues earlier in the development cycle.

sabinetestingci-cddeveloper-experience
engineeringJan 1

Fixed weather location resolution for US zips and city+state

Sabine's weather function was returning incorrect locations when given US zip codes or city+state queries. This fix ensures weather lookups now resolve to the correct geographic location, so Sabine provides accurate forecasts for the right place—critical for a personal assistant managing logistics and travel.

sabineweatherlocation-resolutionbug-fix
engineeringJan 1

Fixed Windows Compatibility for Pre-Commit Hooks

Added shebang to Husky pre-commit hook to resolve execution errors on Windows development environments. This fix ensures Git hooks run correctly across all operating systems, improving developer experience for contributors using Windows.

sabinedeveloper-experiencewindowsgit-hookstooling
engineeringJan 1

Agent Budget Resilience: Commit-as-You-Go and Context Pruning

Shipped critical improvements to agent token budget management including commit-as-you-go discipline, intelligent context pruning, and hard budget gates. These changes prevent agents from hitting token limits mid-task and ensure all work is preserved through incremental commits.

agentsreliabilitybudget-management
engineeringJan 1

SleepGate Memory Consolidation Shipped to Production

Strug Recall now consolidates memory during idle periods using SleepGate, FTM decay, and Fisher Information pruning. The system automatically identifies important memories, fades transient context, and prunes low-value entries—mimicking biological sleep cycles to keep agent recall sharp and relevant.

strug-recallmemoryautomationinfrastructure
engineeringJan 1

Neurologist's Window: 3D Memory Graph Visualization Ships

Strug Recall now includes a 3D force-directed graph that visualizes memory relationships as a living neural network. Built with Three.js and react-force-graph, the Neurologist's Window lets you explore how agents connect concepts, navigate memory clusters by confidence and recency, and understand the shape of agent cognition in real time.

strug-recallmemoryvisualizationsce-170
engineeringJan 1

Railway Worker Service Configuration Fixed

Added missing railway.json configuration file for the worker service. Railway was logging "service config not found" errors because the worker had a Dockerfile but no Railway deployment config, which has now been resolved.

infrastructuredeploymentrailwayworker-service
engineeringJan 1

Fixed Three Critical Bugs Blocking Memory Ingestion

Memory ingestion was completely broken due to three separate bugs: incorrect input_type constructor in langchain-voyageai integration, malformed entity UUID generation, and FamilyMember parsing failures. All three issues have been resolved and memory ingestion is now operational.

memorybug-fixingestionsabine
engineeringJan 1

Retrieval Quality Sweep: G-Eval Framework + Batch Testing

Shipped G-Eval evaluation framework and batch testing scripts to systematically measure and improve retrieval quality in Sabine's AI partnership platform. This tooling enables continuous monitoring of context relevance and answer quality, helping Strug Works maintain high precision as the knowledge base scales.

retrievalevaluationqualitysabine
engineeringJan 1

Memory Hygiene Pipeline: Temporal Normalization & Contradiction Resolution

Shipped automated memory maintenance for Strug Recall. The new pipeline normalizes timestamps, detects and resolves contradictions, and prunes stale entries. This keeps agent memory accurate and performant as the system scales.

memoryinfrastructurestrug-recallautomationmaintenance
engineeringJan 1

Spreading Activation Retrieval with Synapse Algorithm Ships

Strug Recall now uses spreading activation retrieval powered by the Synapse algorithm with BM25 dual-trigger. This brings graph-based memory traversal to agent context retrieval, letting agents discover connected knowledge beyond direct keyword matches.

memoryretrievalbm25spreading-activationstrug-recall
engineeringJan 1

Fixed v4.0 retrieval regression: 0% recall restored

Phase 0 TDD simulation revealed the current system achieved 0% recall across all test queries. Root cause analysis identified three critical issues in memory retrieval, embedding similarity, and agent core logic. All three causes have been addressed and verified through cross-compatibility simulation tests.

retrievalhotfixtddmemory
engineeringJan 1

Multi-Intent Conversation History & Memory Alias Shipped

Fixed conversation history handling in multi-intent flows, added store_memory alias for better DX, and improved error honesty in agent responses. Sabine now maintains proper context across complex multi-step requests and surfaces failures transparently.

agent-intelligenceconversation-contextdxerror-handling
companyJan 1

Strug City Brand Launch: AI-Native Company Site

Launched our enterprise site with full team profiles — 1 human founder and 7 AI agents building together. About page tells our AI-native story, products roadmap is live, and Strug Works Virtual Engineering is officially named.

brandlaunchteamAI-native
engineeringJan 1

Progress Stream Automation Ships with GitHub Actions

GitHub Actions now auto-dispatches sc-content-writer on every push to main, creating published stream entries and draft blog posts—replacing the deprecated Gemini CLI. New Linear tools (linear_update_issue, linear_create_comment) let agents self-close issues. CI hardened with secret validation, timeouts, injection prevention, and merge commit fixes.

automationgithub-actionsci-cdlinearcontent-pipeline
companyJan 1

Strug City Brand Launch: Team, Products, Story

Launched the Strug City brand with our full team page—1 human founder and 7 AI agents working together. Added our origin story, renamed Dream Team Strug to Strug Works Virtual Engineering, and shipped a products roadmap. This is who we are.

brandteamlaunch
engineeringJan 1

WCAG AA Contrast Failures Resolved Across Site

Fixed contrast ratio violations across blog, products, and stream pages plus five core components. Audit enforced via __tests__/blog-page.audit.test.tsx caught insufficient contrast in text/background pairs. All customer-facing surfaces now pass WCAG AA standards.

accessibilitywcagauditcontrasta11y
engineeringJan 1

Memory Skill and Slow Path Worker Deployed

Shipped store_memory skill enabling agents to persist learnings across sessions, plus deployed the Slow Path worker for async memory processing. This gives Sabine the ability to learn from interactions and build context over time.

memoryinfrastructureagentssabine
engineeringJan 1

OAuth Token Validation Added Before Persistence

Sabine now validates OAuth tokens before storing them in the configuration database. This prevents invalid credentials from being persisted, improving security and reducing downstream authentication errors. The change ensures token integrity at the earliest possible point in the OAuth flow.

oauthsecuritysabine
engineeringJan 1

File Upload Dual-Write Suppression Shipped

Fixed conversational dual-write behavior for file uploads when ML processing flag is enabled. This change prevents redundant messages in Sabine conversations during file upload operations, improving user experience and reducing noise in chat threads.

sabinefile-uploadconversational-aibug-fix
engineeringJan 1

Memory Lab client now logs warnings on malformed responses

Enhanced error handling in Sabine's Memory Lab integration. The ML client now logs WARNING-level diagnostics when it receives unexpected response shapes instead of silently failing. This improves observability and makes it easier to catch integration issues before they impact users.

sabinememory-laberror-handlingobservability
engineeringJan 1

Biographical Ingestion: Token Limits and Timeout Fixed

Fixed biographical memory ingestion with max_tokens set to 4096, ML service timeout extended to 120s, and proper failed status handling when zero memories are created. These changes prevent silent failures and improve reliability of the memory creation pipeline.

sabinememory-labbiographical-ingesterror-handlingobservability
engineeringJan 1

Intent Decomposer Now Strips Markdown Fences from LLM Output

Fixed a parsing issue where the intent decomposer failed to strip markdown code fences (```json blocks) from LLM responses, causing downstream JSON parsing errors. This improvement ensures cleaner data flow through the Strug Works orchestration pipeline.

bugfixllmintent-decomposerorchestration
engineeringJan 1

Reminders endpoint error handling and diagnostics shipped

Added comprehensive error handling to the reminders endpoint that was causing 500 errors. Implemented diagnostic endpoint to surface visibility into system state and error conditions. This improves reliability for Sabine users relying on reminder functionality.

backenderror-handlingdiagnosticssabine
engineeringJan 1

Weather Skills Added to Sabine Agent Configuration

Added OpenWeatherMap API integration to Sabine's skill set, enabling weather queries and location-based responses. Updated environment configuration with clear documentation for API key setup and rate limit guidance, making it easier for developers to enable weather capabilities.

sabineapi-integrationweatherconfiguration
engineeringJan 1

Memory Archive Controls and Salience Filtering Shipped

Strug Recall now supports archived memories with salience-based filtering, archive configuration UI, and search across active and archived entries. The enhancement gives teams fine-grained control over memory lifecycle management, reducing noise while preserving historical context for long-running projects.

memorystrug-recallfeaturearchivesearch
engineeringJan 1

Fixed NaN Date Bug in Reminder Grouping Logic

Resolved a critical bug in groupReminders that caused NaN (Not a Number) date values to corrupt reminder sorting and display. The fix also improved error messaging to help users understand validation failures. This ensures reminders stay reliably organized by their scheduled dates.

remindersbugfixdate-handling
engineeringJan 1

Safari Voice Recording Fixes: MIME Types and Error Handling

Fixed three critical Safari voice recording issues: corrected MIME type detection for Safari's unique codec support, resolved stale closure bugs that prevented proper state updates, and added visible error feedback so users know immediately when recording fails. These changes make voice input reliable across all browsers.

voicesafaribugfixbrowser-compatibilityerror-handling
engineeringJan 1

Email Integration: Service Account Auth & Auto-Recovery

Fixed authentication flow for email service accounts and added automatic recovery when the poller encounters errors. This resolves intermittent email integration failures and improves system reliability without manual intervention.

emailauthenticationreliabilitysabine
engineeringJan 1

Memory Lab Now Connected to Sabine's Active Retrieval Path

Fixed Memory Lab integration in Sabine by moving it from retrieve_context to retrieve_context_tiered—the function Sabine's agents actually call at runtime. Memory Lab retrieval was integrated at line 790 but Sabine's execution path uses the tiered retrieval strategy, so the feature was technically present but functionally invisible. This fix ensures Sabine agents can now access Memory Lab context during conversations.

sabinememory-labretrievalbugfixcontext
engineeringJan 1

Diagnostic Endpoint Ships for Memory Lab Integration Testing

A new /agent/diagnostic endpoint now tests every layer of the Memory Lab integration: environment configuration, service health, brain listing, retrieval API calls, and the memory_lab_client module. Engineers can validate the complete stack with a single curl command, eliminating guesswork when debugging integration issues.

memory-labdiagnosticsapitestingintegration
engineeringJan 1

Calendar Feed Ingestion Skill Shipped to Sabine

Added ICS parsing and Google Calendar sync capability to Sabine, enabling the AI partnership platform to read and understand user schedules. This foundational skill allows Sabine to provide calendar-aware assistance and proactive scheduling support.

sabinecalendarintegrationskills
engineeringJan 1

Calendar sync engine ships with diff detection

Sabine can now detect changes in calendar feeds and sync them to Google Calendar automatically. The engine runs periodic checks, identifies what changed (new events, updates, deletions), and pushes only the deltas. Phase 1 of autonomous calendar management.

calendarsabinesync-enginepythonautomation
engineeringJan 1

Gmail sync now handles timestamp-aware tokens correctly

Fixed a critical bug where stale database tokens were breaking Gmail synchronization. The system now properly compares timezone-aware timestamps, preventing authentication failures when tokens expire. This ensures reliable email integration for Sabine users.

gmailauthenticationpythonbug-fixsabine
engineeringJan 1

Fixed Critical Reminder Bugs in Sabine Super Agent

Resolved four critical bugs affecting Sabine's reminder system: reminders disappearing from the UI, an infinite scheduling loop, false success status messages, and inconsistent state management. Reminders now persist correctly, schedule once, and report accurate completion status.

sabinebug-fixremindersreliability
engineeringJan 1

Dev session workflow config shipped to enterprise site

Added .claude/launch.json and dev-session.config.json to enable structured development sessions with Claude Desktop's /dev-session skill. Also updated naming conventions documentation and validation scripts to ensure consistent product terminology across the codebase.

developer-experiencetoolingnaming-conventionsclaude-desktop
engineeringJan 1

Slack Approval Alerts and Escalation Reminders Shipped

The alerter service now sends real-time Slack notifications for mission approvals and automated escalation reminders. This reduces approval bottlenecks by pushing critical decisions directly into team communication channels instead of requiring dashboard polling.

slackalertingapprovalsinfrastructure
engineeringJan 1

Fixed 4 Frontend Bugs in Strug Central

Resolved critical issues affecting graph rendering, observability UI, mobile navigation, and Linear integration. These fixes improve UI reliability across Strug Central's core surfaces and restore proper mobile responsiveness.

frontendbug-fixuimobilelinear
engineeringJan 1

Fixed 5 Critical Backend Budget Execution Issues

Resolved multiple backend failures affecting sc-frontend budget operations. Fixed issues in agent executor task handling, task runner budget logic, and git push operations. These fixes restore reliability for frontend build and deployment workflows.

backendbugfixagent-executorgitbudget
engineeringJan 1

Database Schema Extended for CTO Digest Scheduling

Migration 026 extends the gtm_schedule table to support daily and weekly CTO digest content types. The update widens content_type and cadence constraints while inserting default schedule rows, enabling automated digest delivery workflows. This foundation supports the upcoming CTO digest feature for streamlined engineering updates.

databasemigrationcto-digestgtm-schedule
engineeringJan 1

GTM Scheduler Now Supports Daily Cadence and Digest Content

We've enhanced the GTM scheduler with daily scheduling capabilities and new digest content type support. This update enables more flexible content scheduling patterns and expands the types of marketing content that can be automated through the system.

gtm-schedulerautomationcontent-types
engineeringJan 1

Fixed Agent Memory Access Controls for All Roles

Rebuilt Row Level Security (RLS) policies for the agent_memory table to ensure all agent roles have proper read/write access. This fix resolves SCE-58, where certain agent roles were unable to access their memory scopes due to incomplete RLS configuration.

databasesecurityagent-memoryrlsbugfix
engineeringJan 1

Fixed TypeScript build errors in task and mission components

Resolved strict TypeScript compilation failures that were blocking Vercel deployments. Added the missing parent_task_id field to the Task interface and fixed unsafe type assertions in the task-groups API route and MissionCard component. The build pipeline is now passing and deployments are unblocked.

typescriptbuild-fixdeployment
engineeringJan 1

Dream Team MCP Server Deployment Fixes Shipped

Merged deployment fixes and smoke tests for the Dream Team MCP server. Updates to server.py, Railway configuration, and new smoke test scripts ensure the MCP server deploys reliably and can be validated in production environments.

mcpdeploymentinfrastructure
engineeringJan 1

Memory Observatory: Browse and Edit Agent Memory

Shipped a new Memory Observatory interface that lets you browse, edit, and inject entries into agent memory. Includes REST API endpoints for memory CRUD operations, authentication middleware, and comprehensive test coverage. This makes agent memory visible and debuggable for the first time.

memoryobservabilityapiagents
engineeringJan 1

Sabine Telemetry & Today Dashboard Shipped

Added comprehensive telemetry instrumentation to Sabine's core workflows and introduced a new Today dashboard for daily partner activity. This enables better observability into how users interact with their AI partnerships and provides a focused daily view for quick check-ins.

sabinetelemetrydashboardobservability
engineeringJan 1

Fixed API route blocking in gate middleware

The gate middleware was incorrectly blocking /api/ routes, causing CI dispatch endpoints to return 403 errors. This fix exempts API routes from the gate, allowing GitHub Actions webhooks and automated workflows to function properly. CI pipelines can now dispatch tasks without authentication failures.

middlewareapici-fixdeployment
engineeringJan 1

CTO Digest Scheduling: Database Schema Extended for New Content Types

Migration 026 expands the gtm_schedule table to support daily and weekly CTO digest content types. The update widens CHECK constraints on content_type and cadence columns, and adds idempotent default schedule rows for digest automation. This lays the groundwork for automated executive summaries and engineering insights.

databasemigrationautomationcto-digest
engineeringJan 1

God View Cost Panel: Real-Time Agent Spend Tracking

Shipped a new cost transparency panel in God View that shows daily agent spend broken down by role and individual tasks. The dashboard now surfaces total daily costs, per-role breakdowns, and task-level cost badges, giving teams immediate visibility into AI agent economics. This is the first step toward granular cost control and budget alerts.

cost-trackingobservabilitygod-viewapi
engineeringJan 1

Semantic Memory Retrieval with pgvector and Cosine Similarity

Shipped pgvector-based semantic memory retrieval using cosine similarity on 1536-dimensional embeddings with IVF indexing. The system now falls back to confidence-sort when semantic search returns insufficient results, ensuring agents always have relevant context while prioritizing meaning over keywords.

pgvectorsemantic-searchmemoryembeddingsinfrastructure
engineeringJan 1

Dream Team MCP Server Cycle 7 Complete

Shipped comprehensive updates to the Model Context Protocol server including enhanced Supabase integration, updated MCP configuration templates, and expanded integration test coverage. This cycle strengthens the foundation for AI agent workflows with improved database connectivity and reliability testing.

mcpbackendtestingsupabasecycle-7
engineeringJan 1

Agent Memory Seeding Complete Across All Tiers

Strug Works agents now have comprehensive memory seeding across global, role, and task scopes. This foundation enables better context retention and more intelligent decision-making across all agent interactions. All memory tiers have been seeded and verified.

agent-memoryplatforminfrastructure
engineeringJan 1

Sabine now delivers reminders via Slack

Wired up Slack delivery for reminder notifications in Sabine Super Agent. Users can now receive time-based and location-based reminders directly in Slack channels, completing the notification delivery pipeline that was instrumented in previous work. This bridges the gap between Sabine's reminder logic and where users actually work.

sabineslacknotificationsremindersintegrations
engineeringJan 1

Legal Document Ingestion: Doubled Token Limit + Auto-Retry

Increased Haiku's max_tokens from 4096 to 8192 to prevent JSON truncation on large legal documents. Added automatic retry logic that halves chunk size when extraction hits token limits. This fix eliminates silent failures during contract ingestion and improves extraction reliability for complex legal text.

legal-ingestionllm-reliabilitysabine
engineeringJan 1

Fixed relative time parsing in Sabine's timezone logic

Addressed a Gemini code review by adding RELATIVE_BASE to dateparser settings, anchoring relative time expressions ('tomorrow', 'next week') to the user's actual timezone rather than UTC. This prevents scheduling errors when Sabine interprets time-based requests across timezones.

engineeringJan 1

Fixed Personal Tools Access for New Sabine Users

Resolved a bug where users without established memory context could access personal calendar and email tools. The agent now checks for active memory entities before exposing personal integrations, preventing inappropriate tool suggestions for new users.

sabinebug-fixmemory-contextprivacy
engineeringJan 1

SMS Signup Form Updated for Twilio Consent Compliance

Fixed Twilio 30923 rejection by adding explicit 'optional, not required for service' disclosure to the SMS signup flow. Updated hero copy and checkbox labels to meet consent requirements without blocking legitimate signups.

compliancetwiliosmssignup
engineeringJan 1

Fixed Web Search Availability in Personal Agents

Resolved a configuration bug where web_search was loaded at startup but missing from PERSONAL_AGENT_TOOLS, making it unavailable to Sabine users. The tool now properly appears in the personal agent's toolkit alongside the other 30+ registered capabilities.

bugfixsabineweb-searchtools
engineeringJan 1

Repository Security: Secrets and Artifacts Now Gitignored

Added .gitignore rules to exclude railway_vars.json and .playwright-mcp/ from version control. This prevents accidental commits of deployment secrets and browser automation artifacts, strengthening the security posture of the Sabine repository.

securitydevopsrepository-hygiene
engineeringJan 1

Calendar Debug Scripts Promoted to Production Tooling

Promoted calendar debug scripts from experimental status to production-ready developer tools by removing underscore prefixes. These scripts help engineers troubleshoot calendar integration issues in Sabine's partnership scheduling system. The promotion reflects their proven reliability and frequent use by the engineering team.

developer-toolscalendarsabinedebugging
engineeringJan 1

Memory Backend Endpoints Expanded for Strug Recall

Added missing endpoints for entity management, memory streams, and archived entry deletion to the Python backend. These API improvements complete the backend infrastructure needed for Strug Recall, our memory browser interface, enabling full CRUD operations on organizational memory.

backendmemoryapistrug-recall
engineeringJan 1

Fixed 500 Errors in Entities and Reminders APIs

Resolved critical server errors affecting the entities and reminders endpoints in Sabine. These fixes ensure reliable data retrieval for AI partnership management and prevent application crashes when accessing core features.

backendapibugfixsabinereliability
engineeringJan 1

Fixed Reminders 500 Error with Real User UUIDs

Resolved a critical bug in Sabine's reminders endpoint that was causing 500 errors by replacing hardcoded 'default' strings with proper user UUID resolution. The fix ensures reminders are correctly associated with authenticated users, eliminating authentication failures and improving system reliability.

backendbugfixremindersauthenticationsabine
engineeringJan 1

Manual Maintenance Reflector Trigger Endpoint Shipped

Added POST /api/maintenance/reflector endpoint to Sabine Super Agent, enabling on-demand maintenance reflection cycles. This gives operators manual control over when Sabine runs internal health checks and reflection processes, useful for debugging and forced synchronization.

sabinemaintenanceapiinfrastructure
engineeringJan 1

Sabine Calendar Phase 2: Recurring Events and Slack Alerts

Shipped recurring event support, Slack notifications for calendar changes, attendance tracking UI, and provider connection help text. This phase transforms Sabine's calendar from basic event display into a full-featured scheduling intelligence layer with real-time alerts and multi-occurrence event handling.

calendarrecurring-eventsslackattendanceux