docs/publish-checklist.md
107 lines · 4.8 KB
Publish Checklist
Every public Oak-vs-Git claim walks this list. An unchecked box is a blocked
publish, not a footnote. Complements docs/benchmark-coverage.md (what may be
cited) and docs/statistical-methodology.md (how many runs).
Per-table gates
-
Claim numbers are reproduced mechanically. For every public number,
write a
scripts/public_claim_gate.pyclaim spec that filters the cited raw JSONL rows, recomputes the stated value/ratio/delta, and fails when drift exceeds the stated tolerance.publish_gate.pysays rows are publishable;public_claim_gate.pysays the specific number in the copy is still true. -
Tuned git present. Wide-tree status/diff tables include
git_untracked_cacheANDgit_fsmonitorrows (--git-modes untracked_cache,fsmonitor; fsmonitor--daemon verified healthy on the runner β it is, on this darwin host, 2026-06-11). Stock git alone overstates oak wins. -
Oak source provenance clean. Every published Oak subject row carries
source.oak_hashand a cleansource.oak_status; dirty or unknown Oak source state blocks publication. -
Core sample count sufficient. Public core tables use at least n=30
per subject/scenario/operation group (
standard,large, andmicroprofiles). Smoke rows catch regressions only; they do not support public speed claims. -
Randomization recorded. Public core rows state
randomized_subject_order; when true, rows include the per-runsubject_orderused to reduce order/cache bias. - Public rows are failure-free. Failed measured rows block publication; failures must be fixed, quarantined as explicit skip rows, or reported in a non-published investigation table.
-
One benchmark track per file.
agent-default,core-equivalent, and other tracks are never mixed in the same published JSONL file. -
Calibration cited. Any cross-subject token delta names its char/4
calibration factors from
docs/token-calibration-factors.md(recaptured at scale for the drop, not reused from the working table) or uses exact tokenizer counts. Log/stat-family deltas are never published raw. -
Envelope constants current.
token_calibration.py --envelopedrift vsoakbench/tokens.pyconstants checked; rows state their constants viaENVELOPE_NOTE. -
No transport mixing. No cell aggregates or deltas local-file vs
network rows (
remote.*vsremote.net.*; sync workflows: git local-bare vs oak server β tokens/calls only, never latency). Symmetric-network lanes (task loop, mount-vs-clone) state both server identities. - No instruction-level mixing. Real-agent tables report zero-shot and cheat-sheet separately, n stated per level (nβ₯10 for success-rate claims).
- Nulls are unmeasured. No blank-as-zero: every null renders as "unmeasured"; every returncode-77 skip appears with its skip_reason or the row set is stated as filtered.
-
Tails are honest. p95 only with nβ₯20, p99 only with nβ₯100
(
benchmark_stats.pyenforces blank cells β do not fill them in by hand). -
Recall beside bytes. Output-byte/token wins cite
information_recallandpipe_compatible_unifiedfrom the same run β compact-but-lossy is a regression, not a win. -
Noise floor cleared. Every claimed delta exceeds the run's printed
detection limit (devloop A/A floor or CI from
benchmark_stats.py).
Per-drop gates
- Raw JSONL for every cited table is archived and linked.
- Hardware, OS, filesystem, git/oak versions, repetitions, randomization stated once per drop.
-
Scripted vs real-agent provenance labeled per table; real-agent rows
use provider-reported tokens (
token_metrics.total_tokens_reported). -
Track labeled per table (
agent-defaultvscore-equivalent). - Known oak losses present, not filtered: the suite's credibility is that it reports both directions (e.g. pipe-compat 0%, divergence-recovery data loss, wide-tree mount findings β whatever the current run shows).
-
Fixture identity stated (name, version, seed) so third parties can
regenerate (
scripts/make_large_fixture.pyfor the mirrors).
Claim gate spec sketch
Run:
python3 scripts/public_claim_gate.py --claims claim.json raw/*.jsonl
Minimal claim file:
{
"schema_version": 1,
"claims": [
{
"id": "branch_fleet_n100_wall",
"row_filter": {
"scenario": "branch_fleet_n100",
"operation": "fleet.total",
"platform": "oak"
},
"metric": "elapsed_ms",
"statistic": "median",
"guards": {
"fields_true": ["json_oracle_passed"],
"fields_zero": ["cleanup_failure_count"]
},
"expected": {
"field": "value",
"value": 122000,
"tolerance_pct": 5
}
}
]
}