A Property Change Fires No Reaction Where No Observer Is Registered

Claim

In the eOS-Harness MVA running against DGD 1.7.9 plus the eOSContinuum/eOS-kernellib feature/cohesive-lift branch, a chat message that mentions a user, posted to a room that has no mention-notify observer registered, fires no cross-user reaction. The room carries only an append-to-history main observer; it has no observer at merry:on:chat-room.message:post. bob posts @dave2 yo; the chat daemon's post_message resolves the mention against the roster and writes the chat-room.message arrival signal via set_property; the dispatcher fires the append (so the message is recorded in the room's log) but finds nothing registered at post timing, so no cross-user notification runs. dave2's chat-user.mention-tracker stays empty (sentinel NO-REACT OK). The append observer is registered and fires, which isolates the absence of reaction to the missing post observer rather than to a broken post path.

Grounds

This is an Empirical Observation. The grounds are the same captured three-boot smoke run 2026-05-30 that grounds the positive peer.

Setup (verifiable from repo state):

Load-bearing source (phase 6 of examples/chat-app/sys/test.c):

MERRY_DAEMON->register_observer(room_p6, "chat-room.message", "main", SRC_APPEND);
/* deliberately NO mention-notify post observer registered. */
CHAT_DAEMON->post_message(bob, room_p6, "@dave2 yo");

if (sizeof(dave2->query_mention_tracker()) != 0) { /* FAIL */ }
if (sizeof(room_p6->query_messages()) != 1)      { /* FAIL */ }

The contrast is exact: the positive peer registers the same SRC_NOTIFY post observer on its room and the target's tracker is populated synchronously; here the post observer is omitted and the target's tracker stays empty after the identical post.

Smoke transcript (the load-bearing line after boot 1):

ChatApp:test: NO-REACT OK

NO-REACT OK writes only when dave2's mention-tracker is empty AND the room's message log has exactly the one posted message (the append fired; the notification did not).

What the evidence establishes:

What the evidence does not establish:

What Would Revise It

Sources

Relations