#188: the Jacquard selector's 64 cards, L7 permanently on, L2 a real gate
Captain Bob, 2026-11-12: "Wire L2, keep L7 on". The table held the 128 cards of the 7-bit L1-L7 space; nothing read L7, and the rolling window recorded whatever the card said, so the 128 were 32 behaviours. - compudynamics.c: cd_tuning_word() sizes the table to 64 (L1-L6). - ssm_jacquard.c: card_bits() makes a card's 7-bit mask, L7 set, where a card is read, seeded and started (C4: 17 -> card 8); ssm_l8_force_config() still takes the 7-bit index, its L7 bit implied. - physics_execution_hooks.c, kernel vm_core.c: the rolling window records only while L2 is on (or before there is a config). - ssm_jacquard.h says what is wired, bit by bit (it said L7 was); v3/CLAUDE.md and the L8 reference corrected in place; FABRIC-3 XLVIII.21. Tests first, seen to fail against HEAD (logs/20261112-210510/kernel-tests): test_ssm_jacquard 4 of 7, test_physics_l2 1 of 4; all pass now. v4 reads no rolling window: acceptance is unchanged; the protocol runs next. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017RzZgrf7V7Zk2iczBXDRbm
This commit is contained in:
@@ -141,7 +141,9 @@ typedef struct {
|
||||
* a referenced global; these accessors are the aggregate-typed
|
||||
* equivalent of that same constraint. */
|
||||
|
||||
/* Word level (ssm_jacquard.c): 128 configs (7-bit L1-L7), 8 regimes
|
||||
/* Word level (ssm_jacquard.c): 64 configs (6-bit L1-L6; L7 permanently on -- #188,
|
||||
* 2026-11-12; it said 128 configs, 7-bit L1-L7, and the cards differing only in L7 were
|
||||
* alike), 8 regimes
|
||||
* (3-bit diversity/volatility/locality). Values match the constants
|
||||
* ssm_jacquard.c/.h used before this module existed -- this is a lift,
|
||||
* not a retune. */
|
||||
|
||||
@@ -127,7 +127,18 @@ typedef struct {
|
||||
* macros (ENABLE_HOTWORDS_CACHE, ENABLE_PIPELINING, HEARTBEAT_THREAD_ENABLED)
|
||||
* for the whole process lifetime. Adding these fields, and wiring them at
|
||||
* their four call sites alongside (not instead of) the compile-time macros,
|
||||
* makes the bandit's full selection actually take effect. */
|
||||
* makes the bandit's full selection actually take effect.
|
||||
*
|
||||
* Corrected 2026-11-12 (#188): that was true of L1 and L4, not of L7 -- nothing reads
|
||||
* L7_adaptive_heartrate -- and L2 was never wired. What is wired now:
|
||||
* L1 hotwords_cache_set_enabled() vm_time.c, kernel vm_runtime.c
|
||||
* L2 rolling_window_record_execution(), gated physics_execution_hooks.c, kernel vm_core.c
|
||||
* L3 linear decay physics_metadata.c
|
||||
* L4 pipelining physics_execution_hooks.c
|
||||
* L5 window inference inference_engine.c
|
||||
* L6 decay inference inference_engine.c
|
||||
* L7 not chosen: permanently on in every card (Captain Bob: "Wire L2, keep L7 on");
|
||||
* the table is 64 cards, L1-L6, not 128. */
|
||||
typedef struct {
|
||||
int L1_heat_tracking; /* 1 = hotwords cache active, 0 = off */
|
||||
int L2_rolling_window; /* 1 = window tracking active, 0 = off */
|
||||
@@ -146,7 +157,8 @@ typedef struct {
|
||||
*/
|
||||
|
||||
/* ============================================================================
|
||||
* Adaptive Table Constants (L8 Heat-Ranked 128-Config Selector)
|
||||
* Adaptive Table Constants (L8 Heat-Ranked Config Selector: 64 cards, L1-L6, L7
|
||||
* permanently on -- 128, the 7-bit space, before #188)
|
||||
* One clock only: the heartbeat tick (rev r). Scoring and UCB reselection
|
||||
* both run every tick -- no derived multi-tick batching unit exists
|
||||
* anywhere in this mechanism. The score/UCB/reward/weight constants live
|
||||
@@ -173,7 +185,8 @@ typedef struct {
|
||||
* ============================================================================
|
||||
*
|
||||
* The adaptive table itself (CDConfigEntry/CDConfigTable) is the generic
|
||||
* compudynamics bandit (compudynamics.h), sized to 128 configs x 8 regimes
|
||||
* compudynamics bandit (compudynamics.h), sized to 64 cards x 8 regimes (#188;
|
||||
* 128 before)
|
||||
* via cd_tuning_word() -- see ssm_l8_init_table().
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user