extensions/. The folder name is the extension identity and must be a valid Python identifier.
extensions/warehouse/
Declare the extension
metadata.name must match the folder. The optional PEP 621 project name and version must match extension.yaml. Its static dependencies join the root environment solve.
Export the application-owned singleton
extension.py exports one public Extension subclass and the singleton named extension. Keep SDK clients on that singleton, and expose a bounded invocation view through ExtensionContext:
extensions/warehouse/extension.py
start() or connect to services. Runtime startup activates extensions in dependency order and calls stop() in reverse order.
Add optional extension content
Managed mode composes declared content into the owning agent. Advanced mode accepts declared lifecycle hooks and factories but rejects populated managed-content directories because the native target owns its own composition.
Add extension dependencies
Userequires.extensions when this extension depends on another local Harnest Extension:
extensions/warehouse/extension.yaml
harnest env sync instead of creating isolated environments.
Add lifecycle behavior
Declare exactly which Harnest surfaces the extension contributes.