Skip to content

[gated on afi-governance #53] CAL-BENCHKIT-RETIRE: afi-econ: re-point --scores merit path to a synthetic merit-scores file - #4

Merged
Gio2050 merged 1 commit into
mainfrom
cal/benchkit-retire
Aug 25, 2026
Merged

Gio2050 merged 1 commit into
mainfrom
cal/benchkit-retire

Conversation

@Gio2050

@Gio2050 Gio2050 commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Gate

This PR may merge only after afi-governance PR #53 (CAL-GOV, analyst-calibration-record-v0.1) is merged with the CAL-BENCHKIT-RETIRE slot expressly authorized. It is a DRAFT until then. Clause implemented: D-CAL-6(3), the afi-econ act — "re-point afi-econ's --scores merit path to synthetic inputs or retire it (research plane, MATH-GOV §3 non-canonical; proven by afi-econ's own tests)".

PoI / PoInsight are NOT retired (D-CAL-5(4)). Proof-of-Intelligence and Proof-of-Insight remain reserved, preserved protocol reputation primitives (CONST-GOV D-CONST-5). The retired thing is afi-benchkit, an ungoverned implementation on reserved ground. The poi / poinsight keys in the synthetic file are placeholders that stand in for no protocol value.

What changed

  • examples/merit_scores.synthetic.json (new) — the documented synthetic merit-scores input, same shape as before: {reputation:{score}, poi:{score}, poinsight:{score}, n, stamp}; stamp.source = "synthetic". Replaces tests/fixtures/scores_min.json.
  • src/afi_econ_kit/cli.py — _load_benchkit_scores → _load_merit_scores; --scores help on simulate/replay/gauge now reads: merit scores JSON file (optional; synthetic — see examples/merit_scores.synthetic.json). The protocol source is the CAL-GOV analyst calibration record — not a scalar — and any merit conversion is CHAIN-GOV reserved. Stdout line: Using merit scores (synthetic): ….
  • scenarios.py / gauge.py / schemas.py / params/gauge_v0.yaml — wording; provenance stamp key benchkit_stamp → merit_stamp (pass-through unchanged).
  • scripts/end_to_end_audit.py — no longer locates a sibling afi-benchkit or shells out to afi-bench; reads the synthetic file; report key benchkit_influence_ok → merit_influence_ok.
  • tests/test_scores_ingest_with_file.py, examples/pipeline_demo.sh, examples/README.md — re-pointed; README's format block now shows the real file shape and documents the provenance boundary.
  • Removed tracked generated artifacts: out/, out_audit/, out_base/, out_with/ (the latter three pointed at /Users/secretservice/afi-benchkit/out/scores.json) and the stale src/afi_econ_kit.egg-info/ (a copy of a pre-harvest README naming afi-benchkit). All were already .gitignored; *.egg-info/ added. Nothing new committed in their place.

Slot gate (§8 CAL-BENCHKIT-RETIRE)

  • Zero score/hash/golden/governed-schema movement — nothing under afi-config/schemas or the source-disclosure-profile surface is touched.
  • Proven by afi-econ's own tests: pytest tests → 88 passed, 13 failed, 1 skipped (baseline on origin/main: 86 passed, 15 failed). The 13 remaining failures are pre-existing and unrelated (missing sibling afi_emissions module, missing data/timeseries_rebuilt.csv). Both --scores tests and both end_to_end_audit tests pass.
  • No document here describes PoI or PoInsight as retired, deprecated, or narrowed.

Note for the reviewer

The audit's previous synthetic fallback (0.62/0.68/0.65) tripped the audit's own gauge_invariants check (with-scores shares summed to 1.0082 after smoothing) — a pre-existing merit-path defect that this PR does not touch (it would move a research-plane score). With the documented 0.58/0.55/0.60 file the check passes.

🤖 Generated with Claude Code

…merit-scores file

Implements the afi-econ act of CAL-GOV D-CAL-6(3), gated on afi-governance #53.
The merit path no longer depends on afi-benchkit (an ungoverned implementation):

- examples/merit_scores.synthetic.json: documented synthetic input, same shape
  ({reputation,poi,poinsight}.score, n, stamp); replaces tests/fixtures/scores_min.json
- cli/gauge/scenarios/schemas/params: "BenchKit scores" -> "merit scores (synthetic;
  the protocol source is the CAL-GOV analyst calibration record -- not a scalar --
  and any merit conversion is CHAIN-GOV reserved)"; _load_benchkit_scores ->
  _load_merit_scores; provenance stamp key benchkit_stamp -> merit_stamp
- scripts/end_to_end_audit.py: no longer shells out to afi-bench; uses the synthetic file
- examples/README.md + pipeline_demo.sh: re-pointed and documented
- removed tracked generated artifacts (out*/ pointing at /Users/.../afi-benchkit,
  stale egg-info) -- all already .gitignored; nothing new committed in their place

PoI / PoInsight are NOT retired (D-CAL-5(4)); the retired thing is afi-benchkit.
No score, hash, golden, or governed-schema byte moves.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Gio2050
Gio2050 marked this pull request as ready for review August 25, 2026 05:43
@Gio2050
Gio2050 merged commit fdbc157 into main Aug 25, 2026
1 of 2 checks passed
@Gio2050
Gio2050 deleted the cal/benchkit-retire branch August 25, 2026 05:43
@kilo-code-bot

kilo-code-bot Bot commented Aug 25, 2026

Copy link
Copy Markdown

Kilo Code Review could not run — your account is out of credits.

Add credits or switch to a free model to enable reviews on this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant