wfectl logs <ci-name> returned nothing because each sub-workflow's step logged under its own UUID. The LogStore is keyed by workflow_id, so querying the parent ci ID found zero entries. Now stream_logs uses root_workflow_id (the top-level ancestor) so all sub-workflow output aggregates under the ci run the user actually started.