Files
LithosAnanake/capsules/BLOCK_MAP.md
T
Robert Allan JamesandClaude Sonnet 5 3699be964d starkernel: converge the tick path and wire the adaptive heartbeat (item 0.8)
Introduces src/starkernel/heartbeat.c as the shared top/bottom-half
implementation of heartbeat_init/tick/service/ticks/trust/state, replacing
the per-architecture duplicates in amd64/riscv64/aarch64 timer.c. Each
arch's timer.c now contributes only heartbeat_read_counter() (rdtsc /
rdtime / CNTPCT_EL0). Per the GAP-A1 ruling the top half stays counter+
latch only; heartbeat_service() (called every REPL idle iteration,
unconditionally per FABRIC.md's fidelity note) does the window/variance/
trust work outside interrupt context. vm_tick()'s call sites are
unchanged -- the engine still runs on the virtual tick.

Per FABRIC.md §26 (ruled 2026-08-03): wires Loop #7's execution-derived
stable/volatile signal into the physical re-arm period. vm_runtime.c's
existing Loop #7 site now calls heartbeat_set_adaptive_period_ns() with
tick_target_ns ratio-rescaled onto a 10ms kernel base (not the hosted
10us HEARTBEAT_TICK_NS -- see §26.3 for the scale mismatch). Each
architecture's re-arm function (apic_timer_rearm() on amd64/aarch64,
riscv64_timer_rearm()) now converts heartbeat_next_period_ns() to its
own raw counter units instead of a fixed constant; amd64 gained a
rearm function it didn't previously need, since periodic-mode auto-reload
never required one before this item.

Verified: all three architectures build with no new warnings and boot
cleanly to ok> with dict_hash=0x3d4e1daf289da94f, unchanged from the
pre-change baseline -- no regression. Verified NOT achieved: live re-arm
period variation under load. A temporary diagnostic (added and reverted)
confirmed Loop #7 never actually fired during a live QEMU session -- a
synthetic word-execution loop drove ~6,500 executions, past the 1000-tick
inference frequency, without tripping vm_tick_inference_engine()'s
pre-existing !vm->rolling_window.is_warm gate. That gate predates this
item and was not investigated -- out of scope. FABRIC.md's Done-when is
amended to record this honestly rather than claim it.

Punch list §25 item 0.8 complete (per amended, weaker acceptance -- see
the item's own annotation).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 00:01:48 -04:00

12 KiB

Capsule Block Manifest — Auto-generated

Capsule Summary

Capsule Blocks claimed xxHash64
ACL.4th 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4015 0xd781d22148ff171d
artemis:init.4th 4110, 4111, 4112, 4113, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4851, 4852 0xc9e92cd18f4c7b49
common:msg.4th 4055 0xa99c5bcd3877f80e
doe-campaign.4th 4060, 4061, 4062, 4063, 4064, 4065 0x3d4549142d91ec20
doe.4th 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107 0xb6ecf5374e8ee77c
hermes:init.4th 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4114, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4153 0xbb77f3ac463f507f
init-0.4th 2200, 2201 0xd0a9550baf786bb3
init-1.4th 4406, 4415, 4425, 4435 0x63e251adb0a03613
init-2.4th 4506, 4515, 4525, 4535, 4545 0xf113b3d0bcccae47
init-3.4th 4606, 4615, 4625, 4635, 4645, 4655, 4665 0x62b7a71576ad1041
init-4.4th 2130, 2131, 2132 0x89e3ef1db5ac0627
init-5.4th (none — raw code capsule) 0xda0c179af10a46a9
init-6.4th 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095 0x06fc0ce1e369ef5a
init-7.4th 2150 0xb88df2efeb753d64
init-8.4th 2160 0x714746312b72f83d
init-9.4th 4706, 4715, 4725, 4735, 4745 0x3f2bec73142aa424
init-l8-diverse.4th 4820, 4821, 4822 0xaa293201a6c91838
init-l8-omni.4th 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079 0x5979e314d6452045
init-l8-stable.4th 4806 0xdc3830f189063a9a
init-l8-temporal.4th 4830, 4831 0x51abd4c138246651
init-l8-transition.4th 4840, 4841, 4842 0xbcc1a81976f0a4c9
init-l8-volatile.4th 4810, 4811, 4812, 4813 0x98caabbbd92abac4
init.4th 2049, 2050, 2057 0xb4c4b5559146a3bd
lib.4th 4050 0x20625ebf1276c239
process.4th 4300, 4301 0x781afc1dbd0294f7
zuse.4th 4016, 4017, 4018 0x12f38ec782434a77

Block Map (sorted by LBN)

LBN Capsule xxHash64 Status
2049 init.4th 0xb4c4b5559146a3bd ok
2050 init.4th 0xb4c4b5559146a3bd ok
2057 init.4th 0xb4c4b5559146a3bd ok
2064 init-l8-omni.4th 0x5979e314d6452045 ok
2065 init-l8-omni.4th 0x5979e314d6452045 ok
2066 init-l8-omni.4th 0x5979e314d6452045 ok
2067 init-l8-omni.4th 0x5979e314d6452045 ok
2068 init-l8-omni.4th 0x5979e314d6452045 ok
2069 init-l8-omni.4th 0x5979e314d6452045 ok
2070 init-l8-omni.4th 0x5979e314d6452045 ok
2071 init-l8-omni.4th 0x5979e314d6452045 ok
2072 init-l8-omni.4th 0x5979e314d6452045 ok
2073 init-l8-omni.4th 0x5979e314d6452045 ok
2074 init-l8-omni.4th 0x5979e314d6452045 ok
2075 init-l8-omni.4th 0x5979e314d6452045 ok
2076 init-l8-omni.4th 0x5979e314d6452045 ok
2077 init-l8-omni.4th 0x5979e314d6452045 ok
2078 init-l8-omni.4th 0x5979e314d6452045 ok
2079 init-l8-omni.4th 0x5979e314d6452045 ok
2080 init-6.4th 0x06fc0ce1e369ef5a ok
2081 init-6.4th 0x06fc0ce1e369ef5a ok
2082 init-6.4th 0x06fc0ce1e369ef5a ok
2083 init-6.4th 0x06fc0ce1e369ef5a ok
2084 init-6.4th 0x06fc0ce1e369ef5a ok
2085 init-6.4th 0x06fc0ce1e369ef5a ok
2086 init-6.4th 0x06fc0ce1e369ef5a ok
2087 init-6.4th 0x06fc0ce1e369ef5a ok
2088 init-6.4th 0x06fc0ce1e369ef5a ok
2089 init-6.4th 0x06fc0ce1e369ef5a ok
2090 init-6.4th 0x06fc0ce1e369ef5a ok
2091 init-6.4th 0x06fc0ce1e369ef5a ok
2092 init-6.4th 0x06fc0ce1e369ef5a ok
2093 init-6.4th 0x06fc0ce1e369ef5a ok
2094 init-6.4th 0x06fc0ce1e369ef5a ok
2095 init-6.4th 0x06fc0ce1e369ef5a ok
2100 doe.4th 0xb6ecf5374e8ee77c ok
2101 doe.4th 0xb6ecf5374e8ee77c ok
2102 doe.4th 0xb6ecf5374e8ee77c ok
2103 doe.4th 0xb6ecf5374e8ee77c ok
2104 doe.4th 0xb6ecf5374e8ee77c ok
2105 doe.4th 0xb6ecf5374e8ee77c ok
2106 doe.4th 0xb6ecf5374e8ee77c ok
2107 doe.4th 0xb6ecf5374e8ee77c ok
2130 init-4.4th 0x89e3ef1db5ac0627 ok
2131 init-4.4th 0x89e3ef1db5ac0627 ok
2132 init-4.4th 0x89e3ef1db5ac0627 ok
2150 init-7.4th 0xb88df2efeb753d64 ok
2160 init-8.4th 0x714746312b72f83d ok
2200 init-0.4th 0xd0a9550baf786bb3 ok
2201 init-0.4th 0xd0a9550baf786bb3 ok
4000 ACL.4th 0xd781d22148ff171d ok
4001 ACL.4th 0xd781d22148ff171d ok
4002 ACL.4th 0xd781d22148ff171d ok
4003 ACL.4th 0xd781d22148ff171d ok
4004 ACL.4th 0xd781d22148ff171d ok
4005 ACL.4th 0xd781d22148ff171d ok
4006 ACL.4th 0xd781d22148ff171d ok
4007 ACL.4th 0xd781d22148ff171d ok
4015 ACL.4th 0xd781d22148ff171d ok
4016 zuse.4th 0x12f38ec782434a77 ok
4017 zuse.4th 0x12f38ec782434a77 ok
4018 zuse.4th 0x12f38ec782434a77 ok
4050 lib.4th 0x20625ebf1276c239 ok
4055 common:msg.4th 0xa99c5bcd3877f80e ok
4060 doe-campaign.4th 0x3d4549142d91ec20 ok
4061 doe-campaign.4th 0x3d4549142d91ec20 ok
4062 doe-campaign.4th 0x3d4549142d91ec20 ok
4063 doe-campaign.4th 0x3d4549142d91ec20 ok
4064 doe-campaign.4th 0x3d4549142d91ec20 ok
4065 doe-campaign.4th 0x3d4549142d91ec20 ok
4100 hermes:init.4th 0xbb77f3ac463f507f ok
4101 hermes:init.4th 0xbb77f3ac463f507f ok
4102 hermes:init.4th 0xbb77f3ac463f507f ok
4103 hermes:init.4th 0xbb77f3ac463f507f ok
4104 hermes:init.4th 0xbb77f3ac463f507f ok
4105 hermes:init.4th 0xbb77f3ac463f507f ok
4106 hermes:init.4th 0xbb77f3ac463f507f ok
4107 hermes:init.4th 0xbb77f3ac463f507f ok
4108 hermes:init.4th 0xbb77f3ac463f507f ok
4109 hermes:init.4th 0xbb77f3ac463f507f ok
4110 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4111 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4112 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4113 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4114 hermes:init.4th 0xbb77f3ac463f507f ok
4115 hermes:init.4th 0xbb77f3ac463f507f ok
4116 hermes:init.4th 0xbb77f3ac463f507f ok
4117 hermes:init.4th 0xbb77f3ac463f507f ok
4118 hermes:init.4th 0xbb77f3ac463f507f ok
4119 hermes:init.4th 0xbb77f3ac463f507f ok
4120 hermes:init.4th 0xbb77f3ac463f507f ok
4121 hermes:init.4th 0xbb77f3ac463f507f ok
4122 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4123 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4124 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4125 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4126 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4127 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4128 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4129 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4130 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4131 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4132 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4133 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4134 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4135 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4136 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4137 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4138 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4139 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4140 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4141 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4142 hermes:init.4th 0xbb77f3ac463f507f ok
4143 hermes:init.4th 0xbb77f3ac463f507f ok
4144 hermes:init.4th 0xbb77f3ac463f507f ok
4145 hermes:init.4th 0xbb77f3ac463f507f ok
4146 hermes:init.4th 0xbb77f3ac463f507f ok
4147 hermes:init.4th 0xbb77f3ac463f507f ok
4148 hermes:init.4th 0xbb77f3ac463f507f ok
4149 hermes:init.4th 0xbb77f3ac463f507f ok
4150 hermes:init.4th 0xbb77f3ac463f507f ok
4151 hermes:init.4th 0xbb77f3ac463f507f ok
4152 hermes:init.4th 0xbb77f3ac463f507f ok
4153 hermes:init.4th 0xbb77f3ac463f507f ok
4160 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4161 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4162 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4163 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4164 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4165 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4166 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4167 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4168 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4169 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4170 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4171 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4172 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4173 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4174 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4300 process.4th 0x781afc1dbd0294f7 ok
4301 process.4th 0x781afc1dbd0294f7 ok
4406 init-1.4th 0x63e251adb0a03613 ok
4415 init-1.4th 0x63e251adb0a03613 ok
4425 init-1.4th 0x63e251adb0a03613 ok
4435 init-1.4th 0x63e251adb0a03613 ok
4506 init-2.4th 0xf113b3d0bcccae47 ok
4515 init-2.4th 0xf113b3d0bcccae47 ok
4525 init-2.4th 0xf113b3d0bcccae47 ok
4535 init-2.4th 0xf113b3d0bcccae47 ok
4545 init-2.4th 0xf113b3d0bcccae47 ok
4606 init-3.4th 0x62b7a71576ad1041 ok
4615 init-3.4th 0x62b7a71576ad1041 ok
4625 init-3.4th 0x62b7a71576ad1041 ok
4635 init-3.4th 0x62b7a71576ad1041 ok
4645 init-3.4th 0x62b7a71576ad1041 ok
4655 init-3.4th 0x62b7a71576ad1041 ok
4665 init-3.4th 0x62b7a71576ad1041 ok
4706 init-9.4th 0x3f2bec73142aa424 ok
4715 init-9.4th 0x3f2bec73142aa424 ok
4725 init-9.4th 0x3f2bec73142aa424 ok
4735 init-9.4th 0x3f2bec73142aa424 ok
4745 init-9.4th 0x3f2bec73142aa424 ok
4806 init-l8-stable.4th 0xdc3830f189063a9a ok
4810 init-l8-volatile.4th 0x98caabbbd92abac4 ok
4811 init-l8-volatile.4th 0x98caabbbd92abac4 ok
4812 init-l8-volatile.4th 0x98caabbbd92abac4 ok
4813 init-l8-volatile.4th 0x98caabbbd92abac4 ok
4820 init-l8-diverse.4th 0xaa293201a6c91838 ok
4821 init-l8-diverse.4th 0xaa293201a6c91838 ok
4822 init-l8-diverse.4th 0xaa293201a6c91838 ok
4830 init-l8-temporal.4th 0x51abd4c138246651 ok
4831 init-l8-temporal.4th 0x51abd4c138246651 ok
4840 init-l8-transition.4th 0xbcc1a81976f0a4c9 ok
4841 init-l8-transition.4th 0xbcc1a81976f0a4c9 ok
4842 init-l8-transition.4th 0xbcc1a81976f0a4c9 ok
4851 artemis:init.4th 0xc9e92cd18f4c7b49 ok
4852 artemis:init.4th 0xc9e92cd18f4c7b49 ok

Conflicts

None.


26 capsule(s) scanned. Re-run mkcapsule --manifest <dir> to refresh.