ADR-002 — driver-vs-virtual dispatch for Phase 7 scripting #176
Reference in New Issue
Block a user
Delete Branch "adr-002-driver-vs-virtual-dispatch"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Locks the architecture decision Phase 7 Stream G was going to have to make anyway — documenting it up front so the stream implementation can reference the chosen shape instead of rediscovering it.
Decision
Option B — single DriverNodeManager, NodeScopeResolver returns a NodeSource enum alongside ScopeId, dispatch branches on source.
DriverNodeManager pattern-matches on
scope.Sourceand routes reads / writes / subscribes either through the existing driver dictionary or throughIVirtualTagEngine.Why not the alternatives
Consequences
BadUserAccessDeniedbefore dispatch — enforces Phase 7 decision #6 (virtual tags writable only from scripts viactx.SetVirtualTag).Test coverage specified for Stream G.4
BadUserAccessDeniedwithout invoking the enginectx.SetVirtualTagupdates the value + fires subscription notifications