arborist/bench/qa_questions_canonical_witness_npower.txt
russell@unturf.com 8980e64aa0
three-thread session output: stale TODOs, N-power probe, ForkScore Phase 1c
Three threads landed in a single commit because they share the same
substrate (the #000037 §12 trigger probe shipped in c422216):

A — code-side stale-map sweep (arborist/qa/repair.py)
=====================================================

Walked inline TODO/FIXME/XXX markers across arborist/ + tests/. Five
hits: two false-positives (\\uXXXX in escape pattern docs), one
genuine deferral (raw_html cache in async_web_fetcher), and **two
stale TODOs in arborist/qa/repair.py** referring to "re-prompt
feedback path is future work" — even though `reprompt_repair` is
fully implemented (lines 140+ at the time of this commit), wired
through CLI `--repair-reprompts N` flag (cli.py:4574), and gated by
`policy["repair_max_reprompts"]`. Refreshed the docstring header
and the in-body comment to point at the actual function.

Same drift pattern as today's earlier ticket sweep (e84f453):
implementation lands, the TODO doesn't get refreshed, future readers
re-implement what's already there.

B — N-power follow-up to the §12 trigger probe
==============================================

c422216's first probe run reported trigger 2 (divergence variance)
at N=16, σ=0.5, ratio=0.8 — both threshold conditions would fire if
N reached the 30-sample N_min. To validate that the variance signal
holds at N≥30 (rather than vanishing on a wider sample), drove the
canonical-witness path 20 additional times via a new
bench/qa_questions_canonical_witness_npower.txt fixture
(10 arithmetic@v1 + 10 logic-kernel@v1 questions; all
canonicalize-then-LLM-witness without errors).

Result at N=37: trigger 2 fires. Ratio 0.575 > 0.5, abs σ 0.435 > 0.10.
Variance signal is real at the floor. Captured in
bench/results/prometheus-sigma-triggers-2026-05-10-npower.md with a
loud caveat at the top: this is N-power validation, NOT a measure of
real workload pressure. The §12 phase-1 go/no-go decision should
still come from natural workload N or operator-stated need.

The prior baseline (prometheus-sigma-triggers-2026-05-10.md) stays
in place as the workload-state-at-time-of-ticket-c422216 record;
this new -npower.md report is the statistical-power follow-up.

C — ForkScore Phase 1c proposal (#000012)
=========================================

#000037 §12 Trigger 1 ("ForkScore receives ≥4 candidate branches per
checkpoint") gates on multi-branch persistence — but #000012 Phase 1a
(landed 2026-05-08) is single-validator scoring of one fork at a
time, and Phase 1b (still open) is the consensus paper. Neither
persists branch-sets. So Trigger 1 structurally cannot fire today,
which the probe correctly reports as "no fork_score branch-set table
found".

Added Phase 1c to #000012 as a doc-only proposal (no code in this
commit):

- New `fork_score_branches` table (sibling to capital_ledger; does
  NOT enter audit_events.event_hash preimage).
- Optional `--branch-set <ID>` flag on `arborist v8 score`.
- One read API: `branch_set_density(conn, branch_set_id)`.
- #000037 probe wires through the new function once it lands.

Not opened as its own ticket because operator pressure for it
hasn't surfaced naturally — gates on either #000012 Phase 1b
landing OR #000030 algebra/calc kernel expansion producing
competing-kernel branches an operator wants to compare. Captured
here so a future shift doesn't re-discover the gap.

Hygiene
=======
- make test → 1623 passed, 45 skipped
- make chain-check-shards → 0 across all 7 shards
- fox's in-flight #000037 ticket modifications left untouched
2026-05-10 07:46:35 -04:00

51 lines
1.7 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Canonical-witness N-power fixture (2026-05-10).
#
# Purpose: bring the providence_canonical_witness sample count above
# the §12 Trigger 2 N_min=30 floor so the divergence-variance trigger
# can decisively fire-or-not-fire on real data. The first probe run
# (bench/results/prometheus-sigma-triggers-2026-05-10.md) showed:
#
# N=16, mean=0.625, σ=0.5, ratio=0.8
#
# Both the ratio (>0.5) and the absolute (>0.10) thresholds would
# already fire if N reached the 30-sample floor. This fixture
# generates 20 additional canonical-shape questions so the next
# probe run lands at N≥36 with the same code path.
#
# IMPORTANT: this is an N-power experiment, NOT a measure of real
# workload pressure. The §12 trigger is intended to fire when
# canonical-shape questions naturally accumulate at the 30+ scale on
# a live deployment. Filling the sample buffer manually proves the
# variance signal is statistically meaningful at N=30; it does not
# prove that fox's real workload has reached that pressure point.
# The probe report MUST tag this distinction.
#
# Question selection: pure-arithmetic and pure-propositional shapes
# only. The canonical projection sniff (query.py:3605) drops anything
# with question marks, lowercase words, or mixed shape — these inputs
# bypass that filter cleanly. Each one fires arithmetic@v1 OR
# logic-kernel@v1 and produces a witness audit event.
# === arithmetic@v1 (10 questions) ===
0.1 + 0.2
1/3 + 1/6
2 ** 10
3 * 7 + 2
(5 + 3) * 4
100 / 7
2.5 + 2.5
17 - 8
0.333 + 0.667
42 + 7 - 1
# === logic-kernel@v1 (10 questions) ===
A AND B
A OR NOT B
A IMPL B
NOT (A AND B)
(A AND B) OR C
A XOR B
A IFF B
NOT NOT A
(A IMPL B) AND (B IMPL A)
A AND (B OR C)