-
Notifications
You must be signed in to change notification settings - Fork 4
feat: simple and fast method for obtaining project overview for spaces, operations, and resource relationships #736
Description
Is your feature request related to a problem? Please describe.
When working with an ado project, I routinely need two pictures at once:
- Campaign design e.g. which discovery spaces exist, what experiments they use, how large or structured the entity space is.
- Work done e.g. how much has been measured, which operations ran, and what downstream resources (samplestores, datacontainers) exist.
Neither picture is easy to get in one pass today.
For spaces I start with ado get spaces (sometimes --details), but the default listing is thin, and richer structure — experiments, space size, measurement coverage — still requires fetching YAML per space or running additional commands (requiring copy/pastings many ids)
For progress you need to use either ado show summary and ado show details, but:
detailsis rich but scoped to one space or operation at a time; for single instanceshow details operationis relatively quick; howevershow details spaceis much slower; when querying many spaces/operations time adds up quickly.summaryrequires explicit space IDs or filters rather than a single project-wide view, it only gives high-level percentages, and is slows to execute across many spaces (appears same as serial execution of show details space)
Understanding how resources connect (for example whether an operation produced a datacontainer) means calling ado show related per resource - no way to see the project connections as a connected whole c.f. a tree
In summary, getting a coherent overview of "what's been designed" and "what has been run" currently requires many commands, copy-pasting many IDs, and obtaining overlapping outputs that partially duplicate each other.
Describe the solution you'd like
A CLI method to get a fast, project (context) overview that answers in one place:
- What spaces exist and enough design context to understand and compare them without dumping full configs (experiment types, entity space size, key parameters).
- Measurement and execution activity for those spaces and their associated operations — at a useful level of detail, not only percentages.
- (Optionally), a relationship view across the main resource types (samplestore → spaces → operations → datacontainers) so I can see how resource connect without issuing a separate query per resource.
and that is responsive on real projects.
As a starter I imagine an enhanced ado get e.g. that integrates partial or fully ado show details output, along with an enhanced ado show related (maybe as ado tree)
Describe alternatives you've considered
- Status quo with tooling around it — shell scripts or notebooks that call the CLI repeatedly. This works but preserves the fragmentation, duplication, and latency I want to avoid.
- Dedicated
ado project statusorado overviewcommand — a single aggregate entry point, keepingado getfor raw listing andado showfor deep dives, so the separation of concerns is clear. However need a clean separation of the commands.
- Unify and clarifyado show summaryvsado show details— one command with explicit modes, or a cleaner split between "tabular, many spaces" and "narrative, one resource," so overlap is reduced and multi-space overviews (including "all spaces in project") are first-class without hand-assembling ID lists.
Additional context
- Key "HUD" metrics: A core part of a workable solution is deciding what the key metrics are and what the boundary is between HUD metrics and deep dive metrics -> suggest counting/statistics like metrics can be HUD, anything requiring fetching of actual measurements is not.
- Overlap today:
ado show summary(table/CSV/Markdown, multiple spaces via IDs or label filters) andado show details(one space or operation, narrative) both address "how much is measured / what's related," so you end up moving between them for similar questions. ado show detailsandado show relatedboth surfaces relationships for a single anchor resource separately.ado gettoday: The default space table is intentionally minimal (identifier, name, age);--detailsadds some columns. Becauseado getoptions are shared across resource kinds, adding expensive or resource-specific columns is awkward without affecting every get use case.- Performance: Space-oriented summaries currently build full in-memory views to compute counts and percentages, which does not scale comfortably across many spaces. Operation paths already use SQL aggregation for entity statistics; space-level and cross-space bulk statistics likely need similar treatment to keep a project overview responsive.
- Relationship visibility: Related resources are currently resolved per resource through the metastore; a project-level view implies composing those edges in bulk rather than repeated single-resource calls from the user side.