A headline digest of what changed across the portfolio, by day.
Turn handling now catches no-progress state oscillation such as A<->B, not just stalled states. The eval stack adds a SQLite quality database for tracking scores over time by judge, model, and feature.
github-portfolio-search gained an apply-focused /daily headline digest powered by a free in-process MLX engine, plus unified search over the projects corpus, per-project docs, and regenerated navigation. riff shipped a large reliability pass: semantic slot types, typed date intent/readback fixes, scheduling collision fixes, held-out persona evals, multi-judge provenance, live report cards, and trend tracking.
generate_title_headline_hooks added verbose faithful summary/spine reporting plus a local MLX Qwen3.5-9B provider with reliable no-think JSON output. riff hardened extraction and evaluation, gated Collect Pattern flows across caller paths, shipped several converted flows, and documented GTM cost and revenue plans.
Published per-project portfolio documentation with cleaner routing, docs HTML output, recency/title findability, and Mermaid/dark-mode fixes. In riff, built a fuller flow-evaluation and contact-extraction toolkit with deterministic guardrails, model-provider comparison, repeatable judging, and loop-prevention fixes.
The day centered on making riff's flow-eval system more reliable: branch-aware fill-rate, no-progress backstops, provider failover, timeouts, transcript persistence, and static/trace lints for fake completions, address gaps, raw repr leaks, final statuses, and one-beat turns. It also remediated concrete flow bugs across delivery, scheduling, denial, callbacks, and read-back behavior, while github-portfolio-search kept local .gstack security reports out of the public repo and refreshed generated docs.
Riff added an agent-driveable flow evaluator with typed specs, a public evaluate() API, CLI descriptors, persona-driven conversation runs, rubric scoring, and versioned markdown/JSON reports. The same day hardened runtime read-backs, silent-success terminals, text-mode flow behavior, judge parsing, and test isolation so evaluation failures are easier to reproduce and classify.
Riff landed a deterministic grounding gate workflow with staged shadow wiring, offered-then-affirmed checks, failure classification, surface-form and word-boundary matching, plus regression tests and docs. The portfolio search repo standardized CI authentication on GHPS_PAT for docs and reindex jobs, added nightly reindexing, and Riff patched web/flow-editor dependency alerts.
github-portfolio-search expanded into an AI discovery surface with generated repo docs, a project-docs index, docs search, an llms.txt manifest, homepage links, and incremental auto-updates covering 132 of 137 repos. picture_qr_code_2_login added signed-in UI, safer sign-out behavior, and ownership-based photo deletion via Google self-delete plus admin paths.
This day built two LLM-backed systems: a v1 headline-generation API with provider seams, scoring, persistence, integrity checks, and live Alibaba Qwen support, plus a self-documenting portfolio pipeline that turns GitHub repo context into validated HTML project pages. The work also hardened real-world edges with schema-level 422s, 502 wrapping, JSON/XSS defenses, resilient batch behavior, Mermaid rendering fixes, and a CloudFront-fronted Google Sign-In photo login.
The picture_qr_code_2_login repo was documented as the login-focused fork, with its README mapping the three isolated stacks. A login design spec and isolated picture-qr-album-login deployer ARNs were added so deployment boundaries are explicit.
Both QR code projects now default their graduation-card.pdf output to the citrus theme. The same chore landed in the base project and the login variant, keeping their generated card defaults aligned.
Both picture_qr_code apps gained a blue SITE_VARIANT branding mode for the HEIC album converter. HEIC uploads now use best-effort client thumbnails plus a server-side HEIC-to-JPEG Lambda with backfill, supported by deployer policy and invoke-permission updates.
The recording app moved Riff's launcher toward browser-side "hey riff" routing by hydrating an intent registry from `GET /intents`, while improving capture with raw mic input, two-track stereo blending, combined transcripts, and synced read-along highlights. The Riff service added a guarded Open-Meteo weather flow backed by a JSON preference store, with docs, specs, and tests updated around weather's live/in-flight status.
recording_app gained concurrent recording, live transcript wake-word UI, editable hydration items, and a Qwen-backed hydration pipeline with backfill support. The Riff integration added scoped launch-token minting, Live WebSocket token gating, client token plumbing, /live and /flow-audio glue, plus event-driven S3-to-SQS worker intake and deploy IAM updates.
The recording app gained active/active worker leasing using S3 conditional-write locks, plus per-host worker status in the API/UI. The day also hardened worker setup, gated design-doc serving, app-shell caching, and provider/hydration specs.
The photo board was expanded into a 16-cell 4x4 timeline from 2011 to 2026, with face-aware cropping, EXIF orientation fixes, per-slot framing overrides, matting, rotation, zoom, and blurred padding for cleaner layouts. The recording app gained an authenticated in-app Docs link plus workers and credentials ops documentation in Markdown and styled HTML.
May 31 centered on reusable media workflows: a new recording_app shipped from spec to deploy with chunked S3 uploads, Lambda endpoints, worker transcription flow, playback, delete, and flicker-free SPA reconciliation. The day also added poster-generation pipelines, themed printable QR cards, and an agent-router riff worker with LLM shaping, executor, phone-bridge enqueueing, and a Claude CLI backend.
A Postgres-backed agent work queue landed in agent-router with worker registration, filtered claims, routing, wakeups, metrics, cancellation, expiration, dead letters, demos, and deployment docs. The day also shipped a Lambda/S3 QR photo album app with token-gated uploads, gallery, delete flows, printable cards, and riff feature-request store-and-forward scenarios.
Riff added caller-ID and per-number flow routing, per-flow preferred model selection, routing normalization, audit logs, CEO command-center tooling, and live-session context/slot-extraction fixes. Agent-router extended its M3 validation run through cycle 625, reaching 300 filter cycles and ~97.9% cumulative filtering while codifying dispatch edge cases.
The day centered on coordinating a demo-critical RIFF trouble-ticket path through agent-router pings, utilization snapshots, escalation relays, dashboard evidence, and Phase 2 standby tracking. RIFF added live-mic support, property-ticket routing and gate fixes, phone guards, red tests, generated trouble-ticket corpora, and run-by-run release evidence.
agent-router added fleet operations surfaces: /exec briefings, a /status dashboard, mobile /m hosts/worker/voice/composer workflows, manager queue APIs, peer status, tailnet auto-discovery, peer gossip, role personas, and M3 utilization snapshots. riff advanced flow validation with state models, SHA-256 flow hashing, static/L1/L2/L3/L4 runners, run/run-status routes, metrics emitters, and docs/test coverage for integration and slot fallback behavior.
Riff added an observed property trouble ticket L3 run path, backed by absolute run-root handling and catalog-based issue category inference. The day also tightened user flow and observability by preventing premature SMS sends, serving live probe-room audio on the timing page, and exposing expected reality whisper metrics.
RIFF added an AIR/realtime speech timing stack: bootstrap/control CLI, agent-router bridge, live dashboards, speaker swim lanes, audio editor timeline, and handoff metrics. It tightened measurement quality with Whisper-derived truth lanes, room-clock alignment, transcript validation, evidence bundles, and gates that block self-improvement when truth quality is weak.
Agent Router gained visible delegation support while preserving router sessions through browser refreshes and ignoring prompt templates that should not count as visible delegation. Cal Provider’s setup wizard was recast around professional service businesses and clearer customer calendar setup, while Riff added stable phone host modes.
Agent Router added mDNS auto-discovery so federation peers can find each other without manual configuration. It also introduced per-session JSONL activity logs with `/api/logs` endpoints for retrieving session activity.
COE-overview grew from design plan and scaffold into a deployed-ready service that ingests multiple internal/security sources, normalizes COE events, tracks runs in Postgres, and renders weekly prep docs with source links. The day also added CI image publishing, Docker/Kubernetes deployment artifacts, Grafana dashboards, smoke tests, integration tests, and review-driven hardening.
agent-router v2.2 added machine-aware federation, broadcast routing, role metadata, bearer-token auth, and cleaner Vision API support for multi-terminal workspaces. The docs were expanded into a canonical architecture/protocol reference with operational layers, endpoint fixes, federation setup, .env config, and cookbook guidance.
May 16 focused on turning deployment visibility into reusable infrastructure: a typed sites registry, MCP dashboard, CLI commands, freshness checks, launchd refresh, and basic-auth setup landed in intelligence-briefing-toolkit. Related repos added JSONL deploy history logging, while riff hardened recording flows with postcall exports, keyword-based endings, and stricter LLM silence controls.
Everyone AI gained a OneLogin-compatible single-team portal gate, shared S3 Drive mode backed by Kubernetes PV/PVC provisioning, and nginx/Playwright deploy hardening. The briefing projects shipped evidence persistence and citation-safe persona voicing: all 20 case packs saved to disk, Case Reopened debates voiced, UFOBriefing preferring voiced outputs, and citations cleaned into explorable links.
Everyone AI finalized Drive Panel v1’s auth and rollout path by splitting portal/workspace S3 flags, deriving identity from portalSession cookies, moving routes to /me/* and /admin/*, and adding middleware/session tests. The UFO briefing stack gained a reusable case-pack builder, persona-driven panel orchestration, /cases rendering assets, plus EC2 cron and radar UI polish.
UFOBriefing was redesigned with a liquid glass UI and the Outfit font for a refreshed presentation. The update also integrated a disclosure database and added interactive lightboxes for exploring content.
The portfolio advanced UFO disclosure tooling by refreshing project evidence, merging an S1.7 disclosure graph into the live UFO graph, deriving audit years from provenance, and adding graph and lead explorers. It also hardened Riff scheduling and air-call scenario coverage while tightening Switchboard worker coordination with sync contracts, dashboard state, and ownership safeguards.
The day advanced the intelligence briefing toolkit from corpus cutover into guarded merge workflows: a live UFO graph expanded from 7 to 1,481 entities, nightly G1-G4 quality gates were wired, and S1.7 added atomic provenance plus dry-run merge audits with a decision-file gate. Riff and switchboard-ai focused on operationalizing voice-agent validation with task broker/inbox workflows, ladder evidence checks, OTA artifact bundles, and Austin Plumbing runbooks and matrices.
Riff dominated the day with a full voice-agent FSM variation harness, spanning path exploration, deterministic scenario generation, multi-level execution, fault injection, verdicts, promotion ledgers, coverage reports, and service-side artifact export. Supporting work added Switchboard’s live multi-agent portal, tightened scheduling/calendar recovery flows, and fixed an IBT temporary uvicorn scheduler bug.
The day split between hardening a UFO intelligence pipeline and building a reusable real-time voice QA harness. Commits added sample-first LLM extraction, manifest-backed collector regressions, Codex-reviewed plans, Gemini Live caller simulation, audit/export/preflight tooling, and scheduling flow fixes.
May 8 focused on turning PURSUE from research backlog into published editorial surfaces while documenting the collector’s gaps and evidence flow. In parallel, Riff got a long hygiene pass across accessibility, metadata, shared UI primitives, workspace tokens, and regression scripts.
Iran-Intel was bootstrapped from prior briefing infrastructure into a public, password-gated CloudFront site with persona panels, clickable citations, TLDRs, disclosures, and multi-voice audio. Riff advanced a Tier-B voice-agent evaluation stack with Dockerized Gemini Live tests, scripted dialogs, assertions, safety gates, failure classification, mitigation dispatch, reports, and latency tracking.
The day focused on hardening the intelligence briefing pipeline with better claim extraction, dedup handling, freshness ranking, and a default daily-publish path to MLX. Riff also tightened scheduling flows with templated recap lines, corrected slot-booking arguments, and safer phone startup, while UFOBriefing made summary text the main click target.
The main build generalized intelligence-briefing-toolkit’s gap diagnoser with typed gap axes, a rule registry, domain presets, CLI commands, governor migrations, docs, and regression tests for cross-domain isolation. The day also consolidated daily/nightly briefing schedules around local early-morning windows, set MLX’s default model to Qwen3.5-4B, fixed UFO pipeline analysis, improved Riff phone/live flow behavior, and cleaned RAG sprint/auth artifacts.
RIFF added a call-review pipeline spanning session manifests, sidecar Whisper truth, session indexes, raw artifact endpoints, and post-call audio playback, with tests for URL decoding, traversal blocking, manifests, dedupe, sorting, and empty states. The briefing projects advanced reuse-oriented planning and surfaces: intelligence-briefing-toolkit bridged signals.json into graph.json and documented domain-aware gap diagnosis, while UFOBriefing shipped home stats, /wire, /signals, and deployment infrastructure.
The intelligence briefing toolkit gained a gap-driven dynamic query loop with diagnoser, query crafting, budgeted collection, telemetry, CLI and daily-runner dispatch, project opt-ins, and regression tests. The day also hardened extraction/state handling, instrumented Riff’s flow graph UI, and spun up UFOBriefing by pruning and rebranding an inherited political portal.
Riff turned conversational primitives into doc-as-spec modules backed by YAML scenario suites, invariant tests, and reusable sweep scripts across announce, choice, collect, confirm, end, reason, record, run_program, verify_caller, and book_appointment. The day also shipped book_appointment_v1 scheduling guards/provider state, flow-graph layout and zoom fixes, a Gemini 2.5 default migration, plus smaller updates for env-suffixed webhook FIFO ARNs and query_override pipeline coverage.
The intelligence briefing toolkit was hardened for long-running daily publishing by switching backends, bounding costly steps, adding wall-clock and per-page timeouts, and preserving partial output. Collection and extraction also improved with rotating-focus recency queries, broader URL date parsing, signal/source date locking, and patched evidence rows, while riff added reusable voice modules and Telnyx audio fixes.
The intelligence briefing toolkit gained a launchd-driven daily collect-to-brief-to-publish pipeline, JSON-LD publish-date extraction, smarter backfill, and recency-tiered briefs with published dates throughout. Riff added a building-block tutorial catalog and composition case studies while hardening its live voice path with choice_stt, MlxWhisperEngine, transcript_sources UI/state trace, audio persistence, timeout cleanup, and smoke tests.
intelligence-briefing-toolkit added an MLX backend for a local Qwen3 8B LLM with install and startup health checks, plus preserved source published_at metadata in synthesized reports. riff advanced its Builder with Tier 1 block tooling, choice-route previews, test-bench logs/API docs/parity guards, responsive and accessible palette behavior, and boot/state/style fixes.
The intelligence briefing toolkit refreshed candidate-focused government project data, restored key metadata, tightened portal display notes, and regenerated a Schwab brief. Riff added reusable flow-quality tooling, deployment health visibility, classifier timing insight, and Locked Choice prompt pre-generation based on live-mode diagnosis.
The commits hardened AI dashboard provider handling by adding Qwen 3.6 MLX providers, routing MLX on port 8080 through the OpenAI-compatible path, and fixing /chat/completions behavior for max_tokens and thinking models. They also improved reliability by disabling S3 drive defaults for workspace launches and snapshotting research_projects after pipeline runs.
The portal now routes the Claude Code catalog tile to the default workspace path with a 4Gi memory allocation. It also adds an Orchestration catalog tile and bakes a bridge starter into the portal/workspace flow.
The everyone-ai changes tightened deployment behavior in two places: Docker containers now clear any inherited ENTRYPOINT so the workspace CMD actually runs. IAM permissions were also expanded so the webhook-ingest Lambda can publish to capsule-webhooks-*.fifo SNS topics.
Infrastructure work landed across cal-provider and everyone-ai: a structural fix was documented with ADR-0002 and paired with a cleanup script, while IAM and Docker build issues were corrected. The everyone-ai workspace images were expanded to include Codex and Gemini CLIs alongside Claude Code across Claude chat/oauth variants.
The portal App Catalog was narrowed to Claude Code and VS Studio only. IAM deployment permissions were expanded so Lambda updates can change both function code and configuration.
Calendar provider work added structured selection-rejection metadata to FSM returns and a silent rejection path when a requested time is not available. The everyone-ai IAM change expanded the shared EC2 role with SNS/SQS dev-messaging-write permissions.
cal-provider shipped releases 0.4.0 and 0.5.0 with voice-integration hardening, ADR-0001 readback verifiability, and booking safeguards against silent no-ops and concurrent double-booking. everyone-ai tightened webhook ingestion and operator access by adding default SQS routing, IAM permissions for Capsule EC2 hosts, and security cleanup after AKIA rotation.
cal-provider moved calendar behavior behind a reusable FSM with session stores, action logging, MCP wiring, shell driving, provider construction, and contributor-facing docs. everyone-ai completed and documented a queue-backed webhook system, while phone-agent work shifted LLM calls to MLX and added a Qwen3.5-4B LoRA training pipeline.
everyone-ai advanced webhook ingestion through three phases, adding an AWS edge, dispatcher scaffolding and poll loop, manifest/Terraform fixes, and an ECR image path. The work also added typed SignatureError handling, an observability baseline with metrics scrape, user/status handoff docs, and product-audience subpages for PM and executive readers.
phone-agent-scheduler built an evidence-gated loop for voice flows: fleet cleanup, business_profile rollout, stuck detection, N=15 A/B reports, content-grounded cafe/menu experiments, and a deterministic Q&A shim. flowstate-evolve added normalized evidence import, while the scheduler work repeatedly reverted or flagged unvalidated and regressing applies.
The day shipped the initial flowstate-evolve package with tests and a license, then wired it into phone-agent-scheduler through /evolve UI, apply/refresh controls, record-eval-pass.py, analyze-one-flow.sh, record-all-flows, and split_state COLLECT rollouts. It also hardened the portfolio with voice/browser routing, LLM fallback and fast-fail checks, shim-doctor/pytest/smoke coverage, defect closures, security fixes, and intelligence-briefing fixes for governor_race aliases plus published_at/empty-slice handling.
The day shipped Flowstate v0.1.0 and hardened its prompt/tool execution pattern, while phone-agent-scheduler wired that shim through streaming, voice, FAQ, booking, reschedule, validation, retry, observability, demo, and stress-test paths. intelligence-briefing-toolkit added point-in-time regeneration with walk-back history and safer brief builds through Jeff's UX review gate, state isolation, and a model-typo fallback fix.
Seeded Flowstate with its skill definition, build pipeline, landing page, content, and fixed cross-document links. Hardened the phone scheduling agent with slot-state handling, startup slot caching, Silero VAD, Gemini integration, and clearer caller UX.
everyone-ai tightened the terminal and companion experience with truecolor, deploy progress, voice input, clickable URLs, database upgrades, and bug fixes. phone-agent-scheduler expanded calendar-aware scheduling, ASAP handling, name/address extraction, FSM fixes, and LLM-as-judge evaluation while intelligence-briefing-toolkit fixed pipeline settings 422s and added an in-process cron scheduler.
Work centered on making the phone-agent scheduler observable and trainable: a /fsm-debug visualizer/table now shows caller and agent text, response sources, slot-driven state derivation, and chained-state context issues. The day also added an MLX-backed improvement path with real-call slot injection specs, JSON response data, a retrained adapter, a 170-conversation training pipeline, and a deployed Matrix rain static site.
The day centered on making voice-captured addresses production-ready with dictionary fuzzy correction, phonetic matching, spoken-number conversion, cleanup passes, geocoder fallback, Docker self-hosting, and phone-agent integration tests. It also added reusable pipeline infrastructure and UI controls to the intelligence toolkit while fixing ingress, health-check, preview proxy, theming, and publishing issues across supporting apps.
The day centered on making deployment, intelligence analysis, and network discovery systems more production-ready across multiple projects. Work included Kubernetes deploy-as-service fixes in everyone-ai, graph and verification pipelines in intelligence-briefing-toolkit, 17 reviewed fixes in phone-agent-scheduler, and service discovery/fingerprinting in tailscale-3-node-network.
The day combined a new voice-address validation API, a FriendNet Tailscale healthcheck dashboard, and several phone-agent reliability fixes. The largest thread was everyone-ai, which tightened workspace launch, provisioning, deploy previews, one-click templates, UI polish, and E2E validation across multiple sprints.
The day centered on shipping reusable product surfaces: a full-stack workspace companion panel, dynamic briefing project configs, and a generic config-branded homepage. The phone scheduler also moved from FSM groundwork through real-call tuning, replay testing, transcript UI, calendar health checks, and verified zero-failure replay runs.
Across intelligence-briefing-toolkit and ibt-ufo, the day built out a graph intelligence stack: typed NetworkX graph storage, normalizers, scrapers/importers, REST/MCP/CLI surfaces, embeddings, correlation, GNN/anomaly signals, migration adapters, seed docs, and tests. It also hardened daily briefing generation with scheduling, date accuracy gates, parsing fixes, multi-contributor auth, multi-project routing/config/deploy support, a 20-slant variety engine, and settings-race fixes.
Across four projects, the day turned prototypes into operable systems: cal-provider made Google OAuth self-starting and token-store resilient, while phone-agent-scheduler advanced through recording, evaluation, FSM scheduling, prompt rewriting, and a first Google Calendar booking. Everyone AI hardened deploy and workspace UX with health checks, live feedback, cleaner status, and a template gallery; the RAG tool added diverse retrieval, citation metadata, clickable footnotes, and a Chief Strategist consensus brief.
Most of the day went into phone-agent-scheduler, landing sprints that added unified handsfree voice mode, inline lab tuning and recording, benchmarkable STT, Piper TTS, emergency routing, caller recognition, booking SMS, metrics/funnel analytics, post-call NPS, and conversation context. Supporting commits added generation-date stamping to enhanced brief JSON and completed Phase 0/QA fixes for an ADR memory-index home-directory restructure.
The day concentrated on turning phone-agent-scheduler into a pilot-ready, multi-tenant product with handsfree calling, calendar booking, dashboards, alerts, billing, onboarding, deployment automation, and hardening. In parallel, intelligence-briefing-toolkit gained publish-date extraction, footnote URL audits, academic-style citations, smooth clickable footnotes, and S3 validation, while everyone-ai added File System Access API folder browsing and mkdir.
The portfolio added workspace file management in everyone-ai, plus an Enhanced Morning Brief pipeline with narrative prose, clickable footnotes, S3/static-site support, signal deduplication, and talking points in intelligence-briefing-toolkit. Phone-agent-scheduler gained a browser STT→FSM→TTS voice loop, a live editable playbook/test panel, stronger booking/data extraction, conversation-quality fixes, and expanded FSM validation tests.
Across three projects, the day focused on making automated workflows visible, recoverable, and easier to operate: claim verification gained backfill, UI, digest, and homepage stats; the phone scheduler hardened FSM execution and server behavior; and the ADR dashboard became a multi-project command center. The reusable pattern is consistent: pair backend automation with explicit CLI/API entry points, user-facing status surfaces, and debug views that expose what the system is doing.
Across phone-agent-scheduler, FSM-generic, and phone-agent-keiko-tv, the scheduling FSM was pushed from workflow prototype to real Google Calendar booking through web chat, Telnyx audio, and Keiko-TV bridge paths. The day also hardened parsing, tests, docs, and operator visibility while shipping richer navigation and project-state/service views in adjacent tools.
The day turned prototypes into usable scheduling systems: cal-provider added Google OAuth 2.0, encrypted token storage, Sonnet-powered two-phase booking, pending-booking persistence, overlap checks, and security middleware. phone-agent-scheduler and the RAG persona tool added real calendar/web-chat paths, scenario-driven tests, latency tracking, domain-aware evidence, and Piper TTS chat audio.
The day concentrated on production hardening in everyone-ai, with repeated sprint work around app deletion, workspace health, stale/degraded app states, metrics, terminal UX, and E2E coverage. It also expanded reusable product surfaces across the portfolio: intelligence dashboards gained tooltips and responsive layouts, Tool-RAG added streaming/API/domain/campaign workflows with large test suites, and the phone agent gained model/STT switching plus startup warmups.
The day centered on making everyone-ai workspace portals more reliable, with idle/reconnect UX, ECR credential refresh, fleet config cleanup, Playwright smoke/E2E coverage, and all 4 portals redeployed with 4/4 E2E passing. It also shipped a Telnyx/Kokoro phone agent with caller ID and lead capture, plus RAG tool v2.0 work spanning auth, performance, an AI domain wizard, docs, and verification tests.
everyone-ai shipped a deep operations polish pass: resilient web terminals, richer log streaming/search/download/copy flows, workspace/app filtering, stability indicators, and launch-state fixes. tool-RAG-for-split-personalities added complete RAG answer coverage, domain templates, conversation export/share APIs, server-side persistence, persona memory, resume UI, mobile polish, and large Playwright regression suites.
A rapid sprint run pushed tool-RAG-for-split-personalities into a fuller multi-domain RAG workbench, ending at 91% coverage with v1.6 prep underway. The day also added ADR memory-index improvements: fixed post-merge sprint live detection and introduced a /summarize skill with a project health panel and MCP tool.
The day was dominated by tool-RAG-for-split-personalities advancing from Sprint 22 through Sprint 61, adding domain factory flows, enterprise APIs, collaboration, analytics, plugins, search, RBAC, workflow automation, voice settings, data visualization, and an API gateway with GraphQL. Other commits added a sprint highlight video pipeline with Piper TTS and improved the ADR memory dashboard with backlog pagination, sprint summaries, parser fixes, and live agent output.
github-portfolio-search gained a reusable portfolio layer with portfolio.json indexing, showcase UI, connected projects, deploy manifests, health logs, GitHub OAuth, S3 sign-in logging, admin access controls, and refreshed docs. Companion repos tightened sprint workflows with roadmap “you are here” markers, sprint parsing tests and fixes, dashboard rebuild hooks, portable paths, Claude skill sync, and status-doc generation.
The day turned github-portfolio-search into a public, searchable portfolio app with indexing, semantic and TF-IDF search, APIs, MCP tools, deployment, auth, analytics, exports, collections, embeds, and richer repo detail pages. Related commits added project-status awareness and docs/security updates to Bob, plus stronger lifecycle templates and sprint planning in the ADR memory index.
Most commits advanced the No Prob Bob assistant with hands-free voice controls, Telegram read-only safety, dashboard-backed project tools, and auto-rebuild/active-project handling. Companion work added one-command setup and screenshots to the TTS/STT app, plus status APIs, backlog parsing, and worktree symlinks for the ADR memory index.
The day pushed bot-customerObsessed-No-Prob-Bob-afterburner through Phase 2, documenting 19 sprints and 485 tests while adding multi-provider LLM support, SSE streaming, conversation persistence, evaluation expansion, seed-doc export, and chat UI improvements. claude-chat-workspace advanced into a configurable tool-chat module with stronger markdown rendering, mobile behavior, keyboard/ARIA accessibility, history UX, and a Sprint 22 file-generation panel brief.
Across the portfolio, the day stood up multiple Afterburner-style projects: an Ollama-backed LLM webchat with personality inheritance and conversation memory, a standalone Claude chat workspace, and the whatsup messaging tool. The work also hardened the sprint/dashboard system with publish/deploy flows, project-aware views, notifications, backlog dashboards, and robustness fixes.
FSM-generic completed its IBT migration, fixed 29 test errors and security bugs, improved denied-access error handling, and made intel-briefing install from GitHub via requirements.txt. Related work fixed live evidence collection blockers in intelligence-briefing-toolkit and added path-based routing, sprint-live views, /sprint skill docs, dashboard deep links, and post-sprint automation in the ADR memory index.
The day centered on extracting FSM-generic research capabilities into a reusable intelligence-briefing-toolkit with foundations, services, adapters, a pipeline, and three public interfaces. FSM-generic was wired back to the toolkit through import shims, while the ADR memory index gained deploy admin APIs/views and several operational fixes landed across supporting tools.
The traceable-searchable-adr-memory-index project added a generate-lifecycle-docs skill that uses Claude to create lifecycle documentation. It also gained a bootstrap.sh for one-command framework setup, fixed load_all_lifecycle_docs, added dashboard navigation to the skill, and resolved project metadata by adding everyone-ai.
This day centered on reusable automation foundations: a browser automation tool gained Chrome launching, profile discovery, macOS cookie decryption, and a Commander.js CLI. The ADR memory dashboard also grew into a project-aware agent workspace with chat, model selection, sprint tooling, onboarding, seed uploads, lifecycle views, and review panels.
The day delivered a Sprint 5 integration for FSM-generic, combining a config editor, type definitions, store wiring, and e2e coverage. The ADR memory index gained LLM-powered seed extraction, per-provider configuration, a modular report pipeline, and fixes for section parsing and project-root resolution.
The day centered on making portfolio tools more operable from coding agents: new MCP servers, Claude Code workflow support, and an Afterburner dashboard framework landed alongside repo guardrails. It also added reusable product features: research-configuration editing and interpretation in FSM-generic, plus a narrated sprint-demo video engine with TTS and MCP tools.
Across the media annotator project, the day took the repo from scaffold to a tested video/image review system with CLI commands, web UI, screenshot capture, diff reports, and documentation. The ADR memory-index repo gained sprint automation, real-time progress/dashboard controls, metrics, backlog/status updates, merge fixes, and macOS-compatible scripts.
FSM-generic focused on production hardening: semantic admin guards, session TTL/caps, secure CORS, input sanitization, cwd-independent paths, startup validation, and security tests wired into the server. The ADR memory framework added reusable sprint operations, including robust repo-relative script paths, auto-generated project status, live tmux agent monitoring, multi-project/view-edit support, and isolation tests.
FSM-generic integrated social collection, KùzuDB graph services, contributor tracking, alert delivery, dashboards, artifact detection, WebSocket live updates, and production hardening across three sprint phases. The day also added an S3/CloudFront static deployment tool and advanced the ADR memory index with auto-update specs, sprint-toolkit fixes, settings persistence, and regression planning.
The portfolio tightened project documentation, dashboard behavior, onboarding UX, and testing coverage across multiple repos. It also added reusable sprint and pipeline tooling for parallel agent workflows and project setup.
FSM-generic added a fuller project picker, persistent settings access, API/server configuration, and mission switching that resumes existing missions instead of destroying data. The ADR memory index gained an interactive Sprint Dashboard web UI plus repo hygiene for worktrees and dist outputs.
FSM-generic and grassy-knoll gained an investigation workflow with auto-generated briefings, Qwen 3.5 query rewriting, new signal categories, brief history, and evidence-focused drawer navigation. The same day hardened boot, mission lifecycle, archived-project recreation, timeline keys, drawer races, and captured the process in ADR-backed sprint documentation.
FSM-generic and grassy-knoll added a CEO Dashboard with mission endpoints, a 3-column React cockpit, mock API, citation chips, and Structured Intelligence v0 for entities, events, and claims. The day also shipped reusable mission templates, EntityMap/EventTimeline/KeyMetrics cards, tooltip polish, evidence/search/cache fixes, dashboard tests, and a supporting session ADR.
This day added a modular multi-backend AI chat platform and expanded research wizard projects with voice calling, browser TTS, text chat, UI, docs, and deep research improvements. The voice-only STT/TTS app gained startup model preloading, an admin panel for model and voice controls, VAD/barge-in settings, refreshed docs, and a prompt fix for hearing-aware Claude behavior.
Both FSM-generic and grassy-knoll added an overnight deep research system built around a looping FSM workflow. The same day also introduced a news collector builder with wizard, services, shell, editor, and endpoint/test coverage.
FSM-generic and grassy-knoll both added a NewsCollector service to fetch overnight AI news and wired it into a morning briefing workflow. Both projects also fixed Anthropic client setup by passing the API key and retrying null summaries.
FSM-generic and grassy-knoll both added a Phase A FSM/Voice OS kernel with scaffolding, design docs, packaging, tests, and core async primitives. The commits build up schemas, JSONL workflow loading, tool registration, a generic VoiceSession runner, Twilio/WebRTC channels, auth middleware, and runnable onboarding examples.
Released `sip-voice-transport`, a PSTN phone call transport for Mac-local voice AI. The README now documents Python version and virtualenv setup, with corrected architecture diagram flow.
The portfolio added a search-tool-provider that unifies async web search across 6+ backends, then hardened its admin API with atomic writes, HTTP errors, race protection, safe .env merging, lifecycle fixes, docs, screenshots, and live provider health. It also launched a modular voice monorepo with WebRTC signaling, TURN providers, browser transport, STT/TTS/LLM abstractions, starter providers, auth middleware, examples, tests, runtime config, barge-in, and hangup recovery fixes.
The day centered on launching and hardening cal-provider: a multi-backend calendar library with docs, admin setup flows, dashboard APIs, config endpoints, tests, and v0.2.0 production polish. The broader portfolio connected that library into the voice scheduler, fixed remote WebRTC and test issues, and started a Cloudflare Zero Trust setup portal plus CLI.
Built an initial voice-driven apartment scheduling FSM and expanded it into a hardened, documented workflow with Google Calendar setup, RAG notes, a unified startup script, and security updates. The day also added a split-pane UI with IndexedDB checkpoints, CSV/batch listing ingestion, data-driven step openings, live workflow session state, and fixes for barge-in speech preservation and LLM-to-LLM greeting transitions.
The voice-loop agent now accepts text input alongside speech. Builders can reuse the pattern to offer both typing and speaking as ways to interact with an agent.
This day focused on making voice and app-builder workflows easier to run, understand, and reuse. Commits improved Mac-native Whisper STT orchestration, faster default voice responses, paragraph-based TTS rendering, and clearer app-builder architecture docs.
This day shipped an MVP k3s App Builder Platform, hardened its deployment path, and added EC2 public-IP ingress handling. It also advanced two voice-focused apps with STT/TTS loops, Anthropic tool-use fixes, observability, durable transcript storage, exports, search, editing, summaries, and tests.
A companion TTS/SST app added an Otter.ai transcription track from backlog and design docs through Phase 1 implementation: transcript view, transcribe button, focused document mode, streaming partials, paragraph breaks, filler stripping, highlights, and a selection toolbar. The day also added markdown href sanitization, companion/connection behavior fixes, 36 Playwright UI tests, screenshots/docs, and a new open-source sound generator with nine audio models and a getting-started walkthrough.
The voice-optimal-RAG project upgraded its embedding model to nomic-embed-text-v1.5. The day’s work focused on improving the retrieval foundation rather than adding new user-facing features.
A full voice-optimal RAG service shipped with FastAPI routes, document ingestion, tiktoken chunking, embeddings, LanceDB storage, Docker config, docs, nightly GitHub indexing, and a drag-and-drop search UI. Voice-print added WebSocket/AudioWorklet live mic streaming, Whisper-based session handling, sentence boundary detection, per-sentence replay, and integration tests, while the iPhone FSM gained RAG search, input filtering, fast paths, timezone support, and updated defaults.
This day turned the iPhone streaming FSM project into a fuller workflow system with an engine, mobile UI, and visualization. It also improved onboarding with README state-machine diagrams and sped up paid-provider search by skipping rate-limit sleep.
The iPhone voice assistant prototypes gained a tool-calling orchestrator, web search integration, tool-calling LLM support, UI screenshots, retries, TTS cleanup, and chat bubble rendering. The work also consolidated duplicate agent loops into a single orchestrator, fixed WebSocket disconnects and startup failures, and added backlog/test scaffolding for follow-up work.
Two iPhone streaming projects gained the same Milestone 6 voice-agent loop, wiring microphone input through STT, LLM, TTS, and speaker playback. The updates also added richer model selection, an Art Deco UI, resilient connections, a unified run.sh launcher, /health checks, robust Python detection, and WebSocket heartbeats for cloudflared tunnel timeouts.
Two iPhone/WebRTC streaming projects gained mic-to-Whisper transcription display, a Piper TTS pipeline with test scripts and project memory, plus Twilio TURN relay support and Cloudflare Tunnel docs. The speaker workflow tools added graph-based state editing, linked graph-to-pseudocode navigation, expanded intent handling to 52 intents at 95.8% accuracy with priority tiebreakers, and introduced a 3-column resizable workflow map UI.
Two iPhone/Mac streaming repos added aiortc-based WebRTC audio from a Mac host to a browser, with screenshots added to their READMEs. The speaker intent project moved from keyword matching to an embedder exemplar UI and reports 100% accuracy across 34 intents, while voice-loop docs got clearer basic usage examples.
This day added reusable browser-side retrieval projects for transcript RAG, including SQLite WASM/sqlite-vec and Transformers.js/WebGPU variants, while advancing Iris Kade voice/RAG agents with FSM turn management, streaming TTS, adaptive bias, LLM integration, and model metadata. It also packaged the nano-claw voice loop with core infrastructure, channel adapters, npm setup, examples, and reorganized docs, plus added changelog metadata fields like UTC times, titles, timezone selection, and human-readable commits.
The EC2 file browser gained SSH/SFTP remote browsing, user-facing help, and README documentation with screenshots. The nanobot voice-loop project was ported from Python to TypeScript/Node.js using the Vercel AI SDK and released under an MIT license.
A reusable debug-report pipeline took shape across browser voice and mobile debugging, adding monologue toggles, search filler speech, boot console capture, a report button, and injectable ConsoleCapture. The day also turned ADR memory into a tested, hook-driven auto-indexing system while tightening deploy skill formatting, Lambda builds, infra, and versioned nginx configs.
The voice agent demo gained a more reliable mobile boot greeting path, with iOS speech synthesis triggered synchronously from taps, duplicate-response prevention, race-condition fixes, and a testable greeting module with 11 tests. Its changelog experience expanded into Q&A and search with BroadcastChannel wiring, markdown answers, friendlier errors, quota-aware cascading search proxy work, documentation, and an initial mobile debug panel project.
The browser voice agent added a traceable project-memory system with a semantic search CLI, searchable keyword index, backlog, docs, examples, and opt-in web search augmentation for LLM responses. It also improved mobile voice UX with Android SpeechRecognition fixes, getUserMedia avoidance, silence-based turn-end gating, listener visibility, collapsible panels, audio mute, diagnostics, a timestamped debug log, tests, and build numbering.
This initial commit adds a browser-native voice agent demo combining text-to-speech, speech-to-text, and a local LLM. It provides a reusable starting point for voice-driven agent experiments that run in the browser.
Two initial releases landed: a Starry Night-inspired flow field accelerated with WebGPU, and a Browser Whisper showcase for local speech-to-text. Together they add reusable examples for GPU-driven generative visuals and client-side speech transcription.
Browser LLM - Local AI Chat got its initial release as a browser-based LLM chat app using WebGPU. The project was also renamed to make its local AI chat purpose clearer.
The EC2 file browser added drag-and-drop uploads into specific folders and drag-and-drop moving for existing files. File selection also improved with deselection support, and the app was published.
The day's work turned an EC2 file browser into a dual-panel file manager with drag-and-drop transfers, move/copy actions, wildcard search, read-only viewing, syntax highlighting, markdown render/raw modes, resizable panels, and Vim/nano-friendly terminal support. In deploy-portal, deployment workflows gained checkpoint instructions, VPC whitelist guidance, HTTP/HTTPS preflight checks, and a post-deployment verification skill.
deploy-portal now uses the detected protocol instead of a hardcoded HTTPS value. This makes protocol-dependent behavior reflect the actual runtime context.
A pair of browser-based real-time ASR and TTS repos were initialized and documented, with examples for conversational voice agents, setup guides, UI imagery, and a macOS server listen fix. Deploy Portal added framework-agnostic subpath deployment support with scanner/router examples plus SSL/HTTPS docs and automated self-signed certificate support.
The day tightened a browser speech portfolio end to end: realtime ASR gained local binding, deployment docs/configs, clearer dashboard/stats/sessions/docs pages, iframe/browser-warning fixes, and more reliable live transcript handling. A browser realtime TTS app added streaming playback, model warmup, multi-core generation, caching/download improvements, speed controls, voice casting, and developer docs, while deploy-portal added multi-framework support and deployment fixes.
The day centered on hardening and automating an AWS-hosted portal with passwordless auth, IP whitelisting, and clearer deployment target choices. The deploy-portal work added GitHub/AWS setup, EC2 instance ID and IP target selection, nginx conflict handling, multi-instance automation, verification, and reuse-focused documentation.
Added a JWT authentication user guide for the AWS Cognito and ALB-backed auth portal. The update focuses on documentation, giving builders a reusable reference for understanding and applying the portal’s JWT authentication flow.
The portal gained EC2 instance launching with auto-configuration, including HTTP/HTTPS access on new instances. It also added user IP capture and dynamic group-based IP whitelisting, with README updates for password management commands.
The AWS Cognito/ALB auth portal gained custom email MFA/passwordless flows, admin user management, last-login tracking, deletion, timezone selection, IAM/deployment scripts, and deployment-limit documentation. The browser ASR project added a core functionality test harness plus API and storage tests, with progress saved for later iteration.
Built an initial Employee Access Portal using AWS Cognito, an ALB, and FastAPI, with a design document for a custom password reset flow and local Claude files ignored. Expanded a browser speech-to-text project with real-time transcription, session management, WebSocket transcript message updates, and layout fixes for overlapping live transcript content.
Built an end-to-end NVIDIA NeMo Parakeet CTC 0.6B ASR service with FastAPI auth, WebSocket streaming transcription, audio/VAD processing, session recording, and a demo web client. The work also packaged it for RunPod Docker deployment and added model validation plus onboarding docs from START_HERE through build summaries.
deploy-portal gained production-ready generic deployment automation, including infrastructure setup for automated deployments. The work also tightened validation, fixed nginx configuration issues, and hid helper scripts so they do not appear in the apps catalog.
The deploy-portal project focused on deployment resilience, adding automation, documentation, and tools for common infrastructure issues. A related Cognito/Nginx gateway update granted the EC2 IAM role SSM permissions so instances can be accessed through Systems Manager.
Deploy Portal added automatic database capability detection for seccomp injection, reducing manual security-profile tuning. The updates also fixed nginx static-file permissions, OAuth2 proxy permissions, and nginx buffer settings for more reliable bootstraps and gateways.
The day centered on adding bootstrap automation across deploy-portal, EC2 gateway auth infrastructure, ssh-helper, and website-cloner. deploy-portal also received a static permissions fix alongside its setup automation.
Deploy Portal gained documentation and directives for autonomous execution, clarifying the user experience while discouraging manual takeover. The deployment flow also moved to pure ZIP-based skill version management with related deployment improvements.
The deploy portal gained a clear update-versus-new deployment flow, a fixed /ssh route, and an automated remote deployment script. The gateway project added install-script hardening, static-file permission safeguards, a default deploy-portal landing route note, and a broader documentation index with deployment and troubleshooting guidance.
Deploy Portal was initialized and expanded with a modular Nginx configuration system plus clearer deployment and architecture documentation. The same Nginx pattern was applied to ssh-helper and website-cloner, while routing, static asset, WebSocket, and OAuth callback fixes hardened deployed apps.
The day focused on making gateway-based authentication and deployment easier to reuse, with new multi-application docs, Terraform modules, and automated SSL setup. It also expanded SSH Helper into a Node.js web terminal for dynamic IP whitelisting and aligned Website Cloner with gateway-provided auth headers.
Website Cloner gained a deployable static-site hosting workflow with subdirectory and S3 fixes, a web UI, portfolio deletion tools, custom 404s, and verified S3 clone output. The day also delivered and documented an AWS Cognito + oauth2-proxy + Nginx authentication gateway, including PKCE client setup, systemd service configuration, and fixes for 403 and static-asset 404 issues.
The website-cloner project completed its v0.2.0 phased roadmap, extending from URL enumeration through deployment. The day’s work added asset downloading, link rewriting, dynamic content detection, S3 static website hosting, validation fixes, testing guidance, and GitHub automation docs.
The transcription app’s auth and deployment templates were tightened with implicit OAuth login, corrected Cognito/CORS placeholders, and proper S3 CORS headers for metadata uploads. Upload handling expanded to m4b audiobooks while adding null checks and fixing transcript-editor-v2 template/script paths.