Changelog
Changelog
What's shipped in Gitrevio. We update this every release.
Agent analytics get evidence panels and decision boards
Every agent-analytic result now arrives as a rendered decision surface rather than a table. Forecast calibration and causal-robustness checks render as an evidence panel that states the analytic's own limitations. Stop / continue / scale recommendations render as a decision triage board. Scenario and policy trees, dependency-cascade and portfolio-constraint explorers, an ARR stock-flow reconciliation waterfall and a before/after ownership explorer for financing dilution all ship as first-class visualisations, and lagged influence graphs are drawn as predictive relationships rather than causal ones. When a chat query names a column or table that does not exist, run_sql now answers with the real columns instead of an error.
Chat suggests what to ask
The empty chat screen now offers per-user suggestions drawn from a catalogue of topics, reports and alerts, resolved against what the customer has actually connected — with connect-a-datasource nudges as their own kind when nothing is. Every suggestion pill does exactly what it says, the decision behind each set is persisted with the inputs that produced it, and whether a click produced anything is recorded. The same suggestion blocks carry into the day-3 activation email. Conversation titles show in full on hover, the response action row has its own footer band, and the collapsed sidebar opens a history flyout.
Settings, dashboard and profile redesigned
Settings moves to a monochrome layout with labelled, colour-coded sections and a real heading per tab. Users, API keys, Audit log, AI and AI Spend, Datasources (with real vendor icons), LocalGit, Skills and Integration Health (with a working connect call to action) each drop their card frames and match the Reports page table style. A new empty-state Dashboard shows real data in its Alerts, Reports and AI Chat cards; Profile gains a Security tab; the Alerts empty state carries an animated three-step guide.
Silent stalls made loud
An age alarm on every queue-like table catches a pipeline that has stopped without failing. The production health digest now reports dead-lettered items, datasources that have never been seen in ETL state, events with a producer that never arrive, and the absence of backups. AI spend on the evaluation path is ledgered, container-versus-image drift is detected on the host, and central product events are reaped on a retention schedule. Suggestion engagement and conversion are reported per customer.
The whole analytic catalogue becomes callable
A capability registry loads authored skills and the research function catalogue at startup, derives a manifest per analytic, and exposes one generic run endpoint (POST /api/v1/capabilities/{id}/run) plus search / describe / run meta-tools in chat and in the MCP server. The catalogue grew through three research batches to 388 calibrated decision functions, each stateless and available to every persona. Discovery is ranked by IDF and decision-question phrasing (top-1 hit rate from 30% to 97%), then role-first, with a method vocabulary and synonym layer; describe returns a runnable example input, and a 422 on run is self-correcting in chat. Personas consolidate to a canonical six, plus CEO and investor. A tool-call ledger records every capability call, a nightly real-AI evaluation sweep and a live production synthetic monitor watch the answers.
Onboarding rebuilt around GitHub
New visual design. GitHub connect is the first step: the token is validated before it is stored, owners are listed, repositories are picked and recapped, the import starts on confirm and the flow advances to success when it finishes. A role-select step, a Back button, a quick-connect datasource row with a picker, and a straight path from sign-up to organisation registration. The sign-in screen gets the brand mark, wave artwork and a password-visibility toggle.
Reports, chat and sidebar redesigned; a chat turn becomes a dashboard
The Reports list, report detail, chat and sidebar navigation are rebuilt to the latest design spec. Any chat turn can be authored into a dashboard widget, with persistence gates on what gets saved. Jira sprints are served from canonical tables.
Audit log covers every route that changes something
Sixteen closing passes over the tamper-evident audit log: settings (recording names, never secrets), legal and webhooks, working agreements and demo mode, access review, DSAR submissions, the data-export download path (now fail-closed), bulk import, the separation-of-duties routes, every destructive or access-widening route, the route that configures where the audit log is sent, and the IC-tracking flips that change what a customer is billed. Staff two-factor authentication in the CS portal is opt-in rather than a hard cutover.
LocalGit per-language analysers; AI cost observability
LocalGit populates canonical git_file and git_commit_git_file and routes each repository to a per-language analyser, with JavaScript / TypeScript (eslint) joining the set; Azure DevOps discussion coverage is complete. Per-tenant AI cost and COGS have their own observability surface with anomaly flags, proactive spend and credit-exhaustion emails, a reconciliation job, and a per-tenant daily-limit alert.
AI Spend Governance
Per-user and per-organisation monthly caps, a live meter, an expensive-chats view and admin overrides, enforced at call time on chat, skill runs and skill AI calls — block is hard, and an absolute ceiling fails closed by default. Bulk ETL enrichment moves to a cheap model fleet-wide, chat gets Anthropic prompt caching and a slim schema, AI workers get an idempotency layer (processing ledger, delta-only, explicit reprocess permission), and a systemic circuit breaker with a fleet kill switch sits above all of it.
MCP stdio server, SAML 2.0 login, Azure DevOps connector released
A real MCP stdio server with read and write tools. SAML 2.0 SP login with an ACS endpoint and just-in-time provisioning. The Azure DevOps connector is released. Public customer registration is behind a rate limit and a proof-of-work gate. Trust surface: a public /healthz/deep status probe and trust-centre doc, a trust & security page with a SOC 2 readiness checklist, an enterprise SBOM generator and RFC 9116 security.txt, platform signing secrets sourced from managed KMS / Vault, SIEM NDJSON export of the hash-chained audit log, EU residency-tier enforcement with KMS-encrypted daily backups.
Reports and alerts over real canonical data
AI-authored reports run over real canonical queries, with scheduled delivery by email or Slack and the weekly digest loaders wired to the same data. A team-level AI-adoption effectiveness report joins the set. Alerts: natural-language rule compilation, daily-summary batching, anomaly and complexity rules, MCP alert creation and grouping — which completes the nine rule types promised in February — plus hourly delivery emails with deep links. Reports and alerts can be created from a general chat, with save-to-alert guidance.
Real numbers behind AI impact, attrition, what-if and activity
AI impact reports real metrics with dollar ROI from AI tool licences and an AI-versus-human revert comparison, and an honest empty state when there is no data. Cursor per-user daily usage (Admin API), GitHub Copilot metrics (Metrics API) and Windsurf seats land in the canonical AI-assist event — the integrations queued in February. Attrition risk feeds every signal with baselines and a departure window. The What-If Simulator runs a real Monte Carlo with persisted scenarios and adds reassignment, AI-tool rollout, framework migration and recovery paths. Activity classification is event-derived with coverage flags, debugging and mentoring modes and a real context-switching signal. Productivity flow detects real bottlenecks with per-stage flow efficiency; team health adds a knowledge-sharing metric, per-person overload and a live 30-day trend. A cause_effect_decomposition skill with Shapley confidence intervals and change-point detection, and a custom dashboard builder to compose, save and share widgets.
see.gitrev.io and a Customer Success portal
see.gitrev.io is a public, anonymous, read-only tenant — curated analytics scopes, hidden write controls, chat replay — reset nightly. A Customer Success portal unifies six staff surfaces into one portfolio-scoped view: a book-of-business console with health RAG and drivers, per-customer onboarding checklist and adoption analytics, datasource health, and a consented, time-boxed, audited read-only see-as. Customers get in-app activation nudges, a join-request review workflow for admins, team origin labels and filters, and an i18n scaffold begins with login.
One identity across every tool
A shared id_mapping resolver now routes git commit authorship, PR and issue actors, incident responders (PagerDuty), CI actors, deploy actors (ArgoCD), and Jira, Linear, GitLab, Azure DevOps and Slack / Teams / Zulip identities to one individual contributor, with provenance and kind on every mapping. Unmapped git authors are auto-promoted to contributors, an admin alias surface writes mappings by hand, a drain worker recalculates retroactively, auto-discovered people carry an 'undecided' tracking state, and the AI chat is shown the canonical identity rather than a raw handle. An admin-gated attribution-coverage probe reports how much of the data resolves.
Teams, projects and repositories you can manage
Teams CRUD with membership, projects CRUD with repository linking, adopt-on-write for teams and projects that come from a tracker, people and repository search with pre-match suggestions, managers, and an Administration hub. Repository triage — Track / Ignore / Undecided — with deeper GitHub discovery across organisations; repositories can be picked during connect for git-hosting vendors, and every vendor gets a post-connection scope settings page. Integration Health becomes a Settings tab; pending invites can be listed, resent and revoked.
Sprints page; Linear and Azure DevOps canonical depth
A dedicated Sprints page over Jira sprint data with Profile, Burndown, Plan vs reality, Autopsy, Risk, Contributors and Relationships tabs. Linear cycles surface as sprints and Linear projects as projects. Azure DevOps Boards work items and iterations are extracted and the six core canonical tables populated.
AI chat gets validators, a tool loop and a durable cache
The canonical SQL schema is injected into every chat turn and a get_extraction_freshness tool tells the model how current the data is. Per-turn validators check that SQL columns match the visualisation and that chart and grid payloads are well-formed, retry on first-attempt findings, surface warnings in the UI, and record per-turn quality metrics. Chat, reports and alerts share one tool loop; 215 AI-baked answers are committed as a durable cache; BYOD CSV uploads get customer-scoped management.
Self-driving ETL, demo tenants, brand refresh
Orchestration runs incremental sync and a backfill on connect without a hand on the wheel, with an etl_sync_health view and per-run durations. demo.gitrev.io and oss.gitrev.io go live as host-pinned tenants — the demo resets nightly with 108 bespoke assistant replies and prospect credentials issued by admins. The app adopts the gitrev.io look: Aeonik and the cobalt / lemon palette. Starred reports render inline on the Reports page. Underneath: end-to-end error, product and metrics telemetry, a post-deploy smoke run after every self-hosted deploy, and an ops runbook.
Causal inference layer — beyond DORA
DoWhy + EconML scaffolding (DAG construction, identification, estimation, refutation) shipped behind a cause-effect decomposition engine that answers 'why did metric X move?' across DORA and analytics metrics. Counterfactual simulator uses Abadie 2010 synthetic control with DiD fallback and placebo + leave-one-out refutation tests. BOCPD change-point detection (Adams-MacKay 2007) with calibrated posteriors. Survival analysis (Kaplan-Meier 1958 + Cox proportional hazards) for time-to-merge and time-to-resolve. Cohort lift via propensity-score matching (Rosenbaum-Rubin 1983) with doubly-robust AIPW. Bayesian network over joint engineering outcomes (delivery, quality, attrition). LinUCB policy search and Kalman filter (Joseph-form, MLE auto-tuned) for metric smoothing.
Initiative + capacity forecasting
Monte Carlo initiative-completion probability forecasts with Wilson confidence intervals. Capacity forecast with lognormal sum approximation (Fenton-Wilkinson) yielding p50/p75/p90 dates and per-factor decomposition. Predictive intervention scoring via Bayesian inverse-variance pooling against a prior catalog. Anomaly → root-cause traceback chains over the metric dependency graph.
CS / PM / CFO dashboard suite
CS dashboard (admin-side): customer health, days-since-skill-used, renewal countdown, next-action rule engine. PM dashboard (customer-side): rework rate, scope creep, PR cycle-time breakdown, WIP per team, initiative burndowns with forecasts. CFO dashboard (admin-side): cost-per-team, contractor-vs-FTE split, multi-quarter ROI, cost-per-output (per PR / deploy / incident), 4-quarter forecast. IA redesigned to Chats / Reports / Alerts / Settings — homepage and dashboard dropped. Six seed reports auto-provision after first ETL (AI Impact, Sprint Retro, Team Overview, IC Spotlight, Project Status, Repo Health). DORA baseline dashboard with elite / high / medium / low classification across the four metrics. Insight-of-the-week pushes the largest weekly movement with cause-effect narrative.
Privacy infrastructure for IC-level analytics
Per-customer min_team_size threshold gates IC metrics below the configured floor. IC-metric visibility mode toggle (visible_to_managers vs aggregate_only). Bot identification on git_author with filter from IC skills. 90-day purge on ai_assist_event.raw, schema-enforced and configurable. GDPR DSAR endpoints (Art. 15 access + Art. 17 erasure) with PII registry. Tamper-evident audit log — SHA-256 hash chain enforced by a Postgres trigger; monthly-partitioned audit_log_read table for SOX-grade traceability. Cookie consent banner with Google Analytics gated on consent.
Enterprise identity: SCIM 2.0 provisioning + org graph
SCIM 2.0 Users + Groups endpoints (RFC 7644) with provisioning and IdP-group → role mapping. org_unit closure-table schema + team_membership_history SCD-2. org_drift_detector and org_rollup_scorecard skills. Quarterly access-review CSV export. Server-side separation-of-duties workflow for sensitive operations. SAML SP login is in progress.
Encryption: key rotation + BYOK KMS
Multi-key encryption-key registry with rotation. KMS bootstrap supports AWS KMS, GCP KMS, Azure Key Vault, and HashiCorp Vault. BYOK KMS for tenant-DB encryption — customers hold the key material; Gitrevio holds only encrypted references. EU data-residency tier flag at the customer level. Helm chart with three deployment modes: shared / dedicated_vpc / self_hosted.
Azure DevOps canonical wave
Full canonical coverage for Azure DevOps: sprint, PR discussion, PR note, work items, project_release relations, activity relations, issue relations, group memberships. Brings ADO to parity with the GitHub + GitLab connectors on the 3NF canonical schema.
Jira, Linear, HRIS, and chat datasources
Jira ETL worker (projects / issues / sprints / worklogs). Linear canonical (team / project / cycle / issue). Slack canonical chat_message + chat_message_metadata, generalised across Slack / Teams / Zulip. HRIS connectors (BambooHR, Workday, Personio) feed worker_employment_history SCD-2. New canonical entities: holidays / PTO (capacity input), employment-type SCD-2 (FTE / contractor / vendor / intern), labour-cost ledger per team / project / month.
Shareable links + digest email + PPT export
Tokenized shareable report links — expirable, password-protected, email-domain-whitelisted, watermarked. Scheduled analytics digest email, weekly + monthly opt-in. PowerPoint export for reports. Integration health page with remediation hints. Self-serve plan management (cancel / pause / downgrade / upgrade-to-sales). Working-agreements docs per team. IP allowlist for enterprise tenants. Feature flags (self-hosted, customer-scoped + global, rollout %). Mobile chat-only view.
Observability + edge: OTel, Caddy, on-call
OpenTelemetry tracing end-to-end (API → ETL → skills). Caddy + Let's Encrypt TLS termination with auto-renewal. DNS plan for gitrev.io: apex + preprod + email SPF/DKIM/DMARC + CAA. On-call rotation with severity tiers and Slack mention routing. CI cost reduction via path-gating and label-gating on expensive workflows. SBOM + signed builds (Syft + Cosign keyless via OIDC). Migration-chain integrity tests and tenant-isolation cache verification.
AI evaluation harness
Shadow-mode prompt deployment with A/B agreement scoring. LLM-as-judge evaluators on a 1% sample with explicit rubrics. Drift detection on AI outputs via KL divergence and chi-square. Privacy probes (prompt-injection and data-leak smoke tests). Human review queue for flagged outputs. MCP npm + PyPI publish workflow, tag-triggered and Cosign-signed. Public docs site (VitePress) live at docs.gitrev.io.
Twelve new skill prompts shipped
Activity classification, attrition risk, plan vs reality, org health score, sprint autopsy, release risk, tech debt radar, optimal reviewer, onboarding analysis, anomaly detection, context switching, and AI impact reporting all now run as builtin AI Skills — executable from API, MCP, chat, scheduled reports, and alert rules. Custom skill authoring guide and five example skills published.
MCP server moves to dynamic tool discovery
Rather than enumerating every capability as its own MCP tool, the server now exposes a compact surface of 18 tools — 12 read and 6 write — three of which (capabilities_search, capability_describe, capability_run) let an agent search the analytic catalog, read a tool's input schema, and run it. This scales to the full catalog without flooding the client's tool list. Persona gating is enforced server-side on capabilities that touch tenant data; the analytic functions are stateless and discoverable by every persona. Audit logging, per-session rate limits, and SHA-256 key hashing live. Setup guides for Claude Desktop, Claude Code, Cursor, Cline, Continue.dev, Goose, and Aider published.
Mathematical moat: Shapley + lognormal + blast-radius
Three foundational capabilities shipped simultaneously. Shapley attribution library with axiom-verification tests (efficiency, symmetry, dummy-player, linearity). Lognormal probabilistic estimation calibrated per team via MLE — p50/p75/p90 dates with calibration tests on every release. Code blast-radius DAG built locally via LocalGit; formal reachability across Python, JavaScript, Java, Go, Clojure, and PHP imports. Only graph + scores leave the network.
What-If Simulator — 8 scenarios
Departure, hiring, restructuring, reassignment, vacation, AI rollout, framework migration, and contractor analysis. Each scenario runs against your real team data — knowledge graph, review patterns, sprint history. Monte Carlo sampling delivers p50/p75/p90 outcomes, not single-point estimates.
Intelligence layer expanded
Sprint Autopsy with six-section auto-generated retro narratives. Tech Debt Radar combining Lizard complexity, churn, AI-tagged TODO/FIXME signals, and incident attribution. Optimal Reviewer Assignment balancing file expertise, queue depth, review-quality history, and AI-authorship match. Contributor Typologies via per-customer K-means / GMM clustering. Anomaly Detection with z-score + EWMA + Bayesian smoothing for small teams.
Org Health Score + AI Impact MVP
Composite score across 20 signals (velocity, quality, engagement, risk) with full per-component decomposition and trend. AI Impact dashboard MVP — heuristic AI-authorship classification from commit signals, with quality and cycle-time comparison vs human-only PRs. GitHub Copilot Metrics API and Cursor Admin API integrations followed in July 2026.
8 report templates + alerts engine
Weekly Digest, Sprint Retro, Board Report, AI Impact, Onboarding Cohort, Attrition Risk, Project Forecast, Code Health — all schedulable, deliverable to PDF, email, Slack, or in-app. Alerts engine launched with three of nine rule types live: PR stuck, sprint at risk, attrition risk spike; the remaining six landed by July 2026.
Activity classification + attrition + onboarding shipped
Six AI workers in production: activity classification, IC risk, duration estimation, file-type tagging, activity-type inference, onboarding/pairing/mentoring tags. Attrition risk scoring with Shapley factors. Onboarding analysis with cohort ramp curves and mentor effectiveness. Plan-vs-reality drift decomposition (scope creep, estimation error, blockers, dependencies, PTO, AI slowdown).
AI Chat with persistent history
Multi-turn conversations with reference resolution ('that team', 'why?'), shareable threads, and exportable transcripts. Charts generated inline. Integrated with skills and read API.
Per-PostgreSQL-role tenant isolation + AES-256-GCM
Each customer gets dedicated writer and reader Postgres roles. Cross-customer reads impossible at the database engine. AES-256-GCM credential encryption. Customer-staff vs central-staff isolation: support access is time-limited, role-gated, audit-logged, admin-revocable.
LocalGit on-prem agent + analyzers
Lightweight agent runs on your infrastructure. Lizard for complexity, flake8 + pylint + ruff for Python, eslint for JavaScript, go vet for Go, eastwood for Clojure. Source code never leaves the network — only structured metadata, hashed file IDs, and dependency-graph structure.
GitHub + GitLab connectors
Production-grade ingestion of commits, PRs (with reviews and comments), issues. GitHub Cloud + GHES, GitLab Cloud + self-hosted. Incremental sync, rate-limited, full backfill on first connection.
REST API v1 + OpenAPI 3.1
Seven Layer-1 endpoints: repos, commits, quality, team, chat, skills, audit. FastAPI backend, OpenAPI 3.1 auto-generated, RFC 7807 error responses, cursor-based pagination, mock-first framework with deterministic fixtures for every endpoint.