Skip to content

refactor(imports)!: isolate runtime and public contract imports - #287

Merged
laipz8200 merged 2 commits into
mainfrom
laipz8200/runtime-import-boundaries
Sep 9, 2026
Merged

laipz8200 merged 2 commits into
mainfrom
laipz8200/runtime-import-boundaries

Conversation

@laipz8200

@laipz8200 laipz8200 commented Sep 9, 2026 •

Copy link
Copy Markdown
Member

Important

  1. Make sure you have read our contribution guidelines
  2. Search existing issues and pull requests to confirm this change is not a duplicate
  3. Open or identify the issue this pull request resolves or advances
  4. Use a Conventional Commits title for this pull request, and mark breaking changes with !
  5. Remember that the pull request title will become the squash merge commit message
  6. If CLA Assistant prompts you, sign CLA.md in the pull request conversation

Related Issue

Closes #286

Depends on #285; based on laipz8200/knowledge-review-metadata.

Summary

Runtime construction and snapshot restoration previously loaded engine implementations, while importing public contracts registered Code and LLM nodes. Move queue ownership into runtime, preserve existing queue exports and snapshot formats, and separate the code executor contract from its implementation.

Load Code and LLM implementations through explicit class or implementation imports. Bare package and public-contract imports no longer register these nodes; document the bootstrap migration.

Enforce architectural dependency layers with one exhaustive Import Linter contract covering composition, engine coordination, host facades, the workflow execution model, events, and shared values/services. Allow dependencies within a layer or downward, and require new top-level modules to be assigned to a layer.

Checklist

  • This pull request links the issue it resolves or advances
  • This pull request title follows Conventional Commits, and any breaking change is marked with !
  • If CLA Assistant prompted me, I signed CLA.md in the pull request conversation

@laipz8200
laipz8200 added this pull request to stack #281 September 9, 2026 07:27
stacked auto-merge was automatically disabled September 9, 2026 16:00

Pull Request is not mergeable

stacked auto-merge was automatically disabled September 9, 2026 16:10

Pull Request is not mergeable

@laipz8200
laipz8200 force-pushed the laipz8200/runtime-import-boundaries branch from a9f15e6 to 144dbf5 Compare September 9, 2026 16:12
stacked auto-merge was automatically disabled September 9, 2026 16:17

Pull Request is not mergeable

@laipz8200
laipz8200 force-pushed the laipz8200/runtime-import-boundaries branch from 144dbf5 to 3135f7a Compare September 9, 2026 16:20
@laipz8200
laipz8200 force-pushed the laipz8200/runtime-import-boundaries branch from 3135f7a to 38244b8 Compare September 9, 2026 16:24
Base automatically changed from laipz8200/knowledge-review-metadata to main September 9, 2026 16:27
Move ready queue contracts, task values, and the default implementation into
runtime while preserving engine-path aliases, custom queues, and snapshots.
Separate code executor contracts from node loading and enforce dependency
directions with Import Linter through existing local and CI entry points.

BREAKING CHANGE: bare Code/LLM package and public-contract imports no longer
register concrete nodes. Bootstrap with explicit class or implementation imports.

Closes #286
Replace case-specific forbidden imports with one exhaustive six-layer
contract covering all top-level packages, modules, and their descendants.
Permit dependencies within a layer or downward and require newly added
top-level modules to be classified explicitly.

Document the existing workflow schema relationships and preserve the
separate node-registration guarantees of fresh-process import checks.

Refs #286
@laipz8200
laipz8200 force-pushed the laipz8200/runtime-import-boundaries branch from 38244b8 to 1f1be33 Compare September 9, 2026 16:27
@laipz8200
laipz8200 merged commit b97d010 into main Sep 9, 2026
8 checks passed
@laipz8200
laipz8200 deleted the laipz8200/runtime-import-boundaries branch September 9, 2026 16:31
@dosubot

dosubot Bot commented Sep 9, 2026

Copy link
Copy Markdown

📄 Knowledge review

✏️ Documentation updates

1 page was updated by changes in this PR.

Page Library Status
README /graphon/blob/main/README.md dify-plugin-sdks ✅ Updated
📝 README — changes
@@ -49,8 +49,8 @@
 
 `just dev` installs the project, syncs development dependencies, and sets up
 [`prek`](https://prek.j178.dev/) Git hooks. `just test` is the progressive
-local validation entrypoint: it formats, applies lint fixes, runs `ty check`,
-and then runs [`pytest`](https://docs.pytest.org/).
+local validation entrypoint: it formats, applies lint fixes, checks import
+contracts, runs `ty check`, and then runs [`pytest`](https://docs.pytest.org/).
 
 ## Run the Example Workflows
 

Leave Feedback Ask Dosu about graphon

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.

Isolate runtime queues and public contract imports (TD-01, TD-05)

2 participants