mirror of
https://github.com/ruvnet/ruflo.git
synced 2026-11-09 14:04:06 +09:00
Reorganizes the verification system into per-OS bundles, addressing
the cross-platform CI matrix added in c51841590.
Layout
──────
verification/
README.md — tutorial-structure docs (was at root)
witness-fixes.json — input config (OS-independent)
results.md — last-run report (was at root)
inventory.json — capability inventory (was at root)
linux/
manifest.md.json — signed by Linux CI
history.jsonl
macos/
manifest.md.json — signed by macOS CI
history.jsonl
windows/
manifest.md.json — signed by Windows CI
history.jsonl
Why per-OS
──────────
File hashes drift across platforms (LF vs CRLF normalization, path
separators, prebuilt binary differences). Each OS produces its own
truthful snapshot. The cross-platform witness-verify CI job runs
once per OS and writes/verifies that OS's bundle, catching
platform-specific marker drift before it reaches users on that
platform.
linux/ + windows/ initially seeded by copying the macOS-generated
manifests; CI on each OS will regenerate its own per-OS bundle on
first push.
Why JSONL inside, not binary RVF
──────────────────────────────────
@ruvector/rvf-node provides a true RVF binary format with native
bindings on all 3 OSes — but it's optimized for vector similarity
search, not key-value retrieval. The witness use case is structured
key-value lookup (snapshot N's commit + fix statuses), so JSONL is
the better fit inside each container. The folder layout adopts the
RVF *cognitive container* concept (per-OS bundle of manifest +
history + metadata); the file format inside is JSONL.
Script changes
──────────────
- lib.mjs: added osDir() platform mapper + 'os' field on manifest +
'os' field on history entries.
- regen-witness.mjs: defaults to verification/<os>/{manifest,history}
using process.platform → osDir.
- v3-ci.yml: witness-verify reads its OS-specific manifest via
$RUNNER_OS dispatch.
Tutorial README
───────────────
verification/README.md rewritten as a tutorial: bootstrap → register
fix → regen → verify → investigate regressions → wire into CI. Plus
features matrix, daily cheat sheet, schema, anti-patterns, integration
with the broader regression stack (Layer 1/2/3 from the agentic-
validation gist).
Co-Authored-By: RuFlo <ruv@ruv.net>