Skip to content

HF 2.11.0

Choose a tag to compare

@adam0white adam0white released this 21 Oct 02:52
· 681 commits to main since this release
v2.11.0
da7377b

Engine: 2.11.0. Curiosity and play (slice plan; sources in research/curiosity-and-play.md). When a person's needs are met, they are drawn to try what they cannot yet predict, to keep at what they are getting better at, and to vary what they just did. Opt-in: a person without the slice gives the same state, decisions and digests as 2.10.0 with only the engine stamp normalized (the public fingerprint includes the stamp, so it changes). Saves migrate from 2.10.0 by stamping the version.

Added

  • Opt-in curiosity (enableCuriosity(p, spec?) or PersonSpec.enable.curiosity, state Person.curiosity, module curiosity/). consider adds three bounded terms. curiosity:unknown comes from the person's own uncertainty about the option's outcome. curiosity:progress is learning progress: prediction error falling. Noise earns only small, passing progress from chance runs, well below a learnable option's. curiosity:vary pulls toward an action kind done within the last hour with a different target or place. All three scale with a relaxed-field gate (physiological and safety urgency, fear), openness and age. Completed and failed acts update bounded histories (32 keys, 8 recent acts) and give a small intrinsic reward to leisure and competence in proportion to learning progress, capped at 0.03. Identifiers over 512 characters are not tracked. curiosityOf(p, aff, now?) reads the signals without changing anything. Boredom is unchanged and still acts through host novel tags.
  • Headless control curiosity-control.ts: one adult with familiar, learnable and noisy options for one day of 96 decisions. With curiosity on and needs met, the adult chose familiar 20, learnable 62 and noisy 14 (in the last third: learnable 19, noisy 4). With curiosity off, it chose familiar 96. With curiosity on and the adult hungry, it chose familiar 96, because the gate closes. The control shows exploration followed by a preference for the option that became reliable. It does not isolate learning progress: in this setup, ordinary outcome learning alone also separates learnable from noisy (a review run with progressScale: 0 gave 24 and 2 in the last third). The unit tests pin the progress term itself.

Notes

  • The coefficients are engineering defaults, not fitted values. Curiosity adopts no goals or projects. That waits on the island rerun after planning (roadmap §3b).

Release

  • Tag v2.11.0 on source commit da7377b (CI run 39534894283 passed); the release's npm run check: 1962 passed, 8 skipped. Trusted npm workflow 39535394836 succeeded. Registry integrity sha512-sa520xSTG6cEzbpPXH7YExMJtqNyul23MIljI7JW1X8C7KWpx4FBQxko8GyGkX2MGdyc+YR/y/scSZUEi9GYUw==; npm audit signatures in a fresh install reports a verified attestation, and the installed package exports enableCuriosity and curiosityOf (2.11.0, engine 2.11.0).
  • Review: one independent Codex review (review), five findings, all applied before release.
  • Site pins 2.11.0 at commit 010c551, deployed (Cloudflare version fddb79b5-6d71-4496-8031-1e18065e759d); live /release.json shows framework 2.11.0, that commit, dirty: false.