mirror of
https://github.com/boshu2/agentops.git
synced 2026-09-14 15:08:13 +08:00
feat(provenance): membrane receipts generator derived from the verdict ledger (age-wedge-all-in-dyr0.6)
This commit is contained in:
@@ -109,6 +109,8 @@ The whole loop runs in a plain session. No daemon, no scheduler, no cloud. For a
|
||||
|
||||
**Proven:** independent verification that records a verdict, and a durable, tamper-evident record of it. A change isn't done until something that didn't write it checks it, and that verdict is bound into the provenance ledger. No verdict, not done.
|
||||
|
||||
The receipts are public: [membrane receipts](docs/evidence/membrane-receipts.md) — every number derived straight from the verdict ledger, none hand-written.
|
||||
|
||||
**Still measuring:** whether the accumulated corpus makes the next session measurably better. We won't claim it until the numbers say so ([ADR-0004](docs/adr/ADR-0004-corpus-moat-unproven-position-on-the-system.md), [ADR-0011](docs/adr/ADR-0011-escape-corpus-compounding-unproven-structural-starvation.md)).
|
||||
|
||||
AgentOps proves the work. It doesn't write the code; your agent still does that, and the cross-checks cost tokens. The `.agents/` folder is plain markdown your agents keep up as they go.
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# Membrane receipts
|
||||
|
||||
> Auto-generated by `scripts/gen-membrane-receipts.sh` from
|
||||
> [`docs/provenance/ledger.jsonl`](../provenance/ledger.jsonl). Every number below is derived
|
||||
> from the ledger — nothing is hand-written. The generator refuses to render
|
||||
> if `ao provenance verify` reports a broken or tampered hash chain.
|
||||
> Machine twin: [`docs/releases/membrane-receipts.json`](../releases/membrane-receipts.json).
|
||||
|
||||
Generated: 2026-07-01T20:53:18Z
|
||||
|
||||
Ledger tip hash: `1994cc2712127361648fb29a7c3c0b8abd5df9dece1ff882c8becfaef0d390ae` · chain verified: true (`ao provenance verify`)
|
||||
|
||||
## The numbers
|
||||
|
||||
| Metric | Value |
|
||||
|---|---|
|
||||
| Ledger records | 213 |
|
||||
| Verdict events (verdict → commit) | 190 |
|
||||
| Bead → commit edges | 23 |
|
||||
| Distinct beads reviewed | 169 |
|
||||
| Distinct commits reviewed | 172 |
|
||||
| CONFIRMED verdicts | 185 |
|
||||
| REFUTED verdicts | 4 |
|
||||
| ESCALATE verdicts | 1 |
|
||||
| REFUTED-then-fixed arcs (caught defects) | 3 |
|
||||
| REFUTED without a recorded fix | 1 |
|
||||
| Escape-tagged ledger records | 0 |
|
||||
| Time range | 2026-06-13T23:55:06Z → 2026-07-01T20:40:41Z |
|
||||
|
||||
A REFUTED-then-fixed arc is a defect the membrane caught: an independent
|
||||
reviewer refuted the change on one commit, and a later verdict on a
|
||||
subsequent commit for the same bead came back CONFIRMED.
|
||||
|
||||
## Escapes
|
||||
|
||||
No escape-tagged records exist in this ledger. Absence of records is evidence, not proof, of absence.
|
||||
|
||||
## Reviewer family mix
|
||||
|
||||
Not recorded in this ledger schema (v1 records carry no reviewer-family field).
|
||||
|
||||
## Exemplar catches (from REFUTED ledger entries)
|
||||
|
||||
- **ag-721** — REFUTED on `cafef00` (commit no longer in current history — predates a rewrite) at 2026-06-18T01:38:29Z (`pawl-verdict ag-721 disposition=REFUTED`) → no CONFIRMED follow-up recorded in this ledger
|
||||
- **age-standing-pawl-service-ml8.7** — REFUTED on `7c3ff9a` at 2026-06-23T20:59:51Z (`pawl-verdict age-standing-pawl-service-ml8.7 disposition=REFUTED`) → fixed: CONFIRMED on `0bb3dc3` at 2026-06-23T21:19:35Z
|
||||
- **age-standing-pawl-service-ml8.7** — REFUTED on `114b35c` at 2026-06-23T21:09:28Z (`pawl-verdict age-standing-pawl-service-ml8.7 disposition=REFUTED`) → fixed: CONFIRMED on `0bb3dc3` at 2026-06-23T21:19:35Z
|
||||
- **age-rhlx** — REFUTED on `02230bb` at 2026-06-27T01:08:25Z (`pawl-verdict age-rhlx disposition=REFUTED`) → fixed: CONFIRMED on `950a925` at 2026-06-27T01:14:33Z
|
||||
|
||||
SHAs not marked otherwise resolve in this repo via `git show <sha>`; marked ones are honest ledger history whose commits were rewritten away.
|
||||
Re-running the generator against the same ledger reproduces this page byte-for-byte
|
||||
(modulo the Generated line).
|
||||
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"schema": "agentops-membrane-receipts.v1",
|
||||
"generated_at": "2026-07-01T20:53:18Z",
|
||||
"source": {
|
||||
"ledger": "docs/provenance/ledger.jsonl",
|
||||
"records": 213,
|
||||
"tip_hash": "1994cc2712127361648fb29a7c3c0b8abd5df9dece1ff882c8becfaef0d390ae",
|
||||
"chain_verified": true,
|
||||
"verifier": "ao provenance verify"
|
||||
},
|
||||
"totals": {
|
||||
"ledger_records": 213,
|
||||
"verdict_events": 190,
|
||||
"bead_commit_edges": 23,
|
||||
"distinct_beads_reviewed": 169,
|
||||
"distinct_commits_reviewed": 172
|
||||
},
|
||||
"dispositions": {
|
||||
"CONFIRMED": 185,
|
||||
"REFUTED": 4,
|
||||
"other": {
|
||||
"ESCALATE": 1
|
||||
}
|
||||
},
|
||||
"caught_defects": {
|
||||
"refuted_then_fixed": 3,
|
||||
"refuted_without_recorded_fix": 1,
|
||||
"arcs": [
|
||||
{
|
||||
"bead": "ag-721",
|
||||
"refuted_commit": "cafef00dbabe1234",
|
||||
"refuted_commit_short": "cafef00",
|
||||
"refuted_ts": "2026-06-18T01:38:29Z",
|
||||
"evidence": "pawl-verdict ag-721 disposition=REFUTED",
|
||||
"fixed_by": null
|
||||
},
|
||||
{
|
||||
"bead": "age-standing-pawl-service-ml8.7",
|
||||
"refuted_commit": "7c3ff9a933ed1e8176e15ddb86db7e497380f853",
|
||||
"refuted_commit_short": "7c3ff9a",
|
||||
"refuted_ts": "2026-06-23T20:59:51Z",
|
||||
"evidence": "pawl-verdict age-standing-pawl-service-ml8.7 disposition=REFUTED",
|
||||
"fixed_by": {
|
||||
"commit": "0bb3dc3662dc943997053ee3feed52300620efb3",
|
||||
"commit_short": "0bb3dc3",
|
||||
"ts": "2026-06-23T21:19:35Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"bead": "age-standing-pawl-service-ml8.7",
|
||||
"refuted_commit": "114b35c6d80a3b5c3ff3d1082d2f4a7293539cc3",
|
||||
"refuted_commit_short": "114b35c",
|
||||
"refuted_ts": "2026-06-23T21:09:28Z",
|
||||
"evidence": "pawl-verdict age-standing-pawl-service-ml8.7 disposition=REFUTED",
|
||||
"fixed_by": {
|
||||
"commit": "0bb3dc3662dc943997053ee3feed52300620efb3",
|
||||
"commit_short": "0bb3dc3",
|
||||
"ts": "2026-06-23T21:19:35Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"bead": "age-rhlx",
|
||||
"refuted_commit": "02230bb3b59041ece7857423bd54adeaa2cd150c",
|
||||
"refuted_commit_short": "02230bb",
|
||||
"refuted_ts": "2026-06-27T01:08:25Z",
|
||||
"evidence": "pawl-verdict age-rhlx disposition=REFUTED",
|
||||
"fixed_by": {
|
||||
"commit": "950a925cfef5a18bf2f9b8b7e0674617a08e4c53",
|
||||
"commit_short": "950a925",
|
||||
"ts": "2026-06-27T01:14:33Z"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"escapes": {
|
||||
"ledger_escape_records": 0,
|
||||
"entries": [],
|
||||
"note": "count of escape-tagged records in this ledger; absence of records is evidence, not proof, of absence"
|
||||
},
|
||||
"reviewer_families": {
|
||||
"recorded_in_ledger": false,
|
||||
"mix": {}
|
||||
},
|
||||
"time_range": {
|
||||
"first": "2026-06-13T23:55:06Z",
|
||||
"last": "2026-07-01T20:40:41Z"
|
||||
},
|
||||
"exemplar_catches": [
|
||||
{
|
||||
"bead": "ag-721",
|
||||
"refuted_commit": "cafef00dbabe1234",
|
||||
"refuted_commit_short": "cafef00",
|
||||
"refuted_ts": "2026-06-18T01:38:29Z",
|
||||
"evidence": "pawl-verdict ag-721 disposition=REFUTED",
|
||||
"fixed_by": null,
|
||||
"refuted_commit_in_history": false
|
||||
},
|
||||
{
|
||||
"bead": "age-standing-pawl-service-ml8.7",
|
||||
"refuted_commit": "7c3ff9a933ed1e8176e15ddb86db7e497380f853",
|
||||
"refuted_commit_short": "7c3ff9a",
|
||||
"refuted_ts": "2026-06-23T20:59:51Z",
|
||||
"evidence": "pawl-verdict age-standing-pawl-service-ml8.7 disposition=REFUTED",
|
||||
"fixed_by": {
|
||||
"commit": "0bb3dc3662dc943997053ee3feed52300620efb3",
|
||||
"commit_short": "0bb3dc3",
|
||||
"ts": "2026-06-23T21:19:35Z",
|
||||
"commit_in_history": true
|
||||
},
|
||||
"refuted_commit_in_history": true
|
||||
},
|
||||
{
|
||||
"bead": "age-standing-pawl-service-ml8.7",
|
||||
"refuted_commit": "114b35c6d80a3b5c3ff3d1082d2f4a7293539cc3",
|
||||
"refuted_commit_short": "114b35c",
|
||||
"refuted_ts": "2026-06-23T21:09:28Z",
|
||||
"evidence": "pawl-verdict age-standing-pawl-service-ml8.7 disposition=REFUTED",
|
||||
"fixed_by": {
|
||||
"commit": "0bb3dc3662dc943997053ee3feed52300620efb3",
|
||||
"commit_short": "0bb3dc3",
|
||||
"ts": "2026-06-23T21:19:35Z",
|
||||
"commit_in_history": true
|
||||
},
|
||||
"refuted_commit_in_history": true
|
||||
},
|
||||
{
|
||||
"bead": "age-rhlx",
|
||||
"refuted_commit": "02230bb3b59041ece7857423bd54adeaa2cd150c",
|
||||
"refuted_commit_short": "02230bb",
|
||||
"refuted_ts": "2026-06-27T01:08:25Z",
|
||||
"evidence": "pawl-verdict age-rhlx disposition=REFUTED",
|
||||
"fixed_by": {
|
||||
"commit": "950a925cfef5a18bf2f9b8b7e0674617a08e4c53",
|
||||
"commit_short": "950a925",
|
||||
"ts": "2026-06-27T01:14:33Z",
|
||||
"commit_in_history": true
|
||||
},
|
||||
"refuted_commit_in_history": true
|
||||
}
|
||||
],
|
||||
"unresolvable_shas": [
|
||||
"cafef00"
|
||||
]
|
||||
}
|
||||
Executable
+97
@@ -0,0 +1,97 @@
|
||||
#!/usr/bin/env bash
|
||||
# check-membrane-receipts-freshness.sh — warn when the membrane receipts page
|
||||
# has drifted stale behind the provenance ledger.
|
||||
#
|
||||
# The receipts page (docs/evidence/membrane-receipts.md) is generated from
|
||||
# docs/provenance/ledger.jsonl by scripts/gen-membrane-receipts.sh. This check
|
||||
# WARNS when the page's generated-at timestamp is more than 30 days older
|
||||
# than the ledger tip entry's timestamp (or when the page is missing).
|
||||
#
|
||||
# Posture: WARN-ONLY by default (exit 0 with a warning). Pass --strict
|
||||
# (or AGENTOPS_RECEIPTS_FRESHNESS_STRICT=1) to exit non-zero on staleness.
|
||||
#
|
||||
# Exit codes:
|
||||
# 0 = receipts fresh, or warn-only with stale/missing receipts
|
||||
# 1 = --strict and receipts are stale/missing
|
||||
# 2 = script error (missing ledger, unparseable timestamps, bad invocation)
|
||||
|
||||
set -uo pipefail
|
||||
|
||||
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
||||
LEDGER="${PROVENANCE_LEDGER:-$REPO_ROOT/docs/provenance/ledger.jsonl}"
|
||||
RECEIPTS="${RECEIPTS_MD:-$REPO_ROOT/docs/evidence/membrane-receipts.md}"
|
||||
STRICT="${AGENTOPS_RECEIPTS_FRESHNESS_STRICT:-0}"
|
||||
MAX_AGE_DAYS=30
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
--strict) STRICT=1 ;;
|
||||
-h|--help)
|
||||
sed -n '2,/^$/p' "$0" | sed 's/^# \{0,1\}//'
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "check-membrane-receipts-freshness: unknown argument: $1" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
fail_or_warn() {
|
||||
local msg="$1"
|
||||
if [ "$STRICT" = "1" ]; then
|
||||
echo "check-membrane-receipts-freshness: FAIL — $msg"
|
||||
echo " fix: run scripts/gen-membrane-receipts.sh"
|
||||
exit 1
|
||||
fi
|
||||
echo "check-membrane-receipts-freshness: WARN — $msg"
|
||||
echo " fix: run scripts/gen-membrane-receipts.sh"
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Portable ISO-8601 (UTC, ...Z) → epoch seconds: GNU date first, BSD fallback.
|
||||
iso_to_epoch() {
|
||||
local ts="$1"
|
||||
if date -u -d "$ts" +%s 2>/dev/null; then
|
||||
return 0
|
||||
fi
|
||||
date -j -u -f "%Y-%m-%dT%H:%M:%SZ" "$ts" +%s 2>/dev/null
|
||||
}
|
||||
|
||||
if [ ! -f "$LEDGER" ]; then
|
||||
echo "check-membrane-receipts-freshness: FAIL — ledger missing at $LEDGER" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
TIP_TS="$(grep -o '"ts":"[^"]*"' "$LEDGER" | tail -1 | cut -d'"' -f4)"
|
||||
if [ -z "$TIP_TS" ]; then
|
||||
echo "check-membrane-receipts-freshness: FAIL — could not read tip ts from $LEDGER" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [ ! -f "$RECEIPTS" ]; then
|
||||
fail_or_warn "receipts page missing at $RECEIPTS (ledger tip: $TIP_TS)"
|
||||
fi
|
||||
|
||||
GEN_TS="$(grep -m1 '^Generated: ' "$RECEIPTS" | cut -d' ' -f2)"
|
||||
if [ -z "$GEN_TS" ]; then
|
||||
fail_or_warn "receipts page at $RECEIPTS has no 'Generated: <ts>' line"
|
||||
fi
|
||||
|
||||
TIP_EPOCH="$(iso_to_epoch "$TIP_TS")" || TIP_EPOCH=""
|
||||
GEN_EPOCH="$(iso_to_epoch "$GEN_TS")" || GEN_EPOCH=""
|
||||
if [ -z "$TIP_EPOCH" ] || [ -z "$GEN_EPOCH" ]; then
|
||||
echo "check-membrane-receipts-freshness: FAIL — could not parse timestamps (tip=$TIP_TS gen=$GEN_TS)" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
AGE_SECONDS=$((TIP_EPOCH - GEN_EPOCH))
|
||||
MAX_AGE_SECONDS=$((MAX_AGE_DAYS * 86400))
|
||||
|
||||
if [ "$AGE_SECONDS" -gt "$MAX_AGE_SECONDS" ]; then
|
||||
fail_or_warn "receipts page is $((AGE_SECONDS / 86400)) day(s) older than the ledger tip (limit: ${MAX_AGE_DAYS}d; generated $GEN_TS, tip $TIP_TS)"
|
||||
fi
|
||||
|
||||
echo "check-membrane-receipts-freshness: PASS (receipts generated $GEN_TS, ledger tip $TIP_TS)"
|
||||
exit 0
|
||||
Executable
+274
@@ -0,0 +1,274 @@
|
||||
#!/usr/bin/env bash
|
||||
# gen-membrane-receipts.sh — derive the public membrane-receipts proof page
|
||||
# from the provenance ledger (docs/provenance/ledger.jsonl).
|
||||
#
|
||||
# Every number on the page is computed from the ledger; NOTHING is
|
||||
# hand-written. Outputs:
|
||||
# docs/evidence/membrane-receipts.md (human page)
|
||||
# docs/releases/membrane-receipts.json (machine twin for claim citations)
|
||||
#
|
||||
# FAIL-CLOSED HONESTY: before rendering anything, this script runs
|
||||
# `ao provenance verify` (the existing tamper-detection surface) against the
|
||||
# ledger and REFUSES to render (nonzero exit, nothing written) when the
|
||||
# hash chain does not verify. Chain verification is NOT reimplemented here.
|
||||
#
|
||||
# Determinism: output is byte-stable for the same ledger, modulo the single
|
||||
# generated-at timestamp (one line in the .md, one field in the .json).
|
||||
#
|
||||
# Env overrides (used by tests):
|
||||
# PROVENANCE_LEDGER ledger path (must be <root>/docs/provenance/ledger.jsonl)
|
||||
# RECEIPTS_MD output markdown path
|
||||
# RECEIPTS_JSON output json path
|
||||
# AO_BIN ao binary to use (else PATH, else build from cli/)
|
||||
#
|
||||
# Exit codes:
|
||||
# 0 = receipts rendered
|
||||
# 1 = REFUSED: ledger chain verification failed (nothing written)
|
||||
# 2 = script error (missing ledger, missing jq, bad layout)
|
||||
|
||||
set -uo pipefail
|
||||
|
||||
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
||||
LEDGER="${PROVENANCE_LEDGER:-$REPO_ROOT/docs/provenance/ledger.jsonl}"
|
||||
OUT_MD="${RECEIPTS_MD:-$REPO_ROOT/docs/evidence/membrane-receipts.md}"
|
||||
OUT_JSON="${RECEIPTS_JSON:-$REPO_ROOT/docs/releases/membrane-receipts.json}"
|
||||
AO_BIN="${AO_BIN:-}"
|
||||
|
||||
die() {
|
||||
echo "gen-membrane-receipts: ERROR — $*" >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
command -v jq >/dev/null 2>&1 || die "jq is required"
|
||||
[ -f "$LEDGER" ] || die "ledger not found at $LEDGER"
|
||||
|
||||
# `ao provenance verify` resolves the ledger relative to a repo root (a dir
|
||||
# holding docs/ + schemas/, or a .git). To reuse it — never reimplement the
|
||||
# chain check — the ledger must live at the canonical relative path.
|
||||
case "$LEDGER" in
|
||||
*/docs/provenance/ledger.jsonl) LEDGER_ROOT="${LEDGER%/docs/provenance/ledger.jsonl}" ;;
|
||||
*) die "ledger must live at <root>/docs/provenance/ledger.jsonl so 'ao provenance verify' can check it (got: $LEDGER)" ;;
|
||||
esac
|
||||
|
||||
# Resolve the ao binary: explicit override, then PATH, then build from cli/.
|
||||
if [ -z "$AO_BIN" ]; then
|
||||
if command -v ao >/dev/null 2>&1; then
|
||||
AO_BIN="$(command -v ao)"
|
||||
else
|
||||
AO_BIN="$(mktemp -d)/ao-receipts"
|
||||
echo "gen-membrane-receipts: ao not on PATH; building $AO_BIN" >&2
|
||||
(cd "$REPO_ROOT/cli" && go build -o "$AO_BIN" ./cmd/ao) || die "failed to build ao from cli/"
|
||||
fi
|
||||
fi
|
||||
[ -x "$AO_BIN" ] || die "ao binary not executable: $AO_BIN"
|
||||
|
||||
# ---- FAIL-CLOSED GATE: refuse to render on a broken/tampered chain --------
|
||||
VERIFY_JSON="$(cd "$LEDGER_ROOT" && "$AO_BIN" provenance verify --json 2>&1)"
|
||||
VERIFY_STATUS=$?
|
||||
if [ "$VERIFY_STATUS" -ne 0 ]; then
|
||||
echo "gen-membrane-receipts: REFUSING to render — ledger chain verification FAILED" >&2
|
||||
echo " ledger: $LEDGER" >&2
|
||||
echo " verifier: $AO_BIN provenance verify" >&2
|
||||
echo "$VERIFY_JSON" | sed 's/^/ /' >&2
|
||||
echo " A receipts page derived from an unverifiable ledger would be fabricated evidence." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERIFIED_COUNT="$(printf '%s\n' "$VERIFY_JSON" | jq -r '.RecordCount' 2>/dev/null || echo "")"
|
||||
LEDGER_COUNT="$(jq -s 'length' "$LEDGER")"
|
||||
if [ -z "$VERIFIED_COUNT" ] || [ "$VERIFIED_COUNT" != "$LEDGER_COUNT" ]; then
|
||||
die "verifier saw $VERIFIED_COUNT record(s) but the ledger at $LEDGER has $LEDGER_COUNT — refusing (verify may have checked a different file)"
|
||||
fi
|
||||
|
||||
GENERATED_AT="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
||||
TIP_HASH="$(jq -rs 'last | .hash' "$LEDGER")"
|
||||
|
||||
# ---- Derive every number from the ledger (single jq pass) -----------------
|
||||
STATS_JSON="$(jq -s \
|
||||
--arg generated_at "$GENERATED_AT" \
|
||||
--arg tip_hash "$TIP_HASH" '
|
||||
def bead_of:
|
||||
((.evidence_ref // "" | capture("^pawl-verdict (?<b>.+) disposition=[A-Za-z]+$")? | .b)
|
||||
// (.from_id | tostring | split("@")[0]));
|
||||
def disp_of:
|
||||
((.evidence_ref // "" | capture("disposition=(?<d>[A-Za-z]+)")? | .d) // "UNRECORDED");
|
||||
|
||||
. as $all
|
||||
| [ to_entries[]
|
||||
| select(.value.from_type == "verdict")
|
||||
| { i: .key,
|
||||
sha: (.value.to_id | tostring),
|
||||
short: (.value.to_id | tostring | .[0:7]),
|
||||
ts: .value.ts,
|
||||
bead: (.value | bead_of),
|
||||
disp: (.value | disp_of),
|
||||
evidence: .value.evidence_ref } ] as $V
|
||||
| [ $V[] | select(.disp == "REFUTED") | . as $r
|
||||
| ([ $V[] | select(.bead == $r.bead and .i > $r.i and .disp == "CONFIRMED") ] | first) as $f
|
||||
| { bead: $r.bead,
|
||||
refuted_commit: $r.sha,
|
||||
refuted_commit_short: $r.short,
|
||||
refuted_ts: $r.ts,
|
||||
evidence: $r.evidence,
|
||||
fixed_by: (if $f == null then null
|
||||
else { commit: $f.sha, commit_short: $f.short, ts: $f.ts } end) } ] as $refuted
|
||||
| [ $all[] | select(
|
||||
(((.relation // "") + " " + (.evidence_ref // "") + " " + (.from_type // ""))
|
||||
| test("escape"; "i")) ) ] as $esc
|
||||
| [ $all[] | (.reviewer_family // .reviewer // .family // empty) ] as $fams
|
||||
| ([ $V[].disp ] | group_by(.) | map({ key: .[0], value: length }) | from_entries) as $disp
|
||||
| { schema: "agentops-membrane-receipts.v1",
|
||||
generated_at: $generated_at,
|
||||
source: {
|
||||
ledger: "docs/provenance/ledger.jsonl",
|
||||
records: ($all | length),
|
||||
tip_hash: $tip_hash,
|
||||
chain_verified: true,
|
||||
verifier: "ao provenance verify"
|
||||
},
|
||||
totals: {
|
||||
ledger_records: ($all | length),
|
||||
verdict_events: ($V | length),
|
||||
bead_commit_edges: ([ $all[] | select(.relation == "wasGeneratedBy") ] | length),
|
||||
distinct_beads_reviewed: ([ $V[].bead ] | unique | length),
|
||||
distinct_commits_reviewed: ([ $V[].sha ] | unique | length)
|
||||
},
|
||||
dispositions: {
|
||||
CONFIRMED: ($disp.CONFIRMED // 0),
|
||||
REFUTED: ($disp.REFUTED // 0),
|
||||
other: ($disp | to_entries
|
||||
| map(select(.key != "CONFIRMED" and .key != "REFUTED"))
|
||||
| sort_by(.key) | from_entries)
|
||||
},
|
||||
caught_defects: {
|
||||
refuted_then_fixed: ([ $refuted[] | select(.fixed_by != null) ] | length),
|
||||
refuted_without_recorded_fix: ([ $refuted[] | select(.fixed_by == null) ] | length),
|
||||
arcs: $refuted
|
||||
},
|
||||
escapes: {
|
||||
ledger_escape_records: ($esc | length),
|
||||
entries: [ $esc[] | { from_id, to_id, relation, evidence_ref, ts } ],
|
||||
note: "count of escape-tagged records in this ledger; absence of records is evidence, not proof, of absence"
|
||||
},
|
||||
reviewer_families: {
|
||||
recorded_in_ledger: (($fams | length) > 0),
|
||||
mix: (if ($fams | length) > 0
|
||||
then ($fams | group_by(.) | map({ key: .[0], value: length }) | from_entries)
|
||||
else {} end)
|
||||
},
|
||||
time_range: {
|
||||
first: ([ $all[].ts ] | sort | first),
|
||||
last: ([ $all[].ts ] | sort | last)
|
||||
},
|
||||
exemplar_catches: ($refuted | .[0:10])
|
||||
}' "$LEDGER")" || die "jq derivation failed"
|
||||
|
||||
# ---- Verify exemplar SHAs against the repo's CURRENT history (honesty bound:
|
||||
# a ledger record can reference a commit rewritten out of history; never claim
|
||||
# git-show reproducibility for a sha that no longer resolves). Derived, not assumed.
|
||||
LEDGER_GIT_DIR="$(dirname "$LEDGER")"
|
||||
UNRESOLVABLE="$(printf '%s\n' "$STATS_JSON" \
|
||||
| jq -r '[ .exemplar_catches[] | .refuted_commit_short, (.fixed_by.commit_short // empty) ] | unique | .[]' \
|
||||
| while IFS= read -r sha; do
|
||||
[ -n "$sha" ] || continue
|
||||
if ! git -C "$LEDGER_GIT_DIR" rev-parse --verify --quiet "${sha}^{commit}" >/dev/null 2>&1; then
|
||||
printf '%s\n' "$sha"
|
||||
fi
|
||||
done | jq -R . | jq -s .)" || die "sha verification failed"
|
||||
STATS_JSON="$(printf '%s\n' "$STATS_JSON" | jq --argjson miss "$UNRESOLVABLE" '
|
||||
.unresolvable_shas = $miss
|
||||
| .exemplar_catches = [ .exemplar_catches[]
|
||||
| .refuted_commit_in_history = (([.refuted_commit_short] - $miss) | length > 0)
|
||||
| (if .fixed_by != null
|
||||
then .fixed_by.commit_in_history = (([.fixed_by.commit_short] - $miss) | length > 0)
|
||||
else . end) ]')" || die "sha annotation failed"
|
||||
|
||||
# ---- Render the human page from the machine twin (numbers stay in sync) ---
|
||||
MD_BODY="$(printf '%s\n' "$STATS_JSON" | jq -r '
|
||||
def pl(n; s): "\(n) \(s)" + (if n == 1 then "" else "s" end);
|
||||
[ "# Membrane receipts",
|
||||
"",
|
||||
"> Auto-generated by `scripts/gen-membrane-receipts.sh` from",
|
||||
"> [`docs/provenance/ledger.jsonl`](../provenance/ledger.jsonl). Every number below is derived",
|
||||
"> from the ledger — nothing is hand-written. The generator refuses to render",
|
||||
"> if `ao provenance verify` reports a broken or tampered hash chain.",
|
||||
"> Machine twin: [`docs/releases/membrane-receipts.json`](../releases/membrane-receipts.json).",
|
||||
"",
|
||||
"Generated: \(.generated_at)",
|
||||
"",
|
||||
"Ledger tip hash: `\(.source.tip_hash)` · chain verified: \(.source.chain_verified) (`\(.source.verifier)`)",
|
||||
"",
|
||||
"## The numbers",
|
||||
"",
|
||||
"| Metric | Value |",
|
||||
"|---|---|",
|
||||
"| Ledger records | \(.totals.ledger_records) |",
|
||||
"| Verdict events (verdict → commit) | \(.totals.verdict_events) |",
|
||||
"| Bead → commit edges | \(.totals.bead_commit_edges) |",
|
||||
"| Distinct beads reviewed | \(.totals.distinct_beads_reviewed) |",
|
||||
"| Distinct commits reviewed | \(.totals.distinct_commits_reviewed) |",
|
||||
"| CONFIRMED verdicts | \(.dispositions.CONFIRMED) |",
|
||||
"| REFUTED verdicts | \(.dispositions.REFUTED) |"
|
||||
]
|
||||
+ [ .dispositions.other | to_entries[] | "| \(.key) verdicts | \(.value) |" ]
|
||||
+ [ "| REFUTED-then-fixed arcs (caught defects) | \(.caught_defects.refuted_then_fixed) |",
|
||||
"| REFUTED without a recorded fix | \(.caught_defects.refuted_without_recorded_fix) |",
|
||||
"| Escape-tagged ledger records | \(.escapes.ledger_escape_records) |",
|
||||
"| Time range | \(.time_range.first) → \(.time_range.last) |",
|
||||
"",
|
||||
"A REFUTED-then-fixed arc is a defect the membrane caught: an independent",
|
||||
"reviewer refuted the change on one commit, and a later verdict on a",
|
||||
"subsequent commit for the same bead came back CONFIRMED.",
|
||||
"",
|
||||
"## Escapes",
|
||||
"",
|
||||
(if .escapes.ledger_escape_records == 0
|
||||
then "No escape-tagged records exist in this ledger. Absence of records is evidence, not proof, of absence."
|
||||
else pl(.escapes.ledger_escape_records; "escape-tagged record") +
|
||||
" — surfaced, not hidden:" end)
|
||||
]
|
||||
+ (if .escapes.ledger_escape_records > 0
|
||||
then [ .escapes.entries[] | "- `\(.from_id)` → `\(.to_id)` (\(.relation)) at \(.ts): \(.evidence_ref)" ]
|
||||
else [] end)
|
||||
+ [ "",
|
||||
"## Reviewer family mix",
|
||||
"",
|
||||
(if .reviewer_families.recorded_in_ledger
|
||||
then ([ .reviewer_families.mix | to_entries[] | "- \(.key): \(.value)" ] | join("\n"))
|
||||
else "Not recorded in this ledger schema (v1 records carry no reviewer-family field)." end),
|
||||
"",
|
||||
"## Exemplar catches (from REFUTED ledger entries)",
|
||||
""
|
||||
]
|
||||
+ (if (.exemplar_catches | length) == 0
|
||||
then [ "No REFUTED entries in this ledger." ]
|
||||
else [ .exemplar_catches[]
|
||||
| "- **\(.bead)** — REFUTED on `\(.refuted_commit_short)`"
|
||||
+ (if .refuted_commit_in_history then "" else " (commit no longer in current history — predates a rewrite)" end)
|
||||
+ " at \(.refuted_ts) (`\(.evidence)`)"
|
||||
+ (if .fixed_by != null
|
||||
then " → fixed: CONFIRMED on `\(.fixed_by.commit_short)`"
|
||||
+ (if .fixed_by.commit_in_history then "" else " (not in current history)" end)
|
||||
+ " at \(.fixed_by.ts)"
|
||||
else " → no CONFIRMED follow-up recorded in this ledger" end) ]
|
||||
end)
|
||||
+ [ "",
|
||||
(if (.unresolvable_shas | length) == 0
|
||||
then "Every short SHA above resolves in this repo; `git show <sha>` reproduces the evidence."
|
||||
else "SHAs not marked otherwise resolve in this repo via `git show <sha>`; marked ones are honest ledger history whose commits were rewritten away." end),
|
||||
"Re-running the generator against the same ledger reproduces this page byte-for-byte",
|
||||
"(modulo the Generated line)." ]
|
||||
| join("\n")
|
||||
')" || die "markdown rendering failed"
|
||||
|
||||
mkdir -p "$(dirname "$OUT_MD")" "$(dirname "$OUT_JSON")" || die "cannot create output directories"
|
||||
TMP_MD="$(mktemp)" || die "mktemp failed for md"
|
||||
TMP_JSON="$(mktemp)" || die "mktemp failed for json"
|
||||
printf '%s\n' "$MD_BODY" > "$TMP_MD" || die "writing md temp failed"
|
||||
printf '%s\n' "$STATS_JSON" > "$TMP_JSON" || die "writing json temp failed"
|
||||
mv "$TMP_MD" "$OUT_MD" || die "final move to $OUT_MD failed"
|
||||
mv "$TMP_JSON" "$OUT_JSON" || die "final move to $OUT_JSON failed"
|
||||
|
||||
echo "gen-membrane-receipts: OK — rendered from $LEDGER_COUNT verified ledger record(s)"
|
||||
echo " md: $OUT_MD"
|
||||
echo " json: $OUT_JSON"
|
||||
@@ -0,0 +1,150 @@
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-8jf97","from_type":"bead","to_id":"feat/ag-8jf97-provenance-ledger","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"_beads/issues.jsonl#ag-8jf97","trust_tier":"authored","ts":"2026-06-13T23:55:06Z","prev_hash":"","payload_hash":"52b578a2673e9b35c934ede99964c2737d7bf23e8d297a761f2e1a78a25f2527","hash":"ae78526fed7a820d27cdaf7edc219e8e72b913ac0bbcdb1829504ebc1cc4ec7c"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-zqqm","from_type":"bead","to_id":"38368750cccef0f78c1ac99157851c153d428fb6","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 38368750cccef0f78c1ac99157851c153d428fb6","trust_tier":"inferred","ts":"2026-06-15T10:49:22Z","prev_hash":"ae78526fed7a820d27cdaf7edc219e8e72b913ac0bbcdb1829504ebc1cc4ec7c","payload_hash":"7883ec9bc534840d2d852e7e9d1c20d1c54d8a9a8c1f1027134de7afb0411532","hash":"171e1efb7beb65ea0a21d96477f01084bdd9f621d2627cc1b211e354daabdf03"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-w4r7c","from_type":"bead","to_id":"27a4171e17b876dbd6b5ec85c31af254a0ad58b0","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 27a4171e17b876dbd6b5ec85c31af254a0ad58b0","trust_tier":"inferred","ts":"2026-06-15T11:15:37Z","prev_hash":"171e1efb7beb65ea0a21d96477f01084bdd9f621d2627cc1b211e354daabdf03","payload_hash":"a74c65afdddfc689a3bf35a0faf210511baede23e92ea122c0eb5d88ef8058f0","hash":"4701a9dc3e9ef9aab9220b3825c62b326cb1540a3ebcac55e642969ceb470290"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-w4r7c","from_type":"bead","to_id":"80b4d3dd1eca84c45a3ac053a646ddf3ac5efb09","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 80b4d3dd1eca84c45a3ac053a646ddf3ac5efb09","trust_tier":"inferred","ts":"2026-06-15T11:15:37Z","prev_hash":"4701a9dc3e9ef9aab9220b3825c62b326cb1540a3ebcac55e642969ceb470290","payload_hash":"ba9eb4b87b39a9f419bd6cb8d9a84103e9ec24f0a9ed814a9aa31090ab3e26e0","hash":"82424dce8ac82c7c2571710ac00b7f750f27e5e0d63680c187175820427db162"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-fcr6y","from_type":"bead","to_id":"897f6fb4293a2e2d9933d81670ec0e01622556f4","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 897f6fb4293a2e2d9933d81670ec0e01622556f4","trust_tier":"inferred","ts":"2026-06-15T11:35:21Z","prev_hash":"82424dce8ac82c7c2571710ac00b7f750f27e5e0d63680c187175820427db162","payload_hash":"8bb3f840203aca2f8307ef913a3ab597f28f261835049dbab4a7e65ac0dab9e0","hash":"5d25014fe99832ca77e577ef86087334bc154bfa00724919a0311b45c7961097"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-fcr6y","from_type":"bead","to_id":"d0005672e7317b6641eef911a2e15fed2cda65e3","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit d0005672e7317b6641eef911a2e15fed2cda65e3","trust_tier":"inferred","ts":"2026-06-15T11:35:57Z","prev_hash":"5d25014fe99832ca77e577ef86087334bc154bfa00724919a0311b45c7961097","payload_hash":"265d144e08534b52bdcb1794917c04cb1645ab4ed5bed36037d43698a464ec5a","hash":"934cf09662d9b5545fe50d5287667aa46697cfe414fab5152a1234a8c62bb034"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-jqpy1","from_type":"bead","to_id":"5e34ca2217594a6f17afea51a863475b1cc3d371","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 5e34ca2217594a6f17afea51a863475b1cc3d371","trust_tier":"inferred","ts":"2026-06-15T12:20:50Z","prev_hash":"934cf09662d9b5545fe50d5287667aa46697cfe414fab5152a1234a8c62bb034","payload_hash":"14f592a894556a488a9cc1d4aa5bc916de9059f578e6ff0b8ab962b5abab5ce4","hash":"11be522c1e7ee4a8a9df19eb7d876943e927bced74a7c5d8f2788766ea680bc5"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"pre-mortem","from_type":"bead","to_id":"5e34ca2217594a6f17afea51a863475b1cc3d371","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 5e34ca2217594a6f17afea51a863475b1cc3d371","trust_tier":"inferred","ts":"2026-06-15T12:20:50Z","prev_hash":"11be522c1e7ee4a8a9df19eb7d876943e927bced74a7c5d8f2788766ea680bc5","payload_hash":"cf0cb496f16174f2db4282cfa64516f2b911030da7e9145b9cb82bce92ca9133","hash":"f910920a975d4c7e04257ce7028d4f90972dd45cc8f2a197855d0f5647cb57ab"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-4y7vc","from_type":"bead","to_id":"baa1ad035e0ac2b80ef3788ceb83457b4aaec55e","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit baa1ad035e0ac2b80ef3788ceb83457b4aaec55e","trust_tier":"inferred","ts":"2026-06-15T12:28:16Z","prev_hash":"f910920a975d4c7e04257ce7028d4f90972dd45cc8f2a197855d0f5647cb57ab","payload_hash":"b3cde8407ba5c1db9e0a70e9af9f2f6db23e9f5f781f3b05e4f7427f5295b166","hash":"4e2768386363e59e65d81a8a8c4fd953980d7bfa170eb9a8f3cebf8f9702235d"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"pre-mortem","from_type":"bead","to_id":"baa1ad035e0ac2b80ef3788ceb83457b4aaec55e","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit baa1ad035e0ac2b80ef3788ceb83457b4aaec55e","trust_tier":"inferred","ts":"2026-06-15T12:28:16Z","prev_hash":"4e2768386363e59e65d81a8a8c4fd953980d7bfa170eb9a8f3cebf8f9702235d","payload_hash":"a125e2f5387a3785c4ad9cb6b0df3c11a696e475d109d7e326e681ee5c49d74e","hash":"4e2f58f1dc39788bdaf05bf601a896526874d37c3126ae5d649994bdf06a035a"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-zzpy1","from_type":"bead","to_id":"93b1f645969748069f8da8940b6949212da86387","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 93b1f645969748069f8da8940b6949212da86387","trust_tier":"inferred","ts":"2026-06-15T12:55:09Z","prev_hash":"4e2f58f1dc39788bdaf05bf601a896526874d37c3126ae5d649994bdf06a035a","payload_hash":"db8b0387d3d321a137ffb177affa8815805c596aceb64d2c4a00e451f76b5b03","hash":"24c8fa379274249330110cfc20bd03b82b045b764eef1000fb238270d4585a56"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"pre-mortem","from_type":"bead","to_id":"93b1f645969748069f8da8940b6949212da86387","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 93b1f645969748069f8da8940b6949212da86387","trust_tier":"inferred","ts":"2026-06-15T12:55:09Z","prev_hash":"24c8fa379274249330110cfc20bd03b82b045b764eef1000fb238270d4585a56","payload_hash":"dfc57a72dbef98cba9153cfae9efd1001b78c3758e11bc97f5508093b95c09de","hash":"59dedf87b39ca5e4098545fc6c48f3d366011148c9267688b77f39cd4709c502"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-veotd","from_type":"bead","to_id":"df0c494455953b76c91ca0fd266a8c3d539db59d","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit df0c494455953b76c91ca0fd266a8c3d539db59d","trust_tier":"inferred","ts":"2026-06-15T13:05:13Z","prev_hash":"59dedf87b39ca5e4098545fc6c48f3d366011148c9267688b77f39cd4709c502","payload_hash":"0f184b541b5cb5c90e79c882404f07e4abf84db7df25341fcb94d86ab617fe0e","hash":"e4f223421b940e3c311658e4648b7ff08f35cf1475e202ebafab49e1a65766f5"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-veotd","from_type":"bead","to_id":"541fc86fe8505f23ec14f854779933b45a567cde","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 541fc86fe8505f23ec14f854779933b45a567cde","trust_tier":"inferred","ts":"2026-06-15T13:05:50Z","prev_hash":"e4f223421b940e3c311658e4648b7ff08f35cf1475e202ebafab49e1a65766f5","payload_hash":"8714a835112abb6885a46dc16493f434cadd537510e9f54e679d90f68d6f347d","hash":"300f0233286833bd1e34d9395729539e3afae46dc05659c4d2f2debb8007f60a"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-7wrje","from_type":"bead","to_id":"4e594576b4b674189cfbfa04139e8934d1b21138","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 4e594576b4b674189cfbfa04139e8934d1b21138","trust_tier":"inferred","ts":"2026-06-15T13:11:50Z","prev_hash":"300f0233286833bd1e34d9395729539e3afae46dc05659c4d2f2debb8007f60a","payload_hash":"c8bbfa02bf5f79d383e488604ef51281210e64419bcc3942d5f570e3eaea3a55","hash":"0dee651baf9ef5717a7453032070898d5b1292c524fdb9652e9c877e3e097687"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-1wv7s","from_type":"bead","to_id":"f8a21c1136407bc036a1a180c55391a96dc91bd6","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit f8a21c1136407bc036a1a180c55391a96dc91bd6","trust_tier":"inferred","ts":"2026-06-15T13:17:15Z","prev_hash":"0dee651baf9ef5717a7453032070898d5b1292c524fdb9652e9c877e3e097687","payload_hash":"1c36a36047de3c5306399c588424649b772f94e64e908160e9d417efb3cf8bcd","hash":"b44f7a96e4617dabfecccefed8e41bba898c8c085522fc929d93b3aec6b63e8f"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-1wv7s","from_type":"bead","to_id":"da61f72641df7d261102467cec7ec5df6dad4d05","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit da61f72641df7d261102467cec7ec5df6dad4d05","trust_tier":"inferred","ts":"2026-06-15T13:17:54Z","prev_hash":"b44f7a96e4617dabfecccefed8e41bba898c8c085522fc929d93b3aec6b63e8f","payload_hash":"040c1a5245e778c4b69cbf7b09ca3670c0c0e06fc2917a2262db14493362d568","hash":"a3c3fc9d5fecbc3caf7841b7e323a8ccaf1c7f4e1c099703bf5a04241d9a82de"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-b0x50","from_type":"bead","to_id":"5e4f890909297e4274e343e04f055d545fb4ecfd","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 5e4f890909297e4274e343e04f055d545fb4ecfd","bead_id":"ag-b0x50","merge_sha":"5e4f890909297e4274e343e04f055d545fb4ecfd","trust_tier":"inferred","ts":"2026-06-15T18:57:39Z","prev_hash":"a3c3fc9d5fecbc3caf7841b7e323a8ccaf1c7f4e1c099703bf5a04241d9a82de","payload_hash":"8e5c3093f3b003b2539172bfbb12a61262fb072c31792dd118af3ddbb729bc86","hash":"6161896edc8a50c94b6989940643aa664f24b3d27e27100a187fe1c22f79eafe"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-b0x50","from_type":"bead","to_id":"ffb8761938b59019e02f69ea774ccd77b6b4011c","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit ffb8761938b59019e02f69ea774ccd77b6b4011c","bead_id":"ag-b0x50","merge_sha":"ffb8761938b59019e02f69ea774ccd77b6b4011c","trust_tier":"inferred","ts":"2026-06-15T18:57:39Z","prev_hash":"6161896edc8a50c94b6989940643aa664f24b3d27e27100a187fe1c22f79eafe","payload_hash":"a6dd80c3a8175e14f43d8aa7270b979265af3d8ba6ebb0a85838bc317933317b","hash":"1634ed1742082aa9ca0e0e4cc4bce2cf705d85e3080ffd29ae23a9f9ef67ceed"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-b0x50","from_type":"bead","to_id":"cba6467b3a4b4d1d74a7b70ce7e63df45f81f1e6","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit cba6467b3a4b4d1d74a7b70ce7e63df45f81f1e6","bead_id":"ag-b0x50","merge_sha":"cba6467b3a4b4d1d74a7b70ce7e63df45f81f1e6","trust_tier":"inferred","ts":"2026-06-15T18:57:39Z","prev_hash":"1634ed1742082aa9ca0e0e4cc4bce2cf705d85e3080ffd29ae23a9f9ef67ceed","payload_hash":"c397f67017c17287458198600d8dba789bc7165c194c82a2c52d396715a0813b","hash":"5356459459cdc996caa0faacadb7f3ef30f663b2270452843bfe09ef87fb4d8b"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-ao0eo","from_type":"bead","to_id":"146118429f6e88fe2a4ed68136a6096ead56152c","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 146118429f6e88fe2a4ed68136a6096ead56152c","bead_id":"ag-ao0eo","merge_sha":"146118429f6e88fe2a4ed68136a6096ead56152c","trust_tier":"inferred","ts":"2026-06-15T19:39:47Z","prev_hash":"5356459459cdc996caa0faacadb7f3ef30f663b2270452843bfe09ef87fb4d8b","payload_hash":"87b554a7b329aa94aacf2cba600c6f39a23781c0f81c2bf0b1f4dde80062784d","hash":"7208fc41c741e0b57b6afa489dac5fba4e71a86c7e63fcda44156456f9212da0"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-62jrm","from_type":"bead","to_id":"52a74d8c4e975098a153cc0337dcd66a3e8fe2aa","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 52a74d8c4e975098a153cc0337dcd66a3e8fe2aa","bead_id":"ag-62jrm","merge_sha":"52a74d8c4e975098a153cc0337dcd66a3e8fe2aa","trust_tier":"inferred","ts":"2026-06-15T19:41:58Z","prev_hash":"7208fc41c741e0b57b6afa489dac5fba4e71a86c7e63fcda44156456f9212da0","payload_hash":"85bbc98815cfe2150a6b4cb9ac7945fe394a5159961bec6d136cbbfbc3ba0e3c","hash":"c5c3f80113a5d65e768c3e58484f976b8f26035cb38777cd82c0cbdb3f7b4cb5"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-ao0eo","from_type":"bead","to_id":"5a0455a803c58f905dc49bb62e72fc51e2ce9710","to_type":"commit","relation":"wasGeneratedBy","evidence_ref":"commit 5a0455a803c58f905dc49bb62e72fc51e2ce9710","bead_id":"ag-ao0eo","merge_sha":"5a0455a803c58f905dc49bb62e72fc51e2ce9710","trust_tier":"inferred","ts":"2026-06-15T19:41:58Z","prev_hash":"c5c3f80113a5d65e768c3e58484f976b8f26035cb38777cd82c0cbdb3f7b4cb5","payload_hash":"0a361460f011f0753db59b598a0505f9b52698d71b0f08f4cf017548370b9a1e","hash":"b6f8719d1f57a975614d09d91ab423aa5e4d33875ba65c70cac9f29848bd5fda"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-0tn@0e52f87","from_type":"verdict","to_id":"0e52f87907c76ec823b3d79bda6c447171e24ed0","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-0tn disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-17T22:08:04Z","prev_hash":"b6f8719d1f57a975614d09d91ab423aa5e4d33875ba65c70cac9f29848bd5fda","payload_hash":"a454f2f4b5575ad1193f28cd168cbbfd7a6888160d0f4473bee9ab330b7ec97e","hash":"e7aafd04edf0ce88201f1389b937765c82d442cb37549e2977f7503e1bf8fc05"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-58o@f620190","from_type":"verdict","to_id":"f62019050a3cbbd79d108ec05b9747a7779e5a24","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-58o disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-17T22:08:04Z","prev_hash":"e7aafd04edf0ce88201f1389b937765c82d442cb37549e2977f7503e1bf8fc05","payload_hash":"a2b14dc03b9b5108354a569ada87b19f1f8350f9d30685393dce070b7809c532","hash":"3fce431a1887301478e8b0c57f1a9fd08ffd5b4db1fdd04f1fc1688fd6a739ea"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-anc@5bd1ef8","from_type":"verdict","to_id":"5bd1ef824765e8515c1ebf864560274f55349ff9","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-anc disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-17T22:08:04Z","prev_hash":"3fce431a1887301478e8b0c57f1a9fd08ffd5b4db1fdd04f1fc1688fd6a739ea","payload_hash":"c5ccaa42d99b29753a9d6f08de6568e040bbb423e86dd67960b964ad9a1ea24d","hash":"ba4e2a23cb14efffb9d842a8c9c804ace15e5665be1540aa9648664e501e6eb0"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-i52@3afb31c","from_type":"verdict","to_id":"3afb31c99b4af54ce7ecd32d1aa5965ba4c381f0","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-i52 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-17T22:08:04Z","prev_hash":"ba4e2a23cb14efffb9d842a8c9c804ace15e5665be1540aa9648664e501e6eb0","payload_hash":"adcc288416b17a1a0f95c1eb5a8419bd679ed632f4168b5faaf71127ddaf8ed9","hash":"d7ebbe2d9bb60282d2bf59acfdd7b43076b6d5d874b96d3a09a1d1c047a28c3d"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-n48@82eb032","from_type":"verdict","to_id":"82eb032466769aff211afcad13535adbea56f011","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-n48 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-17T22:08:04Z","prev_hash":"d7ebbe2d9bb60282d2bf59acfdd7b43076b6d5d874b96d3a09a1d1c047a28c3d","payload_hash":"4e3d95df631ed7e5a4d12252e736d865e94f07630fd4be4fca20e12f8ddb4fcb","hash":"a553d48ec1b4cc9df6a259ed85bdc66cc0b47d757e61bb240f2038f344ebb14c"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-wp1@e445d6a","from_type":"verdict","to_id":"e445d6ac823f06235eae0560f25e29f1c6e3ec89","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-wp1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-17T22:08:04Z","prev_hash":"a553d48ec1b4cc9df6a259ed85bdc66cc0b47d757e61bb240f2038f344ebb14c","payload_hash":"3548cf5967f3a4ef0b8b90453e1e6f11f6f71c9f8f592469d38ff24657ddc889","hash":"e5bdeba793ef086cef02e045eae5ba6935bf64800e31b8057d0cc76a89c3929f"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-3va.3@91f3654","from_type":"verdict","to_id":"91f3654a5c6e052968a83e478bb26842f29da5c5","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-3va.3 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-17T23:14:36Z","prev_hash":"e5bdeba793ef086cef02e045eae5ba6935bf64800e31b8057d0cc76a89c3929f","payload_hash":"9e13ab7f39278ad83340acb65f383aef1cb0f285104372f86abafc32f8aeef0c","hash":"963f74a41129c50d13558abecf6f5b786eff543b66fa25a616556679dd2518bb"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-3va.2@a4104bb","from_type":"verdict","to_id":"a4104bb9667338f8023c42ab3243f2ee018ee828","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-3va.2 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-17T23:14:46Z","prev_hash":"963f74a41129c50d13558abecf6f5b786eff543b66fa25a616556679dd2518bb","payload_hash":"a09e5bf0fe58c5deafa942dabe448fbea46dfeb0b19daaff2e8f79f03ea3a9f8","hash":"24d595fc2c97ac3917c55763c0cddfd1bbb67e5885ecb41a24373d48ecff65cd"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-700@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-700 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:25Z","prev_hash":"24d595fc2c97ac3917c55763c0cddfd1bbb67e5885ecb41a24373d48ecff65cd","payload_hash":"8ac1c534d27c9f30e4a04ff8570c3108158235db2743c2fcb39093a3cf9ded0a","hash":"833a886b2b27e4de1884930ebc0d7a404c6b1153925cdaa910217278b4d9a7df"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-721@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-721 disposition=REFUTED","trust_tier":"inferred","ts":"2026-06-18T01:38:29Z","prev_hash":"833a886b2b27e4de1884930ebc0d7a404c6b1153925cdaa910217278b4d9a7df","payload_hash":"ab4703f324e9996e54809a2d6c951848d35cb5c73c166efadd086eda6a581c70","hash":"d5d2f8ab9369a44a82ed563a37691030f1c282938be5d5772caad329358d14b3"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-722@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-722 disposition=ESCALATE","trust_tier":"inferred","ts":"2026-06-18T01:38:29Z","prev_hash":"d5d2f8ab9369a44a82ed563a37691030f1c282938be5d5772caad329358d14b3","payload_hash":"c907942b3c75415fe88f9c2cc68cad054fb6146633e9ac1e4661712272673df4","hash":"f59df75301b4eef4b9883c7bde10b9632da5a612446bc3fd7ee232b1047edc54"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-723@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-723 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:30Z","prev_hash":"f59df75301b4eef4b9883c7bde10b9632da5a612446bc3fd7ee232b1047edc54","payload_hash":"af3d96445152ff650a9843c92f8c18d31c61fa87226340ca5b04fe4ca654c1fa","hash":"df82c13d58574c5566382b1d3eed9bbc2ad9252886d020b62b370a140320f0e4"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-724@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-724 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:30Z","prev_hash":"df82c13d58574c5566382b1d3eed9bbc2ad9252886d020b62b370a140320f0e4","payload_hash":"ef7a8ceadf6c874ba1aaa34567e8b7f730a07c06179d8cc8202235c3d65d68df","hash":"c9f85d877abaec3c4d0de99f57d4fc655f9357954cbef60e984e8aedd19e99e1"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-702@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-702 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:31Z","prev_hash":"c9f85d877abaec3c4d0de99f57d4fc655f9357954cbef60e984e8aedd19e99e1","payload_hash":"134730e4f75e866f3aa3cda963d5559bd041accd562a4a35dd5768c96c18c238","hash":"115347f45ae65485a9165bf72f65bad1fbab22cbeda5437d5071e0fca44dce16"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-703@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-703 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:34Z","prev_hash":"115347f45ae65485a9165bf72f65bad1fbab22cbeda5437d5071e0fca44dce16","payload_hash":"6e0083d6ae0856a717b03b9f47ac59deaad1855a455d944842cd9cdd04896f71","hash":"9cee3cc2f33b983b3f9f6d785fffc1be0c6ccc92328b0c3d9d603e529557d56d"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-705@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-705 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:38Z","prev_hash":"9cee3cc2f33b983b3f9f6d785fffc1be0c6ccc92328b0c3d9d603e529557d56d","payload_hash":"1885f9b718f8712e7429ec5444316e4a6fb1b974c1336c3dff364e8410885084","hash":"a930e7cde6244512b3b36ce9f6dedb52c50855a94924603711e96043f3474027"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-745@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-745 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:42Z","prev_hash":"a930e7cde6244512b3b36ce9f6dedb52c50855a94924603711e96043f3474027","payload_hash":"2435e5f74940ca369923e682926e739ba62655012c64e7cb8353be769621f8d2","hash":"d51b409a7285ffd3385bd9e238ccb12d8fdadfd76bc6b1ae276b8774e3286827"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-706@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-706 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:45Z","prev_hash":"d51b409a7285ffd3385bd9e238ccb12d8fdadfd76bc6b1ae276b8774e3286827","payload_hash":"b28a954aced91b01c6f1dba261ca24a1842fc4c73a37ee207eff6112e0fbdef1","hash":"ab7e4bd613b381fa2ab4c6747fdac203da0caef520e7efeae380b2de3d069343"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-730@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-730 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:46Z","prev_hash":"ab7e4bd613b381fa2ab4c6747fdac203da0caef520e7efeae380b2de3d069343","payload_hash":"12f176c21a3f923153881d3e5a90edefe65a541bee4f58b91f436ebd53d11f37","hash":"37f17bddd5c66a22b84d379e7f73b05aec59a9952296a5b285da587003170a2a"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-732@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-732 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:46Z","prev_hash":"37f17bddd5c66a22b84d379e7f73b05aec59a9952296a5b285da587003170a2a","payload_hash":"3e9a8ef039bcb73bf0ba2efa23e2b601e48cf5292daf51dcf050f9a208ff804b","hash":"345f4341494d17806b00eb2ad92be09583db7a1f44a85ad80341683c4b95e5d7"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-731@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-731 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:46Z","prev_hash":"345f4341494d17806b00eb2ad92be09583db7a1f44a85ad80341683c4b95e5d7","payload_hash":"66005a70b0b258440660db9622990ea7848fc15636e5ff19d002bdbd59a1e4bc","hash":"e0215e67ec3a8f86b8929b4ab2d9238a9d9bf9c4507070e18b3f5906b110c6aa"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-735@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-735 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:48Z","prev_hash":"e0215e67ec3a8f86b8929b4ab2d9238a9d9bf9c4507070e18b3f5906b110c6aa","payload_hash":"92df941e9ad87bbd89d7323a8cc84440cd5b6a4c7334bbba4c812fbc5cff052c","hash":"89165a8c7149f381e1268b39ccec1df6baa4606c752aff3c66ecaad385a4361a"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-740@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-740 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:49Z","prev_hash":"89165a8c7149f381e1268b39ccec1df6baa4606c752aff3c66ecaad385a4361a","payload_hash":"a2ca835f4b250a50bd7b41f08e3e96f3cad11ee43aa603e70b42e4a8c736ce0c","hash":"2ca6234eb43983acd19c56913d8a747de2ba2f331770282c8e5415973adac574"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-742@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-742 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T01:38:53Z","prev_hash":"2ca6234eb43983acd19c56913d8a747de2ba2f331770282c8e5415973adac574","payload_hash":"f53613b6d052496411bb33ff6b3ee09f9d889a3f331eb77054617a7950c58afc","hash":"02c3245c2762b542170b786aa4697c3d86e82f194256382f91269c56cdb8d9cb"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-3va.1@64993d3","from_type":"verdict","to_id":"64993d35625f54f6eb338f3637bddbf8ce941ff8","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-3va.1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T14:07:30Z","prev_hash":"02c3245c2762b542170b786aa4697c3d86e82f194256382f91269c56cdb8d9cb","payload_hash":"af79324dea3dd35701ccb0c56daf1496415255ded2395646b9602abdc31d22ab","hash":"58e7faf8a4d179901749aae696f3a35774454ecc6c03225f18fc53bb84e0c19e"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-g0y@5694e5c","from_type":"verdict","to_id":"5694e5cb9c0e2b106bb3d21462869bbed9967ea7","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-g0y disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T14:07:30Z","prev_hash":"58e7faf8a4d179901749aae696f3a35774454ecc6c03225f18fc53bb84e0c19e","payload_hash":"5dbb02cb006d6d18202436caf71a95d1cedf1a04bdf7088426266712d849dfc2","hash":"bb1c9e0db9bad99bfed796ca5e32b7a979c3d695152e2c5a59ad9cf397eacee7"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-1vy@4d7d127","from_type":"verdict","to_id":"4d7d127807f77c8f70f286aa90dd5ce8915d5e85","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-1vy disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T14:09:07Z","prev_hash":"bb1c9e0db9bad99bfed796ca5e32b7a979c3d695152e2c5a59ad9cf397eacee7","payload_hash":"a091f8dee8d7f61c242e3413dc34cbf44a1375fee063d57980d1f2f056e774b4","hash":"59f0da829e89fac681d21423185a9123f4aafe375d82143897866e44fa36f64a"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-1vy@a94b10f","from_type":"verdict","to_id":"a94b10f2f54fe8fa550a31aed42bec1a4f7e2d7e","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-1vy disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T14:12:53Z","prev_hash":"59f0da829e89fac681d21423185a9123f4aafe375d82143897866e44fa36f64a","payload_hash":"b972abb4b55a67ed843c1803b3c035233fe669bd72890796f2fa881e30df697a","hash":"35fd5e3af627f5bb8d55b5bfd3b781f79658ae34a7366064f33abe32f72f5c61"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-uqj@4bb75bb","from_type":"verdict","to_id":"4bb75bbcb73f421f82d4623859d2815196c40e42","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-uqj disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T14:29:23Z","prev_hash":"35fd5e3af627f5bb8d55b5bfd3b781f79658ae34a7366064f33abe32f72f5c61","payload_hash":"2cddd1778cdf52b8ae1e806b2059cbd80170f31c7533a4bf5542fda0affeb27a","hash":"72ce7f52f9c81780fbbc58c17ed0f97baca1d1a4bdc24169a0ec6407bfa150d0"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-standing-pawl-service-ml8.2@f79865e","from_type":"verdict","to_id":"f79865e504b0ae091c36a9c689e96e3b5a94d43b","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-standing-pawl-service-ml8.2 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T14:46:35Z","prev_hash":"72ce7f52f9c81780fbbc58c17ed0f97baca1d1a4bdc24169a0ec6407bfa150d0","payload_hash":"024522ba9d029de0f20c2cab9440bb4680285267a16aa115d4035ca4e931d889","hash":"7ab39ca8f25e6a63735e4427856329b069e36c6e4bfef6b543126d917a527f00"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-revive-reverse-engineer-0ll@b29c847","from_type":"verdict","to_id":"b29c8470b5172844f772e599586ef0094561a699","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-revive-reverse-engineer-0ll disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T17:34:27Z","prev_hash":"7ab39ca8f25e6a63735e4427856329b069e36c6e4bfef6b543126d917a527f00","payload_hash":"58d86dc411c16e1ae8e8a57f42345667885203304183df1bf43cac13d2d53feb","hash":"d4a6b311550f5db960ef579b241a923339fe9b768059897c6766d8b3cd37ee54"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-standing-pawl-service-ml8.2@1beb078","from_type":"verdict","to_id":"1beb07860238dce59a3976ae91d6355d29bae460","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-standing-pawl-service-ml8.2 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T19:46:45Z","prev_hash":"d4a6b311550f5db960ef579b241a923339fe9b768059897c6766d8b3cd37ee54","payload_hash":"8b34150702fdd3b502bfd909397be3da3cbcec05a0ec49b3dd4b1fd543d2b0f4","hash":"99ba713d4fb703becd2ec7d2157d04b420086d4870ee202714cb5ddc35272a1a"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-standing-pawl-service-ml8.3@a3d3103","from_type":"verdict","to_id":"a3d3103708f45b53c86c94217ddae25be9f05bc9","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-standing-pawl-service-ml8.3 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T19:46:45Z","prev_hash":"99ba713d4fb703becd2ec7d2157d04b420086d4870ee202714cb5ddc35272a1a","payload_hash":"e61a89b1221eb2171f790ed0f7506c8345c36c5b1df174dcdc63579a6399febd","hash":"f2cffeacbb1ab3b9f74d342c2e08b2a517b1976b4de458790c463415abb60721"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-standing-pawl-service-ml8.4@7a6aeea","from_type":"verdict","to_id":"7a6aeea519d0f5618be9026f8c39e153bd31fd2c","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-standing-pawl-service-ml8.4 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T19:46:45Z","prev_hash":"f2cffeacbb1ab3b9f74d342c2e08b2a517b1976b4de458790c463415abb60721","payload_hash":"54184640187179b982e7d9c6eacfef1bba6681b78dad0c1c889cc0c842605d95","hash":"c5e397ab2a67fee329adb740de4391b6a865971c876a1dbc462e092166497eec"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-uqj@957d3a4","from_type":"verdict","to_id":"957d3a410957e5670e5af73dc526094ff6dd896b","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-uqj disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T19:46:45Z","prev_hash":"c5e397ab2a67fee329adb740de4391b6a865971c876a1dbc462e092166497eec","payload_hash":"e7231302fcc64a1cf008529d2214238952e81a64137609bf262ea69372d2d9d1","hash":"d732fa3e51f08f1ad95e36e63b9b71bf89f784ce0fd91739c08238c94579b7c0"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"reroute-demo@8ca570e","from_type":"verdict","to_id":"8ca570e767a27962d40c6324d1621114ad69bbf3","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict reroute-demo disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-18T19:46:45Z","prev_hash":"d732fa3e51f08f1ad95e36e63b9b71bf89f784ce0fd91739c08238c94579b7c0","payload_hash":"2b1b9fcf28aca053d559f4b256df57546ed1b9dbcf32a19107044e493db8833d","hash":"068db95cd0fd2c45bd80e7b49a061b8e14ea6114a76e76306981f8773519368e"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cmdao-core-bare-pollution-ek8v@07f8af5","from_type":"verdict","to_id":"07f8af5153df3f33dea8e3ac714f61b93442fcab","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cmdao-core-bare-pollution-ek8v disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-19T14:01:14Z","prev_hash":"068db95cd0fd2c45bd80e7b49a061b8e14ea6114a76e76306981f8773519368e","payload_hash":"9cd25e7de9fc20fb16cf6e2dba6421200bfd573ad7b2c3b21ccc34cefe8b964d","hash":"40b6d7f11ce4522c57aa1c745581925df8ab453f583140f996a3d597ab90fa6c"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-push-equals-ci-0ua.4@44d3bea","from_type":"verdict","to_id":"44d3beade267612587d0b105f3d7c38cdcb2a41e","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-push-equals-ci-0ua.4 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-19T14:32:26Z","prev_hash":"40b6d7f11ce4522c57aa1c745581925df8ab453f583140f996a3d597ab90fa6c","payload_hash":"04de24bb603ed99a63c15d102b4f96e716949ca741f9caf980b3a6394b34502c","hash":"195b45ff425915fa682fc530586b3bd982d8234bcc3250bd061f16c976a61bad"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-push-equals-ci-0ua.6@e18b3e0","from_type":"verdict","to_id":"e18b3e0bd5374cf9a7bb078b7a02af0191ee6bb6","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-push-equals-ci-0ua.6 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-19T15:46:59Z","prev_hash":"195b45ff425915fa682fc530586b3bd982d8234bcc3250bd061f16c976a61bad","payload_hash":"82a33e9857145a34e38ff8aeac76318b7bf97ba4cc64392a7857a909771b5c23","hash":"143434d541f1bd4274c1e88d3c4a498a750db77fdc942ca1de1d4141c3b11add"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-push-equals-ci-0ua.4@e18b3e0","from_type":"verdict","to_id":"e18b3e0bd5374cf9a7bb078b7a02af0191ee6bb6","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-push-equals-ci-0ua.4 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-19T15:47:44Z","prev_hash":"143434d541f1bd4274c1e88d3c4a498a750db77fdc942ca1de1d4141c3b11add","payload_hash":"abf9ee8c1691467055fd7c457267777d162044f8ca260cb8a38869513eeb9cad","hash":"0cfeacea913b917a28e77e1e97a6cf0cfb873addff83bac2ba0ba638a7528bc4"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-0tn@5022534","from_type":"verdict","to_id":"50225346e8cd5b987ce24db952124bc55380ed6c","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-0tn disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-19T15:55:30Z","prev_hash":"0cfeacea913b917a28e77e1e97a6cf0cfb873addff83bac2ba0ba638a7528bc4","payload_hash":"a2a2cdde6dda2da0c5de60d10ba9d83600c4bbc6f5b8ac6d5102219e27c50ce3","hash":"5c03a0b4781cc732cfdf90030de544d884538d41bc7bbf745532ecd7ea9f6038"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-f8ei@dd62c2f","from_type":"verdict","to_id":"dd62c2ffe1d27f75d6f803459b2943fb6e47c4e4","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-f8ei disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-19T17:13:55Z","prev_hash":"5c03a0b4781cc732cfdf90030de544d884538d41bc7bbf745532ecd7ea9f6038","payload_hash":"f86e28441e23035f978d95aaa2c8283c64bbedd858aea1c11d2f8477137edac1","hash":"8548f9ee4cc76f5cc8e68b4458566d13844823bb01bb2a865c7660c81defdfe2"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-worktree-beads-ledger-guard-c1u1@63c06df","from_type":"verdict","to_id":"63c06df846cdebd6a787a3d0f1478855a5d7b600","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-worktree-beads-ledger-guard-c1u1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-20T02:28:14Z","prev_hash":"8548f9ee4cc76f5cc8e68b4458566d13844823bb01bb2a865c7660c81defdfe2","payload_hash":"98665263ea0559e2f96715077d1327c08ea278abf58b25fe6bdfeacdca43e36e","hash":"0e52112ee98d84c1d587a81da0a119976787388e4aaaec9fdae3f1781b2272cb"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cmd-ao-test-floor-hvb@0d36639","from_type":"verdict","to_id":"0d366394cd8ce90920dcf3e6ee6e8055c9c8b283","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cmd-ao-test-floor-hvb disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"0e52112ee98d84c1d587a81da0a119976787388e4aaaec9fdae3f1781b2272cb","payload_hash":"d007d753d06e4a787ac098de00e71bd29a8c8001ef8f852a882d92a2517f56c5","hash":"bb6e998bc934a14936a3701b625559ab443ac813e6d7cce22c783ed3a0d67739"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo.1@c8ab341","from_type":"verdict","to_id":"c8ab341349e8f8b70214804a65b7292e2f5a783e","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo.1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"bb6e998bc934a14936a3701b625559ab443ac813e6d7cce22c783ed3a0d67739","payload_hash":"b70c5f7b2b14e605cc041f6dc2e2eca5f307e1924afdfa1d0b678735e4d77927","hash":"070e6f232ea21f98fa98de75b31aeef06f6729bc4ef464628ba21402fa4a7d7b"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo.2@b50c21a","from_type":"verdict","to_id":"b50c21a0f9938cb26bb502a0bbce12fd4e511d7e","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo.2 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"070e6f232ea21f98fa98de75b31aeef06f6729bc4ef464628ba21402fa4a7d7b","payload_hash":"cc35b9d411d03ffa711b383d14f6dd8debb8bc06a79fe6daa6f5e1cb7e55b4c5","hash":"fdbf0c270cb67ccaf5e7c382e0c6cad7281d59f9aa2caf34b4314373f9180d6d"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-fix-skill-factory-mcc@52a2ee6","from_type":"verdict","to_id":"52a2ee61ca94c3c83e230553df98e11acf9a3afe","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-fix-skill-factory-mcc disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"fdbf0c270cb67ccaf5e7c382e0c6cad7281d59f9aa2caf34b4314373f9180d6d","payload_hash":"3a72566ab940490e70a7e65c1ab06281bb1737abd9bf348ad6256ed8fbde3210","hash":"894528841d11abf9f24ac13d6d0938294b2b363eb9011181b313b014faa76850"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-arch-tz2s.2.5@d20aca6","from_type":"verdict","to_id":"d20aca641e06070d65b0c3109bddd9b5802c3968","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-arch-tz2s.2.5 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"894528841d11abf9f24ac13d6d0938294b2b363eb9011181b313b014faa76850","payload_hash":"fd67ef06276622182046ec2575404715ca7462483d750d3d5cecaf0e9b385ccd","hash":"84249a0c856ca27c4114e71db7637d44eae089b4e81c85c783dc20392dff90b5"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-arch-tz2s.2.7@5f33638","from_type":"verdict","to_id":"5f33638ef6f383cc32fae1fb32b0a55107a8678a","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-arch-tz2s.2.7 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"84249a0c856ca27c4114e71db7637d44eae089b4e81c85c783dc20392dff90b5","payload_hash":"1ed59bb942d877659cd1c04d09bdc754f0f4460023bf808902c434125a974ed8","hash":"8b5b0406240235bcb24db479dd0ac69d698db48267cfb2274d7d2f0f757541f1"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-j9c6.2@2270af3","from_type":"verdict","to_id":"2270af3eacc7729a72223f758e0f1dbf48c51731","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-j9c6.2 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"8b5b0406240235bcb24db479dd0ac69d698db48267cfb2274d7d2f0f757541f1","payload_hash":"6bf469b323924acd86ecae64a45e280cc0cbcfa7538867b209b01d31e49d3814","hash":"1a58100b53db1215d097c2aca9f998b9ab2570ea0fa6b722e6776ae7675cf0fd"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-j9c6@35b08ca","from_type":"verdict","to_id":"35b08ca2906a3b03cd7ea38e264f540e4789d803","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-j9c6 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"1a58100b53db1215d097c2aca9f998b9ab2570ea0fa6b722e6776ae7675cf0fd","payload_hash":"bb9a0b41894433761ad0c9107d72b329119274f80ae92b239478fd2b4feca363","hash":"fe512669747ad43c4342e46a809190241870e1bcaf7dc88d942a3ce5aaa9bf6d"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-obae@254243d","from_type":"verdict","to_id":"254243d28ac8ffe7a707e51e9f5cdddb8f3aadbc","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-obae disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"fe512669747ad43c4342e46a809190241870e1bcaf7dc88d942a3ce5aaa9bf6d","payload_hash":"afb195ea2b6991a5b9a99657527255dde3e8af883be45e437cf7c27efd873d47","hash":"f33a7b62c73e50b0bac5df36ae20c719e8c0b36e219997e051bf41df4eb85c13"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-port-openkb-into-agentops-go-5qw.1@3b0d555","from_type":"verdict","to_id":"3b0d555b873c604c87f29802a0ed1d25709f643a","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-port-openkb-into-agentops-go-5qw.1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"f33a7b62c73e50b0bac5df36ae20c719e8c0b36e219997e051bf41df4eb85c13","payload_hash":"f5bf6bedcee7644c357353b26bf591fd30476de951d7c784d39ddd005bc836b6","hash":"fdc7286ba35469864f0273d0591103def580af8b61322dd3184c3119041dbb3d"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-port-openkb-into-agentops-go-5qw.2@c016368","from_type":"verdict","to_id":"c016368730964e89ce81962a7b395901167de99f","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-port-openkb-into-agentops-go-5qw.2 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"fdc7286ba35469864f0273d0591103def580af8b61322dd3184c3119041dbb3d","payload_hash":"82759f61d8c80f8e0ad744d2a77284d4a69c281edd42679307d777874f6be4e7","hash":"c1e37d9140b8afd4a3a924c139912b5781ab82e1854cee5605aca540e2701ab5"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-port-openkb-into-agentops-go-5qw.3@4610aba","from_type":"verdict","to_id":"4610aba5d4f407a608c840d3e0cd6e08e5d32074","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-port-openkb-into-agentops-go-5qw.3 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"c1e37d9140b8afd4a3a924c139912b5781ab82e1854cee5605aca540e2701ab5","payload_hash":"f726463e3cbcec4c0aac0c4ce7547429cb1d573601405b17eb4d4ea79bb93367","hash":"a126df6fec35a877b5f4f43b2e63b438f3c43e6d992c05340bfe08100d4dc77f"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-port-openkb-into-agentops-go-5qw.4@bc8aadb","from_type":"verdict","to_id":"bc8aadb8e13ce186ec20b3633bab80b538272b9e","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-port-openkb-into-agentops-go-5qw.4 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"a126df6fec35a877b5f4f43b2e63b438f3c43e6d992c05340bfe08100d4dc77f","payload_hash":"86974edd61143e74c68f45b4bcf8c001e4ce52a960f3cac99f0c932086e49625","hash":"279dab6fa49d97e3816d1da45ce4eac047c00e2e351ab3dcfb5789b975bb3cc5"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-push-equals-ci-0ua.1@a040ffd","from_type":"verdict","to_id":"a040ffdb8f8c68675d6835781abe27f382b0e77d","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-push-equals-ci-0ua.1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"279dab6fa49d97e3816d1da45ce4eac047c00e2e351ab3dcfb5789b975bb3cc5","payload_hash":"0a5668d186b6b97fab3ef1282285cf25ebd39cd7dd901fa338622f972d904a60","hash":"87511c1d48cc71f080687c691252e0e7816456bfeee1c1045037b45c394a6165"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-push-equals-ci-0ua.3@e8097bb","from_type":"verdict","to_id":"e8097bbbdf2aa5eeff9f7b72f0c058ea92496b5c","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-push-equals-ci-0ua.3 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"87511c1d48cc71f080687c691252e0e7816456bfeee1c1045037b45c394a6165","payload_hash":"d0269b8cb96e6e935f8cee3e52d22b5b51bfce7e55db4b36096487ca1234ce6a","hash":"54fa34eff98eb7276ac52e383690d585fc133fb4ebc12c82da0671b3d9212004"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-tlj6.1@6cb5312","from_type":"verdict","to_id":"6cb53122c2f8a67611659d2a9e26059e020a8f65","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-tlj6.1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"54fa34eff98eb7276ac52e383690d585fc133fb4ebc12c82da0671b3d9212004","payload_hash":"f51e047ca6a288a90c3eef3b75d74107db60ea330af144a32e315ef121a1ade1","hash":"9bda4a87620d64766881d0a2b5c9d68ca6a70641dd8a4e8b2e98d7bcd6b8bb69"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-tlj6.2@24353d0","from_type":"verdict","to_id":"24353d0894fd063d1d8452ba10af6c259fb4f956","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-tlj6.2 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"9bda4a87620d64766881d0a2b5c9d68ca6a70641dd8a4e8b2e98d7bcd6b8bb69","payload_hash":"72dcc10ba52b17c90c27f47f23ca3bb4116f90def0bf05d51a6d20db9c2d15f4","hash":"01afb1efb69b5d04cec5d61f970d9b04b39f8ecbd7e9bc5787655eca898a629b"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-uxva@a9be524","from_type":"verdict","to_id":"a9be5247d6500f9bcef974f66bcecc4f8e57184d","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-uxva disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"01afb1efb69b5d04cec5d61f970d9b04b39f8ecbd7e9bc5787655eca898a629b","payload_hash":"c9cfa33a5f7ee3cd45038182a59cf1303ead74b1f16b3ac2a5892faa72dabd41","hash":"0e850544cbab34f7b3d173f0714fc92c387533872d6cebe90624be414082f575"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-w2ny@37288ac","from_type":"verdict","to_id":"37288aca8833d48c3e5fdfd6c9ed9c5bc512de90","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-w2ny disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"0e850544cbab34f7b3d173f0714fc92c387533872d6cebe90624be414082f575","payload_hash":"e058315b3987e0f6a833905e8ec90998ffaf45ba65b2d33f48783ae8da798021","hash":"681c236b8ca82878021cbf24a28630da3a20c1c2ad514539c516a5d4f9892904"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-xmkn@37adcc7","from_type":"verdict","to_id":"37adcc7c68abb46e4f82f6883ec0256a169314e3","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-xmkn disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:23:46Z","prev_hash":"681c236b8ca82878021cbf24a28630da3a20c1c2ad514539c516a5d4f9892904","payload_hash":"b276cb10dea9b748901dec46170d2d1ebc9db21229e3524cde1171931996c593","hash":"2f0453b938e866ef393231ca3bde6015fb9be0383e41a913aafc018ec6fb9ad0"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-arch-tz2s.1.4@c5fe557","from_type":"verdict","to_id":"c5fe557e32de95604983725f6d6d8079fa4d8f35","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-arch-tz2s.1.4 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-21T22:52:23Z","prev_hash":"2f0453b938e866ef393231ca3bde6015fb9be0383e41a913aafc018ec6fb9ad0","payload_hash":"c8aab339554eeef069ddcf118aa062b7e1bc7496cd4f6a2184829e3b412041fe","hash":"af1c75379a9a15f1f54a9fe81d1b7f69e6692b17369b6c855f9866b01443703b"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo.1@126d745","from_type":"verdict","to_id":"126d745b45516a4e433ce0ec1017c6fde1947ebe","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo.1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T00:00:33Z","prev_hash":"af1c75379a9a15f1f54a9fe81d1b7f69e6692b17369b6c855f9866b01443703b","payload_hash":"6c2e246766d48564cf109636669c2deee3e35490f401bb53369dd85e3d7a25d0","hash":"7d1ce269801a0cda601fb3ca0f64b229e6af884fe6a556184f9ca60ab61ac7dd"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-1gl@ad026d2","from_type":"verdict","to_id":"ad026d2231b0cc32b807d6316c9d593190f91e41","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-1gl disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T01:25:55Z","prev_hash":"7d1ce269801a0cda601fb3ca0f64b229e6af884fe6a556184f9ca60ab61ac7dd","payload_hash":"cb1dc7a2de80fd0074b84dd3b270137d46737c7fb8b43c5578f44c4599160b9f","hash":"1fa107d19fc686d525106f1c79b83b34bb95cda76bd4fac62d1ec8c2c3c25fa4"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-activate-deterministic-catch-default-on-i4m@9a7f567","from_type":"verdict","to_id":"9a7f567797d81d2cfd5ab26b06dfe0078d1f913d","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-activate-deterministic-catch-default-on-i4m disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T01:59:43Z","prev_hash":"1fa107d19fc686d525106f1c79b83b34bb95cda76bd4fac62d1ec8c2c3c25fa4","payload_hash":"d6ff874de6bfc68e23164ef4f523c0de9a0d9b2f13c839a8096f8625256bd167","hash":"1029ddc262f11422883b53de7ba4c1a44c6e9ebd1620c0fbf2ad8e83a0bedadb"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-ptts@d42130d","from_type":"verdict","to_id":"d42130db105900ed4d3f96ace0d2165cef8a5ea3","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-ptts disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T02:32:08Z","prev_hash":"1029ddc262f11422883b53de7ba4c1a44c6e9ebd1620c0fbf2ad8e83a0bedadb","payload_hash":"155be17b28f2c13c6e8a10fddf63358355c56be11a0e9acdc30f4af166fa443b","hash":"c2b0f92961f5b24a23133601cad889e52fecb6b1ae2c9ede82ad46a0a9e881e2"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-arch-tz2s.3.4@e5807eb","from_type":"verdict","to_id":"e5807eb971dcdb4413b1414fee2070a9b3560f26","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-arch-tz2s.3.4 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T02:51:58Z","prev_hash":"c2b0f92961f5b24a23133601cad889e52fecb6b1ae2c9ede82ad46a0a9e881e2","payload_hash":"80b86818c2a7985446828042d98fbfbe0224571de24a6bc16876e28bb7956ea2","hash":"04bd07a27f504a08f85af4a7c03ba336ff40d9660f417b7fbb1c4994d2bd3031"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-arch-tz2s.6.1@67eb3fc","from_type":"verdict","to_id":"67eb3fc767c6b693ae67dbea45cc3e17348158de","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-arch-tz2s.6.1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T03:05:19Z","prev_hash":"04bd07a27f504a08f85af4a7c03ba336ff40d9660f417b7fbb1c4994d2bd3031","payload_hash":"9c675c6cbf3c1de09e6cfddab1146355d05feccb44507dbb86eb02fdfd859747","hash":"52506bdebe8acca01d11d11b6e9202def84eeecb5ac97594a7ef95e8ab099058"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-arch-tz2s.6.2@95a1de4","from_type":"verdict","to_id":"95a1de4a4ab998f7d863d16ec4481b7e3762a4de","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-arch-tz2s.6.2 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T04:00:14Z","prev_hash":"52506bdebe8acca01d11d11b6e9202def84eeecb5ac97594a7ef95e8ab099058","payload_hash":"a58cd16c88a63f771c6b0905ce077a9dbb5f95be4d792a7def4ef289a5d1247b","hash":"6f4c3bc55e0ba0be0af4a376f052261604ea3f9936e87cfb45034573443ae0a8"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-arch-tz2s.6.3@9e744fd","from_type":"verdict","to_id":"9e744fd67f185dec2ec87edae25b90196c961466","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-arch-tz2s.6.3 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T04:12:43Z","prev_hash":"6f4c3bc55e0ba0be0af4a376f052261604ea3f9936e87cfb45034573443ae0a8","payload_hash":"437804da34de506075b2f87a4947fa785f198eb2c2a198ff149038cb5391a9a9","hash":"952e199f0d52efe71b926651e0c29a84817ef53313b016d663ea6fcab2d80a2b"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-wy3.1@fdd21c6","from_type":"verdict","to_id":"fdd21c6780c0d05704cb61da02b10953dc35deaa","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-wy3.1 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T05:03:03Z","prev_hash":"952e199f0d52efe71b926651e0c29a84817ef53313b016d663ea6fcab2d80a2b","payload_hash":"7e48d4850eab68c05f209bb74f2c92bd858b1fe6d196654ea183e37e53a04722","hash":"743068bee40eed595247ea846a9c768130b3c7dec14f5e1ef948b65b72e2a3d4"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-wy3.2@42ddee5","from_type":"verdict","to_id":"42ddee5970dfdf6aeb49eb8771d637458d014dac","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-wy3.2 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T05:17:28Z","prev_hash":"743068bee40eed595247ea846a9c768130b3c7dec14f5e1ef948b65b72e2a3d4","payload_hash":"a72127b4ef05dbe43119e16545a2bf34dd3cdeb1096496169e65de3b630519f6","hash":"ff254cb11c42e779af66f28b3268b4087a2b1514ead7e50d977c361c22f85270"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-wy3.3@5cfb4c5","from_type":"verdict","to_id":"5cfb4c590ac5544597ad9418d8886ebc5f15cb0b","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-wy3.3 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T05:26:23Z","prev_hash":"ff254cb11c42e779af66f28b3268b4087a2b1514ead7e50d977c361c22f85270","payload_hash":"97b4e830260940551cd74202dfbf1c3c7a353c8f8e72f354496dbbad6f64d859","hash":"7a07421f9b55544638c86855d68465e7ffb8fa65c2492dae3e4c7af825df2798"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-wy3.4@dee627f","from_type":"verdict","to_id":"dee627f499e77c521576f7ce4b299b44477c34d9","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-wy3.4 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T05:33:01Z","prev_hash":"7a07421f9b55544638c86855d68465e7ffb8fa65c2492dae3e4c7af825df2798","payload_hash":"4b0a7e7cddea4d48227dbfdc733eb21973ba90fe880715274fe850b63e85e961","hash":"1e2ef4b9cc712d7b89aa0e9b3fc5316009dd27d7bf6e379778c63aa026642f8c"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-membrane-memory-arch-tz2s.6.4@704d9b6","from_type":"verdict","to_id":"704d9b6a8fac7b7ceb7146b43d745b8c271ceab2","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-membrane-memory-arch-tz2s.6.4 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T15:19:18Z","prev_hash":"1e2ef4b9cc712d7b89aa0e9b3fc5316009dd27d7bf6e379778c63aa026642f8c","payload_hash":"01b0d117bd96b019db220ed6aa7fc499418d17d66a039e8649de0fb21c4f7a64","hash":"3314e6d3b0805a034f204dab06686ee0ffd8da2dce8c20251f0776262f2900ba"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo.3@44a7979","from_type":"verdict","to_id":"44a7979d2573f291134c4c5e860db197650bd34c","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo.3 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T15:59:45Z","prev_hash":"3314e6d3b0805a034f204dab06686ee0ffd8da2dce8c20251f0776262f2900ba","payload_hash":"f54dba8aa43892ef52e49778a619bc84669b93d2212c45344604d48323b12303","hash":"db5c490f18d46ac46dfeb53988c6b24042adec9e1e57b9d2c96580bf08ded184"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo.4@f6c5674","from_type":"verdict","to_id":"f6c5674205f613dfcdb82868f1f1f250de7b5bb8","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo.4 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T16:20:36Z","prev_hash":"db5c490f18d46ac46dfeb53988c6b24042adec9e1e57b9d2c96580bf08ded184","payload_hash":"19a266b582a1f003ed2efd182990b5536405ed8028e96f90a79a257f6c1c2060","hash":"da93cc00ed26d9f59a8673d76d7c4067f89cf408bbeb5b0fd220cce87f2c2bee"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo.5@2f75be9","from_type":"verdict","to_id":"2f75be93a9e675acf1e7f9c46153f37009698cf2","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo.5 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T16:50:29Z","prev_hash":"da93cc00ed26d9f59a8673d76d7c4067f89cf408bbeb5b0fd220cce87f2c2bee","payload_hash":"afb6f5464f974ce69672521f9a7bd6c678b4b003910e7656549db54eda6cc71d","hash":"c6e8c7c98d7c6b3c8e638284b88092039aecaf9701a5dc708500aee3c278695e"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo.6@ac2ac3f","from_type":"verdict","to_id":"ac2ac3fa632d0b3416d4b5716ed87f17a050a6c2","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo.6 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T17:00:38Z","prev_hash":"c6e8c7c98d7c6b3c8e638284b88092039aecaf9701a5dc708500aee3c278695e","payload_hash":"6bae15b6ca938aea1cdc0c8f95ab90f8f2b07833e8bb53769e7fbfdf72f33020","hash":"453f18f36033a827e515c5b2caf000fe2ff671571bb7fbc9946dd7e764e2567b"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo.7@9ccf89a","from_type":"verdict","to_id":"9ccf89a04b333a2a6b506526d035804db0967f4a","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo.7 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T17:11:29Z","prev_hash":"453f18f36033a827e515c5b2caf000fe2ff671571bb7fbc9946dd7e764e2567b","payload_hash":"96db231824682be5b52daf3618f3c36e553d19aa5b90e49f678e515ea2a9f48a","hash":"f905599f3659fc0311c3e956992244d5047e41d7e59c3f21b3e6eeefd6afbbf6"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-u43w@e4d2433","from_type":"verdict","to_id":"e4d243328d321d3df515ebdd9eb75875075b7e73","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-u43w disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T18:17:35Z","prev_hash":"f905599f3659fc0311c3e956992244d5047e41d7e59c3f21b3e6eeefd6afbbf6","payload_hash":"517f0babba59ee088fd1a1d0d3d2fbf0f91fbe98fedd5702aadcde531993c566","hash":"69416143dd63d230ef72d889d0ef5b48309d8f4e6cc507bbfa15e6a6bd69f031"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-s6xm@41430ea","from_type":"verdict","to_id":"41430ea3cc46dac29b4edc07302e00a98fc67586","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-s6xm disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T18:31:38Z","prev_hash":"69416143dd63d230ef72d889d0ef5b48309d8f4e6cc507bbfa15e6a6bd69f031","payload_hash":"c1234bc68e0a7428e887e254ea7f4f1e43d788a67851ca8056229086093ce020","hash":"cff3c8e51e1cbe763cd6aef96b08b41c68da343e4435bb14b70b4590877fc1c9"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-ufte@22db03f","from_type":"verdict","to_id":"22db03f660cb7c383e5e19c1082e14c2835c7277","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-ufte disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T18:46:37Z","prev_hash":"cff3c8e51e1cbe763cd6aef96b08b41c68da343e4435bb14b70b4590877fc1c9","payload_hash":"d8b9c706fcd5cb218e2b5f718461021cd7acf304a15cc3967bb64215ff52da4c","hash":"0e8fad825ff59c209bca60db5e20a13678d24deca9153a646ac6bdd7b294e3b5"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-h8bq@c511b85","from_type":"verdict","to_id":"c511b85c551c9cc41377053d23cce0f719cc3176","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-h8bq disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T19:01:42Z","prev_hash":"0e8fad825ff59c209bca60db5e20a13678d24deca9153a646ac6bdd7b294e3b5","payload_hash":"f6f7a4f9ae39c18205e59402fd22d47aeca2aff2fbf87a4b236cb40a7ae2eb92","hash":"dfee20bf613906a7d51b45ac7d7a7fded204341fbf75a2f907223159848ee165"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-8n7p@a6b5d28","from_type":"verdict","to_id":"a6b5d28bc9ed1eea783b3db250f1e511ec9e2567","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-8n7p disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T20:25:17Z","prev_hash":"dfee20bf613906a7d51b45ac7d7a7fded204341fbf75a2f907223159848ee165","payload_hash":"80865b8badaa11392bbd5368296cb3312100e804c052d8ec40f449a5d8456157","hash":"8cf5f4a9ba5f532fab52eb9da90d716b93a9f50ae30d64210d9824f5b0187fc5"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-8n7p@913c018","from_type":"verdict","to_id":"913c018effb2ca82d1f9ea4273f8e640aea06a32","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-8n7p disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T20:31:24Z","prev_hash":"8cf5f4a9ba5f532fab52eb9da90d716b93a9f50ae30d64210d9824f5b0187fc5","payload_hash":"bc921f8d4d61f9b55aa505ea8f45517cce43506438c3f6d6582d87f6d35e0dcf","hash":"c381a0cc36aa7975ea0e31c75b74a6ca3d8cf70cc49121a631e127aa929c715d"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-0bd7@e7f9a47","from_type":"verdict","to_id":"e7f9a47c7286391f7a42a471ac7bc403af83ba77","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-0bd7 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T20:42:39Z","prev_hash":"c381a0cc36aa7975ea0e31c75b74a6ca3d8cf70cc49121a631e127aa929c715d","payload_hash":"4fc62b33230cb6e7c08d92cf5f5e365245e815f28271c63b2f1a76a4249aa22b","hash":"3187731915dda598f720f7038f0dced79fcddd90c0e2290efc8ae47ff1df9171"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo.8@680c78f","from_type":"verdict","to_id":"680c78fe8e72c9ad3211be6eabdb3c46062504a3","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo.8 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T21:28:54Z","prev_hash":"3187731915dda598f720f7038f0dced79fcddd90c0e2290efc8ae47ff1df9171","payload_hash":"b2e6fc4c6abf0c8611e096c0bd6c26ff4feff6c57b9f91e1332c6d284f5a6b37","hash":"2e5f0e2c9d583f12ff0f02646ec605ee4ebfe9de04ed5c38dd559845da1b8ddc"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-hgoh@b799247","from_type":"verdict","to_id":"b799247671c20ee715877ef74f5db8f5600d07e9","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-hgoh disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T21:50:04Z","prev_hash":"2e5f0e2c9d583f12ff0f02646ec605ee4ebfe9de04ed5c38dd559845da1b8ddc","payload_hash":"f6959f02be9f20cc157ec64c3d8f7f1279c808c22fca13b30a1d90e3491d80e9","hash":"ecaca192ac9de038b4557fcd3bba5ca762dddee0becd18c80b1fb26140d177b5"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-hgoh@0953d9c","from_type":"verdict","to_id":"0953d9c4794636968f8d8e2fa404f240357db2dc","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-hgoh disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T22:03:00Z","prev_hash":"ecaca192ac9de038b4557fcd3bba5ca762dddee0becd18c80b1fb26140d177b5","payload_hash":"18287c7c0f9f43548488f2b5257d14792418f5f69cb7dd8bde2947a27f12c4e5","hash":"0d8af21758c0dcde20f54c0a78e8208dbcc8ea58884fb015862760a33c8a13ff"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-ptu6@9bf7f27","from_type":"verdict","to_id":"9bf7f270fa6c569e4a111e434ffcbcd0ff288c44","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-ptu6 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-22T22:57:17Z","prev_hash":"0d8af21758c0dcde20f54c0a78e8208dbcc8ea58884fb015862760a33c8a13ff","payload_hash":"e0b7f57eedafb75fdada85358d64706c7150da46c5f7644e770abe8f4ca4f4c0","hash":"a3ee5cd0003e5f787203b07cef94138d7e0406f84c1eadea1b9318af135ce7b3"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-lrl9@7665b41","from_type":"verdict","to_id":"7665b41264a3cc561f1e5c4b85d194ff7ae1d95d","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-lrl9 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T05:13:07Z","prev_hash":"a3ee5cd0003e5f787203b07cef94138d7e0406f84c1eadea1b9318af135ce7b3","payload_hash":"ac7836adda0e41dc43f2506964a35a915b2ae1386da1a18e11fe1d91299b93a3","hash":"3432f44b0d917f417456b2a25e57fcf8b44c7093ccd48f18ede1d38c972cf029"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-lrl9@c659494","from_type":"verdict","to_id":"c65949435a0395c6b1e13735420f2c13daf51f65","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-lrl9 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T05:34:14Z","prev_hash":"3432f44b0d917f417456b2a25e57fcf8b44c7093ccd48f18ede1d38c972cf029","payload_hash":"294f38cb248970c0b9f7a98ad55cd61be498a316781b01fb3f77811c3b018820","hash":"c9311e84b61308cde9f382dc5c5f54448cfcd6beed80404919bfadade7119c0b"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-9h3d@f242073","from_type":"verdict","to_id":"f2420735c1b3d27c645fc474ca5ae79a687b6703","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-9h3d disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T05:43:21Z","prev_hash":"c9311e84b61308cde9f382dc5c5f54448cfcd6beed80404919bfadade7119c0b","payload_hash":"ae406de286a46c8d15fe160d6b961d104d015b024bc32c9a734f6ffe0c982d94","hash":"8fe6efc66938f3508a52595f467d9262fc4ce559d01c5a4bba8600be1e3c45c3"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-7q7d@7c9a36d","from_type":"verdict","to_id":"7c9a36dfb30901d439143b2e772ebcf42913f4a5","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-7q7d disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T06:41:15Z","prev_hash":"8fe6efc66938f3508a52595f467d9262fc4ce559d01c5a4bba8600be1e3c45c3","payload_hash":"ec0a40a3ac386864247662867915fd434844a15679c440913a2345124c00afe4","hash":"9198468323f33df214088662de7db13484385d542e772fdb16191e7b7867ae9b"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-0osc@8969834","from_type":"verdict","to_id":"8969834716a148db04d24093d058a72faf933848","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-0osc disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T06:52:52Z","prev_hash":"9198468323f33df214088662de7db13484385d542e772fdb16191e7b7867ae9b","payload_hash":"0fb7dd8e5ec41c36364d24e5434a0754cde22633e64b68387829eacaa31ad72e","hash":"a5afd7b22a762a7936c3328054307c689bc22bb60c252b0110547fc0baa3f7cc"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-sq5a@ac11f04","from_type":"verdict","to_id":"ac11f04ca701c7653eea816ed51097904bad8cba","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-sq5a disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T07:03:31Z","prev_hash":"a5afd7b22a762a7936c3328054307c689bc22bb60c252b0110547fc0baa3f7cc","payload_hash":"6c114d4428d2abef76d2cb694e70394aafebf7ce80a9f36d05aefa767efd32c5","hash":"6b53248dc5238964c4940608f4876f8ac6476bfde7a35579c0f62c836ea43325"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-546s@f75942f","from_type":"verdict","to_id":"f75942f93bebf56c454f949d92d7547442a45bf5","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-546s disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T07:14:13Z","prev_hash":"6b53248dc5238964c4940608f4876f8ac6476bfde7a35579c0f62c836ea43325","payload_hash":"1f6758dae101e381c5874ed027b1c6f0b51fd88b6479cc8b8736539489a82898","hash":"de53d01a2b854ec25c4e87215b82a4cee0170476970c77b5c80706b02bfabfd8"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-179r@5f9d69f","from_type":"verdict","to_id":"5f9d69f7f97d45639181e103c1174c2ec608b66a","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-179r disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T09:40:19Z","prev_hash":"de53d01a2b854ec25c4e87215b82a4cee0170476970c77b5c80706b02bfabfd8","payload_hash":"36997e986c17690293c8db56a5328462e2898d7ae91fb18544abbe7b5ea7a711","hash":"01d7f7aa0abdf532655cdd1a583a4d5e3e8df58c9abdeeee2e04abc74280f780"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-94la@12cfc73","from_type":"verdict","to_id":"12cfc730bda6a5e956cbc13212e73a2649e068ea","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-94la disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T09:45:30Z","prev_hash":"01d7f7aa0abdf532655cdd1a583a4d5e3e8df58c9abdeeee2e04abc74280f780","payload_hash":"befeb3496da8c10f1c1db5f6948d3adf06bb77dd657c5f385ecd601ebc871a64","hash":"2b9c556f724d0dca02a63188347f9c8e5bb377f05e25715fadd0ef21cf2f8745"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-8mcs@6a34c13","from_type":"verdict","to_id":"6a34c13d6b7c5851f13d11ae470a2f5e72c357bc","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-8mcs disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T09:50:26Z","prev_hash":"2b9c556f724d0dca02a63188347f9c8e5bb377f05e25715fadd0ef21cf2f8745","payload_hash":"e418a5100c2789d7ce75d4b60e85eb4a37d8a6264415faad957af0045f965a95","hash":"92a295b04779e5b5de1c3794f6c4381e1d5bd5d0b4baba30fcc01e2a57e3f9bd"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-h8bq@da7944d","from_type":"verdict","to_id":"da7944dfea0b157c4ab6dc34e49f569388cd6c61","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-h8bq disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T10:50:52Z","prev_hash":"92a295b04779e5b5de1c3794f6c4381e1d5bd5d0b4baba30fcc01e2a57e3f9bd","payload_hash":"765e2de825661183323c93929ac52fdd1ca8ec255e6a07650a2edf913ad83573","hash":"26cdac80021a00e14c46f69feb52b2d112785baf2df00800e989ad645a0d179e"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ag-ptts@cafef00","from_type":"verdict","to_id":"cafef00dbabe1234","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ag-ptts disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T11:40:11Z","prev_hash":"26cdac80021a00e14c46f69feb52b2d112785baf2df00800e989ad645a0d179e","payload_hash":"06a81726d5995b77359f74df80cfe0908b002cd64f9446b0be6cb810f197a6a3","hash":"99a7866779f90a5cb4a48f9bb0286678253a2a26d71f117364224b831b7227fa"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-lz4b@3311d7b","from_type":"verdict","to_id":"3311d7b5416f78569b13e7c1e29c96529a334cbf","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-lz4b disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T12:44:39Z","prev_hash":"99a7866779f90a5cb4a48f9bb0286678253a2a26d71f117364224b831b7227fa","payload_hash":"dcdf1289bb6d5a724a5b08e52c0f54920759f95d5ef17759ceada50e208fbe27","hash":"2c8a9dbafd9617c136f689478b2cd44e85e6a2dc83a40597ef0f3365b4efaab7"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-qzvm@6d20d0e","from_type":"verdict","to_id":"6d20d0ed20e6fe26e846867dd3831400140ee8ec","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-qzvm disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T12:52:27Z","prev_hash":"2c8a9dbafd9617c136f689478b2cd44e85e6a2dc83a40597ef0f3365b4efaab7","payload_hash":"e7adffe3d4d0bccf4b69e8181e258c36cd09f08d97396352073d5195fed9d7a7","hash":"790576761e5840299499a1e913ad1f3b15a90f7bc40b0af2612fbf8d670e4bab"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-jtz0@64d882f","from_type":"verdict","to_id":"64d882f86d8427e165ec928e0d79c1397a8c70f1","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-jtz0 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T12:58:09Z","prev_hash":"790576761e5840299499a1e913ad1f3b15a90f7bc40b0af2612fbf8d670e4bab","payload_hash":"08b517f4881357931530ced40f1ad1a7bc4089775bd024cf465d0f5d94341921","hash":"8c5fb8eea8efd32201fdc2e937186f73eb5ca4a1a118a029c9a197862f960914"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-zvpx@b19f6d3","from_type":"verdict","to_id":"b19f6d36667715682b8b045321ee2d5c7e48b669","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-zvpx disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T13:05:27Z","prev_hash":"8c5fb8eea8efd32201fdc2e937186f73eb5ca4a1a118a029c9a197862f960914","payload_hash":"69804880f07de8f68b4eea459837502e891503722254fd6a489d7aaeee90c13e","hash":"61f6d009a41ea554b74bfb6b55bc63d987ddc50250eb6e31b76d9b9951c00234"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-m9rf@e58cdf0","from_type":"verdict","to_id":"e58cdf08069c89f0502e0fff2c2a949e6cd8eba7","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-m9rf disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T13:12:33Z","prev_hash":"61f6d009a41ea554b74bfb6b55bc63d987ddc50250eb6e31b76d9b9951c00234","payload_hash":"f247d8b5633298a292e747c94a1301772a63995639543cc2a00641f59020b5e8","hash":"565822d5e61294b8a66a9835d169da9fa6eea22d256bf97134bea45b9f61c4c7"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-ifxq@986d083","from_type":"verdict","to_id":"986d08302d1a001d312c94467e6a53fe68576b38","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-ifxq disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T13:23:33Z","prev_hash":"565822d5e61294b8a66a9835d169da9fa6eea22d256bf97134bea45b9f61c4c7","payload_hash":"75851a4c2e4ffba5a37d6953e91cfa7af065d695ff4ad80d59c1d17ba45a1adc","hash":"d4a6d41ed40480d809309ae8914c809492f5c8b3e5aecaf1d2f9fcbba4cd9790"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-iue5@b1a0f52","from_type":"verdict","to_id":"b1a0f521260fb81f0ca802528b567bfeb5d44db2","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-iue5 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T13:32:48Z","prev_hash":"d4a6d41ed40480d809309ae8914c809492f5c8b3e5aecaf1d2f9fcbba4cd9790","payload_hash":"32ef925c56f5ca699988bfaff5e15effbf2b19eb8d7d804a913e6b3c6327e98a","hash":"bc2e8dbae64daffde12e44ba2d2561d62ead8221962b093fe874c3c353851933"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-7jm6@e9a210e","from_type":"verdict","to_id":"e9a210edd583726b9ed8ac60dd909951ded39b1a","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-7jm6 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T13:42:47Z","prev_hash":"bc2e8dbae64daffde12e44ba2d2561d62ead8221962b093fe874c3c353851933","payload_hash":"e2dcefcd14fcce7fe481f046bd9aea59288f0d7fba5685b113b1243702094201","hash":"6e150106aeb88b55908b913ea0f91cda19a536df4a8a0a71c269197d0bad5bff"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-u8tv@161a36f","from_type":"verdict","to_id":"161a36f841f8264e18d62635e727028d325ab288","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-u8tv disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T13:50:49Z","prev_hash":"6e150106aeb88b55908b913ea0f91cda19a536df4a8a0a71c269197d0bad5bff","payload_hash":"f1995d9a9023dfae1d8d5b0285e79b20e90362b827ab07e2d7285f83cabccf2c","hash":"438746f226c156748d3acbd394208cdfc016dd4ba34c914f841918c8a3a739ed"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-i0ky@30d690d","from_type":"verdict","to_id":"30d690d7fc119c5318067145737a9140155cde8c","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-i0ky disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T14:23:57Z","prev_hash":"438746f226c156748d3acbd394208cdfc016dd4ba34c914f841918c8a3a739ed","payload_hash":"43bcf94ef932218d08b90cad5291452ebde47c2901cf87db4e4b84ff8fbd3b3d","hash":"e0aca84f951c21846b6ec79349a4299299b8c5ab9cc3a53c48df73970dc23fa4"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-odoc@c13ffe6","from_type":"verdict","to_id":"c13ffe6823a0c68470af57c8c14835247d15a366","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-odoc disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T15:12:52Z","prev_hash":"e0aca84f951c21846b6ec79349a4299299b8c5ab9cc3a53c48df73970dc23fa4","payload_hash":"ae547861f682f45fc1d563025e8baed3aeca463fe257b01ade1136b0e393365b","hash":"85f30d95417f7f49a72d4d8acfd6f3f642ce317a7c9a4201b083a0029fa0215c"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-wruf@44e5ac7","from_type":"verdict","to_id":"44e5ac7fda08feeda283ca182a2a65b76a05211c","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-wruf disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T16:12:49Z","prev_hash":"85f30d95417f7f49a72d4d8acfd6f3f642ce317a7c9a4201b083a0029fa0215c","payload_hash":"05d8425fff69a4da963becf9b1d2b0ee07bccdc2f265e1e3ee8a98cce73b05bf","hash":"150ac9ca9f913305fb38f3fa005b14309cbc0a64b40e631b5209e7faa074ad65"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-5ejm@f01b06d","from_type":"verdict","to_id":"f01b06d05d07b24dd2c77bab12dbb58d2518bf5f","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-5ejm disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T16:40:09Z","prev_hash":"150ac9ca9f913305fb38f3fa005b14309cbc0a64b40e631b5209e7faa074ad65","payload_hash":"1b1e9b8d29618f1b680d0f1a0513429357b9f9e4349aa384912bffa13e934900","hash":"a8809bf1c78dbca920c0b3fb6bcc87cc31ac7cdd70a38d8b583e1d6c6fe6a654"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-otyq@bd182dd","from_type":"verdict","to_id":"bd182ddf8f6de65b5127bea2cffe1da1f5eb8768","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-otyq disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T16:59:07Z","prev_hash":"a8809bf1c78dbca920c0b3fb6bcc87cc31ac7cdd70a38d8b583e1d6c6fe6a654","payload_hash":"76dda3e8b198275ea3ddda553311bff5a40af192f1d474914720cc1dd78b23ba","hash":"517dd7696b543d983c884adf089f3a6694419da99407d98ef037a9ebfd085df6"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-rxzp@5d0f591","from_type":"verdict","to_id":"5d0f5913acd193f8eeb28752b60e12ec9465c1d5","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-rxzp disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T17:07:25Z","prev_hash":"517dd7696b543d983c884adf089f3a6694419da99407d98ef037a9ebfd085df6","payload_hash":"2a0c032eed507d1883331cc516baa1a78b7c94a37170cf3b86c16bb86b05f054","hash":"f85acbb46ea2d7725f69cefcefb12a1949fdd0572c596b6acbe64ff6a2b94cb2"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-cwo@944e1fd","from_type":"verdict","to_id":"944e1fd359a83e1243047455c646777fe7a54c1d","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-cwo disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T20:22:23Z","prev_hash":"f85acbb46ea2d7725f69cefcefb12a1949fdd0572c596b6acbe64ff6a2b94cb2","payload_hash":"46d7b959ffe93f8678b6ab517958a9ba32651cf6743aa387173d38ce9669bc7d","hash":"9ad02a189ee66975e918fb581b0b8208abc596a9b758889441dfb67298506445"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"ml8-route-test@944e1fd","from_type":"verdict","to_id":"944e1fd359a83e1243047455c646777fe7a54c1d","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict ml8-route-test disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T20:50:52Z","prev_hash":"9ad02a189ee66975e918fb581b0b8208abc596a9b758889441dfb67298506445","payload_hash":"fafb650d2547965583e407e0147a9b6a5347372fddd2168897403dec7753096c","hash":"411a144a5b23fcae6a8f2aac79e0a4c30965c7fcdbd2d34b24f1bb4f09a7da93"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-standing-pawl-service-ml8.7@7c3ff9a","from_type":"verdict","to_id":"7c3ff9a933ed1e8176e15ddb86db7e497380f853","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-standing-pawl-service-ml8.7 disposition=REFUTED","trust_tier":"inferred","ts":"2026-06-23T20:59:51Z","prev_hash":"411a144a5b23fcae6a8f2aac79e0a4c30965c7fcdbd2d34b24f1bb4f09a7da93","payload_hash":"c8988b83499e534ea0411acf0083d9cc43bb69960d69f63af60b32da140c58bb","hash":"98a5eb96b946db384f4a922b7c1a3c0b68eaf7e92174376f60d83bb6822662d4"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-standing-pawl-service-ml8.7@114b35c","from_type":"verdict","to_id":"114b35c6d80a3b5c3ff3d1082d2f4a7293539cc3","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-standing-pawl-service-ml8.7 disposition=REFUTED","trust_tier":"inferred","ts":"2026-06-23T21:09:28Z","prev_hash":"98a5eb96b946db384f4a922b7c1a3c0b68eaf7e92174376f60d83bb6822662d4","payload_hash":"01af0ee9f4f5f6db434fe3dea98a3361702ec06416b0620568aae900b93b9cb3","hash":"0bcc65f0b915a8311e888ff7545b234b328a824d763547f9e58feec039e08804"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-standing-pawl-service-ml8.7@0bb3dc3","from_type":"verdict","to_id":"0bb3dc3662dc943997053ee3feed52300620efb3","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-standing-pawl-service-ml8.7 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T21:19:35Z","prev_hash":"0bcc65f0b915a8311e888ff7545b234b328a824d763547f9e58feec039e08804","payload_hash":"f57ba6ca56206f72c1ad6aa8921647c847a2acc7e986735d8dad97e412259175","hash":"d345fe551ad2168b71068c171297dac8bcaf035c4147e3f27f980e5210950855"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-standing-pawl-service-ml8.6@f67c2bf","from_type":"verdict","to_id":"f67c2bfbbc1a92d06749ca62477bd7e5a56958f1","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-standing-pawl-service-ml8.6 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T21:41:01Z","prev_hash":"d345fe551ad2168b71068c171297dac8bcaf035c4147e3f27f980e5210950855","payload_hash":"05cc90eb836b1c80e4c864b82aee35cc952360124638a5281bc8efd5d51178ea","hash":"60df4269354eeee9dc7ae80887714e899a1ab2c2492ec05639f6a9494994a93d"}
|
||||
{"schema_version":"agentops-sdlc-provenance.v1","from_id":"age-standing-pawl-service-ml8@94840c0","from_type":"verdict","to_id":"94840c06b6313760b9028a8ab2600492531fb773","to_type":"commit","relation":"wasDerivedFrom","evidence_ref":"pawl-verdict age-standing-pawl-service-ml8 disposition=CONFIRMED","trust_tier":"inferred","ts":"2026-06-23T22:21:51Z","prev_hash":"60df4269354eeee9dc7ae80887714e899a1ab2c2492ec05639f6a9494994a93d","payload_hash":"7f0ff78fae5cd607352ed829884d93f1c1e07a4de27ac105aaeda3c6c357d15a","hash":"3c0321e78c3ddf6f50c8dfd18ecf17f0db3b14f3dea7e6fb2ae9fd769064ddd4"}
|
||||
@@ -0,0 +1,172 @@
|
||||
#!/usr/bin/env bats
|
||||
# gen-membrane-receipts.bats — the membrane-receipts generator derives honest,
|
||||
# deterministic numbers from a real-shape ledger fixture and REFUSES to render
|
||||
# when the hash chain is tampered.
|
||||
#
|
||||
# Fixture: tests/fixtures/provenance/membrane-receipts-ledger-slice.jsonl is a
|
||||
# verbatim 150-line PREFIX of docs/provenance/ledger.jsonl (real persisted
|
||||
# shape; a prefix preserves the hash chain from genesis, so `ao provenance
|
||||
# verify` passes on it unmodified). Frozen expected values for that slice:
|
||||
# 150 records = 127 verdict edges + 23 bead->commit edges
|
||||
# dispositions: 123 CONFIRMED, 3 REFUTED, 1 ESCALATE
|
||||
# REFUTED-then-fixed arcs: 2 (age-standing-pawl-service-ml8.7 refuted on
|
||||
# 7c3ff9a and 114b35c, both later CONFIRMED on 0bb3dc3)
|
||||
# REFUTED without recorded fix: 1 (ag-721 on cafef00)
|
||||
|
||||
setup_file() {
|
||||
REPO_ROOT="$(cd "$BATS_TEST_DIRNAME/../.." && pwd)"
|
||||
export REPO_ROOT
|
||||
# Resolve an ao binary once for the whole file: PATH first, else build.
|
||||
if [ -z "${AO_BIN:-}" ]; then
|
||||
if command -v ao >/dev/null 2>&1 && ao provenance verify --help >/dev/null 2>&1; then
|
||||
AO_BIN="$(command -v ao)"
|
||||
echo "# using ao from PATH: $AO_BIN" >&3
|
||||
else
|
||||
AO_BIN="$BATS_FILE_TMPDIR/ao"
|
||||
echo "# ao not usable from PATH; building $AO_BIN" >&3
|
||||
(cd "$REPO_ROOT/cli" && go build -o "$AO_BIN" ./cmd/ao)
|
||||
fi
|
||||
fi
|
||||
export AO_BIN
|
||||
}
|
||||
|
||||
setup() {
|
||||
SCRIPT="$REPO_ROOT/scripts/gen-membrane-receipts.sh"
|
||||
FRESHNESS="$REPO_ROOT/scripts/check-membrane-receipts-freshness.sh"
|
||||
FIXTURE="$REPO_ROOT/tests/fixtures/provenance/membrane-receipts-ledger-slice.jsonl"
|
||||
# Build a fixture "repo root": ao provenance verify resolves the ledger by
|
||||
# walking up for a dir holding docs/ + schemas/.
|
||||
ROOT="$BATS_TEST_TMPDIR/fixroot"
|
||||
mkdir -p "$ROOT/docs/provenance" "$ROOT/schemas"
|
||||
cp "$FIXTURE" "$ROOT/docs/provenance/ledger.jsonl"
|
||||
OUT_MD="$BATS_TEST_TMPDIR/out/membrane-receipts.md"
|
||||
OUT_JSON="$BATS_TEST_TMPDIR/out/membrane-receipts.json"
|
||||
}
|
||||
|
||||
run_generator() {
|
||||
run env PROVENANCE_LEDGER="$ROOT/docs/provenance/ledger.jsonl" \
|
||||
RECEIPTS_MD="$OUT_MD" RECEIPTS_JSON="$OUT_JSON" AO_BIN="$AO_BIN" \
|
||||
"$SCRIPT"
|
||||
echo "# generator exit=$status" >&3
|
||||
printf '%s\n' "$output" | sed 's/^/# /' >&3
|
||||
}
|
||||
|
||||
jqv() { jq -r "$1" "$OUT_JSON"; }
|
||||
|
||||
@test "generator derives correct counts from the real-shape fixture ledger" {
|
||||
run_generator
|
||||
[ "$status" -eq 0 ]
|
||||
[ -f "$OUT_MD" ]
|
||||
[ -f "$OUT_JSON" ]
|
||||
|
||||
echo "# asserting JSON twin counts against frozen fixture expectations" >&3
|
||||
[ "$(jqv '.totals.ledger_records')" = "150" ]
|
||||
[ "$(jqv '.totals.verdict_events')" = "127" ]
|
||||
[ "$(jqv '.totals.bead_commit_edges')" = "23" ]
|
||||
[ "$(jqv '.dispositions.CONFIRMED')" = "123" ]
|
||||
[ "$(jqv '.dispositions.REFUTED')" = "3" ]
|
||||
[ "$(jqv '.dispositions.other.ESCALATE')" = "1" ]
|
||||
[ "$(jqv '.escapes.ledger_escape_records')" = "0" ]
|
||||
[ "$(jqv '.source.chain_verified')" = "true" ]
|
||||
[ "$(jqv '.time_range.first')" = "2026-06-13T23:55:06Z" ]
|
||||
[ "$(jqv '.time_range.last')" = "2026-06-23T22:21:51Z" ]
|
||||
|
||||
echo "# asserting the human page carries the same derived numbers" >&3
|
||||
grep -Fq '| Ledger records | 150 |' "$OUT_MD"
|
||||
grep -Fq '| Verdict events (verdict → commit) | 127 |' "$OUT_MD"
|
||||
grep -Fq '| CONFIRMED verdicts | 123 |' "$OUT_MD"
|
||||
grep -Fq '| REFUTED verdicts | 3 |' "$OUT_MD"
|
||||
grep -Fq '| ESCALATE verdicts | 1 |' "$OUT_MD"
|
||||
grep -Fq '| Escape-tagged ledger records | 0 |' "$OUT_MD"
|
||||
grep -Eq '^Generated: [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9:]{8}Z$' "$OUT_MD"
|
||||
}
|
||||
|
||||
@test "REFUTED-arc detection: fixed arcs counted, unfixed refute surfaced honestly" {
|
||||
run_generator
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
echo "# arc counts" >&3
|
||||
[ "$(jqv '.caught_defects.refuted_then_fixed')" = "2" ]
|
||||
[ "$(jqv '.caught_defects.refuted_without_recorded_fix')" = "1" ]
|
||||
[ "$(jqv '.exemplar_catches | length')" = "3" ]
|
||||
|
||||
echo "# ml8.7 refutes must both link the later CONFIRMED commit 0bb3dc3" >&3
|
||||
[ "$(jqv '[.caught_defects.arcs[] | select(.bead=="age-standing-pawl-service-ml8.7") | .fixed_by.commit_short] | join(",")')" = "0bb3dc3,0bb3dc3" ]
|
||||
|
||||
echo "# ag-721 has no CONFIRMED follow-up in the slice -> fixed_by null" >&3
|
||||
[ "$(jqv '.caught_defects.arcs[] | select(.bead=="ag-721") | .fixed_by')" = "null" ]
|
||||
|
||||
echo "# exemplar lines link the real short SHAs from the ledger" >&3
|
||||
grep -Fq '`cafef00`' "$OUT_MD"
|
||||
grep -Fq '`7c3ff9a`' "$OUT_MD"
|
||||
grep -Fq 'no CONFIRMED follow-up recorded in this ledger' "$OUT_MD"
|
||||
grep -Fq 'fixed: CONFIRMED on `0bb3dc3`' "$OUT_MD"
|
||||
}
|
||||
|
||||
@test "generator REFUSES to render when the ledger chain is tampered" {
|
||||
echo "# tampering: flipping a REFUTED disposition to CONFIRMED without re-hashing" >&3
|
||||
sed 's/disposition=REFUTED/disposition=CONFIRMED/' \
|
||||
"$ROOT/docs/provenance/ledger.jsonl" > "$BATS_TEST_TMPDIR/tampered.jsonl"
|
||||
mv "$BATS_TEST_TMPDIR/tampered.jsonl" "$ROOT/docs/provenance/ledger.jsonl"
|
||||
|
||||
run_generator
|
||||
[ "$status" -eq 1 ]
|
||||
[[ "$output" == *"REFUSING to render"* ]]
|
||||
[[ "$output" == *"verification FAILED"* ]]
|
||||
|
||||
echo "# refusal must leave NO rendered artifacts behind" >&3
|
||||
[ ! -f "$OUT_MD" ]
|
||||
[ ! -f "$OUT_JSON" ]
|
||||
}
|
||||
|
||||
@test "deterministic output: two runs are byte-identical modulo the generated-at line" {
|
||||
run_generator
|
||||
[ "$status" -eq 0 ]
|
||||
cp "$OUT_MD" "$BATS_TEST_TMPDIR/run1.md"
|
||||
cp "$OUT_JSON" "$BATS_TEST_TMPDIR/run1.json"
|
||||
|
||||
sleep 1 # force a different generated-at timestamp
|
||||
run_generator
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
echo "# timestamps must differ (proves the filter below is load-bearing)" >&3
|
||||
run diff -q "$BATS_TEST_TMPDIR/run1.md" "$OUT_MD"
|
||||
[ "$status" -ne 0 ] # timestamps MUST differ or the modulo-filter below proves nothing
|
||||
|
||||
echo "# md diff ignoring the single Generated line" >&3
|
||||
diff <(grep -v '^Generated: ' "$BATS_TEST_TMPDIR/run1.md") \
|
||||
<(grep -v '^Generated: ' "$OUT_MD")
|
||||
|
||||
echo "# json diff ignoring the generated_at field" >&3
|
||||
diff <(jq 'del(.generated_at)' "$BATS_TEST_TMPDIR/run1.json") \
|
||||
<(jq 'del(.generated_at)' "$OUT_JSON")
|
||||
}
|
||||
|
||||
@test "freshness check: fresh receipts PASS, stale receipts WARN (exit 0), strict fails" {
|
||||
run_generator
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
run env PROVENANCE_LEDGER="$ROOT/docs/provenance/ledger.jsonl" RECEIPTS_MD="$OUT_MD" "$FRESHNESS"
|
||||
echo "# fresh: exit=$status output=$output" >&3
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"PASS"* ]]
|
||||
|
||||
echo "# aging the page: Generated 40 days before the ledger tip (tip 2026-06-23)" >&3
|
||||
sed 's/^Generated: .*/Generated: 2026-05-14T00:00:00Z/' "$OUT_MD" > "$BATS_TEST_TMPDIR/stale.md"
|
||||
|
||||
run env PROVENANCE_LEDGER="$ROOT/docs/provenance/ledger.jsonl" RECEIPTS_MD="$BATS_TEST_TMPDIR/stale.md" "$FRESHNESS"
|
||||
echo "# stale: exit=$status output=$output" >&3
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"WARN"* ]]
|
||||
|
||||
run env PROVENANCE_LEDGER="$ROOT/docs/provenance/ledger.jsonl" RECEIPTS_MD="$BATS_TEST_TMPDIR/stale.md" "$FRESHNESS" --strict
|
||||
echo "# stale --strict: exit=$status output=$output" >&3
|
||||
[ "$status" -eq 1 ]
|
||||
[[ "$output" == *"FAIL"* ]]
|
||||
|
||||
echo "# missing page warns (warn-only posture)" >&3
|
||||
run env PROVENANCE_LEDGER="$ROOT/docs/provenance/ledger.jsonl" RECEIPTS_MD="$BATS_TEST_TMPDIR/nope.md" "$FRESHNESS"
|
||||
echo "# missing: exit=$status output=$output" >&3
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"WARN"* ]]
|
||||
}
|
||||
Reference in New Issue
Block a user