Section
§2.4 — Role/Worker Lifecycle: new Role creation
Failing step
(a) > creates the role and redirects to its detail page
(b) > baseline tool set is empty (no tools pre-selected)
Expected
(a) After clicking CREATE in the New Role dialog, the UI should navigate to the new role's detail page (…/helix-org/roles/<id>).
(b) A newly created role should start with an empty tools list so the operator consciously selects the tools this role needs.
Actual
(a) After role creation, the modal closes and the chart reloads — there is no redirect to the role detail page. The user remains on the chart.
(b) New roles are created with 12 baseline tools pre-populated (the full BaseReadTools set: managers, reports, list_workers, get_worker, list_roles, get_role, list_streams, get_stream, list_stream_events, read_events, worker_log, mint_credential).
Notes
The baseline tool injection is intentional behaviour documented in mcptools/defaults.go (BaseReadTools are merged into every role via MergeBaseReadTools). The QA plan says the baseline should be empty, but the code explicitly auto-injects the base set. This may be a QA.md documentation mismatch rather than a code bug — the redirect to detail (a) is the more actionable regression.
Commit
659f827
Section
§2.4 — Role/Worker Lifecycle: new Role creation
Failing step
(a) > creates the role and redirects to its detail page
(b) > baseline tool set is empty (no tools pre-selected)
Expected
(a) After clicking CREATE in the New Role dialog, the UI should navigate to the new role's detail page (
…/helix-org/roles/<id>).(b) A newly created role should start with an empty tools list so the operator consciously selects the tools this role needs.
Actual
(a) After role creation, the modal closes and the chart reloads — there is no redirect to the role detail page. The user remains on the chart.
(b) New roles are created with 12 baseline tools pre-populated (the full BaseReadTools set: managers, reports, list_workers, get_worker, list_roles, get_role, list_streams, get_stream, list_stream_events, read_events, worker_log, mint_credential).
Notes
The baseline tool injection is intentional behaviour documented in
mcptools/defaults.go(BaseReadTools are merged into every role viaMergeBaseReadTools). The QA plan says the baseline should be empty, but the code explicitly auto-injects the base set. This may be a QA.md documentation mismatch rather than a code bug — the redirect to detail (a) is the more actionable regression.Commit
659f827