Stage C-a: work law — running VM charged at each of its own beats, with carry (FABRIC-3.8 §3.13.2)
vm_physics_charge(): per-beat slope into a per-VM carry, whole units pulled from the rest of the live fleet in proportion to heat (conservative vm_physics_transfer), rounding shortfall kept in the carry, no fleet_window sample. Called from vm_tick() only for the switch-current VM. Closes G9: a VM running its own mail on its own stack now heats up while it works. Probe (reverted): baseline Hestia heat 0->0->0 over 71 beats (FAIL, proves G9); with charge 0->11->23 at beats 15->51->86, identical on amd64/aarch64/ riscv64, conserved, PASS. Acceptance: dict_hash unchanged, WIREBIND relay 3. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
29447abb7d
commit
7c3736841d
@@ -92,6 +92,25 @@ void vm_physics_retire(VMUuid vm_id);
|
||||
*/
|
||||
void vm_physics_touch(VMUuid vm_id);
|
||||
|
||||
/**
|
||||
* vm_physics_charge - Charge the running VM for one beat of its own work
|
||||
*
|
||||
* FABRIC-3.8.md §3.13.2 (Stage C-a, 2026-09-23). The work law, beside
|
||||
* vm_physics_touch()'s dispatch law: called once per beat a VM produces
|
||||
* while it is the switch-current VM (vm_tick()), so a VM running its own
|
||||
* kernel-Hermes mail on its own stack heats up as it works -- before this,
|
||||
* nothing did (G9). Adds one beat's slope to a per-VM carry, and pulls the
|
||||
* carry's whole units from the rest of the live fleet in proportion to
|
||||
* each VM's heat, through the same conservative transfer as touch. The
|
||||
* fraction below one unit, and any whole units lost to the proportional
|
||||
* split's own rounding, stay in the carry instead of being discarded.
|
||||
* Records NO fleet_window sample, so the slope estimator and the existing
|
||||
* DoE heat columns keep their meaning (§3.13.2 "Frozen slope").
|
||||
*
|
||||
* @param vm_id Registry VM ID of the running VM
|
||||
*/
|
||||
void vm_physics_charge(VMUuid vm_id);
|
||||
|
||||
/**
|
||||
* vm_physics_tick - Heartbeat-gated inference pass
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user