Render the delegation topology: child-role everywhere lineage shows (v1.22.0) #46

Merged
ClaudiuSchuster merged 1 commit from obs-brain-role into main 2026-09-25 19:55:13 +00:00
Owner

Pairs with zcode-dispatch v0.3.6 (--child-role {pinky,brain}): the dispatcher now stamps a child role into every record it writes, and the observatory renders the master → sub-brain → pinkies topology from it.

Payload: every session in /api/sessions carries role (pinky default / brain = delegation node), resolved by declared precedence — live spawn flag/result childRole (new live_child_roles() /proc reader) → dispatch lifecycle ledger → bell ledger (role now parsed) → pinned-title [🧠] prefix fallback (survives ledger rotation). Usage-graph series carry the role too. Resolution order documented in child_role_map's docstring and the README.

Rendering: panel info strips badge brain-children as 🧠 BRAIN-CHILD (cyan — orchestration structure, not family hue); the table's brain-child parent links wear the 🧠 glyph + stronger glow (the delegation backbone vs the worker swarm); usage-graph brain-child series lines render thicker with a 🧠 tooltip marker. Note: the observatory has no node-edge lineage graph — lineage lives in the table family accents and the usage graph's brain-grouped series lines, so 'stronger brain-child edges' lands on exactly those surfaces.

Gates: unittest 31/31 (4 new in tests/test_role_payload.py), boot check, social-preview byte-check, pinned Super-Linter slim-v8.7.0 EXIT 0 (all six lanes, PYLINT 10.00/10). README: delegation-topology section under 'The orchestration it rides on', edge-source list + strip + usage-API notes, install URL → v1.22.0.

Pairs with zcode-dispatch v0.3.6 (`--child-role {pinky,brain}`): the dispatcher now stamps a child role into every record it writes, and the observatory renders the master → sub-brain → pinkies topology from it. **Payload:** every session in `/api/sessions` carries `role` (`pinky` default / `brain` = delegation node), resolved by declared precedence — live spawn flag/result `childRole` (new `live_child_roles()` /proc reader) → dispatch lifecycle ledger → bell ledger (`role` now parsed) → pinned-title `[🧠]` prefix fallback (survives ledger rotation). Usage-graph series carry the role too. Resolution order documented in `child_role_map`'s docstring and the README. **Rendering:** panel info strips badge brain-children as 🧠 BRAIN-CHILD (cyan — orchestration structure, not family hue); the table's brain-child parent links wear the 🧠 glyph + stronger glow (the delegation backbone vs the worker swarm); usage-graph brain-child series lines render thicker with a 🧠 tooltip marker. Note: the observatory has no node-edge lineage graph — lineage lives in the table family accents and the usage graph's brain-grouped series lines, so 'stronger brain-child edges' lands on exactly those surfaces. **Gates:** unittest 31/31 (4 new in tests/test_role_payload.py), boot check, social-preview byte-check, pinned Super-Linter slim-v8.7.0 EXIT 0 (all six lanes, PYLINT 10.00/10). README: delegation-topology section under 'The orchestration it rides on', edge-source list + strip + usage-API notes, install URL → v1.22.0.
Render the delegation topology: child-role everywhere lineage shows (v1.22.0)
All checks were successful
Checks / Functional checks (pull_request) Successful in 15s
06edfd8bfe
Dispatcher v0.3.6 stamps a child role into every record it writes; the
observatory now resolves and renders it (master → sub-brain → pinkies):

- sessions payload: per-session role field, resolved by declared
  precedence — live spawn flag/result childRole (new live_child_roles
  /proc reader) > dispatch lifecycle ledger > bell ledger (role now
  parsed by stream_bells) > pinned-title [🧠] prefix fallback; pinky is
  the default
- usage payload: series carry the role
- panel info strip (modal + drawer): brain-children badge as
  🧠 BRAIN-CHILD (cyan, distinct from family-hued BRAIN roots and
  mint PINKY workers)
- table: a brain-child's parent link wears the 🧠 glyph and the
  stronger .parbrain style — the delegation backbone reads apart from
  the worker links
- usage graph: brain-child series lines render thicker than sibling
  worker lines (.uline.brain) and the tooltip says
  '🧠 brain-child (delegation)'
- README: delegation-topology section + strip/lineage/usage-API notes;
  install URL bumped to v1.22.0
- tests: new tests/test_role_payload.py (bell role parsing incl.
  pre-v0.3.6 + invalid records, witness precedence + defaults,
  usage-series role + unchanged family grouping)

Gates: unittest 31/31 OK, boot check OK, social-preview current,
pinned Super-Linter slim-v8.7.0 EXIT 0 (BASH, BASH_EXEC, MARKDOWN,
PYTHON_PYLINT 10.00/10, PYTHON_RUFF, YAML).
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
OSS-Singularity/zcode-dispatch-observatory!46
No description provided.