FLT-147 build report¶
Result¶
Implemented per-harness spend-ledger pool telemetry for Cedric (Codex), Jenny (agy/Gemini), and Gronktayvius (Grok), with honest UNKNOWN whenever a real pool capacity is absent. Scanner-written provider observations are freshly timestamped with stale=false.
Real signals wired¶
- Cedric / Codex:
codex execterminal output parser fortokens used: N; concurrency-safe JSONL token ledger;codex-spend --output-file <path>parses and appends;harness-spend --harness codex --tokens Nprovides an explicit append path. A configuredcodexPoolTokensandcodexPoolWindowHoursderive GREEN/YELLOW/RED/BLACKOUT from real accrued tokens. With no real capacity configured,codex.tieris freshly stampedUNKNOWN. - Jenny / agy: retained the existing fleet-global, atomic
agy-admitledger andAgyPolicy.ComputePoolauthority. The Gemini x20 pool continues to derive from its configured 5-hour/weekly capacities and actual admitted weighted spend. No second emitted-token append was added because it would double-charge the admission reservation. No agy CLI per-run emitted token-count format was evidenced in the repository, so no parser was fabricated. - Gronktayvius / Grok: concurrency-safe JSONL token ledger plus
harness-spend --harness grok --tokens Nappend path. A configuredgrokPoolTokensandgrokPoolWindowHoursderive GREEN/YELLOW/RED from real accrued tokens. The legacy invocation count remains advisory in state. No stable Grok CLI per-run emitted token-count format or real SuperGrok token capacity was evidenced, so defaultgrok.tieris freshly stampedUNKNOWN; no count parser or capacity was fabricated. - Provider hook context now exposes
UNKNOWNand includes Grok, preventing an unmetered sibling pool from being silently presented as available.
Review gate¶
The full house council aggregate did not return and was terminated after an extended wait. Per the council-code-review fallback, Claude Jones-Gaffney reviewed the diff twice. The first pass found concurrency, double-booking, BLACKOUT, consumer-visibility, and compatibility issues; they were fixed. The second pass confirmed those fixes and found the missing required --tokens validation plus regression-test gaps; those were fixed before the final gates.
Exact gate output¶
dotnet build -warnaserror¶
Determining projects to restore...
All projects are up-to-date for restore.
C:\Program Files\dotnet\sdk\10.0.400-preview.0.26322.102\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\Users\fives\source\repos\ug-flt147\src\UsageGovernor.Cli\UsageGovernor.Cli.csproj]
C:\Program Files\dotnet\sdk\10.0.400-preview.0.26322.102\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\Users\fives\source\repos\ug-flt147\tests\UsageGovernor.Tests\UsageGovernor.Tests.csproj]
C:\Program Files\dotnet\sdk\10.0.400-preview.0.26322.102\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\Users\fives\source\repos\ug-flt147\src\UsageGovernor.Core\UsageGovernor.Core.csproj]
UsageGovernor.Core -> C:\Users\fives\source\repos\ug-flt147\src\UsageGovernor.Core\bin\Debug\net10.0\UsageGovernor.Core.dll
UsageGovernor.Cli -> C:\Users\fives\source\repos\ug-flt147\src\UsageGovernor.Cli\bin\Debug\net10.0\UsageGovernor.dll
UsageGovernor.Tests -> C:\Users\fives\source\repos\ug-flt147\tests\UsageGovernor.Tests\bin\Debug\net10.0\UsageGovernor.Tests.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:04.64
dotnet test¶
Determining projects to restore...
All projects are up-to-date for restore.
C:\Program Files\dotnet\sdk\10.0.400-preview.0.26322.102\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\Users\fives\source\repos\ug-flt147\tests\UsageGovernor.Tests\UsageGovernor.Tests.csproj]
C:\Program Files\dotnet\sdk\10.0.400-preview.0.26322.102\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\Users\fives\source\repos\ug-flt147\src\UsageGovernor.Core\UsageGovernor.Core.csproj]
UsageGovernor.Core -> C:\Users\fives\source\repos\ug-flt147\src\UsageGovernor.Core\bin\Debug\net10.0\UsageGovernor.Core.dll
UsageGovernor.Tests -> C:\Users\fives\source\repos\ug-flt147\tests\UsageGovernor.Tests\bin\Debug\net10.0\UsageGovernor.Tests.dll
Test run for C:\Users\fives\source\repos\ug-flt147\tests\UsageGovernor.Tests\bin\Debug\net10.0\UsageGovernor.Tests.dll (.NETCoreApp,Version=v10.0)
A total of 1 test files matched the specified pattern.
Passed! - Failed: 0, Passed: 541, Skipped: 0, Total: 541, Duration: 20 s - UsageGovernor.Tests.dll (net10.0)