FLT-87b Build Report¶
Outcome¶
generate --facts <file> now emits the existing fenced fleet-facts managed block after the generated constitution content for the whole-file Codex and Gemini targets. Omitting --facts, or supplying an empty facts file, preserves the previous generated output. Grok and Odysseus remain on the existing install-facts paths.
verify and report consume the same optional --facts input through the shared verification path, so facts-bearing generated files can be checked against the same inputs that produced them.
Tests Added¶
- Core exporter coverage for Codex and Gemini constitution content plus the exact
FactsFence.Beginuntrusted-data header and managed block. - Coverage proving facts are not added to constitution, Grok, or Ollama generated targets.
- Backward-compatibility coverage for absent, empty, and whitespace-only facts.
- Idempotence coverage for repeated pure generation and repeated CLI generation.
- CLI coverage proving
--factsis read and written into both whole-file harness outputs. - Error-path coverage for clean rejection of managed-marker strings in untrusted facts.
- Coverage proving marker examples in constitution content are preserved rather than treated as an existing facts block.
Gates¶
dotnet build -warnaserror¶
- Exit code: 0
- Result: Build succeeded
- Warnings: 0
- Errors: 0
- Elapsed: 4.20 seconds
The SDK emitted informational NETSDK1057 messages because the installed .NET 10 SDK is a preview; MSBuild reported these as messages, not warnings.
dotnet test¶
- Exit code: 0
- Failed: 0
- Passed: 100
- Skipped: 0
- Total: 100
- Test duration: 607 ms
- Combined build-and-test command elapsed: 13.7 seconds
Note¶
An initial build invocation was terminated by the command runner's short timeout before producing a result. The complete build gate above was rerun with sufficient time and is the reported gate result.
The required council review found one P2 error-path issue and related P3 edge cases. The implementation was updated to reject marker-bearing facts with a clean CLI error, treat whitespace-only facts as empty, preserve constitution text that documents marker syntax, and clarify verify --facts usage. The exact build and test gates above were rerun after those fixes.