Skip to content

Add spaday-based model registry browser - #249

Draft
timkpaine wants to merge 8 commits into
mainfrom
tkp/spaday
Draft

Add spaday-based model registry browser#249
timkpaine wants to merge 8 commits into
mainfrom
tkp/spaday

Conversation

@timkpaine

Copy link
Copy Markdown
Member

No description provided.

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Test Results

    1 files  ± 0      1 suites  ±0   3m 12s ⏱️ +52s
1 425 tests +72  1 423 ✅ +72  2 💤 ±0  0 ❌ ±0 
1 431 runs  +72  1 429 ✅ +72  2 💤 ±0  0 ❌ ±0 

Results for commit 315fc53. ± Comparison against base commit a224a37.

This pull request removes 67 and adds 139 tests. Note that renamed tests count towards both.
ccflow.tests.ui.test_cli.TestGetUIArgsParser ‑ test_overrides_positional
ccflow.tests.ui.test_cli.TestGetUIArgsParser ‑ test_parser_composition
ccflow.tests.ui.test_cli.TestGetUIArgsParser ‑ test_viewer_layout_custom_values
ccflow.tests.ui.test_cli.TestGetUIArgsParser ‑ test_viewer_layout_defaults
ccflow.tests.ui.test_model.TestModelConfigViewer ‑ test_init_returns_viewable
ccflow.tests.ui.test_model.TestModelConfigViewer ‑ test_on_model_change_with_description
ccflow.tests.ui.test_model.TestModelConfigViewer ‑ test_on_model_change_with_model
ccflow.tests.ui.test_model.TestModelConfigViewer ‑ test_on_model_change_with_none
ccflow.tests.ui.test_model.TestModelConfigViewer ‑ test_panel_contains_html_pane
ccflow.tests.ui.test_model.TestModelConfigViewer ‑ test_render_dependencies_empty
…
ccflow.tests.ui.panel.test_cli.TestGetUIArgsParser ‑ test_overrides_positional
ccflow.tests.ui.panel.test_cli.TestGetUIArgsParser ‑ test_parser_composition
ccflow.tests.ui.panel.test_cli.TestGetUIArgsParser ‑ test_viewer_layout_custom_values
ccflow.tests.ui.panel.test_cli.TestGetUIArgsParser ‑ test_viewer_layout_defaults
ccflow.tests.ui.panel.test_model.TestModelConfigViewer ‑ test_init_returns_viewable
ccflow.tests.ui.panel.test_model.TestModelConfigViewer ‑ test_on_model_change_with_description
ccflow.tests.ui.panel.test_model.TestModelConfigViewer ‑ test_on_model_change_with_model
ccflow.tests.ui.panel.test_model.TestModelConfigViewer ‑ test_on_model_change_with_none
ccflow.tests.ui.panel.test_model.TestModelConfigViewer ‑ test_panel_contains_html_pane
ccflow.tests.ui.panel.test_model.TestModelConfigViewer ‑ test_render_dependencies_empty
…

♻️ This comment has been updated with latest results.

@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.20408% with 47 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.66%. Comparing base (a224a37) to head (315fc53).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
ccflow/ui/spaday/cli.py 77.46% 15 Missing and 1 partial ⚠️
ccflow/tests/ui/spaday/utils.py 77.27% 7 Missing and 3 partials ⚠️
ccflow/ui/panel/cli.py 60.00% 10 Missing ⚠️
ccflow/ui/panel/model.py 95.83% 3 Missing and 2 partials ⚠️
ccflow/ui/spaday/model.py 95.00% 1 Missing and 3 partials ⚠️
ccflow/tests/ui/spaday/test_model.py 98.93% 1 Missing ⚠️
ccflow/ui/panel/registry.py 98.85% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #249      +/-   ##
==========================================
+ Coverage   93.57%   93.66%   +0.08%     
==========================================
  Files         176      190      +14     
  Lines       20500    21238     +738     
  Branches     1352     1398      +46     
==========================================
+ Hits        19183    19892     +709     
- Misses       1046     1068      +22     
- Partials      271      278       +7     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@timkpaine
timkpaine changed the base branch from main to tkp/lazy-registry August 19, 2026 12:53
@timkpaine
timkpaine force-pushed the tkp/spaday branch 2 times, most recently from 238dc5a to a40c136 Compare August 19, 2026 20:41
Base automatically changed from tkp/lazy-registry to main August 19, 2026 23:24
@ptomecek

Copy link
Copy Markdown
Collaborator

@timkpaine IS this ready for review yet?

Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Replace the hand-built wa-tree with spaday-trees, which derives the
hierarchy from registry paths and brings its own search box.

Add a Dependencies tab rendering the registry dependency DAG with
spaday-dagre; clicking a node selects that model, so the graph shares
the sidebar's selection state. Registered names are root-relative and
leading-slashed, so they are normalized before matching leaf paths.

Bridge the tree's color-scheme to the wa-dark page theme and add a dark
toggle.

Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Comment thread ccflow/ui/spaday/cli.py Outdated

add_hydra_config_args(parser)

parser.add_argument("--address", type=str, default="127.0.0.1", help="Address to bind the server to (default: 127.0.0.1).")

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change to host

@timkpaine timkpaine left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dagre rendering a bit messed up, also its global and not model-local so it looks a bit weird

materializing a model collapses the tree, need to fix

Rename the server bind option from --address to --host.

Make the dependency graph model-local: each model's card gets a
Dependencies tab showing only what is reachable from that model, with
the focused node marked, instead of one global graph in a page-level
tab. Models with no dependencies get no tab.

Bind the tree's selected_paths to the seeded selection so materializing
a model reveals it again after the redirect instead of leaving the tree
collapsed.

Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Label nodes with the full registry path so the hierarchy an entry comes
from is visible.

Point edges from a dependency to the model that uses it, so the chain
reads in dataflow order and the inspected model is the last node.

Replace navigate-on-click with a context menu: a pointer event on a node
opens a popup naming it, and its Open model action both selects the
model and reveals it in the sidebar tree. Each node carries its own menu
body with literal actions, because the action DSL cannot build the
single-element list the tree's selected_paths needs from a store value.

Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants