F2-04 - Semantic Kernel Implementation Checklist
May 9, 2026 ยท View on GitHub
Objective
Convert the Semantic Kernel package in integrations/semantic-kernel/ from an SDK-ready scaffold into a functional Python-oriented integration without reopening already settled language-scope decisions.
Use this checklist when implementation work starts or when a PR changes the package shape, runtime hooks, tools, middleware or documentation.
Current Baseline
- The package declares itself as
functionaland that status matches the shipped integration surface. -
integrations/semantic-kernel/README.mdno longer describes the Python SDK as future work. -
docs/F2-04-Semantic-Kernel-Integration-Design.mdstill matches the intended runtime surface. - RC metadata stays aligned with the coordinated
1.0.0rc1release train and the package now carries the frozenagent-did-sdk==1.0.0rc1dependency floor expected for the core RC.
Factory And Public Surface
- Keep
createAgentDidSemanticKernelIntegration(...)as a conceptual alias while the Python-first surface ships ascreate_agent_did_semantic_kernel_integration(...). - Define the Python adapter return shape before adding secondary helpers.
- Keep the public concepts centered on Semantic Kernel-native surfaces: tools, middleware, context and observability hooks.
Runtime Integration
- Map Agent-DID tools to host-friendly tool specs suitable for framework tool registration.
- Define middleware or runtime hooks for identity injection without exposing secrets.
- Define how session or workflow context carries identity metadata safely.
Security
- Keep sensitive capabilities opt-in: HTTP signing, payload signing and key rotation.
- Ensure private keys never enter model-visible prompts or runtime context.
- Ensure error, logging and observability paths stay sanitized by default.
Documentation And Examples
- Add at least one runnable example covering the target Python runtime surface.
- Document secure defaults and opt-in exposure flags in
integrations/semantic-kernel/README.md. - Keep README, design doc and package metadata aligned in the same PR.
Validation
- Add tests for the adapter factory and tool exposure.
- Add tests for middleware or context injection semantics.
- Add tests for secure defaults and failure handling.
- Add an optional real-runtime smoke path against
semantic-kernelwithout forcing the runtime dependency in the default install.
Full Parity Claim Closure
- Add automated host-runtime coverage beyond the current smoke path, including at least one sessionful or multi-step flow.
- Add automated coverage for a sequence that exercises more than one Agent-DID tool in the same runtime scenario.
- Add a specialized observability surface or adapter beyond generic structured events, with redaction guarantees validated by tests.
- Add at least two deeper operational recipes: one multi-step or multi-tool recipe and one environment-aware observability or deployment recipe.
- Update README, parity matrix, maturity-gap assessment and review checklist together so the repository can accurately claim full parity with LangChain Python.
Current Closure Notes
- The shipped package is Python-native and no longer depends on the legacy JS scaffold.
- The integration exposes tool specs, session context helpers and middleware-like hooks without forcing a hard runtime dependency.
- The package now exposes a
.[runtime]extra and a semantic-kernel plugin helper for validating real host compatibility. - The pytest bootstrap for async tests is now resilient to both clean environments and environments where
pytest-asynciois already auto-loaded. - Test bootstrap helpers continue to follow repo style rules, including spaces-only indentation so the Python lint step stays green across CI images.
- Dedicated CI coverage is expected in
.github/workflows/ci-semantic-kernel.yml. - Observability is vendor-neutral and sanitized by default, and now also projects to OpenTelemetry through an optional specialized adapter.
- Runtime validation now includes a real semantic-kernel multi-step lifecycle with signing, verification, key rotation and document-history evidence.
- The package now ships three operational recipes covering base runtime validation, composed observability and a production-oriented host sequence.
Exit Rule
F2-04 is implementation-ready for release review when the package has a functional adapter, runnable example, automated tests and documentation that matches shipped behavior.
Changelog
| Date | Change |
|---|---|
| 2026-05-08 | RC metadata refreshed for the coordinated 1.0.0rc1 release train and the checklist now records the frozen agent-did-sdk==1.0.0rc1 dependency expectation. |
| 2026-03-31 | Repository slug updated to agent-did and Semantic Kernel package metadata aligned to the new GitHub URL and Agent-DID contributors branding. No runtime, tool, middleware or API surface changes. |
| 2026-03-22 | Repository license migrated from MIT to Apache-2.0. pyproject.toml updated accordingly. No functional changes to the integration surface. |