-
Notifications
You must be signed in to change notification settings - Fork 2
Module Boundary
ImperaZim edited this page Jun 30, 2026
·
5 revisions
This page summarizes the EasyLibrary 3.0-dev module boundary decision.
The versioned source document is
docs/module-boundary.md.
Modules stay in the EasyLibrary core for now.
LibModule is still a valid future idea, but it should not be created before
the module runtime contract is smaller, better tested and less coupled to core
boot behavior.
The current module runtime owns more than authoring helpers:
- discovery from owner plugin
plugin.yml; -
module.ymlmanifest loading; - dependency and load-order resolution;
- service and capability registry;
- PMMP plugin enable/disable synchronization;
- command, listener, event, task, async job and cleanup tracking;
-
/easymodule,/modules,/version, doctor and report-bundle output.
Moving all of that into a separate repo too early would make boot behavior and diagnostics more fragile.
| Step | Status | Scope |
|---|---|---|
| OP-29A | Done | Boundary audit, docs and lightweight tests |
| OP-29B | Done | Shared module command runner plus native /easymodule fallback without rich LibCommand
|
| OP-29C | Next | Coupling to imperazim\components\plugin
|
| OP-29D | Pending | Stable read-only module summary |
| OP-29E | Pending | Module smoke matrix |
The module authoring surface remains @experimental in 3.0-dev. Plugin authors
can test it, but it may still change before stable 3.0.0.
See Public API Contract and Compatibility Policy for the broader API rules.
- Package Manager
- Package Backed Plugins
- Standalone vs Package
- Package Switch and Migration
- Package Doctor
- Package Safety Gate
- Support Report Bundle
- Timings
- Package Recovery
- Proxy Troubleshooting
- Migrating from EasyLibrary 2.0 to 3.x
- Embedded Libraries Migration Map
- Removed Features and Replacements
- Deprecated APIs
- Compatibility Policy
- Config Migration
- 3x Dev Scope Checkpoint
- Plugin Developer Migration
- Server Administrator Migration
- Official Libraries
- LibPacket
- LibCommand
- LibSerializer
- LibForm
- LibDB
- LibCommons
- LibHttp
- LibAssets
- LibPlaceholder
- LibWorld
- EasyLibrary Agent Bridge
- LibCustom
- LibEnchantment
- LibHud
- LibTrigger
- LibWindow
- Public API Contract
- Module Boundary
- Module Smoke Matrix
- LibAsync Incubator
- LibReflect Incubator
- Doctor Output
- Repository Notifications
- Smoke Tests
- Common Errors
- Release and Changelog