Files
msd-core/docs/adr/0005-sdk-architecture-seam-map.md
Tom Boucher 6e31630f2a docs(adr): ADR-0174 — retire @opengsd/gsd-sdk package boundary (#198)
* docs(adr): retire @opengsd/gsd-sdk package boundary

Authors ADR-XXXX (Single-runtime collapse onto src/ TypeScript)
and marks ADR-0005, 0007, 0012, 3524 as Superseded.

The dual-runtime SDK design accumulated ~120 files of scaffolding
(worker pool, generators, parity tests, transition shims, two
release pipelines) for a feature set CJS provides in-process.
This ADR records the decision to collapse onto a single TS source
tree in src/ within get-shit-done-cc.

Implementation tracked separately in the umbrella tracking issue
and per-phase sub-issues (referenced in the PR body).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(adr): assign ADR-0174 number and finalize supersedes references

Replaces XXXX placeholder with real ADR number (0174 = umbrella
tracking issue #174 per project convention, zero-padded to 4 digits).
Updates Status lines in ADR-0005, ADR-0007, ADR-0012, ADR-3524 to
reference ADR-0174. Adds README.md index entry for ADR-0174 and
marks the four superseded ADRs accordingly.

Refs #174.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 23:38:35 -04:00

1.5 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.