-
Notifications
You must be signed in to change notification settings - Fork 2
Module Boundary
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, and the repository is reserved at
git@github.com:ImperaZim/LibModule.git. It should not become an official
package/runtime before the module 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, component handle 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 | Done | Component coupling isolated behind an internal registry/handle adapter |
| OP-29D | Done |
easylibrary.modules.v1 read model for commands, reports and doctor output |
| OP-29E | Next | 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.
addComponent() remains available for compatibility with owner plugins that use
PluginToolkit, but lifecycle cleanup now tracks a module component handle
instead of storing PluginToolkit directly.
Module diagnostics now share the easylibrary.modules.v1 read model through
ModuleRuntimeSummary and ModuleSummaryEntry. Human command text can still
change during 3.0-dev, but report data, doctor data and runtime summaries read
from the same snapshot.
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
- Doctor Output
- Repository Notifications
- Smoke Tests
- Common Errors
- Release and Changelog