You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(resync): notify-chain subscribes a binding to its ancestors' layers (#367)
Resync notifies a carrier's owner. For a Resource Profile whose layers
compose along the supervisor edge, that leaves every descendant's
effective view dependent on carriers nothing tells it about: when an
ancestor's layer changes, the descendant keeps acting on the view it
read at launch.
Add `notify-chain` to a profile declaration. A binding through such a
profile also subscribes to the same-scheme carriers its supervisor
ancestors declare, resolved entirely in resolve_watch_set — subscriptions,
coalescing, digest gating, admission and delivery are untouched.
The walk reuses each ancestor's own declared URI against that ancestor's
own directory rather than synthesizing a subject: st2 owns no profile's
URI grammar, and this is the identical call the ancestor's own
subscription makes, so containment holds unchanged. Matching is by
profile scheme, never by binding label, because labels are agent-local
and replaceable. Each ancestor's layer carries the key
`<label>@<ancestor-bus-id>` so two ancestors cannot collapse onto one
supersession key. Retired ancestors are skipped and the walk continues
through them to the root, honoring both declaration spellings.
The traversal DING already needed is lifted into src/supervisor_chain.rs
rather than copied a third time.
Implements the design in #365.
agent-identity: dev3.direct.claude.gvacdkt7
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: Claude Code
agent-tool-version: 2.1.237
agent-runtime: Claude Code 2.1.237
tooling-profile: dotfiles@cab57ad
0 commit comments