Skip to content

feat: simple and fast method for obtaining project overview for spaces, operations, and resource relationships #736

@michael-johnston

Description

@michael-johnston

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:

  • details is rich but scoped to one space or operation at a time; for single instance show details operation is relatively quick; however show details space is much slower; when querying many spaces/operations time adds up quickly.
  • summary requires 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:

  1. What spaces exist and enough design context to understand and compare them without dumping full configs (experiment types, entity space size, key parameters).
  2. Measurement and execution activity for those spaces and their associated operations — at a useful level of detail, not only percentages.
  3. (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 status or ado overview command — a single aggregate entry point, keeping ado get for raw listing and ado show for deep dives, so the separation of concerns is clear. However need a clean separation of the commands.
    - Unify and clarify ado show summary vs ado 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) and ado 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 details and ado show related both surfaces relationships for a single anchor resource separately.
  • ado get today: The default space table is intentionally minimal (identifier, name, age); --details adds some columns. Because ado get options 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions