Changelog
Current version: v0.3.0
Changelog
All notable changes to TriagoAI are documented here. Versioning follows
semantic versioning — feat bumps the minor, fix bumps
the patch, and breaking changes bump the major. Releases are tracked by Git tags
(vX.Y.Z).
v0.3.0
Features
- Brand: the Scope mark — two brackets framing a node (containment / PCI scope). Gradient app tile, horizontal + stacked lockups, black and white-knockout variants, and a generated
favicon.ico. Brief, positioning and kit live indocs/brand/ - Marketing: the landing hero carries a poster + play button that loads the demo only on click; a Scalar API reference renders the live OpenAPI document at
/docs/api; keyword-led titles/metadata across the marketing pages - Support: Milo is click-only — answers come from the curated corpus by tapping a question, they type themselves out, and anything else is a person's job via the inline email capture
- Demo video: re-shot as a 109s captioned screen-recording of the real loop — an unattended low-risk fix, then a high-risk change parked for one approval
- RMM: a per-tenant NinjaOne / HaloPSA config UI with a Sync-now action, and HaloPSA ticket write-back behind the approval gate
/whats-next: the autonomous self-healing loop is now listed as shipped, and the RMM row reflects the config UI + write-back
Fixes
- Security: rate limiting moves to a shared Redis store when configured (in-process fallback) and now covers the previously-unthrottled auth and AI routes; per-request correlation ids are minted in middleware and echoed on responses; the CSP drops
unsafe-evalin production - Observability: GlitchTip/Sentry error tracking (server, edge, browser) via
@sentry/nextjs, withwithErrorHandlerforwarding the errors it swallows - UX: failed mutations now surface a toast instead of failing silently
- Accessibility:
eslint-plugin-jsx-a11yrules gate lint; form labels are bound to their controls, backdrop dismiss handlers are real buttons, and the global error page is styled approveRunActionnow refuses a run that is not awaiting approval, matchingrejectRunAction
v0.2.0
Features
- Add service SPEC.md contract tests + codebase-memory-mcp bridge config
- Tiered dunning — decline classification, per-tier retry schedule, 5-stage emails, stop rules
- EOD learning reports + research findings surfaced to chatroom
- Chat RAG grounding + critic, native semantic skill index (search->summaries->read one)
- Typed ITSM knowledge graph + hybrid retrieval (vector+FTS5+graph) + semantic router
- Mission progress sync + Reporter agent + Innovation consolidation + case studies in SOPs + restore-test cron
- God View neon redesign — electric blue/pink/green palette, breathing glow, compact density
- Rename Milestones -> Missions (UI labels) for mission board
- Case-study library, sales-call playbook+logging, Stripe webhook idempotency + payment_succeeded/refunded/past_due
- Milestone inline pre-flight, sales activity panel, sales analytics charts
- Self-host Chart.js, /tasks Kanban, /today overview, glassmorphism, pipeline conversion+next actions, agent status/model
- Star nodes via nodeThreeObject + vendored three.js (r160 UMD)
- Glowing 5-pointed star nodes via nodeCanvasObject (replace spheres)
- Animated nebula aurora + per-department colors (bold galaxy upgrade)
- AI Engineer + Research agents, SOD call, research chatroom channel
- Milestone pre-flight modal, star-node mind map + nebula, real deepseek model routing defaults
- Funding retry+batch, github rate-limit+cache, self-host 3d-force-graph, mind map auto-refresh, landing how-it-works
- Model routing (cheap/strong), budget zones, pipeline value+lead score, hallucination RAG guard, feedback->tasks, NinjaOne connector
- Sitemap + robots, per-page metadata, OG image, JSON-LD structured data, viewport
- Sales pipeline Kanban, milestone pre-flight, chatroom dept tabs + reasoning, funding validation
- Backup restore-test script + optional B2 off-site sync + GitHub Actions CI/CD
- Move to $99/$299/$799 flat tiers (grandfather existing tenants)
- CRO daily digest + weekly report with pipeline funnel
- Value-first + ROI drip scheduler (office hours, idempotent, daily cap) + 70/80% budget alerts
- ROI calculator page (/roi) with USD/HKD toggle
- Resend HTTP API send (open/click tracking) + clicked webhook event
- Mobile-first redesign, Director execution plans, milestone auto-approval, outbox, neuron mind map
- Agentic mind map, professional chatroom, director proactivity, tab overhaul, outreach queue
- Brain map (3d-force-graph), group history, skill persistence, blockers, funding validation, SOP auto-reject, SelfLog
- ITIL one-man-approval org — brain map, milestone lifecycle, reports, groups
- Live 'resolved by AI' counter + MSP outreach send scripts
- Company growth (IPO readiness) + 3-day competitive agent sprints
- Free MSP email harvesting pipeline (Common Crawl, no paid APIs)
- Revenue-first — named personas, revenue dashboard (MRR/token/cost), revenue objectives, 09:00/18:00 huddle, token-cost guard
- 12-department autonomous org — Innovation & R&D + Customer Success, weekly explore tasks, moonshot milestones, graph-driven objectives, dept filter + KPI + Innovation tab
- Graph query engine (bfs/shortestPath/connectedComponents/degree/orphans/frontmatterRelations) + Graph tab + mind-map highlight + Director graph reasoning
- Interactive 3D mind map (OrbitControls, draggable nodes, edge particles, pulse, reset) + actionable blocked-card resolution panel
- Obsidian-inspired UX — command palette, quick switcher, tabbed workspace, collapsible sidebar sections, hover previews, backlinks, refined graph
- Autonomous AI company OS — 10 departments, scrum notes/objectives/blockers, milestones, chat channels, funding applications, 3D mind map, war-room research
- Premium mission-control UI — HKT timeline, sidebar/top bar, scrum signal cards, detail panel, mobile
- Decision intelligence, memory graph, SOP evolution, lead scoring, revenue feed, agent performance, external triggers, war room
- Company OS — SOPs, feedback, chatroom, funding radar, scrum board, skills dashboard
- Agent pool (work-stealing, retry, skill injection) + mind-map UI
- Dedicated Basic-Auth dashboard server; remove /command from main app
- Basic-Auth-only access via agents subdomain (skip app session)
- Agentic sales command center (director + 6 managers + dashboard)
- Pass Gmail monitoring credentials to the container
- New logo mark (svg) + favicon
- Gmail reply monitoring (guarded, activates on credentials)
- Reply monitoring and logging helpers
- Server-side follow-up scheduler with resend
- Self-host demo video at /demo-video
- Live demo links to /demo across surfaces
- Publish two MSP articles (MDX)
- Containment rate landing section
- Containment rate metric
- Resend webhook delivery status sync
- Daily backups + hard per-plan AI action caps
- Integration directory and new connectors
- Premium onboarding polish
- Draggable dashboard and creative system health widget
- Clickable node health, logo dashboard link, demo-pack billing cap
- Dashboard system health check widget with dummy data
- Chat process roadmap and cleaner layout
- Atera-style setup checklist widget
- Feedback diagnosis loop and whats-next page
- Phase 1b extended error kb network postgres bash
- Phase 1 curated error KB and diagnostic suggestions
- Public trust center and security posture page
- First-run tour and role-based use-case hub
- Default sidebar reorder and user customization
- Per-session AI action/token limits
- Anonymous per-session isolation with anti-abuse
- Subtle hero background effects and design-lint pass
- Stripe-style flat premium refresh
- Email-only login with workspace picker
- Professional aliases + routing wizard
- Trial retention series + cancellation exit survey
- Email verification + onboarding questionnaire
- Annual Stripe billing + plan-gated SSO
- Competitive flat pricing page with annual toggle and comparison
- Agent evaluation harness
- Github issue monitoring
- Nightly error mining
- Feedback-driven re-ranking
- Owner operations dashboard
- Feedback tracking + quality weighting
- Diagnosis visual display
- Multi-modal visual embeddings + retrieval
- Multi-modal knowledge base schema + ingestion
- Predictive breach detection + escalation
- Curated built-in agent marketplace
- Bring your own model
- Analytics event capture + demo funnel
- Autonomous remediation loop
- Slack slash command + notifications
- Background job primitive for cron-style features (P1)
- Prometheus alert webhook
- Approval pattern recognition
- Risk-based approval thresholds
- Aws-inspired polish and mobile sidebar drawer fix
- Professional payment experience and content
- Terms page, 404, plausible/UTM, CRM template, ticket feedback
- Sell-first minimal — trial expiry, hard AI gate, real ssh remediation
- Ticket-aware chat + sourced KB/reports library
- SOD/EOD daily auto-reporting
- Root cause analysis agent + random alert triggers
- Automatic LLM provider failover chain
- Fine-tuning pipeline
- Multi-region support docs + config
- SOC 2 groundwork + audit log export
- SAML SSO with WorkOS
- Microsoft 365 Graph inbound with triage routing
- Streaming chat interface with tool-call visualization
- Wire vector search into diagnosis suggested articles
- Synthetic IT-ticket generator (JSONL + RAG/fine-tune export)
- Per-tenant AI mode with Ollama routing and privacy page
- Tool-calling assist endpoint with self-critique verifier
- Vector sidecar with scope-isolated retrieval and KB sync
- Intake endpoint — DeepSeek JSON-mode triage with createTicket
- Weekly service-desk dashboard + drag-and-drop layout editor
- Multi-source importer (SSH + ServiceNow + Jira + Freshservice)
- SSH monitoring of real servers (node-ssh)
- Landing -> /home, marketing site, and product polish
- Integration webhooks, DORA evidence pack, BCP/DR module
- Public landing page
- Security + crash hardening (P0+P1)
- Deploy to Render + Turso; env-driven demo password
- Demo console — fire-and-forget + polling
- Live LLM reasoning + ITIL alert/change/email
- Glassmorphism UI theming
- Full UI redesign — dark/light themes, loading states, Jira/Atera hybrid shell
- Add signup page with workspace creation flow
- Support Turso/libsql remote DB + Render blueprint
- OpsPilot — AI-native ITIL ITSM platform
Fixes
- Green CI gate + versioning + self-heal
- Preserve past_due/unpaid/paused/incomplete statuses in webhook + gate AI on paused/incomplete
- Progress MilestoneItem status with lifecycle stage (was stuck in backlog forever)
- Cache-Control no-store on portal HTML (fixes stale browser cache after redeploy)
- Responsive /today grid (mobile overflow)
- Bundle three r184 (with THREE.Timer) to UMD so 3d-force-graph + star sprites both work
- Move aurora canvas outside force-graph container (graph clears innerHTML)
- Escape single quotes in template literal (unbreaks openDetail/agentTab/milestone handlers)
- Close script tag (unbreaks milestone approval, mobile menu) + DOM starfield
- Run scheduler only in Node runtime (edge bundle was 500ing /api/*)
- Resolved-ticket counter uses raw SQL join (libsql adapter rejects Prisma distinct)
- Resolved-ticket counter uses relation filter (avoid SQLite IN-variable limit)
- Skill approve writes runtime overlay + approve-all; blocker playbook with step-by-step instructions + external links
- Scrum detail panel JS syntax (escaped quotes) + agent pool re-runs hourly + remove tab bar
- Hide sidebar+mission/revenue/countdown on mobile; top bar shows only search + alerts
- Scrum detail panel (expose client helpers) + declutter top bar + Jobs design pass + AI monetization research
- Declutter top bar (remove redundant Scrum/Mind-map toggle) + remove unused sidebar logo
- Restore Community & Partnerships subagents, remap legacy tasks to Archived, runtime skill overlay
- Only backfill when applicationUrl missing (rolling programmes have null deadline)
- Start scheduler on production (NEXT_PHASE unset under Turbopack)
- Verify Resend webhook signature via svix + wire signing secret
- Low-severity findings from expanded user test suite
- Reject duplicate-email signup and prompt sign-in
- Demo tenant user management and role enforcement
- Gate billing and checkout for demo accounts
- Mobile top-bar alignment and hydration verify
- Deterministic KnownError fallback in feedback diagnosis
- Pin dates/numbers for deterministic hydration
- Public pricing CTA signup-first routing + admin-gated billing
- Idempotent deploy + deterministic ssh test
- Final review + hardening
- Responsive queues view and app header on mobile
- Full mobile responsive navigation and pricing section
- Mobile sidebar menu z-index
- Credibility pass - remove fabricated claims, MSP-first positioning
- Evidence print button + clickable dashboard widgets
- Login hardening with rate limiting and lockout
- Graceful LLM fallback + deepseek direct provider
- Stable local demo workspace with fixed slug
- Use public app URL for SSO redirects
- Scope SLA/CSI runs to the demo ticket for terminal detection
- Opt-in Secure session cookie; self-diagnosing error boundary
- Custom Turso migration runner for libsql:// URLs
- Fly.io readiness — persistent /app/data volume, UPLOADS_DIR env, fly.toml
Refactors
- Complete ticket-domain migration for runtime creation paths
- Standalone page
- Rebrand OpsPilot → TriagoAI
Documentation
- Note SPEC.md contract convention in developer guide
- Record agent-tooling status + defer Graft/Agent-Reach (post-first-customer)
- Public documentation site
- Split masterbook into categorized developer/design/problem guides
- 90-day roadmap
- Hetzner CX22 runbook; declare DEMO_PASSWORD in compose
- ADR-0004 inbound webhook auth; CONTEXT.md additions
Tests
- Typed knowledge graph + neighborhood traversal
- Add importer + special-char search cases (152-case checklist)
- Expanded 150-case checklist suite + smoke additions
- Synthetic 50-scenario suite + live smoke harness
- Allow cpu=0 for an idle host in SSH probe test
- SSH probe integration test (skips without key)
Chores
- Preserve agents-basic-auth.txt + store pw in /etc/caddy
- Instrumentation boot diagnostics
- Add daily SQLite/upload backup script
- Use SMTP 587 (STARTTLS) — 465 blocked from Hetzner
- Wire Resend SMTP outbound (config only)
- One-off KB library backfill script
- Add agent output validator