Hours tracked
212.4
24 days tracked
Hours per day
8.8
on days with tracked time
Mean activity
32.4%
never scored
PRs opened
3
in this period
PRs merged
3
100% of opened
Median time to merge
0.2h
open → merge
Commits
253
3 repositories
Lines changed
288,781
context only — never scored
Identity
A person is only measurable across the providers they are linked to.
Evidence confidence for this person
0.55 against a 0.60 floor — no composite score is computed and no alert can fire for this person (AC-05). Measured 0.70, capped because no task tracker defines the work.
Delivery signal
An input to a conversation, not a verdict.
75
rank 4 of 15
Why this reads as “Leading”
The band is cut from this period's own distribution, not a fixed threshold. The arithmetic is below so it can be checked rather than believed.
75 of 100, ranked 4 of 15 people with a score, against a cohort median of 74. The bands are cut from this period's own distribution, not fixed thresholds: ≤ 67 is behind, ≥ 75 is leading, and this person is in the top 30% of people with a score this period. With every component at the cohort median this person would score 74; they score 75. That difference is carried by infrastructure (38 against a cohort median of 50, worth -2.3 points). 1 of 6 components (completed work) could not be measured at all, so the remaining weights were rescaled — this score rests on 78% of the intended evidence.
A band compares this person to the 15 people who have a score in this window — nothing more. It is not a rating, it does not persist, and it moves when the cohort or the window moves.
How this number was built
Every term is shown with the rows it came from and the cohort figure it was judged against. If a term looks wrong, the tables below are the argument.
| Component | Weight | Score | Cohort median | Effect | Computed from |
|---|---|---|---|---|---|
| Infrastructure | 15% | 38 | 50 | -2.3 | 327 points from 138 AWS changes on 9 days |
| Change discipline | 18% | 100 | 100 | 0 | median commit 168 lines |
| Craft | 25% | 99 | 98 | +0.3 | 223 of 224 commits name what they changed |
| Consistency | 12% | 61 | 54 | +1.1 | code landed on 30 separate days |
| Review | 8% | 35 | 15 | +2.1 | 1 reviews given, 0 of 3 own merges reviewed |
| Completed work | 22% | — | — | — | not scored — never assigned a task in any connected tracker. Scoring 0 here would read as "delivered nothing" when the truth is that no tracker describes this person’s work. |
Effect is a counterfactual, not a share: how many points this person’s score would move if that one component dropped to the cohort median for it. The effects sum to 75 − 74 = 1, where 74 is what this person would score with every one of their components at the cohort median. Negative rows are the reason the total sits where it does. A component with no data is withheld and the remaining weights are rescaled — it is never scored as zero, and it never counts against anyone.
Measured but deliberately not scored: 212.4 hours tracked, 253 commits, 288,781 lines changed, 32% activity, first-pass CI 100%. The first four measure motion rather than delivery and are trivially inflated. CI is excluded because it exists on a minority of repositories, so scoring it would rank people by which repository they work in. This score cannot see architecture, planning, mentoring, incident response or infrastructure work at all.
Infrastructure work
From CloudTrail — the only record of work that leaves no trace in git.
Weighted points
327
Changes
138
Days
9
Unscored
23
sign-ins, own MFA, shells
What they actually did
- route53 ChangeResourceRecordSets×92 · 184 pts
- ses CreateEmailIdentity×15 · 75 pts
- ses PutEmailIdentityDkimAttributes×15 · 30 pts
- q SendMessage×10 · 20 pts
- route53 CreateHostedZone×2 · 10 pts
- sts GetSessionToken×4 · 8 pts
CloudTrail records the API call, not the intent. It cannot tell a considered change from one corrected a minute later, and it retains 90 days — so an empty earlier period means “not retained”, never “nothing happened”.
Employee KPIs
Six of the twelve. Where a value is absent the reason is stated — never rendered as a zero.
Focused project ratio
conf 0.900.1%
0.11h of 212.4h on mapped projects. A project-mapping metric, not a diligence metric.
Evidence confidence
conf 1.0055%
Below the 0.6 floor, so no composite score is computed and no alert can fire (AC-05).
| Accepted difficulty points | blocked | None of this person's 3 work units reached acceptance (merged + first CI green + ≥1 review). |
| First-pass acceptance | blocked | Nothing accepted, so there is no first-pass rate. |
| Idle classification mix | blocked | 0 of 1344 intervals carry a class. |
| Tokens per accepted point | blocked | No AI usage data connected. |
Day by day
Tracked time beside code that landed. Click a day for the raw Hubstaff intervals behind its hours.
| Day | Hours | Act% | Commits | PRs opened | PRs merged |
|---|---|---|---|---|---|
| ▸ 2026-09-28 | 0.82 | 32.8 | 1 | 0 | 0 |
| ▾ 2026-09-27 | 0.00 | — | 0 | 0 | 0 |
| ▸ 2026-09-26 | 3.38 | 15.9 | 5 | 1 | 1 |
| ▸ 2026-09-25 | 9.96 | 27.9 | 17 | 2 | 2 |
| ▸ 2026-09-24 | 9.42 | 34.2 | 2 | 0 | 0 |
| ▸ 2026-09-23 | 9.26 | 42.6 | 5 | 0 | 0 |
| ▸ 2026-09-22 | 8.45 | 44.4 | 0 | 0 | 0 |
| ▸ 2026-09-21 | 8.00 | 29.9 | 7 | 0 | 0 |
| ▸ 2026-09-20 | 0.00 | — | 0 | 0 | 0 |
| ▸ 2026-09-19 | 0.00 | — | 6 | 0 | 0 |
| ▸ 2026-09-18 | 7.97 | 37.6 | 20 | 0 | 0 |
| ▸ 2026-09-17 | 8.03 | 40.6 | 1 | 0 | 0 |
| ▸ 2026-09-16 | 11.80 | 41.6 | 2 | 0 | 0 |
| ▸ 2026-09-15 | 11.10 | 47.0 | 8 | 0 | 0 |
| ▸ 2026-09-14 | 13.26 | 23.2 | 11 | 0 | 0 |
| ▸ 2026-09-13 | 0.00 | — | 0 | 0 | 0 |
| ▸ 2026-09-12 | 5.50 | 24.9 | 18 | 0 | 0 |
| ▸ 2026-09-11 | 9.60 | 35.3 | 5 | 0 | 0 |
| ▸ 2026-09-10 | 9.18 | 24.2 | 10 | 0 | 0 |
| ▸ 2026-09-09 | 10.59 | 28.8 | 20 | 0 | 0 |
| ▸ 2026-09-08 | 9.72 | 21.7 | 29 | 0 | 0 |
| ▸ 2026-09-07 | 10.56 | 30.9 | 12 | 0 | 0 |
| ▸ 2026-09-06 | 0.00 | — | 0 | 0 | 0 |
| ▸ 2026-09-05 | 7.07 | 27.9 | 11 | 0 | 0 |
| ▸ 2026-09-04 | 10.39 | 25.2 | 27 | 0 | 0 |
| ▸ 2026-09-03 | 10.52 | 27.7 | 13 | 0 | 0 |
| ▸ 2026-09-02 | 8.84 | 33.4 | 1 | 0 | 0 |
| ▸ 2026-09-01 | 10.44 | 37.1 | 18 | 0 | 0 |
| ▸ 2026-08-31 | 8.54 | 22.1 | 3 | 0 | 0 |
| ▸ 2026-08-30 | 0.00 | — | 1 | 0 | 0 |
| ▸ 2026-08-29 | 0.00 | — | 0 | 0 | 0 |
Raw Hubstaff intervals · 2026-09-27
No intervals stored for this day. That is an absence of tracked time, not a claim that no work happened.
Where the time went
Hubstaff project attribution.
| Thunder Marketing's Project | 189.4h | 1197 rows |
| Position | 22.9h | 145 rows |
| webmail | 0.1h | 2 rows |
What was not counted
Commits excluded from output, with the reason stored on the row.
Nothing of this person's was excluded in this window.
Pull requests · 3
The rows behind “merged” and “reviewed before merge”. Every one links to GitHub.
| PR | Title | Opened | Merged | +/− | Reviews | First CI |
|---|---|---|---|---|---|---|
| #21 POSITION_INTELLIGENCE | feat(squadb): Day 3 news path (near-dup to story to incident) feature/squadB-aziz-day3-newspath | 2026-09-26 | 2026-09-26 | +2,199 −54 | 0 | success |
| #17 POSITION_INTELLIGENCE | Day 2: all-history baselines and dark Gate F feature/squadB-aziz-baseline-gatef | 2026-09-25 | 2026-09-25 | +2,237 −48 | 0 | success |
| #16 POSITION_INTELLIGENCE | feat(squadb): trust gates, provenance, volume rollup, and CI hardening feature/squadB-aziz-trust-gates-provenance-volume | 2026-09-25 | 2026-09-25 | +1,896 −68 | 0 | success |
Commits · 253 counted, 0 excluded
Showing the 100 most recent. Default-branch history only — work on unmerged PR branches does not appear here, see the pull requests above.
| SHA | Repo | Message | When | +/− | Counted |
|---|---|---|---|---|---|
| a9970db | POSITION_INTELLIGENCE | ci: run pytest workflow on pushes to feature/squadB | 2026-09-28 | +3 −1 | counted |
| fb2e155 | POSITION_INTELLIGENCE | docs(squadb): append Day 3 Alpha/Beta leftover vs calendar | 2026-09-26 | +45 −1 | counted |
| 98f645e | POSITION_INTELLIGENCE | docs(squadb): append remaining work after Day 3 news path | 2026-09-26 | +30 −1 | counted |
| 0cd6c25 | POSITION_INTELLIGENCE | docs(squadb): record Day 3 news path as landed on feature/squadB | 2026-09-26 | +310 −228 | counted |
| 6d500ff | POSITION_INTELLIGENCE | Merge PR #21: Squad B Day 3 news path | 2026-09-26 | +2,199 −54 | counted |
| d17c9d2 | POSITION_INTELLIGENCE | feat(squadb): complete Day 3 news path end-to-end | 2026-09-26 | +2,199 −54 | counted |
| 6afb468 | POSITION_INTELLIGENCE | docs(squadb): record Day 2 Alpha as landed and correct stale status | 2026-09-25 | +231 −163 | counted |
| c7e76a0 | POSITION_INTELLIGENCE | Merge PR #17: Day 2 Alpha baselines and Gate F | 2026-09-25 | +2,237 −48 | counted |
| 1c08090 | POSITION_INTELLIGENCE | fix(squadb): close Day 2 baseline and incident wiring gaps | 2026-09-25 | +186 −4 | counted |
| c0ff59d | POSITION_INTELLIGENCE | feat(datalayer): fold all-history baselines and keep Gate F dark | 2026-09-25 | +2,053 −46 | counted |
| a4ebe6f | POSITION_INTELLIGENCE | Merge branch 'feature/squadB-aziz-trust-gates-provenance-volume' into… | 2026-09-25 | +81 −50 | counted |
| 2c60727 | POSITION_INTELLIGENCE | docs(squadb): record Day 1 completion, completeness follow-up, and ev… | 2026-09-25 | +81 −50 | counted |
| a7be4df | POSITION_INTELLIGENCE | Merge PR #16: Squad B Day 1 trust gates, provenance, volume rollup, CI | 2026-09-25 | +1,896 −68 | counted |
| c64e73e | POSITION_INTELLIGENCE | fix(ci): isolate agent API tests from live Mongo on clean runners. | 2026-09-25 | +5 −2 | counted |
| 934f0bc | POSITION_INTELLIGENCE | fix(ci): add numpy and scipy to requirements for full pytest collection. | 2026-09-25 | +2 −0 | counted |
| 9e91bf2 | POSITION_INTELLIGENCE | fix(squadb): close Day 1 remediation gaps and harden release gate. | 2026-09-25 | +318 −24 | counted |
| 90801fd | POSITION_INTELLIGENCE | Day 1 Track Alpha: enforce Gate B on both stores and make volume coun… | 2026-09-25 | +1,543 −47 | counted |
| 6701785 | POSITION_INTELLIGENCE | Merge branch 'feature/squadB' into feature/squadB-aziz-trust-gates-pr… | 2026-09-25 | +1,745 −16 | counted |
| 4af954f | POSITION_INTELLIGENCE | Merge branch 'feature/squadB' into feature/squadB-aziz-trust-gates-pr… | 2026-09-25 | +4,042 −0 | counted |
| 63bfece | POSITION_INTELLIGENCE | Merge branch 'main' into feature/squadB-aziz-trust-gates-provenance-v… | 2026-09-25 | +35 −2 | counted |
| 115e46d | POSITION_INTELLIGENCE | docs(squadb): drop duplicate scraper evidence docx | 2026-09-25 | +0 −0 | counted |
| ffb4352 | POSITION_INTELLIGENCE | docs(squadb): add remaining Squad B reference briefs and schema maps | 2026-09-25 | +4,042 −0 | counted |
| fed769b | POSITION_INTELLIGENCE | docs(squadb): keep Squad B briefs and scraper evidence under .squadb/ | 2026-09-25 | +0 −0 | counted |
| a3e5aa3 | POSITION_INTELLIGENCE | docs(squadb): track SoT/ARCH/phases/OSS briefs on feature/squadB for … | 2026-09-24 | +2,852 −17 | counted |
| 38e7590 | POSITION_INTELLIGENCE | feat(squadb): add feature/squadB memory bank and agent context layers | 2026-09-24 | +561 −5 | counted |
| 6297306 | HyerPathEnrichment | Require full HyrePath frontend and observability UIs on Day-1. | 2026-09-23 | +101 −32 | counted |
| bc849fb | HyerPathEnrichment | Block real env files from git and document the host-only secret rule. | 2026-09-23 | +69 −8 | counted |
| 1f0bf21 | HyerPathEnrichment | Expand EC2 deploy plan with soft-env policy and full env inventory. | 2026-09-23 | +422 −164 | counted |
| d867c9e | HyerPathEnrichment | Add EC2 live preview deployment plan (scripts not implemented). | 2026-09-23 | +350 −0 | counted |
| f05bee2 | HyerPathEnrichment | Apply Figma premium 3-color design system across the frontend. | 2026-09-23 | +2,113 −1,301 | counted |
| c82375a | HyerPathEnrichment | Expand Figma migration plan to close implementation gaps. | 2026-09-21 | +375 −222 | counted |
| d2f08cc | HyerPathEnrichment | Add Figma-to-frontend design implementation plan. | 2026-09-21 | +652 −0 | counted |
| a827400 | HyerPathEnrichment | Merge pull request #270 from 1Touch-dev/product-doors/t5-full-suite | 2026-09-21 | +197 −57 | counted |
| 39fe884 | HyerPathEnrichment | Merge origin/main into product-doors/t5-full-suite | 2026-09-21 | +29,678 −6,609 | counted |
| 1f52bb6 | HyerPathEnrichment | Merge pull request #278 from 1Touch-dev/fix/manual-ui-test-script-qa | 2026-09-21 | +383 −52 | counted |
| 1e77f1c | HyerPathEnrichment | Merge origin/main into fix/manual-ui-test-script-qa | 2026-09-21 | +9,074 −3,742 | counted |
| fe2eef1 | HyerPathEnrichment | Merge pull request #275 from 1Touch-dev/fix/multilogin-docker-rca | 2026-09-21 | +9,074 −3,742 | counted |
| dd62e73 | email-service | fix(admin): keep mailbox table full width | 2026-09-19 | +4 −2 | counted |
| f620c67 | email-service | feat(admin): show Admin Portal beside Thunder Mail | 2026-09-19 | +3 −3 | counted |
| c3f0831 | email-service | feat(admin): restyle login and sidebar, tighten mailbox table | 2026-09-19 | +396 −90 | counted |
| 6e88cc1 | email-service | fix(admin): keep mailbox emails on one line | 2026-09-19 | +42 −30 | counted |
| cb2a774 | email-service | fix(admin): tighten mailbox domain panel and space the table | 2026-09-19 | +17 −9 | counted |
| 5eabd86 | email-service | feat(admin): sit mailbox domain panel under the header | 2026-09-19 | +144 −18 | counted |
| 75e21e6 | email-service | fix(ci): fetch stalwart-cli from GitHub Releases instead of GHCR | 2026-09-18 | +41 −9 | counted |
| 5f47714 | email-service | feat(admin): replace mailbox domain dropdown with a side panel | 2026-09-18 | +480 −297 | counted |
| a7da89b | email-service | fix(ci): stop webmail image builds hanging on a full runner disk | 2026-09-18 | +15 −1 | counted |
| 2cc4ca5 | email-service | style(admin): update portal navy theme | 2026-09-18 | +36 −36 | counted |
| b1a9149 | email-service | fix(admin): show Copied after mailbox password copy | 2026-09-18 | +51 −1 | counted |
| 3de2918 | email-service | style(admin): update portal navy theme | 2026-09-18 | +36 −36 | counted |
| fa92de9 | email-service | fix(admin): show Copied after mailbox password copy | 2026-09-18 | +51 −1 | counted |
| b546a5f | email-service | fix(lint): drop unused logging import in stalwart tests | 2026-09-18 | +2 −3 | counted |
| 3b827c6 | email-service | fix(ci): harden auth inventory and stalwart log assertions | 2026-09-18 | +52 −25 | counted |
| 4805bd7 | email-service | fix(ci): align tests and pins with main head contracts | 2026-09-18 | +102 −26 | counted |
| 423ba11 | email-service | fix(lint): clear ruff failures blocking main CI | 2026-09-18 | +13 −17 | counted |
| a78de55 | email-service | feat(worker): schedule disk and mailbox storage sync jobs | 2026-09-18 | +116 −0 | counted |
| 75c0c68 | email-service | feat(webmail): alias Thunder logos under default branding paths | 2026-09-18 | +12 −0 | counted |
| d8ba701 | email-service | fix(billing): refresh real mailbox storage before usage views | 2026-09-18 | +10 −14 | counted |
| 3377f1c | email-service | feat(storage): add disk usage snapshots and admin warning | 2026-09-18 | +266 −6 | counted |
| 74f5fa3 | email-service | Add domain-first mailbox table with pagination and created_at. | 2026-09-18 | +928 −173 | counted |
| a3c2fe3 | email-service | Advance production alembic checkpoint to 0018_system_disk_snapshots | 2026-09-18 | +3 −2 | counted |
| 19d7368 | email-service | Domain manager: grant add/delete rights + share Trash | 2026-09-18 | +388 −34 | counted |
| 5e7eabd | email-service | Add bulk domain DNS repair and IST export fixes [skip ci] | 2026-09-18 | +857 −22 | counted |
| 24c3c1e | email-service | Point webmail submodule at Thunder Marketing login logo. | 2026-09-18 | +1 −1 | counted |
| f7cd7f3 | email-service | Ship bind uniqueness, manager mailboxes, MFA toggle, and admin portal… | 2026-09-17 | +3,834 −246 | counted |
| 755d445 | email-service | docs: add cursor agent work history profile | 2026-09-16 | +336 −0 | counted |
| 5fc5604 | email-service | Add domain manager mailbox delegation | 2026-09-16 | +1,532 −1 | counted |
| 5bf5fda | email-service | test: satisfy homepage deploy lint | 2026-09-15 | +29 −9 | counted |
| a620fcc | email-service | feat(homepage): add single-EC2 homepage deploy | 2026-09-15 | +8,110 −29 | counted |
| ff7f3ea | email-service | Merge pull request #78 from 1Touch-dev/fix/ghcr-token-stdin-before-do… | 2026-09-15 | +93 −2 | counted |
| a5878ae | email-service | fix(deploy): slurp GHCR token from stdin before any docker exec | 2026-09-15 | +93 −2 | counted |
| 43f3be1 | email-service | Merge pull request #77 from 1Touch-dev/fix/admin-symlink-and-webmail-… | 2026-09-15 | +517 −6 | counted |
| bd0934b | email-service | fix(deploy): chmod extracted payloads on redeploy, not only extract | 2026-09-15 | +127 −1 | counted |
| 9dc40c5 | email-service | fix(deploy): relative admin symlink, world-readable extract, webmail … | 2026-09-15 | +391 −6 | counted |
| 54c6893 | email-service | fix(deploy): validate-pointer must accept legacy 2-key images on alre… | 2026-09-15 | +435 −2 | counted |
| 88e5c76 | email-service | fix(deploy): align postgres init and fixtures with named roles | 2026-09-14 | +89 −31 | counted |
| a23bd1f | email-service | fix(deploy): enforce final runtime identities | 2026-09-14 | +242 −16 | counted |
| f1e9b5f | email-service | fix(deploy): finalize postgres safety remediation | 2026-09-14 | +733 −150 | counted |
| aa97f0c | email-service | fix(ci): run dispatch guard on self-hosted runner | 2026-09-14 | +5 −1 | counted |
| 6bc2606 | email-service | Merge remote-tracking branch 'origin/fix/postgres-deployment-safety' … | 2026-09-14 | +10 −2 | counted |
| aee53f9 | email-service | Merge remote-tracking branch 'origin/fix/postgres-deployment-safety' … | 2026-09-14 | +25 −8 | counted |
| 1865133 | email-service | fix(deploy): complete release safety integration | 2026-09-14 | +1,178 −179 | counted |
| c94f9bb | email-service | fix(deploy): close backup and rollback safety gaps | 2026-09-14 | +695 −32 | counted |
| 83574c2 | email-service | fix(tests): match preview runtime env validation | 2026-09-14 | +2 −2 | counted |
| 397d859 | email-service | Merge origin/main into fix/postgres-deployment-safety | 2026-09-14 | +95 −27 | counted |
| c2cb0cd | email-service | fix(deploy): harden postgres deployment safety | 2026-09-14 | +1,311 −30 | counted |
| 7e19044 | email-service | fix(backup): tolerate postgres role replay | 2026-09-12 | +187 −1 | counted |
| 057f302 | email-service | Fix RDS planner blockers | 2026-09-12 | +109 −19 | counted |
| 580b43d | email-service | Fix deploy bootstrap and drift gates | 2026-09-12 | +511 −58 | counted |
| d871b7f | email-service | fix(cicd): emit postgres safety contract | 2026-09-12 | +163 −8 | counted |
| 312dc4c | email-service | Add RDS staging artifacts | 2026-09-12 | +1,539 −0 | counted |
| 7969af3 | email-service | fix: harden deployer promotion and rollback | 2026-09-12 | +154 −59 | counted |
| 7c42350 | email-service | docs: align ec2 deploy contract | 2026-09-12 | +163 −60 | counted |
| a7cf5d1 | email-service | fix: tighten deployer env authority | 2026-09-12 | +30 −3 | counted |
| ba8fbad | email-service | test: fix deploy validation harness | 2026-09-12 | +78 −15 | counted |
| 1846fbc | email-service | test: extend deploy helper coverage | 2026-09-12 | +329 −8 | counted |
| e1bcca0 | email-service | test: add deploy static contract checks | 2026-09-12 | +556 −0 | counted |
| 8849f9d | email-service | fix: enforce LF for launcher | 2026-09-12 | +1 −0 | counted |
| 392814b | email-service | ci: align deploy manifest contract | 2026-09-12 | +93 −75 | counted |
| fbbd099 | email-service | feat: add manifest-driven deploy control | 2026-09-12 | +1,995 −134 | counted |
| 4b4fec9 | email-service | harden single-ec2 compose contract | 2026-09-12 | +415 −70 | counted |
This is wrong
Anything on this page can be disputed. A correction is a stored row, not an email — it stays attached to the figure it challenges.
Corrections on record · 0
Open disputes are shown to anyone reading this person's numbers.
Nothing disputed yet.