Skip to content

Feat/entity registry#1296

Closed
AtMrun wants to merge 4 commits intorefactor-v3from
feat/entity-registry
Closed

Feat/entity registry#1296
AtMrun wants to merge 4 commits intorefactor-v3from
feat/entity-registry

Conversation

@AtMrun
Copy link
Copy Markdown
Collaborator

@AtMrun AtMrun commented Apr 13, 2026

Changelog

  • to be added

Additional context (e.g. screenshots, logs, links)

  • to be added

Checklist

  • Additional tests added
  • All CI checks passed
  • Relevant documentation updated

Copyleft License Compliance

  • Have you used any code that is subject to a Copyleft license (e.g., GPL, AGPL, LGPL)?
  • If yes, have you modified the code in the context of this project? please share additional details.

AtMrun added 4 commits April 12, 2026 10:42
Remove all deprecated v2 modules that have been superseded by v3
equivalents. This includes activities/, application/, workflows/,
handlers/, interceptors/, deprecated client files, worker.py,
the deprecated APIServer, and deprecated test utilities.

Key changes:
- Relocate workflows/outputs/ to application_sdk/outputs/ (active code)
- Update non-deprecated imports to use v3 paths (handler.base.Handler,
  contracts.events, execution._temporal.activity_utils)
- Remove deprecated register_tools() from MCP server (v3 uses
  register_tools_from_registry)
- Clean up server/fastapi/models.py (remove WorkflowTrigger classes)
- Delete ~23K lines of deprecated source and test code

Deferred (still actively used by v3 code):
- services/objectstore.py, statestore.py, secretstore.py
- test_utils/hypothesis/, test_utils/e2e/
- standards/documentation.md: replace deleted v2 module-to-doc mappings
  with v3 equivalents (app/, handler/, templates/, execution/, etc.)
- standards/exceptions.md: update directory paths (handlers/ -> handler/,
  workflows/ -> app/task.py)
- concepts/clients.md: remove deleted TemporalWorkflowClient,
  WorkflowClient, get_workflow_client sections; point to execution module
…MetadataExtractor

Introduces declarative entity definitions that replace hardcoded
asyncio.gather of 4 entities in SqlMetadataExtractor.run().

- EntityDef dataclass: name, sql, endpoint, phase, enabled, timeout
- Phased orchestration: entities grouped by phase, run concurrently
  within phase, sequentially across phases
- _fetch_entity() dispatches to fetch_{name}() methods by convention
- Full backward compat: empty entities list falls back to default 4
  (databases, schemas, tables, columns)
- Adding a new entity type is one line in the entities list

What a Snowflake extractor looks like:

    class SnowflakeExtractor(SqlMetadataExtractor):
        entities = [
            EntityDef(name="databases", phase=1),
            EntityDef(name="schemas",   phase=1),
            EntityDef(name="stages",    phase=2),
            EntityDef(name="streams",   phase=2),
        ]
@snykgituser
Copy link
Copy Markdown

snykgituser commented Apr 13, 2026

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@cmgrote
Copy link
Copy Markdown
Collaborator

cmgrote commented Apr 13, 2026

@AtMrun — do we still need this? Feels like this PR is a combination of probably two separate PRs?

@AtMrun AtMrun closed this Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants