Engineering Pulse
Pull-only health and category boards — not a performance review. Every engineer sees every score.

PRs in window

1587
Median/p90 size trend uses real GitHub diffs — not scored.

Linear issues

4903

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

SourceStatusWindowNotes
slackpartial2026-02-23T03:08:06.900Z → 2026-08-23T03:08:08.827ZBot 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)
githubok2026-02-23T03:00:50.866Z → 2026-08-23T03:07:41.534ZPRs 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.
linearok2026-02-23T03:07:41.535Z → 2026-08-23T03:08:03.760Zissues stored this run=3; cycles stored=45
geekbotok2026-02-23T12:12:53.000Z → 2026-08-21T23:38:16.000ZstandupIds=184200 completions stored this run=0. Response content is not persisted.
posthogpartial2026-07-16T00:00:00.000Z → 2026-08-22T00:00:00.000ZOnly $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.
Dateslackbug openedslackbug closedinternal openednumeric/display/export
2026-06-043090
2026-06-050200
2026-06-060010
2026-06-081110
2026-06-092140
2026-06-1010010
2026-06-118200
2026-06-125660
2026-06-130100
2026-06-150100
2026-06-163300
2026-06-174401
2026-06-194200
2026-06-227100
2026-06-234500
2026-06-243310
2026-06-252300
2026-06-262360
2026-06-295400
2026-06-304100
2026-07-011200
2026-07-021300
2026-07-031200
2026-07-064300
2026-07-072300
2026-07-081000
2026-07-091030
2026-07-1061210
2026-07-110040
2026-07-134020
2026-07-140500
2026-07-150200
2026-07-164000
2026-07-174100
2026-07-203210
2026-07-214200
2026-07-220100
2026-07-232192
2026-07-241100
2026-07-260060
2026-07-273210
2026-07-281511
2026-07-291110
2026-07-303100
2026-07-311110
2026-08-031220
2026-08-041100
2026-08-050100
2026-08-065200
2026-08-078010
2026-08-103710
2026-08-1110000
2026-08-124320
2026-08-131570
2026-08-141300
2026-08-171100
2026-08-180160
2026-08-190030
2026-08-201000
2026-08-220010
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

ActorQA Verified events
No QA Verified transitions in window

Daily Geekbot completion (every person, weekdays)

EngineerTeamCompletedRate
Enrique Palaciosteam-197/13075%
Jordan Bragintonteam-199/13076%
Moises Triguerosteam-132/13025%
Marvin Obandoteam-13/1302%
Gabriel Canepateam-2116/13089%
Franco Artecheteam-289/13068%
René Cortezteam-243/13033%
Kathya Sarriateam-20/1300%
Reymundo Tenorioteam-387/13067%
Jesse Lambertteam-356/13043%
Fabricio Saavedrateam-3110/13085%
Roberto González Castroteam-30/1300%
Marcus Cantu92/13071%
Carlos Cruz105/13081%
Alvaro Cardenas0/1300%
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.
ChannelTypeMemberHistory ingestMsgs scannedFormat eventsWhat is monitored
#tech-standupstand-up formatyesyesunread: missing_scope needed=groups:history
#tech-daily-navstand-up formatyesyesunread: missing_scope needed=groups:history
#developersother member channelyesyesunread: missing_scope needed=groups:history
#software-supportbug reports (via Linear)yesyes3420History 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.
DateTeamFormatIn-person msgsSlack-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.
EngineerIn-person signalsSlack-only signals
Enrique Palacios00
Jordan Braginton00
Moises Trigueros00
Marvin Obando00
Gabriel Canepa00
Franco Arteche00
René Cortez00
Kathya Sarria00
Reymundo Tenorio00
Jesse Lambert00
Fabricio Saavedra00
Roberto González Castro00
Marcus Cantu00
Carlos Cruz00
Alvaro Cardenas00
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)

EngineerTeamReviews given
Reymundo Tenorioteam-3987
Fabricio Saavedrateam-3962
Gabriel Canepateam-2612
Jordan Bragintonteam-1289
Jesse Lambertteam-3181
Franco Artecheteam-2149
René Cortezteam-2130
Enrique Palaciosteam-1110
Moises Triguerosteam-1102
Marcus Cantu83
Carlos Cruz55
Alvaro Cardenas17
Marvin Obandoteam-10
Kathya Sarriateam-20
Roberto González Castroteam-30

Sprint predictability

TeamCycleDatesGoalPlanned/completed ptsCompletionCarryoverGoal attached
QACycle 252026-08-12 – 2026-08-26no stated goal0/0
QACycle 242026-07-29 – 2026-08-12no stated goal0/0
QACycle 232026-07-15 – 2026-07-29no stated goal0/0
QACycle 222026-07-01 – 2026-07-15no stated goal0/0
QACycle 212026-06-17 – 2026-07-01no stated goal0/0
QACycle 202026-06-03 – 2026-06-17no stated goal0/0
QACycle 192026-05-20 – 2026-06-03no stated goal0/0
QACycle 182026-05-06 – 2026-05-20no stated goal0/0
QACycle 172026-04-22 – 2026-05-06no stated goal0/0
QACycle 162026-04-08 – 2026-04-22no stated goal0/0
QACycle 152026-03-25 – 2026-04-08no stated goal0/0
QACycle 142026-03-11 – 2026-03-25no stated goal0/0
QACycle 132026-02-25 – 2026-03-11no stated goal0/0
IDEASCycle 252026-08-12 – 2026-08-26no stated goal0/0
IDEASCycle 242026-07-29 – 2026-08-12no stated goal0/0
IDEASCycle 232026-07-15 – 2026-07-29no stated goal0/0
IDEASCycle 222026-07-01 – 2026-07-15no stated goal0/0
IDEASCycle 212026-06-17 – 2026-07-01no stated goal0/0
IDEASCycle 202026-06-03 – 2026-06-17no stated goal0/0
IDEASCycle 192026-05-20 – 2026-06-03no stated goal0/0
IDEASCycle 182026-05-06 – 2026-05-20no stated goal0/0
IDEASCycle 172026-04-22 – 2026-05-06no stated goal0/0
IDEASCycle 162026-04-08 – 2026-04-22no stated goal0/0
IDEASCycle 152026-03-25 – 2026-04-08no stated goal0/0
IDEASCycle 142026-03-11 – 2026-03-25no stated goal0/0
IDEASCycle 132026-02-25 – 2026-03-11no stated goal0/0
SCAL2026-08-12 – 2026-08-26no stated goal241/11749%66%0%
SCAL2026-07-29 – 2026-08-12no stated goal365/25971%70%0%
SCAL2026-07-15 – 2026-07-29no stated goal296/22175%74%0%
SCAL2026-07-01 – 2026-07-15no stated goal267/22986%61%0%
SCAL2026-06-17 – 2026-07-01no stated goal331/29790%69%0%
SCAL2026-06-03 – 2026-06-17no stated goal324/29390%63%0%
SCAL2026-05-20 – 2026-06-03no stated goal376/33389%53%0%
SCAL2026-05-06 – 2026-05-20no stated goal308/27288%60%0%
SCAL2026-04-22 – 2026-05-06no stated goal266/23086%71%0%
SCAL2026-04-08 – 2026-04-22no stated goal249/21386%62%0%
SCAL2026-03-25 – 2026-04-08no stated goal213/17783%63%0%
SCAL2026-03-11 – 2026-03-25no stated goal186/15684%58%0%
SCAL2026-02-25 – 2026-03-11no stated goal196/17388%47%0%

PR size trend (median / p90 lines)

DatePRsMedian filesp90 filesMedian linesp90 lines
2026-07-0411122
2026-07-06859510620040
2026-07-075836732039967
2026-07-08671092392
2026-07-0961315039821023
2026-07-109446561792
2026-07-112355592
2026-07-1367207375136
2026-07-1442219391754145103
2026-07-15415237281093
2026-07-16106822756990
2026-07-17819734549931
2026-07-18233211369
2026-07-2015236701885
2026-07-21518364881127
2026-07-22712263272112
2026-07-2310910326523989
2026-07-24331204129015911
2026-07-26199455455
2026-07-27196211681436
2026-07-28107122821893
2026-07-29175782323631
2026-07-306530961152
2026-07-3187501122707
2026-08-013232043
2026-08-0211111867867
2026-08-03246321991807
2026-08-04235532222895
2026-08-0515510612511759
2026-08-065145513974039
2026-08-07193321971609
2026-08-08422661664
2026-08-09188353353
2026-08-10197422722558
2026-08-11254401383306
2026-08-12145523925157
2026-08-13186333732411
2026-08-147434563317
2026-08-15106321501271
2026-08-175116486925014
2026-08-18117294421601
2026-08-1988473803455
2026-08-201410435491506
2026-08-2117330641128
2026-08-22102437230

Flakiest E2E tests (available artifacts only)

TestFlaky runs
No live artifacts parsed

All 15 identities (admin-configurable)

NameRoleTeamEmailGitHubSlack ID
Enrique PalaciosDeveloperTeam 1enrique.palacios@scalar.ioenriquepalaciosvU09B82JALBE
Jordan BragintonDeveloperTeam 1jordan.braginton@scalar.ioJordanBragintonU01HAD94NQM
Moises TriguerosDeveloperTeam 1moises.trigueros@scalar.ioMoises-TRU01QCHQ4KK8
Marvin ObandoQA ownerTeam 1marvino@nicasource.comn/aU036U9QBN3S
Gabriel CanepaDeveloperTeam 2gabriel.canepa@scalar.iogabrielcanepascalarU01DUC89M7U
Franco ArtecheDeveloperTeam 2franco.arteche@scalar.ioFrankArtecheScalarU097QG6L0QZ
René CortezDeveloperTeam 2rene.cortez@scalar.iorjcd95U025Q4VMUBC
Kathya SarriaQA ownerTeam 2kathyas@nicasource.comn/aUEJL3NJ6L
Reymundo TenorioDeveloperTeam 3reymundo.tenorio@scalar.ioreymundotenorioU021V8ZU05P
Jesse LambertDeveloperTeam 3jesse.lambert@scalar.ioRoobaU0A4CQB529J
Fabricio SaavedraDeveloperTeam 3fabricio.saavedra@scalar.iofabriccio27U029U1YK2TX
Roberto González CastroQA ownerTeam 3robertog@nicasource.comn/aU02K3C44LBC
Marcus CantuVP of EngineeringAll teamsmarcus.cantu@scalar.ioCantum2U07EURVAP38
Carlos CruzDevOpsAll teamscarlos.cruz@scalar.iocarloscruznsU039JEW3KQE
Alvaro CardenasData EngineerAll teamsalvaro.cardenas@scalar.ioalvaroNicasourceU0BN3V9UE01
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=5172; Geekbot n=962; PostHog n=33 2026-07-16–2026-08-22.