Stage O-A: the Tripod is an observer -- outside the compudynamic comparison, acting on events (FABRIC-3.9.0 §2, 3.9.8)
Observer flag on switch-signal slots, set by the kernel for the Tripod (is_fleet_foundation, hoisted; Hera in kernel_main). The decision: an observer in progress or holding an event keeps the CPU; observers with events (mail, Hera's console input) go ahead of participants, oldest wait stamp first; participants compared by work heat as before. Observers are never charged (O-2) nor floored. Uncommitted heat-share charge discarded. Evidence, byte-identical amd64/aarch64/riscv64: G interleave unchanged; Hestia's mail runs before any worker output (HHHABB...); a line typed while two workers run is read and executed mid-stream (...ABAB1 2 + . / 3 ok / ABAB...) -- console responsive under load. Relay 3, dict_hash unchanged. Busy-wait DOE deliberately not run (deadlocks by design until O-C). FABRIC-3.9.0 records rulings and Captain Bob's messaging note (§7). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
04dbc3a5d3
commit
6e933dac38
@@ -116,6 +116,17 @@ int sk_vm_switch_signal_unregister(VMUuid vm_id);
|
||||
* mail is delivered on their own stacks, by a switch). */
|
||||
int sk_vm_switch_signal_is_participant(VMUuid vm_id);
|
||||
|
||||
/* FABRIC-3.9.0.md §2 (Stage O-A, 2026-09-24): the observer role. The
|
||||
* Tripod (Hera, Artemis, Hestia) is marked by the kernel at registration --
|
||||
* never by anything a VM executes. Observers are outside the compudynamic
|
||||
* comparison (never heat candidates, never charged, never in a floor) and
|
||||
* act on events: at a clean boundary an observer with mail (or, for Hera,
|
||||
* console input) goes ahead of every participant, and an observer acting
|
||||
* on an event is not displaced (ruling O-1). is_observer() is 0 for an
|
||||
* unregistered VM. */
|
||||
void sk_vm_switch_signal_set_observer(VMUuid vm_id);
|
||||
int sk_vm_switch_signal_is_observer(VMUuid vm_id);
|
||||
|
||||
/* A fresh, unique wait stamp (mainline, single writer). kernel_hermes.c
|
||||
* stamps each admitted message with one. */
|
||||
uint64_t sk_vm_switch_signal_next_stamp(void);
|
||||
|
||||
Reference in New Issue
Block a user