Skip to content

Commit 313e1d7

Browse files
authored
Merge pull request #79 from mataeil/feat/v1.12.0-capture-fidelity
feat(v1.12.0): capture fidelity — capture_states (feedback-coverage fix)
2 parents 6377f41 + f329d71 commit 313e1d7

4 files changed

Lines changed: 45 additions & 2 deletions

File tree

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "ooda-loop",
33
"displayName": "OODA-loop",
4-
"version": "1.11.0",
4+
"version": "1.12.0",
55
"description": "An autonomous operations layer for your live side project. It watches, re-orients from which PRs you merge and reject, and opens small revertible PRs — bounded by a HALT file, protected paths, and a hard cost cap. Built on Boyd's OODA loop. You stay in command.",
66
"author": {
77
"name": "Taeil Ma",

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,29 @@ independently. Bump there signals migration work for downstream projects.
88

99
---
1010

11+
## [v1.12.0] — 2026-06-21
12+
13+
### Added — capture fidelity (the feedback-coverage fix)
14+
15+
Dogfooding v1.11.0 on the f1 game (10 research-grounded grade→ground→regrade
16+
rounds, honest re-grade 0.31 → ~0.41 stills / ~0.58 true) surfaced the next maze
17+
variant: **measurable improvement is bounded by FEEDBACK FIDELITY.** The 5-G
18+
critic captured ONE low-speed first-person cockpit frame (the car kept stopping at
19+
the start gantry), so a chase camera (where the clearcoat hero car + HDRI
20+
reflections live), the HDRI sky, speed motion-blur/FOV, and slip-angle physics —
21+
all real, gated, merged — were INVISIBLE to the grader. The grade stalled and the
22+
critic kept steering effort toward only-what-was-in-that-one-frame.
23+
24+
- **`capture_states` (evolve 5-G + config).** A dimension is only gradeable in the
25+
state(s) where it MANIFESTS; capture each dimension by driving the artifact INTO
26+
those states (chase view for paint, high-speed for sense-of-speed, pitched-up for
27+
sky) and pass the critic ALL frames. A state that can't be reached is a
28+
capture_failure (null), never a low score — don't grade a dimension from a frame
29+
that structurally can't show it.
30+
31+
Spec/config only (verify.py unchanged at 64). plugin 1.11.0→1.12.0.
32+
Builds on v1.8.0 per-dimension `capture_method` + v1.11.0 reference grounding.
33+
1134
## [v1.11.0] — 2026-06-21
1235

1336
### Added — Research-Grounded OODA (the anti-maze methodology)

config.example.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,8 @@
281281
"name": "visual_fidelity",
282282
"weight": 0.25,
283283
"capture_method": "screenshot",
284+
"__capture_states_doc__": "v1.12.0 (feedback fidelity) — a dimension is only gradeable in the state(s) where it MANIFESTS; a single default frame under-credits + misdirects the loop. List the states to drive the artifact into before capturing; the critic gets ALL frames. The f1 probe earned this: a chase camera / HDRI sky / speed blur / slip-angle physics were all added but every capture was one low-speed cockpit frame, so the work was invisible and the grade stalled. A state that can't be reached = capture_failure (null), not a low score.",
285+
"capture_states": ["chase view, car stationary on a straight", "chase view at ~80% top speed", "camera pitched up to show the sky/horizon"],
284286
"description": "3D visual quality vs SHIPPED games. Score against the reference anchors, not the artifact's past.",
285287
"reference": {
286288
"score_0.10": "flat-shaded primitive meshes, solid-colour sky, no shadows/post-processing (a 1990s look)",

skills/evolve/SKILL.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1908,7 +1908,25 @@ for dim in rubric.dimensions:
19081908
if not independent: dim_artifact[dim] = null (capture_failure); continue
19091909
dim_artifact[dim] = run_protected_harness(dim.gameplay_metrics_command) -- metrics JSON
19101910
else if method == "screenshot":
1911-
dim_artifact[dim] = the shared screenshot (captured once)
1911+
-- CAPTURE COVERAGE (v1.12.0 — feedback fidelity). A SINGLE default frame
1912+
-- under-credits and MISDIRECTS: a dimension is only gradeable in the state(s)
1913+
-- where it MANIFESTS. The f1 probe proved this — 10 grounded rounds added a
1914+
-- chase camera (where the clearcoat hero car + HDRI reflections live), real
1915+
-- HDRI sky, speed motion-blur/FOV, and slip-angle physics, but every capture
1916+
-- was one LOW-SPEED COCKPIT frame facing a wall, so NONE of that work was
1917+
-- visible to the critic → the still-grade stalled (~0.41) while the true
1918+
-- quality (~0.58) was far higher, and the critic kept steering effort toward
1919+
-- only-what-was-in-that-frame. Rule: capture each dimension in the state(s)
1920+
-- where it shows. dim.capture_states (list) enumerates them, e.g.
1921+
-- visual_paint: ["chase_view at speed 0", "chase_view at speed 0.8"]
1922+
-- sense_of_speed:["cockpit at speed 0.9 on a straight"]
1923+
-- sky/lighting: ["camera pitched up to the horizon"]
1924+
-- Drive the artifact INTO each state (set the view/speed/scenario) before the
1925+
-- frame; pass the critic ALL of a dimension's frames. A dimension whose state
1926+
-- can't be reached is a CAPTURE_FAILURE (null), NOT a low score — never grade
1927+
-- a dimension from a frame that structurally cannot show it.
1928+
states = dim.capture_states or rubric.capture_states or ["default"]
1929+
dim_artifact[dim] = [ capture_in(state) for state in states ] -- 1+ frames
19121930
else:
19131931
dim_artifact[dim] = run dim.capture_command (or rubric.capture_command)
19141932
-- If a dimension's harness is MISSING entirely, score it null (capture_failure) +

0 commit comments

Comments
 (0)