Skip to content

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.Begin untrusted-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 --facts is 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.