Files
msd-core/docs/adr/0005-sdk-architecture-seam-map.md
Jakub Zych a9a7a328e6 refactor: hard-fork GSD -> MSD (Make Software Done)
Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD
across contents and paths, upstream package/repo coordinates -> @golem15/msd-core
and golem15com/msd-core. Deep links into upstream history, sibling upstream
packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is.

Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line,
package/plugin identity, regenerated lockfile, install-tree fixtures, derived
registries and benchmark baseline; migration checksum baseline re-locked
(MSD keeps its own install state, so no install had applied the old sums);
sort-order and regex-escaped expectations in tests adjusted.
2026-10-06 01:47:40 +02:00

1.6 KiB

SDK Architecture seam map for query/runtime surfaces

  • Status: Superseded by ADR-0174 (2026-05-23); originally Accepted (2026-05-09)
  • Date: 2026-05-09

We decided to keep SDK architecture explicitly module-seamed rather than allow feature logic to spread across query handlers, runtime adapters, and compatibility shims. This ADR is the top-level map for SDK seams and their ownership boundaries.

Decision

  • Treat the SDK as a composition of explicit seam Modules with thin call-site Adapters.
  • Keep compatibility policy isolated behind the SDK Package Seam Module (see 0007-sdk-package-seam-module.md).
  • Keep dispatch transport/outcome policy behind the Dispatch Policy Module and SDK Runtime Bridge Module (see 0001-dispatch-policy-module.md amendment).
  • Keep model/runtime profile resolution behind the Model Catalog Module (see 0003-model-catalog-module.md).
  • Keep planning/worktree/workstream path-state policy behind the Planning Workspace Module (see 0004-worktree-workstream-seam-module.md).
  • Keep planning path projection policy explicit and centralized (detailed in 0006-planning-path-projection-module.md).

Consequences

  • SDK callers (init*, query handlers, runtime entry points) remain thin Adapters over stable interfaces.
  • Changes to package layout compatibility, dispatch transport, model policy, and planning path policy are localized to owning Modules.
  • Architecture reviews can classify drift quickly: if behavior changes outside owning seam Module, it is a design violation.