Hours tracked
222.3
24 days tracked
Hours per day
9.3
on days with tracked time
Mean activity
32.3%
never scored
PRs opened
0
in this period
PRs merged
0
none opened
Median time to merge
—
nothing merged
Commits
223
2 repositories
Lines changed
258,527
context only — never scored
Identity
A person is only measurable across the providers they are linked to.
Evidence confidence for this person
0.40 against a 0.60 floor — no composite score is computed and no alert can fire for this person (AC-05).
Delivery signal
An input to a conversation, not a verdict.
76
rank 2 of 14
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.
76 of 100, ranked 2 of 14 people with a score, against a cohort median of 73. 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 76. That difference is carried by infrastructure (36 against a cohort median of 50, worth -2.7 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 14 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% | 36 | 50 | -2.7 | 327 points from 138 AWS changes on 9 days |
| Change discipline | 18% | 100 | 100 | 0 | median commit 162 lines |
| Consistency | 12% | 56 | 55 | +0.2 | code landed on 24 separate days |
| Craft | 25% | 99 | 98 | +0.3 | 198 of 199 commits name what they changed |
| Review | 8% | 50 | 15 | +3.6 | 1 reviews given, 0 of 0 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 76 − 74 = 2, 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: 222.3 hours tracked, 223 commits, 258,527 lines changed, 31.9% activity. 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%
0.11h of 222.29h on mapped projects. A project-mapping metric, not a diligence metric.
Evidence confidence
conf 1.0040%
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 0 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 1409 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-26 | 0.00 | — | 0 | 0 | 0 |
| ▸ 2026-09-25 | 9.96 | 27.9 | 0 | 0 | 0 |
| ▸ 2026-09-24 | 9.42 | 34.2 | 0 | 0 | 0 |
| ▸ 2026-09-23 | 9.26 | 42.6 | 0 | 0 | 0 |
| ▸ 2026-09-22 | 8.45 | 44.4 | 0 | 0 | 0 |
| ▸ 2026-09-21 | 8.00 | 29.9 | 5 | 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 |
| ▸ 2026-08-28 | 3.07 | 48.3 | 0 | 0 | 0 |
| ▸ 2026-08-27 | 11.03 | 20.8 | 2 | 0 | 0 |
Raw Hubstaff intervals · 2026-08-29
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 | 203.5h | 1289 rows |
| Position | 18.7h | 118 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 · 0
The rows behind “merged” and “reviewed before merge”. Every one links to GitHub.
No pull requests opened or merged by this person in this window.
Commits · 223 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 |
|---|---|---|---|---|---|
| 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 |
| ba8fbad | email-service | test: fix deploy validation harness | 2026-09-12 | +78 −15 | 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 |
| 7969af3 | email-service | fix: harden deployer promotion and rollback | 2026-09-12 | +154 −59 | 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 |
| e1bcca0 | email-service | test: add deploy static contract checks | 2026-09-12 | +556 −0 | counted |
| 1846fbc | email-service | test: extend deploy helper coverage | 2026-09-12 | +329 −8 | counted |
| fbbd099 | email-service | feat: add manifest-driven deploy control | 2026-09-12 | +1,995 −134 | counted |
| 80ac349 | email-service | ci: gate production deploy manually | 2026-09-12 | +329 −15 | counted |
| 608a217 | email-service | reject placeholder deploy secrets | 2026-09-12 | +104 −2 | counted |
| 4b4fec9 | email-service | harden single-ec2 compose contract | 2026-09-12 | +415 −70 | counted |
| 1952d89 | email-service | fix(tests): satisfy local lint gate | 2026-09-12 | +42 −18 | counted |
| 88c8a85 | email-service | Merge pull request #68 from 1Touch-dev/fix/deploy-ssh-key-validation | 2026-09-11 | +12 −2 | counted |
| f735415 | email-service | fix(cicd): validate deploy ssh key format | 2026-09-11 | +12 −2 | counted |
| 649494b | email-service | Merge pull request #67 from 1Touch-dev/fix/ghcr-image-owner | 2026-09-11 | +12 −10 | counted |
| 02dc5f8 | email-service | fix(cicd): normalize deploy image registry | 2026-09-11 | +2 −0 | counted |
| baa5fd5 | email-service | fix(cicd): correct ghcr image owner | 2026-09-11 | +10 −10 | counted |
| 556d78e | HyerPathEnrichment | Merge remote-tracking branch 'origin/main' into fix/multilogin-docker… | 2026-09-10 | +841 −23 | counted |
| 1f52b81 | HyerPathEnrichment | Polish frontend UI migration and fix integration harness | 2026-09-10 | +6,781 −2,661 | counted |
| 29c1fbb | email-service | Merge pull request #66 from 1Touch-dev/chore/single-ec2-cicd | 2026-09-10 | +1,223 −116 | counted |
| 5623a1e | email-service | fix: version deploy env state | 2026-09-10 | +196 −68 | counted |
| 911818d | email-service | chore(cicd): wire single-ec2 preview and prod deploy | 2026-09-10 | +886 −115 | counted |
| 3ac2cf1 | email-service | fix(admin-portal): drop trailing slash export | 2026-09-10 | +0 −1 | counted |
| 12ccc83 | email-service | chore(admin-portal): package preview and prod exports | 2026-09-10 | +54 −1 | counted |
| 2269193 | email-service | chore: align webmail deploy env contract | 2026-09-10 | +30 −9 | counted |
| 300427d | email-service | chore: freeze stack origin contract | 2026-09-10 | +56 −2 | counted |
| dc681f5 | email-service | chore: freeze single-ec2 deploy contract | 2026-09-10 | +126 −45 | counted |
| bf6e220 | email-service | Merge pull request #62 from 1Touch-dev/clarify-gap01-contract-truth | 2026-09-09 | +4,321 −544 | counted |
| 21a6e4f | email-service | Merge remote-tracking branch 'origin/main' into HEAD | 2026-09-09 | +5,314 −277 | counted |
| b9cd073 | email-service | test: fix connect rerun expectation | 2026-09-09 | +1 −1 | counted |
| 1a20a32 | email-service | test: fix CI regressions | 2026-09-09 | +114 −38 | counted |
| 3f8310a | email-service | test: drop unused seed import | 2026-09-09 | +0 −1 | counted |
| 717a9be | email-service | test: fix seed audit cleanup | 2026-09-09 | +6 −6 | counted |
| 8185bb2 | email-service | test: fix platform db probe masking | 2026-09-09 | +29 −2 | counted |
| a28064f | email-service | feat: package day9 candidate integration | 2026-09-09 | +4,218 −569 | counted |
| 602e0bb | email-service | docs: clarify GAP-01 repo truth | 2026-09-09 | +21 −2 | counted |
| 74025a5 | email-service | Merge pull request #60 from 1Touch-dev/godaddy-pat-hotfix | 2026-09-09 | +87 −58 | counted |
| 039f0ef | email-service | fix: freeze godaddy PAT auth contract | 2026-09-09 | +18 −26 | counted |
| ee93f8a | email-service | test: lock godaddy pat contract truthfulness | 2026-09-09 | +47 −29 | counted |
| 412e76b | email-service | docs: correct godaddy PAT auth truth | 2026-09-09 | +32 −27 | counted |
| 8c8316d | email-service | test: align godaddy runbook truth checks | 2026-09-09 | +15 −1 | 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.