feat: split builtin task type definitions#17
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ae6e5a43d6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
demos/task_registry.py
Outdated
| ) | ||
| def load_builtin_registry() -> None: | ||
| importlib.import_module("demos.stage_handlers") | ||
| from demos.task_types import BUILTIN_PERSONAS, BUILTIN_TASK_TYPES |
There was a problem hiding this comment.
Break circular import between registry and task types
Importing demos.task_types now fails because task_types.py imports demos.task_registry, and task_registry.py immediately calls load_builtin_registry() which does from demos.task_types import BUILTIN_PERSONAS, BUILTIN_TASK_TYPES before task_types has finished initializing. In this code path (e.g., python3 -c "import demos.task_types"), Python raises ImportError for a partially initialized module, so the new split module cannot be imported directly.
Useful? React with 👍 / 👎.
Summary
demos/task_types.pyto hold builtin persona and task-type definitionsdemos/task_registry.pydown to registry primitives plus builtin loader wiringValidation
python3 -m compileall demos/task_registry.py demos/task_types.py demos/persona_workflow_demo.py demos/stage_handlers.pypython3 demos/persona_workflow_demo.pypython3 demos/persona_workflow_demo.py --task-input demos/product_design_task.jsonpython3 demos/persona_workflow_demo.py --task-input demos/ux_review_task.jsonpython3 demos/persona_workflow_demo.py --task-input /tmp/pop_legacy_task.jsonmarket_research_task.json,product_design_task.json, andux_review_task.json