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 functional and that status matches the shipped integration surface.
  • integrations/semantic-kernel/README.md no longer describes the Python SDK as future work.
  • docs/F2-04-Semantic-Kernel-Integration-Design.md still matches the intended runtime surface.
  • RC metadata stays aligned with the coordinated 1.0.0rc1 release train and the package now carries the frozen agent-did-sdk==1.0.0rc1 dependency floor expected for the core RC.

Factory And Public Surface

  • Keep createAgentDidSemanticKernelIntegration(...) as a conceptual alias while the Python-first surface ships as create_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-kernel without 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-asyncio is 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

DateChange
2026-05-08RC 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-31Repository 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-22Repository license migrated from MIT to Apache-2.0. pyproject.toml updated accordingly. No functional changes to the integration surface.