Repository navigation
observe(ingest): report per-region hashes, writes, and barriers - #1652
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: CurateLabs/graphforge/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
For whoever is driving this PR: the only failure at the current head is Bazel Bootstrap, a job #1649 ( |
S22's phase labelled validation combined construction and sealing, while its stock snapshot omitted hashed bytes, write bytes and actual barrier counts. This made #735's digest-policy priority decision unverifiable.
Stock import receipts now emit
graphforge-region-diagnostics/2, including process-wide SHA bytes/elapsed intervals, Linux write-syscall bytes, and attempted file/directory barriers. Worker work contributes to coordinator regions; inclusive and residual rows retain separate meanings, unavailable values remain null, and concurrent captures do not reset totals. The broad SHA changes are digest-preserving adapter substitutions required to observe actual calls. Digest computation and durability behavior remain unchanged.The measured outcome/phase is
stage+seal, with explicit source, node/edge append and manifest regions. Certification schemas and live operator consumers accept it. The documented compatibility consumers retain the CLIvalidatecommand, durableValidatedstate/binding labels, and historical/1receipts.S22 acceptance evidence and lossless raw bundle: 473.260492 s for 67,108,864 edges; every command tree reconciles exactly across all seven measurements. Authentication matches 1,088 chunks / 3,290,610,048 bytes with zero difference. Reopened counts and full node/edge scans match all four reference result digests. #735's adjudication moves #1617 to position 1 alongside #1621 and records it as a native #1387 prerequisite. The ingest floor remains unmet; no matched speedup or removable-hash claim is made.
Validation: full
make pre-pushpassed at b8a1c7e (Rust/native, Python 157 tests, Node 118 scenarios/443 steps, all coverage thresholds). The final CI-only integration at 13480ca has an identical runtime/benchmark tree; formatting,make pre-push-fastand changed CI-policy checks passed, and exact-head CI Gate passed. Real tiny and SCALE6–8 growth certification passed on rebuilt stock binaries. Independent code/evidence review found no blockers after correcting the verification helper to read its declared Parquet format. CodeRabbit CLI authentication was unavailable; no CLI pass is claimed.Closes #1623.
Related: #1632 (measurement-field outcome delivered; literal work-unit criteria remain open), #1617.
Note
Add per-region hash, write, and barrier metrics to ingest diagnostics
RegionMeasurementin capture.rs with written-byte, hashed-byte, hash-time, fsync-count, and fsync-duration counters, sampled from new process-wide observation wrappers:HashObservation/ObservedSha256in hash_observation.rs andObservation/ObservedSyncin observation.rsgraphforge-region-diagnostics/2), and the certification schema gains a version-2 branch; version-1 snapshots still validate under the legacy contract in region_diagnostics.rsObservedSha256andobserved_sync_all; digests and I/O results are unchangedstage+sealreplacesvalidate, and newappend_nodes,append_edges,source_read, andmanifest_persistenceregions are added viaappend_region_namein import_session.rsvalidatereceipt outcome is now rejected —sanitize_receipt, the tiny lifecycle certification validator, and the CLI tests now requirestage+sealfirst; written-byte attribution only populates on Linux (process_written_bytesreturns nothing elsewhere)Macroscope summarized 13480ca.