[importlinter] root_packages = core constants context graphon configs controllers extensions factories libs models tasks services include_external_packages = True [importlinter:contract:workflow] name = Workflow type=layers layers = graph_engine graph_events graph nodes node_events runtime entities containers = graphon ignore_imports = graphon.nodes.base.node -> graphon.graph_events graphon.nodes.iteration.iteration_node -> graphon.graph_events graphon.nodes.loop.loop_node -> graphon.graph_events graphon.nodes.iteration.iteration_node -> graphon.graph_engine graphon.nodes.loop.loop_node -> graphon.graph_engine # TODO(QuantumGhost): fix the import violation later graphon.entities.pause_reason -> graphon.nodes.human_input.entities [importlinter:contract:workflow-external-imports] name = Workflow External Imports type = forbidden source_modules = graphon forbidden_modules = constants configs context controllers extensions factories libs models services tasks core.agent core.app core.base core.callback_handler core.datasource core.db core.entities core.errors core.extension core.external_data_tool core.file core.helper core.hosting_configuration core.indexing_runner core.llm_generator core.logging core.mcp core.memory core.moderation core.ops core.plugin core.prompt core.provider_manager core.rag core.repositories core.schemas core.tools core.trigger core.variables [importlinter:contract:workflow-third-party-imports] name = Workflow Third-Party Imports type = forbidden source_modules = graphon forbidden_modules = sqlalchemy [importlinter:contract:rsc] name = RSC type = layers layers = graph_engine response_coordinator containers = graphon.graph_engine [importlinter:contract:worker] name = Worker type = layers layers = graph_engine worker containers = graphon.graph_engine [importlinter:contract:graph-engine-architecture] name = Graph Engine Architecture type = layers layers = graph_engine orchestration command_processing event_management error_handler graph_traversal graph_state_manager worker_management domain containers = graphon.graph_engine [importlinter:contract:domain-isolation] name = Domain Model Isolation type = forbidden source_modules = graphon.graph_engine.domain forbidden_modules = graphon.graph_engine.worker_management graphon.graph_engine.command_channels graphon.graph_engine.layers graphon.graph_engine.protocols [importlinter:contract:worker-management] name = Worker Management type = forbidden source_modules = graphon.graph_engine.worker_management forbidden_modules = graphon.graph_engine.orchestration graphon.graph_engine.command_processing graphon.graph_engine.event_management [importlinter:contract:graph-traversal-components] name = Graph Traversal Components type = layers layers = edge_processor skip_propagator containers = graphon.graph_engine.graph_traversal [importlinter:contract:command-channels] name = Command Channels Independence type = independence modules = graphon.graph_engine.command_channels.in_memory_channel graphon.graph_engine.command_channels.redis_channel