Flight logs
knolo flight ingest packs a flight-events-1 document and one source log into a V5 Knowledge Image. The command hashes that file. It writes nothing when the hash or the byte length differs from the document. It does not decode the log.
log.format is ulog, dataflash, or rosbag2. DJI logs and live MAVLink are out of scope.
knolo flight ingest --events events.json --log flight.ulg --out flight.knoloOptional extractors live in scripts/flight/ in Knolo Core and are not part of npm test. None of pyulog, pymavlink, or rosbags is vendored or imported by the published packages. The event file is capped at 2 MiB and 10,000 events. The raw log stays outside the image. The image stores the log SHA-256, the byte length, the parser id and version, and one chunk per discrete event.
A later KAR status of SATISFIED means the declared evidence requirements were met. It does not mean a flight was safe, legal, or compliant. Abstention text is Evidence requirements not satisfied.
domains/flight-ops is review-required. A regex match is not committed evidence. The hand-authored graph in examples/flight-ops is the demonstration. The ULog sample in that directory is a hash fixture, not a PX4 recording.
The Knolo Verify action can check the image, graph, attestation, and Cortex trace. It does not hash the external log. Compare the log file with the hash stored in the image before you treat a dossier as bound to those bytes. @knolo/mcp can mount the resulting V5 image with the existing read-only tools. This slice does not add a flight tool and it does not call a model.
Battery and failsafe field rules are producer policy. They are not airworthiness limits. The field lists are in docs/flight/README.md in Knolo Core.