feat(engine): typed-extension runtime (WP-0014 T2)
engine/extension.py: Extension contract (id/provides/declares_types/depends_on/ conflicts_with + bound hooks), ExtensionRuntime (register-with-verification, activate = dependency closure + conflict + type-collision checks rejecting impossible profiles), and ActiveExtensions with deterministic (topological, id-tie) hook dispatch — transform hooks chain, collect hooks gather. 9 tests green, coverage floor held, pyflakes clean. Marks T2 done. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
9b7f86ba69
commit
b48a99d3c2
4 changed files with 287 additions and 2 deletions
|
|
@ -5,7 +5,22 @@ is *one shard*: it is consumed by the orchestrator only via its `EngineShardAdap
|
|||
imports the derived tier (`union`/`projection`).
|
||||
"""
|
||||
|
||||
from shard_wiki.engine.extension import (
|
||||
ActiveExtensions,
|
||||
Extension,
|
||||
ExtensionError,
|
||||
ExtensionRuntime,
|
||||
Hook,
|
||||
)
|
||||
from shard_wiki.engine.kernel import EngineKernel
|
||||
from shard_wiki.engine.links import extract_wikilinks
|
||||
|
||||
__all__ = ["EngineKernel", "extract_wikilinks"]
|
||||
__all__ = [
|
||||
"EngineKernel",
|
||||
"extract_wikilinks",
|
||||
"Hook",
|
||||
"Extension",
|
||||
"ExtensionError",
|
||||
"ExtensionRuntime",
|
||||
"ActiveExtensions",
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue