Port reference
Implement replaceable capabilities without changing the Lumis SDK domain or application layer.
Current public ports
| Port | Responsibility |
|---|---|
| EvidenceProvider | Return bounded typed evidence and structured failures for one incident. |
| ModelGateway | Return structured diagnosis and auditable invocation metadata. |
| MemoryStore | Save incidents, record confirmed resolutions, and search with transparent reasons. |
| ReportWriter | Persist a human-readable or machine-readable diagnosis report. |
| ContextProvider | Retrieve bounded evidence without mutation. |
| PolicyEvaluator | Propose a recommendation-only action plan. |
| ApprovalProvider | Record an explicit decision. |
| RecoveryVerifier | Return verification state without remediation. |
| AuditTrail | Record lifecycle transitions. |
Compatibility posture
Ports are experimental pre-1.0 interfaces; changes require compatibility notes. New core ports require an RFC because they expand the framework's dependency and authority surface. The testkit ships reusable contract assertions—evidence collection, JSON report round-trip, async memory store, plugin factory—so independent implementations can prove conformance in their own CI.