Orchestrata Ultimate / RTM / 015-plugin-sdk
RTM: 015-plugin-sdk
Requirement to symbol to test rows for 015-plugin-sdk: Plugin SDK.
At a glance
| Item | Value |
|---|---|
| Requirement IDs | 210 |
Traced from src/ |
95 (45.2%) |
| Untraced | 115 |
Cited from tests/ |
0 (0.0%) |
Traced in src/ but not cited from tests/ |
95 |
Reading this matrix
This matrix lists each of the 210 requirement IDs of spec 015-plugin-sdk with the src/ symbols that cite it and the tests that cite it. 95 of them (45.2%) have at least one citing symbol and 115 have none.
0 requirements are also cited from tests/, and 95 are traced in code but never named by a test. A test citation is a @traces on a test function; it shows intent to cover, not that the test runs or reaches the symbol.
Rows showing none in the symbols column are the gaps to close first. The densest untraced groups are REQ-015-* (115).
Requirement to symbols to tests
| Requirement | Symbols in src/ |
Tests citing it |
|---|---|---|
REQ-015-001 Install plugin from pip package spec (`orchestrata plugins install... |
orchestrata_ultimate/plugin/interfaces install_plugin L440 |
none |
REQ-015-002 Install plugin from local directory path (orchestrata plugins install ./my-plugin) |
orchestrata_ultimate/plugin/discovery install_plugin L56orchestrata_ultimate/plugin/interfaces install_plugin L440orchestrata_ultimate/plugin/manager install_plugin L368+1 more |
none |
REQ-015-003 Install plugin from git URL (orchestrata plugins install git+https://...) |
orchestrata_ultimate/plugin/discovery _install_from_git L123orchestrata_ultimate/plugin/discovery install_plugin L56orchestrata_ultimate/plugin/interfaces install_plugin L440+1 more |
none |
REQ-015-004 Installation validates manifest before completing |
orchestrata_ultimate/plugin/exceptions PluginManifestError L40orchestrata_ultimate/plugin/manifest from_dict L129orchestrata_ultimate/plugin/manifest from_yaml L93 |
none |
REQ-015-005 Installation checks Python dependency compatibility |
none | none |
REQ-015-006 Discover plugins from configurable local directories |
orchestrata_ultimate/plugin/discovery discover_plugins L27orchestrata_ultimate/plugin/interfaces discover_plugins L361orchestrata_ultimate/plugin/loader PluginLoader L45+2 more |
none |
REQ-015-007 Discover plugins via importlib.metadata entry point group orchestrata_plugin |
orchestrata_ultimate/plugin/interfaces discover_plugins L361orchestrata_ultimate/plugin/loader discover_installed L122 |
none |
REQ-015-008 Discover plugins from pip packages with orchestrata-plugin- prefix |
orchestrata_ultimate/plugin/interfaces discover_plugins L361 |
none |
REQ-015-009 Deduplicate discovered plugins by name (local takes precedence) |
orchestrata_ultimate/plugin/loader discover_all L163orchestrata_ultimate/plugin/registry register_discovered L81 |
none |
REQ-015-010 Log all discovered plugins with source and version |
none | none |
REQ-015-011 Load plugin Python module via importlib |
orchestrata_ultimate/plugin/exceptions PluginLoadError L66orchestrata_ultimate/plugin/loader _validate_module_path L197orchestrata_ultimate/plugin/loader load_plugin_class L247 |
none |
REQ-015-012 Instantiate plugin entry point class from manifest |
none | none |
REQ-015-013 Pass PluginContext to plugin on instantiation |
none | none |
REQ-015-014 Load plugins in dependency order (topological sort) |
orchestrata_ultimate/plugin/loader topological_sort L305 |
none |
REQ-015-015 Detect and reject circular plugin dependencies |
orchestrata_ultimate/plugin/loader visit L350 |
none |
REQ-015-016 Plugin calls context.register_volk(alias, capabilities, handler) |
orchestrata_ultimate/plugin/context register_volk L153orchestrata_ultimate/plugin/interfaces register_volk L28orchestrata_ultimate/plugin/registries RegisteredVolk L27+1 more |
none |
REQ-015-017 Registered Volk appears in kernel Volk registry |
orchestrata_ultimate/core/protocols/decoupling PluginVolkRegistryProtocol L128orchestrata_ultimate/core/protocols/decoupling list_volks L141orchestrata_ultimate/kernel/cli_main _boot_plugin_system L474+8 more |
none |
REQ-015-018 Registered Volk is routable via CXP packets |
orchestrata_ultimate/kernel/pipeline set_postman L97 |
none |
REQ-015-019 Volk alias validated for uniqueness (conflict detection) |
orchestrata_ultimate/plugin/registration register_volk L25 |
none |
REQ-015-020 Volk alias cannot override core Volks (U:Ox, U:PS, U:KR reserved) |
orchestrata_ultimate/plugin/governance can_register_volk L123 |
none |
REQ-015-021 Plugin Volk receives CXP packets via handler function |
orchestrata_ultimate/core/protocols/decoupling PluginVolkRegistryProtocol L128orchestrata_ultimate/core/protocols/decoupling RegisteredVolkProtocol L106orchestrata_ultimate/core/protocols/decoupling get_volk L144+3 more |
none |
REQ-015-022 Plugin Volk responds via standard CXP protocol |
orchestrata_ultimate/kernel/pipeline process L90 |
none |
REQ-015-023 Plugin Volk participates in PAM++ governance |
none | none |
REQ-015-024 Plugin Volk has access to PluginContext for DI resolution |
none | none |
REQ-015-025 Plugin Volk can declare capabilities (reasoning, coding, etc.) |
orchestrata_ultimate/orchestrator/orchestrator VolkDefinition L56 |
none |
REQ-015-026 Plugin Volks auto-deregistered on plugin stop |
none | none |
REQ-015-027 In-flight CXP packets to plugin Volk handled gracefully on stop |
none | none |
REQ-015-028 Plugin Volk health monitored by kernel health system |
none | none |
REQ-015-029 Plugin Volk errors isolated from other Volks |
none | none |
REQ-015-030 Plugin Volk registration logged to audit trail |
none | none |
REQ-015-031 Plugin calls context.register_tool(name, description, schema, handler) |
orchestrata_ultimate/plugin/context register_tool L181orchestrata_ultimate/plugin/interfaces register_tool L65orchestrata_ultimate/plugin/registration register_tool L78+2 more |
none |
REQ-015-032 Tool name namespaced: plugin.<plugin_name>.<tool_name> |
none | none |
REQ-015-033 Tool parameters validated against JSON Schema on invocation |
none | none |
REQ-015-034 Tool registered in central tool registry accessible to all Volks |
orchestrata_ultimate/plugin/interfaces IToolRegistry L57orchestrata_ultimate/plugin/registries _PluginToolAdapter L97 |
none |
REQ-015-035 Tool name validated for uniqueness |
none | none |
REQ-015-036 Tool handler invoked asynchronously with validated parameters |
none | none |
REQ-015-037 Tool results returned to calling Volk via CXP |
none | none |
REQ-015-038 Tool invocation authorized by PAM++ before execution |
none | none |
REQ-015-039 Tool execution timeout enforced (configurable per tool) |
none | none |
REQ-015-040 Tool errors returned as structured error responses |
none | none |
REQ-015-041 Plugin tools auto-deregistered on plugin stop |
none | none |
REQ-015-042 In-flight tool invocations completed or cancelled on plugin stop |
none | none |
REQ-015-043 Tool invocation count tracked per plugin |
none | none |
REQ-015-044 Tool execution time tracked per invocation |
none | none |
REQ-015-045 Tool registration logged to audit trail |
none | none |
REQ-015-046 Plugin calls context.register_provider(name, provider, config) |
orchestrata_ultimate/plugin/context register_provider L212orchestrata_ultimate/plugin/interfaces register_provider L92orchestrata_ultimate/plugin/registration register_provider L138 |
none |
REQ-015-047 Provider implements IProvider protocol (SPEC-011) |
none | none |
REQ-015-048 Provider registered with IProviderManager via DI |
orchestrata_ultimate/plugin/interfaces IProviderRegistry L84 |
none |
REQ-015-049 Provider participates in fallback chains |
none | none |
REQ-015-050 Provider participates in cost tracking and rate limiting |
none | none |
REQ-015-051 Provider config loaded from plugin config section |
none | none |
REQ-015-052 Provider API keys loaded from environment variables |
none | none |
REQ-015-053 Provider model metadata declared (capabilities, pricing, context window) |
none | none |
REQ-015-054 Provider rate limits declared in config |
none | none |
REQ-015-055 Provider health monitored by ProviderManager |
orchestrata_ultimate/core/protocols/providers get_provider_health L301orchestrata_ultimate/providers/provider_manager get_provider_health L511 |
none |
REQ-015-056 Plugin providers auto-deregistered on plugin stop |
none | none |
REQ-015-057 In-flight provider requests completed or cancelled on stop |
orchestrata_ultimate/providers/provider_manager _invoke_provider L347orchestrata_ultimate/providers/provider_manager stop L149 |
none |
REQ-015-058 Provider deregistration triggers fallback chain update |
none | none |
REQ-015-059 Provider registration logged to audit trail |
none | none |
REQ-015-060 Provider errors isolated from other providers |
none | none |
REQ-015-061 Plugin calls context.register_rules(rule_files) |
orchestrata_ultimate/plugin/context register_rules L265orchestrata_ultimate/plugin/registration register_rules L249 |
none |
REQ-015-062 Rule files are relative paths within plugin directory |
none | none |
REQ-015-063 Rules loaded into Prolog knowledge base on initialize |
none | none |
REQ-015-064 Rules unloaded from Prolog knowledge base on stop |
none | none |
REQ-015-065 Rule predicate conflicts detected and reported |
none | none |
REQ-015-066 Plugin rules cannot override core PAM++ predicates |
none | none |
REQ-015-067 Plugin rules validated against constitutional articles |
none | none |
REQ-015-068 Plugin rules namespaced to prevent collisions |
none | none |
REQ-015-069 Rule loading failures do not crash Prolog engine |
none | none |
REQ-015-070 Rule audit trail records loaded/unloaded predicates |
none | none |
REQ-015-071 Plugin calls context.register_kg_schema(node_types, rel_types, indexes) |
orchestrata_ultimate/plugin/context register_kg_schema L286orchestrata_ultimate/plugin/manifest KGSchemaExtension L36orchestrata_ultimate/plugin/registration register_kg_schema L277 |
none |
REQ-015-072 Node types namespaced with plugin prefix: Plugin_<name>_<NodeType> |
none | none |
REQ-015-073 Schema applied to Neo4j on plugin initialize |
none | none |
REQ-015-074 Schema migrations versioned per plugin |
orchestrata_ultimate/plugin/manifest KGSchemaExtension L36 |
none |
REQ-015-075 Schema conflicts with core or other plugins detected |
none | none |
REQ-015-076 Plugin can create nodes of its declared types |
none | none |
REQ-015-077 Plugin can create relationships of its declared types |
none | none |
REQ-015-078 Plugin KG operations scoped to its namespace |
none | none |
REQ-015-079 Core KG nodes not modifiable by plugins |
none | none |
REQ-015-080 KG schema extension logged to audit trail |
none | none |
REQ-015-081 orchestrata plugins list shows all plugins with status |
none | none |
REQ-015-082 List output includes: name, version, status, capabilities, source |
orchestrata_ultimate/plugin/interfaces PluginInfo L261 |
none |
REQ-015-083 orchestrata plugins info <name> shows full manifest details |
none | none |
REQ-015-084 Info output includes: registered components, config schema, resource usage |
orchestrata_ultimate/plugin/interfaces PluginInfo L261 |
none |
REQ-015-085 orchestrata plugins enable <name> activates a disabled plugin |
orchestrata_ultimate/plugin/discovery enable_plugin L214orchestrata_ultimate/plugin/interfaces enable_plugin L422orchestrata_ultimate/plugin/manager enable_plugin L346+1 more |
none |
REQ-015-086 orchestrata plugins disable <name> deactivates without uninstalling |
orchestrata_ultimate/plugin/discovery disable_plugin L262orchestrata_ultimate/plugin/interfaces disable_plugin L431orchestrata_ultimate/plugin/manager disable_plugin L359+1 more |
none |
REQ-015-087 Disable stops the plugin and deregisters its components |
orchestrata_ultimate/plugin/discovery disable_plugin L262 |
none |
REQ-015-088 orchestrata plugins uninstall <name> removes completely |
orchestrata_ultimate/plugin/discovery uninstall_plugin L174orchestrata_ultimate/plugin/interfaces uninstall_plugin L456orchestrata_ultimate/plugin/manager uninstall_plugin L386+2 more |
none |
REQ-015-089 Uninstall cleans up Redis state, Neo4j audit, and files |
none | none |
REQ-015-090 Plugin status visible via Gateway RPC plugins.list (SPEC-014) |
none | none |
REQ-015-091 orchestrata plugins doctor <name> runs health check on plugin |
none | none |
REQ-015-092 Doctor checks: manifest validity, dependencies, config, capability access |
none | none |
REQ-015-093 Doctor reports errors with remediation suggestions |
none | none |
REQ-015-094 Error plugins include error message and stack trace in listing |
orchestrata_ultimate/plugin/registry set_status L204 |
none |
REQ-015-095 Plugin logs accessible via orchestrata plugins logs <name> |
none | none |
REQ-015-096 Plugin config loaded from configs/monolithic.yaml under plugins.<name> |
orchestrata_ultimate/plugin/config from_dict L67 |
none |
REQ-015-097 Config validated against schema declared in manifest (JSON Schema) |
none | none |
REQ-015-098 Environment variable interpolation supported in plugin config |
none | none |
REQ-015-099 Config accessible via PluginContext.config |
orchestrata_ultimate/plugin/context get_config L136 |
none |
REQ-015-100 Invalid config prevents plugin load with validation error |
orchestrata_ultimate/plugin/exceptions PluginConfigError L195 |
none |
REQ-015-101 Default config values from manifest applied when keys missing |
none | none |
REQ-015-102 Config changes detectable for hot-reload notification |
none | none |
REQ-015-103 Plugin notified of config changes via on_config_changed() callback |
none | none |
REQ-015-104 New config validated before applying (rollback on rejection) |
none | none |
REQ-015-105 Config changes logged to audit trail |
none | none |
REQ-015-106 Plugins declare required capabilities in manifest |
none | none |
REQ-015-107 DI container scoped to declared capabilities only |
orchestrata_ultimate/plugin/context resolve L107 |
none |
REQ-015-108 Undeclared capability access raises CapabilityDeniedError |
orchestrata_ultimate/plugin/context resolve L107orchestrata_ultimate/plugin/exceptions CapabilityDeniedError L169 |
none |
REQ-015-109 Capability access logged for security audit |
none | none |
REQ-015-110 Capability types: di_access, redis, neo4j, network, filesystem, prolog, event_bus,... |
orchestrata_ultimate/plugin/interfaces PluginCapability L171 |
none |
REQ-015-111 Prolog queried for plugin_allowed(name) before loading |
none | none |
REQ-015-112 Prolog queried for plugin_capability_granted(name, cap) per capability |
none | none |
REQ-015-113 Plugin allowlist configurable in monolithic.yaml |
orchestrata_ultimate/plugin/config PluginConfig L34 |
none |
REQ-015-114 Plugin blocklist overrides allowlist |
orchestrata_ultimate/plugin/governance is_plugin_allowed L63 |
none |
REQ-015-115 Governance decisions logged to audit trail |
orchestrata_ultimate/orchestrator/engine _record_audit L555 |
none |
REQ-015-116 Memory usage tracked per plugin |
orchestrata_ultimate/plugin/interfaces PluginResourceUsage L239orchestrata_ultimate/plugin/interfaces ResourceType L220 |
none |
REQ-015-117 API call count tracked per time window |
orchestrata_ultimate/plugin/interfaces PluginResourceUsage L239orchestrata_ultimate/plugin/interfaces ResourceType L220 |
none |
REQ-015-118 Events emitted tracked per time window |
orchestrata_ultimate/plugin/interfaces PluginResourceUsage L239orchestrata_ultimate/plugin/interfaces ResourceType L220 |
none |
REQ-015-119 Resource limits configurable per plugin in monolithic.yaml |
orchestrata_ultimate/plugin/config PluginResourceLimits L18orchestrata_ultimate/plugin/governance get_resource_limit L170 |
none |
REQ-015-120 Plugin throttled or disabled on resource limit breach |
orchestrata_ultimate/knowledge_graph/nodes function_node_to_cypher L84 |
none |
REQ-015-121 Plugin exceptions caught and logged (never crash core) |
orchestrata_ultimate/knowledge_graph/nodes predicate_node_to_cypher L107 |
none |
REQ-015-122 Plugin marked "error" after consecutive failures (configurable threshold) |
orchestrata_ultimate/knowledge_graph/nodes rule_node_to_cypher L127orchestrata_ultimate/plugin/interfaces PluginResourceUsage L239 |
none |
REQ-015-123 Auto-disable on persistent error state (configurable) |
orchestrata_ultimate/knowledge_graph/nodes cypher_record_to_node L143 |
none |
REQ-015-124 Other plugins unaffected by one plugin's failure |
none | none |
REQ-015-125 Plugin errors include full traceback and plugin context |
none | none |
REQ-015-126 Lifecycle order: discover → validate → load → initialize → start |
orchestrata_ultimate/plugin/interfaces IPluginManager L353orchestrata_ultimate/plugin/manager PluginManager L47 |
none |
REQ-015-127 Shutdown order: stop → unload (reverse dependency order) |
orchestrata_ultimate/plugin/discovery unload_plugin L302orchestrata_ultimate/plugin/registry unregister L110 |
none |
REQ-015-128 initialize() called after load, before any other method |
orchestrata_ultimate/plugin/interfaces initialize L313orchestrata_ultimate/plugin/manager initialize L105 |
none |
REQ-015-129 start() called after all plugins initialized |
orchestrata_ultimate/plugin/interfaces start L326orchestrata_ultimate/plugin/manager start L129orchestrata_ultimate/plugin/sdk start_all L222 |
none |
REQ-015-130 stop() called on shutdown or disable |
orchestrata_ultimate/kernel/cli_main get_metadata L469orchestrata_ultimate/kernel/cli_main stop L454orchestrata_ultimate/plugin/interfaces stop L335+2 more |
none |
REQ-015-131 Plugin declares dependencies on other plugins in manifest |
none | none |
REQ-015-132 Load order computed via topological sort on dependency graph |
orchestrata_ultimate/plugin/loader topological_sort L321 |
none |
REQ-015-133 Circular dependencies detected and rejected with clear error |
orchestrata_ultimate/plugin/exceptions PluginCircularDependencyError L143 |
none |
REQ-015-134 Missing dependency prevents plugin load with clear error |
orchestrata_ultimate/plugin/exceptions PluginDependencyError L117 |
none |
REQ-015-135 Dependency version constraints validated |
none | none |
REQ-015-136 Hot-reload executes: stop → unload → load → initialize → start |
orchestrata_ultimate/plugin/discovery reload_plugin L338 |
none |
REQ-015-137 Hot-reload preserves other plugins' state |
none | none |
REQ-015-138 Hot-reload re-registers all plugin components |
none | none |
REQ-015-139 Hot-reload validates manifest changes before applying |
none | none |
REQ-015-140 Hot-reload logged to audit trail |
none | none |
REQ-015-141 All lifecycle transitions emit events to EventBus |
none | none |
REQ-015-142 Events: plugin.discovered, plugin.loaded, plugin.initialized, plugin.started,... |
none | none |
REQ-015-143 Events include plugin name, version, and transition details |
none | none |
REQ-015-144 All lifecycle events logged to Neo4j audit trail |
none | none |
REQ-015-145 Gateway subscribers receive plugin lifecycle events (SPEC-014) |
none | none |
REQ-015-146 Plugin calls context.subscribe_event(topic, handler) |
orchestrata_ultimate/plugin/context subscribe_event L312orchestrata_ultimate/plugin/interfaces subscribe L139orchestrata_ultimate/plugin/registration subscribe_event L307 |
none |
REQ-015-147 Subscription supports wildcard topics (cxp.*, session.*) |
orchestrata_ultimate/kernel/event_bus _find_matching_handlers L270 |
none |
REQ-015-148 Subscriptions auto-unsubscribed on plugin stop |
none | none |
REQ-015-149 Subscription returns subscription_id for manual unsubscribe |
orchestrata_ultimate/core/protocols/base subscribe L162orchestrata_ultimate/kernel/event_bus subscribe L137 |
none |
REQ-015-150 Event handler receives full event payload |
orchestrata_ultimate/knowledge_graph/prolog_bridge KnowledgePrologBridge L25 |
none |
REQ-015-151 Plugin calls context.emit_event(event_type, payload) |
orchestrata_ultimate/plugin/context emit_event L340orchestrata_ultimate/plugin/interfaces emit L156orchestrata_ultimate/plugin/registration emit_event L352 |
none |
REQ-015-152 Custom events namespaced: plugin.<name>.<event_type> |
orchestrata_ultimate/knowledge_graph/prolog_bridge __init__ L33 |
none |
REQ-015-153 Custom events visible to other plugins and gateway subscribers |
orchestrata_ultimate/knowledge_graph/prolog_bridge assert_ownership L43 |
none |
REQ-015-154 Event emission rate tracked per plugin (resource limit) |
orchestrata_ultimate/knowledge_graph/prolog_bridge query_ownership L57 |
none |
REQ-015-155 Event handler errors do not crash EventBus or other subscribers |
orchestrata_ultimate/kernel/event_bus _call_in_process_handlers L237orchestrata_ultimate/knowledge_graph/prolog_bridge check_can_modify L78 |
none |
REQ-015-156 Plugin calls context.register_channel(channel_id, inbound, outbound) |
orchestrata_ultimate/plugin/context register_channel L237orchestrata_ultimate/plugin/interfaces register_channel L115orchestrata_ultimate/plugin/registration register_channel L192 |
none |
REQ-015-157 Channel registered with kernel channel registry |
orchestrata_ultimate/knowledge_graph/prolog_bridge query_transitive_deps L101orchestrata_ultimate/plugin/interfaces IChannelRegistry L107 |
none |
REQ-015-158 Channel_id validated for uniqueness |
orchestrata_ultimate/knowledge_graph/prolog_bridge check_in_scope L123 |
none |
REQ-015-159 Inbound handler converts external messages to CXP packets |
none | none |
REQ-015-160 Outbound handler converts CXP packets to channel-native messages |
orchestrata_ultimate/knowledge_graph/relationships build_create_rel_cypher L28 |
none |
REQ-015-161 Inbound messages routed through kernel like any CXP packet |
orchestrata_ultimate/knowledge_graph/relationships build_delete_rel_cypher L60 |
none |
REQ-015-162 Outbound messages dispatched to channel via outbound handler |
none | none |
REQ-015-163 Channel configuration loaded from plugin config (tokens, webhooks) |
none | none |
REQ-015-164 Channel health monitored by kernel health system |
none | none |
REQ-015-165 Channel errors isolated from other channels |
none | none |
REQ-015-166 Plugin channels auto-deregistered on plugin stop |
none | none |
REQ-015-167 In-flight channel messages handled gracefully on stop |
none | none |
REQ-015-168 Channel registration logged to audit trail |
orchestrata_ultimate/knowledge_graph/schema get_all_ddl L271 |
none |
REQ-015-169 Channel message throughput tracked per plugin |
orchestrata_ultimate/knowledge_graph/schema get_node_label L406 |
none |
REQ-015-170 Channel reconnection handled by plugin (not core) |
orchestrata_ultimate/knowledge_graph/temporal TemporalManager L28 |
none |
REQ-015-171 SDK published as orchestrata-plugin-sdk pip package |
none | none |
REQ-015-172 SDK includes: IPlugin, PluginContext, PluginManifest, PluginCapability |
orchestrata_ultimate/knowledge_graph/temporal version_node L45orchestrata_ultimate/plugin/manifest PluginManifest L56 |
none |
REQ-015-173 SDK includes type stubs for all public interfaces |
orchestrata_ultimate/knowledge_graph/temporal get_state_at L90 |
none |
REQ-015-174 SDK is version-pinned to Orchestrata compatibility range |
none | none |
REQ-015-175 SDK has zero runtime dependencies on Orchestrata core (interface-only) |
orchestrata_ultimate/knowledge_graph/temporal invalidate L157 |
none |
REQ-015-176 orchestrata plugins scaffold <name> generates plugin template |
none | none |
REQ-015-177 Template includes: plugin.yaml, pyproject.toml, src/, tests/, README.md |
none | none |
REQ-015-178 Template includes working example (minimal Volk or tool) |
orchestrata_ultimate/knowledge_graph/types FileAnalysis L81 |
none |
REQ-015-179 SDK documentation with examples for each registration type |
none | none |
REQ-015-180 Plugin testing utilities provided (test harness, mock context) |
none | none |
REQ-015-181 SDK API follows semantic versioning |
orchestrata_ultimate/knowledge_graph/types DependencyGraph L153 |
none |
REQ-015-182 Breaking changes require major version bump |
orchestrata_ultimate/knowledge_graph/types ChangeEntry L196 |
none |
REQ-015-183 Deprecation warnings for API changes |
orchestrata_ultimate/knowledge_graph/types Dashboard L236 |
none |
REQ-015-184 SDK changelog maintained |
orchestrata_ultimate/knowledge_graph/types ContextBundle L276 |
none |
REQ-015-185 Compatibility matrix published (SDK version ↔ Orchestrata version) |
orchestrata_ultimate/knowledge_graph/types ResolutionResult L309 |
none |
REQ-015-186 IPluginManager registered with ComponentType.PLUGIN_MANAGER |
none | none |
REQ-015-187 IPluginManager resolvable from DI container |
none | none |
REQ-015-188 PluginManager implements IComponent lifecycle |
orchestrata_ultimate/plugin/manager PluginManager L48 |
none |
REQ-015-189 PluginManager initializes after kernel and before Volks |
none | none |
REQ-015-190 PluginManager stops before kernel on shutdown |
none | none |
REQ-015-191 list_plugins() returns all plugins with status |
orchestrata_ultimate/plugin/interfaces list_plugins L413orchestrata_ultimate/plugin/manager list_plugins L337orchestrata_ultimate/plugin/registry list_plugins L190+1 more |
none |
REQ-015-192 get_plugin(name) returns plugin info or None |
orchestrata_ultimate/plugin/interfaces get_plugin L401orchestrata_ultimate/plugin/manager get_plugin L328orchestrata_ultimate/plugin/registry get_info L148+1 more |
none |
REQ-015-193 load_plugin(name) loads and initializes a discovered plugin |
orchestrata_ultimate/plugin/interfaces load_plugin L374orchestrata_ultimate/plugin/manager load_plugin L222orchestrata_ultimate/plugin/registry get_manifest L165+2 more |
none |
REQ-015-194 unload_plugin(name) stops and unloads a plugin |
orchestrata_ultimate/knowledge_graph/types_enums NodeType L24orchestrata_ultimate/plugin/interfaces unload_plugin L383orchestrata_ultimate/plugin/manager unload_plugin L306+1 more |
none |
REQ-015-195 reload_plugin(name) hot-reloads a plugin |
orchestrata_ultimate/knowledge_graph/types_enums RelationshipType L63orchestrata_ultimate/plugin/interfaces reload_plugin L392orchestrata_ultimate/plugin/manager reload_plugin L315+1 more |
none |
REQ-015-196 Query plugins by status (active, disabled, error) |
orchestrata_ultimate/plugin/sdk active_plugins L152 |
none |
REQ-015-197 Query plugins by capability (which plugins provide network access?) |
none | none |
REQ-015-198 Query registered components by plugin (which Volks does plugin X provide?) |
none | none |
REQ-015-199 Query plugin resource usage |
none | none |
REQ-015-200 Query plugin health |
orchestrata_ultimate/plugin/manager get_health L189 |
none |
REQ-015-201 Plugin install/uninstall events recorded |
none | none |
REQ-015-202 Plugin lifecycle events recorded (load, init, start, stop, unload) |
none | none |
REQ-015-203 Plugin registration events recorded (volk, tool, provider, channel, rules) |
none | none |
REQ-015-204 Plugin governance decisions recorded (allow, deny, capability grant) |
none | none |
REQ-015-205 Plugin errors recorded with traceback |
none | none |
REQ-015-206 Audit records stored as Neo4j (:PluginAudit) nodes |
none | none |
REQ-015-207 Audit records linked to (:Plugin) nodes via relationships |
none | none |
REQ-015-208 Audit records include timestamp, plugin_name, event_type, details |
none | none |
REQ-015-209 Audit records immutable after write |
none | none |
REQ-015-210 Audit queryable by time range, plugin name, event type |
none | none |