Compound Labs
Menu
Get the newsletter
AGENTWIREMineDojo/Voyager: Open-Ended Minecraft AgentOPEN-ENDED MINECRAFT AGENTCOMPOUND FARCASTERCompound Labs' mail rail now uses source photos or illustration cardsSOURCE PHOTOS, ILLUSTRATION CARDSSCRIPTPROBEScriptProbe marks npm lifecycle scripts for install risksLIFECYCLE SCRIPTS, MARKED FOR RISKAGENTWIREOmniGet - Free open-source video downloader for AI agentsVIDEO DOWNLOADS, AI-QUEUEDCOMPOUND FARCASTERTriagedesk marks mail drafts stuck in sending as failed after 30 minutesSTUCK DRAFTS FAIL AFTER 30 MINUTESKITGRADEKitGrade blocks invalid scores before deploymentINVALID SCORES BLOCK DEPLOYMENTCOMPOUNDtobi/disktree - Rust + GPUI treemap disk cleanup for OmarchyWHAT CAN I DELETE, VISUALLYCOMPOUND BLUESKYBlockDex board now shows failed jobs beside host resultsFAILED JOB BESIDE HOST RESULTPOLICYDRIFTPolicyDrift checks site loads against privacy policy claimsTITLE SPLIT, TYPESCRIPT VERIFIEDTHE STANDUPRender investigating AWS instability in OregonAWS INSTABILITY IN OREGONCOMPOUND FARCASTERCompound Labs' Triagedesk marks stalled sending claims failed for re-approvalSTALE SENDING CLAIMS FAILEDTOOLDRIFTToolDrift adds Product, FAQPage, Article, and BreadcrumbList schemaFOUR SCHEMA TYPES, ZERO TAGSTHE STANDUPRender: AWS service instability in OregonAWS INSTABILITY IN OREGONCOMPOUND FARCASTERTriageDesk drafts replies and reclaims stale unsent claimsSTALE CLAIMS RECLAIMEDRULESTACKRuleStack measures adoption of AGENTS.md, CLAUDE.md, Cursor and Copilot rulesAGENTS.MD LEADS AT 60.4%AGENTWIRETutti-os/tutti, Where people and agents build in tune.PEOPLE AND AGENTS, IN TUNECOMPOUND FARCASTERCompound Labs' mail rail marks stalled replies failed for re-approvalSTALLED REPLIES MARKED FAILEDSTACKTABStackTab embeds its price table in a script-free HTML document1,735 BYTES, ZERO SCRIPTS
Independent product R&D labFounded and run by Isaiah Kim, @kyisaiah47Newest commit Sep 27, 2026, ToolproofNewest writing Sep 27, 2026Site changelog Sep 27, 2026
Sections
Sep 27, 20262 min read

Truing reconstructs W-2 box 12 figures from payroll registers

Truing reconstructs 2026 W-2 box 12 code TT and code TP from a payroll register. I start with the register as it exists, then follow each employee through the checks that determine whether the figures can be supported.


Truing

The bench

The main view opens with the sentence, "The registers are already written. What is missing is the split." The page presents a sample payroll register with employees, pay periods, hours, overtime, earnings, tips, tip share, and service charges.

The workpaper rolls those pay periods up to each employee. It separates box 12 code TT, box 12 code TP, and box 14b Treasury Tipped Occupation Code, while keeping the calculation tied to the source columns.

Truing, About: The readiness check on the front page tells you whether your register can be reconstructed at all, before any money chan
Truing, About: The readiness check on the front page tells you whether your register can be reconstructed at all, before any money chan

The register check

The central control is labeled "Is your 2026 payroll TT/TP-ready?" It accepts a payroll register CSV with one row per employee per pay period.

I choose a register and Truing reads it through four visible stages: reading the register, matching column names, rolling pay periods up to each employee, and checking each employee for code TT and code TP. The check does not compute a code TT or code TP figure.

Truing, Pricing: Per employee, per pay period, not a sampled month Code TT and code TP reported separately A reconciliation for your pay
Truing, Pricing: Per employee, per pay period, not a sampled month Code TT and code TP reported separately A reconciliation for your pay

The readiness rail

The left rail shows the same four passes as a live sequence. Each pass can display its state and elapsed milliseconds while the register is being read.

The results also identify which of the 11 expected columns the export has, which it does not, how many employees cannot be classified, and the rule behind each reason. Tipped employees are separately marked for box 14b.

The employee workpaper

The sample engagement opens on M. Calderon, a server with 94 hours, 14 overtime hours, a blended regular rate of 22.13, and a 60.00 shortfall. The row also shows 275.00 in service charges excluded from TP and 200.00 in non-discretionary pay included in the regular rate.

I can move through the employee rows and see the values that support each status. M. Calderon is marked for review because the regular rate excluded non-discretionary pay, while the workpaper shows 160.00 required, 100.00 paid, and a 60.00 shortfall.

The reconciliation summary

The sample results summarize 6 employees, with 6 filable and 0 blocked. They show 566.31 in total TT, 2,528.00 in total TP, 505.00 in excluded service charges, and a 60.00 total shortfall.

I use that summary as the control before filing. It keeps the reconstructed figures beside the exceptions, so the unresolved overtime issue remains visible instead of disappearing into the totals.

The claim register

The Claim register page lists the verified claims behind Truing, their values, source titles, re-verification dates, and correction history. It also states that an unverified claim cannot reach a page.

I can trace a published figure back to its registered source and see when it was last checked. The register turns each number on the site into a dated claim with a visible reason for being there.

All writing

Alongside