v3.26.1
Revenues (Tables)
6 Months Ended
Jun. 30, 2026
Revenue from Contract with Customer [Abstract]  
Schedule of Disaggregation of Revenue
The table below presents total revenues by contract type for the following periods:
Three Months Ended June 30,Six Months Ended June 30,
2026202520262025
Time and materials$17,852 $20,615 $34,985 $43,847 
Firm fixed price (1)
18,674 6,685 31,809 13,787 
Cost-reimbursable
223 5,172 4,390 9,595 
Total revenues
$36,749 $32,472 $71,184 $67,229 
(1) This includes Fixed Price, Level of Effort contracts, which are substantially similar to time-and-materials contracts except that the Company is required to deliver a specified level of effort over a stated period of time. For these contracts, the Company determines the revenue earned using contract hours worked at negotiated bill rates as the Company delivers the contractually required workforce.

The table below presents the revenue recognition pattern for the following periods:

Three Months Ended June 30, 2026Three Months Ended June 30, 2025
Point in TimeOver TimeTotal RevenuePoint in TimeOver TimeTotal Revenue
All revenue streams$1,818 $34,931 $36,749 $1,619 $30,853 $32,472 
Six Months Ended June 30, 2026Six Months Ended June 30, 2025
Point in TimeOver TimeTotal RevenuePoint in TimeOver TimeTotal Revenue
All revenue streams$3,564 $67,620 $71,184 $2,937 $64,292 $67,229 

The table below presents total revenues by major customer type for the following periods:
Three Months Ended June 30,Six Months Ended June 30,
2026202520262025
U.S. government
$31,565 $29,641 $61,499 $61,795 
Non-U.S. government and commercial
5,184 2,831 9,685 5,434 
Total revenues
$36,749 $32,472 $71,184 $67,229 
Schedule of Summarized Activity of Allowance for Expected Credit Losses
The table below summarizes the activity in the allowance for expected credit losses:

Three Months Ended June 30,Six Months Ended June 30,
2026202520262025
Beginning balance$438 $127 $438 $127 
Additions
41 351 41 351 
Write-offs
(348)(40)(348)(40)
Recoveries— — — — 
Ending balance
$131 $438 $131 $438 
Schedule of Concentration of Risk, by Risk Factor
Revenue earned from customers contributing in excess of 10% of total revenues are presented in the tables below for the following periods:
Three Months Ended June 30, 2026Six Months Ended June 30, 2026
TotalPercent of total
revenues
TotalPercent of total
revenues
Customer A(1)
$— — %$— — %
Customer B
4,320 12 %7,996 11 %
Customer C
4,839 13 %— — %
Customer D
3,806 10 %7,353 10 %
Customer E
— — %7,120 10 %
Customer F
5,725 16 %11,410 16 %
All others
18,059 49 %37,305 53 %
Total revenues
$36,749 100 %$71,184 100 %

Three Months Ended June 30, 2025Six Months Ended June 30, 2025
TotalPercent of total
revenues
TotalPercent of total
revenues
Customer A
$3,562 11 %$10,160 15 %
Customer B
4,873 15 %9,214 14 %
Customer C (1)
— — %— — %
Customer D
3,267 10 %6,831 10 %
Customer E
3,462 11 %6,962 10 %
Customer F5,270 16 %9,999 15 %
All others
12,038 37 %24,063 36 %
Total revenues
$32,472 100 %$67,229 100 %
(1) Customers that contributed in excess of 10% of consolidated revenues in any period presented have been included in all periods presented for comparability.
Schedule of Contract with Customer, Contract Asset, Contract Liability, and Receivable
The table below presents the contract assets and contract liabilities included on the condensed consolidated balance sheets for the following periods:
June 30,
2026
December 31,
2025
Accounts receivable, net of allowance for credit losses
$30,975 $22,703 
Contract assets$— $218 
Contract liabilities
$10,180 $14,756 
Schedule of Impact of the Net Estimates at Completion Adjustments on the Company’s Operating Results
The following table summarizes the impact of the net estimates at completion (“EAC”) adjustments on the Company’s operating results:
Three Months Ended June 30,Six Months Ended June 30,
2026202520262025
Net EAC Adjustments, before income taxes$58 $522 $(324)$932 
Net EAC Adjustments, net of income taxes(1)
$58 $412 $(324)$737 
Net EAC Adjustments, net of income taxes, per diluted share$— $— $— $— 
(1) Due to the Company being in a net taxable loss position for all periods presented, the impact of income taxes is insignificant.
Schedule of remaining performance obligation
As of June 30, 2026, the estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied, or partially unsatisfied, was approximately $9.2 million. As of June 30, 2026, the estimated revenue expected to be recognized in the future related to remaining performance obligations is presented in the table below.
June 30,
2026
Next 12 months$5,732 
13 to 24 months2,154 
25 to 36 months
1,084 
Thereafter244 
Total remaining performance obligations
$9,214