v0.30.0
The wave in which every open issue was either built or ruled. The poll timers are gone — the mutation door leaves a receipt and the menu and the screen follow it. File transfer moved into the substrate, so a store writes and reads the directories it owns. memory_recall is an ordinary tool call again. Every member grows a screen and an app, and the OS hands out the port. And the last ~140 environment knobs in the template library are params, with a gate that keeps the surface closed.
Added
- The mutation door leaves a receipt, and the boot is the first one (#553). Every committed mutation raises
mutation_committedat/colony/mutations, andcolony.jsoncarriesmutation_receiptsfor who receives it. The receipt is the event source that replaced two poll timers. - The transfer slot writes the seed it reads (#555).
export … to:/import … from:on thetransferslot, fenced byparams.transfer.base_pathat the consuming store. Three newerror_codestrings:transfer_path_out_of_bounds,transfer_io_error,transfer_seed_malformed.
Changed
- The menu and the screen follow the mutation receipt, and the two poll timers are gone (#553):
meclaw-os@1.8.0,org@1.4.0,member@1.6.0,assistant@2.5.0,talky@5.0.0,cogny@5.0.0,collector@4.0.0,colony-view@1.1.0. A tick that only asked whether anything had changed is not an event source. - Every member grows a screen and an app, and the OS hands out the port (#543, ADR-0022):
builder@1.7.0counts the members of the org and stampsscreen_port_base + indexinto the screen declaration;builder-librarian@2.2.0gives a level row a retrieval window of its own;tools@1.4.1'sbuild_topologyschema says what the builder does. - The memory answers
memory_recallitself (#552):memory-hive@3.2.0declares the tool and serves the call over ordinary routing; the dispatcher routes it like any other tool name. - The export leg is one message (#555):
memory-hive@3.2.0,affinity@3.3.0,firewall@2.3.0,session-keeper@2.2.0,operator@1.2.0— every holder's own store writes its seed directory and raisesexport_doneoff the slot's receipt. - Every behaviour knob in the template library is a param (#138). ~140
${VAR}knobs across the library moved to the params surface with byte-identical defaults; secrets, model ids and provider endpoints stay the.envlane, and a tree rule keeps the surface from growing back. - A timer whose purpose is only to tick is called
clock(#551):memory-hive@3.2.0,canvy@2.2.0,daily-digest@2.1.0. Ticks with a semantics of their own keep their name. - The mutation door refuses a single-cell hive template by name (#572, #573, #574) instead of accepting a form it cannot stage.
- One gate chain, and it reads the diff (#577):
scripts/gate.shis the one entry point; a resolver asks the diff which stations it needs and leaves a receipt the release gate reads. - The terminal recording is archived (#43).
Fixed
- A
/colonyread no longer walks the templates library (#571). The snapshot moved off the loop and is booked as a work item, so a large library no longer costs the colony its availability. - The single-declaration door refuses a manifest body by name (#581).
- Four test-level flakes now measure a signal instead of the clock (#578, #579, #580, #582).
Breaking
- The private memory lane is gone (#552):
talky@5.0.0,cogny@5.0.0,collector@4.0.0lose the lanein_memory_calland the settingmemory_call_tier. Migration: none needed for a shipped tree; a parent that drew amemory_recalledge into./talkyor./cognyremoves it — the call leaves on the ordinary tool exit now. member@1.6.0:export-sinkis gone (#555) — the holders write their own seed set. Migration: point each exporting store at a directory withparams.transfer.base_path(memory-hive/store,affinity/store,firewall/rules,talky/session-keeper/sessions);MEMBER_EXPORT_DIRis gone with the cell that read it, and the member-levelexport_final.jsonno longer exists — each directory says for itself whether it is whole.
Migration
colony.dbstays at v9. 6648 tests, 0 fail.
Full Changelog: v0.29.0...v0.30.0