PRs in window
1587
Median/p90 size trend uses real GitHub diffs — not scored.
Linear issues
4910
Geekbot completions
962
Content never stored or scored.
PostHog $exception
716
Production errors are org/team only — never attributed to an individual. PostHog history is early/thin versus the 6-month window.
Source coverage
| Source | Status | Window | Notes |
|---|---|---|---|
| slack | partial | 2026-02-23T03:26:54.750Z → 2026-08-23T03:26:57.330Z | Bot authenticates as pr_project_team_track in Scalar. users:read=ok; groups:read=ok; member channels=4 (4 ingestible); historyOk=1; format events stored=0; messages scanned=342. #software-support membership=yes; history ingest=yes scanned=342. Linear slackbug labels remain the scored bug source. conversations.history: missing_scope needed=groups:history (bot is in private channels; reinstall/add groups:history then re-ingest) |
| github | ok | 2026-02-23T03:20:22.034Z → 2026-08-23T03:26:26.102Z | PRs stored this run=0 (app:0, alexandria:0, nps-feedback:0, newsletter:0, alexandria-validator:0, document-ingestion:0, ilevel-sync:0, react-datasheet:0, credit-rating:0, attio-app:0, data-project-capiq:0, valuation-extraction:0, Scalar.io-Website:0, excel-plugin:0, captablefree:0, toolbox:0, polytomic-pipelines:0, react-big-calendar:0, mattsbutton:0). E2E artifacts are retained only temporarily by GitHub Actions. ingestedRuns=50 liveArtifacts=0 expiredArtifacts=0. Historical flake backfill cannot cover the full 6-month PR window. |
| linear | ok | 2026-02-23T03:26:26.102Z → 2026-08-23T03:26:51.592Z | issues stored this run=7; cycles stored=45 |
| geekbot | ok | 2026-02-23T12:12:53.000Z → 2026-08-21T23:38:16.000Z | standupIds=184200 completions stored this run=0. Response content is not persisted. |
| posthog | partial | 2026-07-16T00:00:00.000Z → 2026-08-22T00:00:00.000Z | Only $exception events are ingested. Stored 33 days, 57 grouped rows. PostHog history is shorter than the 6-month GitHub/Linear/Geekbot window and is shown as early/thin data. Never attributed to individuals. |
Bug trend (slackbug vs internal) and zero-tolerance numeric/display/export
External bugs scored from Linear
slackbug labels (Slack→Linear automation on #software-support). Pulse is invited to #software-support and ingests channel history for coverage; stand-up format phrases are the only Slack bodies stored. Internal bugs are other Linear bug labels.| Date | slackbug opened | slackbug closed | internal opened | numeric/display/export |
|---|---|---|---|---|
| 2026-06-04 | 3 | 0 | 9 | 0 |
| 2026-06-05 | 0 | 2 | 0 | 0 |
| 2026-06-06 | 0 | 0 | 1 | 0 |
| 2026-06-08 | 1 | 1 | 1 | 0 |
| 2026-06-09 | 2 | 1 | 4 | 0 |
| 2026-06-10 | 10 | 0 | 1 | 0 |
| 2026-06-11 | 8 | 2 | 0 | 0 |
| 2026-06-12 | 5 | 6 | 6 | 0 |
| 2026-06-13 | 0 | 1 | 0 | 0 |
| 2026-06-15 | 0 | 1 | 0 | 0 |
| 2026-06-16 | 3 | 3 | 0 | 0 |
| 2026-06-17 | 4 | 4 | 0 | 1 |
| 2026-06-19 | 4 | 2 | 0 | 0 |
| 2026-06-22 | 7 | 1 | 0 | 0 |
| 2026-06-23 | 4 | 5 | 0 | 0 |
| 2026-06-24 | 3 | 3 | 1 | 0 |
| 2026-06-25 | 2 | 3 | 0 | 0 |
| 2026-06-26 | 2 | 3 | 6 | 0 |
| 2026-06-29 | 5 | 4 | 0 | 0 |
| 2026-06-30 | 4 | 1 | 0 | 0 |
| 2026-07-01 | 1 | 2 | 0 | 0 |
| 2026-07-02 | 1 | 3 | 0 | 0 |
| 2026-07-03 | 1 | 2 | 0 | 0 |
| 2026-07-06 | 4 | 3 | 0 | 0 |
| 2026-07-07 | 2 | 3 | 0 | 0 |
| 2026-07-08 | 1 | 0 | 0 | 0 |
| 2026-07-09 | 1 | 0 | 3 | 0 |
| 2026-07-10 | 6 | 12 | 1 | 0 |
| 2026-07-11 | 0 | 0 | 4 | 0 |
| 2026-07-13 | 4 | 0 | 2 | 0 |
| 2026-07-14 | 0 | 5 | 0 | 0 |
| 2026-07-15 | 0 | 2 | 0 | 0 |
| 2026-07-16 | 4 | 0 | 0 | 0 |
| 2026-07-17 | 4 | 1 | 0 | 0 |
| 2026-07-20 | 3 | 2 | 1 | 0 |
| 2026-07-21 | 4 | 2 | 0 | 0 |
| 2026-07-22 | 0 | 1 | 0 | 0 |
| 2026-07-23 | 2 | 1 | 9 | 2 |
| 2026-07-24 | 1 | 1 | 0 | 0 |
| 2026-07-26 | 0 | 0 | 6 | 0 |
| 2026-07-27 | 3 | 2 | 1 | 0 |
| 2026-07-28 | 1 | 5 | 1 | 1 |
| 2026-07-29 | 1 | 1 | 1 | 0 |
| 2026-07-30 | 3 | 1 | 0 | 0 |
| 2026-07-31 | 1 | 1 | 1 | 0 |
| 2026-08-03 | 1 | 2 | 2 | 0 |
| 2026-08-04 | 1 | 1 | 0 | 0 |
| 2026-08-05 | 0 | 1 | 0 | 0 |
| 2026-08-06 | 5 | 2 | 0 | 0 |
| 2026-08-07 | 8 | 0 | 1 | 0 |
| 2026-08-10 | 3 | 7 | 1 | 0 |
| 2026-08-11 | 10 | 0 | 0 | 0 |
| 2026-08-12 | 4 | 3 | 2 | 0 |
| 2026-08-13 | 1 | 5 | 7 | 0 |
| 2026-08-14 | 1 | 3 | 0 | 0 |
| 2026-08-17 | 1 | 1 | 0 | 0 |
| 2026-08-18 | 0 | 1 | 6 | 0 |
| 2026-08-19 | 0 | 0 | 3 | 0 |
| 2026-08-20 | 1 | 0 | 0 | 0 |
| 2026-08-22 | 0 | 0 | 1 | 0 |
Net slackbug backlog ends at 106.
SDLC on merged PRs
Checklist completion 4
Required checks pass 72
Dev-Tested 0
QA-Verified before Done 0
QA-Verified is recorded from workflow transitions matching /QA Verif/i. No such state appears in the current Linear 6-month extract; teams use Done/Merged instead. Rate is therefore 0 until those states exist.
Open PR turnaround
On track ≤1d: 4
Slow 2–5d: 1
Extremely slow 6+d: 8
13 currently unmerged PRs in the ingested set.
Velocity (hours)
First response median 1.0 / p90 73.3
Formal review median 2.8
Merge median 4.0
Size-adjusted expected window uses curve v1: base 8h at 20 files / 1000 lines.
Context (unscored)
Reverts/hotfixes 2
Instruction-file touches 24
E2E files changed 36, flake rate 0%
GitHub Actions retains E2E artifacts temporarily. Flake history is limited to artifacts still available at ingest time.
QA owner attribution
| Actor | QA Verified events |
|---|---|
| No QA Verified transitions in window | |
Daily Geekbot completion (every person, weekdays)
| Engineer | Team | Completed | Rate |
|---|---|---|---|
| Enrique Palacios | team-1 | 97/130 | 75% |
| Jordan Braginton | team-1 | 99/130 | 76% |
| Moises Trigueros | team-1 | 32/130 | 25% |
| Marvin Obando | team-1 | 3/130 | 2% |
| Gabriel Canepa | team-2 | 116/130 | 89% |
| Franco Arteche | team-2 | 89/130 | 68% |
| René Cortez | team-2 | 43/130 | 33% |
| Kathya Sarria | team-2 | 0/130 | 0% |
| Reymundo Tenorio | team-3 | 87/130 | 67% |
| Jesse Lambert | team-3 | 56/130 | 43% |
| Fabricio Saavedra | team-3 | 110/130 | 85% |
| Roberto González Castro | team-3 | 0/130 | 0% |
| Marcus Cantu | — | 92/130 | 71% |
| Carlos Cruz | — | 105/130 | 81% |
| Alvaro Cardenas | — | 0/130 | 0% |
Geekbot completion is required every weekday regardless of stand-up format. Content is never stored.
Slack channels (membership vs what is monitored)
Stand-up channels: scan history for in-person vs Slack-only format phrases only. #software-support history is ingested after invite (message volume + membership). Scored external bugs still come from Linear
slackbug labels. Private stand-up channels need groups:history plus membership; missing that scope is reported, not treated as a hard stop.| Channel | Type | Member | History ingest | Msgs scanned | Format events | What is monitored |
|---|---|---|---|---|---|---|
| #tech-standup | stand-up format | yes | yes | — | — | unread: missing_scope needed=groups:history |
| #tech-daily-nav | stand-up format | yes | yes | — | — | unread: missing_scope needed=groups:history |
| #developers | other member channel | yes | yes | — | — | unread: missing_scope needed=groups:history |
| #software-support | bug reports (via Linear) | yes | yes | 342 | 0 | History is ingested after invite. Scoring still uses Linear slackbug labels from the Slack→Linear automation; Pulse stores stand-up format phrases only and counts scanned messages. |
Stand-up format (in-person vs Slack-only)
0 signals
342 Slack messages scanned in member channels (including #software-support); 0 format events stored all-time.
| Date | Team | Format | In-person msgs | Slack-only msgs |
|---|---|---|---|---|
| No stand-up format events in this window. Invite pr_project_team_track to the team stand-up channels. #software-support history is ingested when the bot is a member. | ||||
| Engineer | In-person signals | Slack-only signals |
|---|---|---|
| Enrique Palacios | 0 | 0 |
| Jordan Braginton | 0 | 0 |
| Moises Trigueros | 0 | 0 |
| Marvin Obando | 0 | 0 |
| Gabriel Canepa | 0 | 0 |
| Franco Arteche | 0 | 0 |
| René Cortez | 0 | 0 |
| Kathya Sarria | 0 | 0 |
| Reymundo Tenorio | 0 | 0 |
| Jesse Lambert | 0 | 0 |
| Fabricio Saavedra | 0 | 0 |
| Roberto González Castro | 0 | 0 |
| Marcus Cantu | 0 | 0 |
| Carlos Cruz | 0 | 0 |
| Alvaro Cardenas | 0 | 0 |
Bot authenticates as pr_project_team_track in Scalar. users:read=ok; groups:read=ok; member channels=4 (4 ingestible); historyOk=1; format events stored=0; messages scanned=342. #software-support membership=yes; history ingest=yes scanned=342. Linear slackbug labels remain the scored bug source. conversations.history: missing_scope needed=groups:history (bot is in private channels; reinstall/add groups:history then re-ingest)
Review load distribution (unscored)
| Engineer | Team | Reviews given |
|---|---|---|
| Reymundo Tenorio | team-3 | 987 |
| Fabricio Saavedra | team-3 | 962 |
| Gabriel Canepa | team-2 | 612 |
| Jordan Braginton | team-1 | 289 |
| Jesse Lambert | team-3 | 181 |
| Franco Arteche | team-2 | 149 |
| René Cortez | team-2 | 130 |
| Enrique Palacios | team-1 | 110 |
| Moises Trigueros | team-1 | 102 |
| Marcus Cantu | — | 83 |
| Carlos Cruz | — | 55 |
| Alvaro Cardenas | — | 17 |
| Marvin Obando | team-1 | 0 |
| Kathya Sarria | team-2 | 0 |
| Roberto González Castro | team-3 | 0 |
Sprint predictability
| Team | Cycle | Dates | Goal | Planned/completed pts | Completion | Carryover | Goal attached |
|---|---|---|---|---|---|---|---|
| QA | Cycle 25 | 2026-08-12 – 2026-08-26 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 24 | 2026-07-29 – 2026-08-12 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 23 | 2026-07-15 – 2026-07-29 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 22 | 2026-07-01 – 2026-07-15 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 21 | 2026-06-17 – 2026-07-01 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 20 | 2026-06-03 – 2026-06-17 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 19 | 2026-05-20 – 2026-06-03 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 18 | 2026-05-06 – 2026-05-20 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 17 | 2026-04-22 – 2026-05-06 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 16 | 2026-04-08 – 2026-04-22 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 15 | 2026-03-25 – 2026-04-08 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 14 | 2026-03-11 – 2026-03-25 | no stated goal | 0/0 | — | — | — |
| QA | Cycle 13 | 2026-02-25 – 2026-03-11 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 25 | 2026-08-12 – 2026-08-26 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 24 | 2026-07-29 – 2026-08-12 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 23 | 2026-07-15 – 2026-07-29 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 22 | 2026-07-01 – 2026-07-15 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 21 | 2026-06-17 – 2026-07-01 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 20 | 2026-06-03 – 2026-06-17 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 19 | 2026-05-20 – 2026-06-03 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 18 | 2026-05-06 – 2026-05-20 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 17 | 2026-04-22 – 2026-05-06 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 16 | 2026-04-08 – 2026-04-22 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 15 | 2026-03-25 – 2026-04-08 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 14 | 2026-03-11 – 2026-03-25 | no stated goal | 0/0 | — | — | — |
| IDEAS | Cycle 13 | 2026-02-25 – 2026-03-11 | no stated goal | 0/0 | — | — | — |
| SCAL | 2026-08-12 – 2026-08-26 | no stated goal | 241/117 | 49% | 66% | 0% | |
| SCAL | 2026-07-29 – 2026-08-12 | no stated goal | 365/259 | 71% | 70% | 0% | |
| SCAL | 2026-07-15 – 2026-07-29 | no stated goal | 296/221 | 75% | 74% | 0% | |
| SCAL | 2026-07-01 – 2026-07-15 | no stated goal | 267/229 | 86% | 61% | 0% | |
| SCAL | 2026-06-17 – 2026-07-01 | no stated goal | 331/297 | 90% | 69% | 0% | |
| SCAL | 2026-06-03 – 2026-06-17 | no stated goal | 324/293 | 90% | 63% | 0% | |
| SCAL | 2026-05-20 – 2026-06-03 | no stated goal | 376/333 | 89% | 53% | 0% | |
| SCAL | 2026-05-06 – 2026-05-20 | no stated goal | 308/272 | 88% | 60% | 0% | |
| SCAL | 2026-04-22 – 2026-05-06 | no stated goal | 266/230 | 86% | 71% | 0% | |
| SCAL | 2026-04-08 – 2026-04-22 | no stated goal | 249/213 | 86% | 62% | 0% | |
| SCAL | 2026-03-25 – 2026-04-08 | no stated goal | 213/177 | 83% | 63% | 0% | |
| SCAL | 2026-03-11 – 2026-03-25 | no stated goal | 186/156 | 84% | 58% | 0% | |
| SCAL | 2026-02-25 – 2026-03-11 | no stated goal | 196/173 | 88% | 47% | 0% |
PR size trend (median / p90 lines)
| Date | PRs | Median files | p90 files | Median lines | p90 lines |
|---|---|---|---|---|---|
| 2026-07-04 | 1 | 1 | 1 | 2 | 2 |
| 2026-07-06 | 8 | 5 | 95 | 106 | 20040 |
| 2026-07-07 | 5 | 8 | 367 | 320 | 39967 |
| 2026-07-08 | 6 | 7 | 10 | 92 | 392 |
| 2026-07-09 | 6 | 13 | 150 | 398 | 21023 |
| 2026-07-10 | 9 | 4 | 46 | 56 | 1792 |
| 2026-07-11 | 2 | 3 | 5 | 55 | 92 |
| 2026-07-13 | 6 | 7 | 20 | 737 | 5136 |
| 2026-07-14 | 4 | 22 | 1939 | 1754 | 145103 |
| 2026-07-15 | 4 | 15 | 23 | 728 | 1093 |
| 2026-07-16 | 10 | 6 | 82 | 275 | 6990 |
| 2026-07-17 | 8 | 19 | 73 | 454 | 9931 |
| 2026-07-18 | 2 | 3 | 3 | 211 | 369 |
| 2026-07-20 | 15 | 2 | 36 | 70 | 1885 |
| 2026-07-21 | 5 | 18 | 36 | 488 | 1127 |
| 2026-07-22 | 7 | 12 | 26 | 327 | 2112 |
| 2026-07-23 | 10 | 9 | 103 | 265 | 23989 |
| 2026-07-24 | 3 | 31 | 204 | 1290 | 15911 |
| 2026-07-26 | 1 | 9 | 9 | 455 | 455 |
| 2026-07-27 | 19 | 6 | 21 | 168 | 1436 |
| 2026-07-28 | 10 | 7 | 12 | 282 | 1893 |
| 2026-07-29 | 17 | 5 | 78 | 232 | 3631 |
| 2026-07-30 | 6 | 5 | 30 | 96 | 1152 |
| 2026-07-31 | 8 | 7 | 50 | 112 | 2707 |
| 2026-08-01 | 3 | 2 | 3 | 20 | 43 |
| 2026-08-02 | 1 | 11 | 11 | 867 | 867 |
| 2026-08-03 | 24 | 6 | 32 | 199 | 1807 |
| 2026-08-04 | 23 | 5 | 53 | 222 | 2895 |
| 2026-08-05 | 15 | 5 | 106 | 125 | 11759 |
| 2026-08-06 | 5 | 14 | 55 | 1397 | 4039 |
| 2026-08-07 | 19 | 3 | 32 | 197 | 1609 |
| 2026-08-08 | 4 | 2 | 2 | 661 | 664 |
| 2026-08-09 | 1 | 8 | 8 | 353 | 353 |
| 2026-08-10 | 19 | 7 | 42 | 272 | 2558 |
| 2026-08-11 | 25 | 4 | 40 | 138 | 3306 |
| 2026-08-12 | 14 | 5 | 52 | 392 | 5157 |
| 2026-08-13 | 18 | 6 | 33 | 373 | 2411 |
| 2026-08-14 | 7 | 4 | 34 | 56 | 3317 |
| 2026-08-15 | 10 | 6 | 32 | 150 | 1271 |
| 2026-08-17 | 5 | 11 | 64 | 869 | 25014 |
| 2026-08-18 | 11 | 7 | 29 | 442 | 1601 |
| 2026-08-19 | 8 | 8 | 47 | 380 | 3455 |
| 2026-08-20 | 14 | 10 | 43 | 549 | 1506 |
| 2026-08-21 | 17 | 3 | 30 | 64 | 1128 |
| 2026-08-22 | 10 | 2 | 4 | 37 | 230 |
Flakiest E2E tests (available artifacts only)
| Test | Flaky runs |
|---|---|
| No live artifacts parsed | |
All 15 identities (admin-configurable)
| Name | Role | Team | GitHub | Slack ID | |
|---|---|---|---|---|---|
| Enrique Palacios | Developer | Team 1 | enrique.palacios@scalar.io | enriquepalaciosv | U09B82JALBE |
| Jordan Braginton | Developer | Team 1 | jordan.braginton@scalar.io | JordanBraginton | U01HAD94NQM |
| Moises Trigueros | Developer | Team 1 | moises.trigueros@scalar.io | Moises-TR | U01QCHQ4KK8 |
| Marvin Obando | QA owner | Team 1 | marvino@nicasource.com | n/a | U036U9QBN3S |
| Gabriel Canepa | Developer | Team 2 | gabriel.canepa@scalar.io | gabrielcanepascalar | U01DUC89M7U |
| Franco Arteche | Developer | Team 2 | franco.arteche@scalar.io | FrankArtecheScalar | U097QG6L0QZ |
| René Cortez | Developer | Team 2 | rene.cortez@scalar.io | rjcd95 | U025Q4VMUBC |
| Kathya Sarria | QA owner | Team 2 | kathyas@nicasource.com | n/a | UEJL3NJ6L |
| Reymundo Tenorio | Developer | Team 3 | reymundo.tenorio@scalar.io | reymundotenorio | U021V8ZU05P |
| Jesse Lambert | Developer | Team 3 | jesse.lambert@scalar.io | Rooba | U0A4CQB529J |
| Fabricio Saavedra | Developer | Team 3 | fabricio.saavedra@scalar.io | fabriccio27 | U029U1YK2TX |
| Roberto González Castro | QA owner | Team 3 | robertog@nicasource.com | n/a | U02K3C44LBC |
| Marcus Cantu | VP of Engineering | All teams | marcus.cantu@scalar.io | Cantum2 | U07EURVAP38 |
| Carlos Cruz | DevOps | All teams | carlos.cruz@scalar.io | carloscruzns | U039JEW3KQE |
| Alvaro Cardenas | Data Engineer | All teams | alvaro.cardenas@scalar.io | alvaroNicasource | U0BN3V9UE01 |
Team-less supporting roles still have individual drill-down. Production errors never appear on a person row. Stored windows: GitHub n=1601 2024-08-27T21:03:34Z–2026-08-22T22:59:04Z; Linear n=5179; Geekbot n=962; PostHog n=33 2026-07-16–2026-08-22.