Skip to content

chore(release): 0.8.0 - #28

Merged
drewstone merged 1 commit into
mainfrom
chore/release-0.8.0
Aug 24, 2026
Merged

chore(release): 0.8.0#28
drewstone merged 1 commit into
mainfrom
chore/release-0.8.0

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Cuts 0.8.0 for the progression gates (#27).

A milestone earned by dying is not evidence of skill. measureProgressions replays the reference and every baseline, recording each numeric channel's rises, falls and initial value. A milestone is attrition when three measured statements hold: its check reads a numeric channel, that channel never rose and fell at least once across every trajectory, and the check does not hold at the channel's initial value. Attrition propagates through requires. scoreAchievements drops attrition from numerator and denominator.

No name list — the classification is measured. A fixture channel deliberately named lives that counts rescued divers and only rises is classified an achievement, and that is a test.

Calibration is no longer optional. PackagedContract.calibrate is the only way to build one — private constructor plus a #private brand, so new is unavailable and an object literal is not assignable. A deliberately non-separating fixture declares itself with a sentence, not a switch.

report.collapse names the milestone the largest share of a contract requires, whether a trivial baseline reaches it, and how many milestones first pass at the same reference input.

What the audit found across the packaged set: five of eight contracts do not separate a real player from a trivial one, seven of eight collapse to a single prerequisite, and both attrition milestones in the set were listed as separating before this change — two contracts were advertising a point for dying as discriminating power.

Motivating measurement, ALE Breakout, hand-written controls, seed 0, replay-attested: a RAM steerer scores 9 game points at 300 decisions and 24 at 600 with all five lives intact and earns 3 of 6, while an ASCII steerer scores 6 and 16, dies, and earns 4 of 6. Under achievement-only scoring the inversion is gone.

Adapters are untouched: zero files under adapters/ edited, no reference JSON changed, every contract keeps its bytes and its pinned hash.

@drewstone
drewstone merged commit 5fb905d into main Aug 24, 2026
5 of 6 checks passed
@drewstone
drewstone deleted the chore/release-0.8.0 branch August 24, 2026 18:32
@drewstone drewstone mentioned this pull request Aug 24, 2026
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