[#54] refactor: move plugin graph inspection into PluginRegistry #77

Closed
nazim wants to merge 1 commit from nazim/cobot:refactor/inspect-to-registry into main
Contributor

Moves the graph-building logic into PluginRegistry.inspect() so the web plugin can use it at runtime with live data.

Changes

  • registry.py: Added inspect() method — builds graph from live registered plugins (no AST heuristics)
  • inspect.py: Added inspect_from_registry() wrapper, removed standalone serve_graph() server, kept all formatters + static scan_plugins() for CLI
  • test_inspect.py: 9 new tests for registry inspect, kept all existing tests

Why

The standalone --serve HTTP server was a prototype. The viz belongs in the web admin dashboard (#48), which has access to the live registry. PluginRegistry.inspect() gives it the graph data directly.

scan_plugins() stays for offline CLI use (cobot plugins inspect --format table).

44 tests passing.

Part of #54

Moves the graph-building logic into `PluginRegistry.inspect()` so the web plugin can use it at runtime with live data. ### Changes - **`registry.py`**: Added `inspect()` method — builds graph from live registered plugins (no AST heuristics) - **`inspect.py`**: Added `inspect_from_registry()` wrapper, removed standalone `serve_graph()` server, kept all formatters + static `scan_plugins()` for CLI - **`test_inspect.py`**: 9 new tests for registry inspect, kept all existing tests ### Why The standalone `--serve` HTTP server was a prototype. The viz belongs in the web admin dashboard (#48), which has access to the live registry. `PluginRegistry.inspect()` gives it the graph data directly. `scan_plugins()` stays for offline CLI use (`cobot plugins inspect --format table`). 44 tests passing. Part of #54
refactor: move plugin graph inspection into PluginRegistry
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 22s
CI / test (3.12) (pull_request) Successful in 23s
E2E Tests / e2e (pull_request) Successful in 11s
CI / test (3.13) (pull_request) Successful in 24s
CI / build (pull_request) Has been skipped
0f8a00615a
- Add PluginRegistry.inspect() method for live graph building
- Keep scan_plugins() in inspect.py for offline CLI use
- Add inspect_from_registry() thin wrapper in inspect.py
- Remove standalone serve_graph() (web plugin will serve the viz)
- Add registry inspect tests
nazim force-pushed refactor/inspect-to-registry from 0f8a00615a
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 22s
CI / test (3.12) (pull_request) Successful in 23s
E2E Tests / e2e (pull_request) Successful in 11s
CI / test (3.13) (pull_request) Successful in 24s
CI / build (pull_request) Has been skipped
to 55fb566fec
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 21s
CI / test (3.12) (pull_request) Successful in 22s
E2E Tests / e2e (pull_request) Successful in 11s
CI / test (3.13) (pull_request) Successful in 23s
CI / build (pull_request) Has been skipped
2026-02-22 13:20:03 +00:00
Compare
nazim force-pushed refactor/inspect-to-registry from 55fb566fec
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 21s
CI / test (3.12) (pull_request) Successful in 22s
E2E Tests / e2e (pull_request) Successful in 11s
CI / test (3.13) (pull_request) Successful in 23s
CI / build (pull_request) Has been skipped
to e989c9b5d0
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 22s
CI / test (3.12) (pull_request) Successful in 23s
E2E Tests / e2e (pull_request) Successful in 11s
CI / test (3.13) (pull_request) Successful in 24s
CI / build (pull_request) Has been skipped
2026-02-22 13:21:18 +00:00
Compare
nazim force-pushed refactor/inspect-to-registry from e989c9b5d0
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 22s
CI / test (3.12) (pull_request) Successful in 23s
E2E Tests / e2e (pull_request) Successful in 11s
CI / test (3.13) (pull_request) Successful in 24s
CI / build (pull_request) Has been skipped
to fe6897fb9b
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 21s
CI / test (3.12) (pull_request) Successful in 24s
E2E Tests / e2e (pull_request) Successful in 12s
CI / test (3.13) (pull_request) Successful in 24s
CI / build (pull_request) Has been skipped
2026-02-22 13:23:22 +00:00
Compare
nazim force-pushed refactor/inspect-to-registry from fe6897fb9b
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 21s
CI / test (3.12) (pull_request) Successful in 24s
E2E Tests / e2e (pull_request) Successful in 12s
CI / test (3.13) (pull_request) Successful in 24s
CI / build (pull_request) Has been skipped
to d478157d78
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 20s
CI / test (3.12) (pull_request) Successful in 22s
E2E Tests / e2e (pull_request) Successful in 10s
CI / test (3.13) (pull_request) Successful in 24s
CI / build (pull_request) Has been skipped
2026-02-22 14:48:07 +00:00
Compare
doxios closed this pull request 2026-02-26 20:13:17 +00:00
Some checks failed
CI / lint (pull_request) Failing after 9s
CI / test (3.11) (pull_request) Successful in 20s
CI / test (3.12) (pull_request) Successful in 22s
E2E Tests / e2e (pull_request) Successful in 10s
CI / test (3.13) (pull_request) Successful in 24s
CI / build (pull_request) Has been skipped

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ultanio/cobot!77
No description provided.