Files
ruflo/scripts
ReuvenandRuFlo 76bd35943a feat: ADR-103 witness temporal history + plugin-distributed toolkit (#1868)
Closes the gap that ADR-102 left open: snapshot-only manifests can't
answer "when did this fix regress?" Adds a JSONL temporal log + extracts
the witness toolkit into ruflo-core as an optional plugin asset that
any project can adopt — not just ruflo's own monorepo.

What's new
──────────

1. verification-history.jsonl — one append-only line per regen with
   { commit, issuedAt, manifestHash, summary, fixes: { id: {sha256,
   markerVerified} } }. Format choices: JSONL for cheap appends and
   minimal git diffs; per-fix object for O(1) lookup.

2. plugins/ruflo-core/scripts/witness/ — project-agnostic toolkit
   - lib.mjs       shared regen + history primitives
   - init.mjs      bootstrap empty manifest into any repo
   - regen.mjs     sign + append history
   - verify.mjs    validate signature + markers (no ruflo CLI dep)
   - history.mjs   query temporal log (summary, regressions, timeline)

3. plugins/ruflo-core/{skills,commands,agents}/witness*
   Slash command + skill doc + curator agent — Claude Code surface area.

4. scripts/regen-witness.mjs — thin wrapper, delegates to plugin lib.
   Reads project-specific NEW_FIXES from a committed witness-fixes.json
   instead of inline literals. Single source of truth in the plugin.

5. .github/workflows/v3-ci.yml — witness-verify job gains a follow-on
   `history.mjs summary` step that surfaces transitions since the last
   snapshot (newly regressed / passing / added / removed fixes).

Empirically verified
────────────────────

Before refactor:  81/81 verified, 1 history entry
After refactor:   81/81 verified, 1 history entry, signature reproducible
                  signature, marker, sha256 all match across the move.

Plugin scripts run standalone without ruflo CLI installed — only
@noble/ed25519 required. Adopters get full witness capability by
copying plugins/ruflo-core/scripts/witness/ into their repo.

Refs #1868 — implementation issue
ADR-103 — design + rationale + residual risk

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-05-08 21:03:31 -04:00
..
2026-01-04 19:30:59 +00:00