Files
msd-core/docs
Tom Boucher 61be100a02 docs(#1642): amend ADR-0174 §5 — reconcile Result type + add exitReason? (#1643)
Two changes to ADR-0174 §5 (Sync dispatch with tight-typed Result<T>):

1. Reconcile the documented Result type to the as-built code. The
   original §5 text planned 'Unknown' / 'BadArgs' / 'ValidationFailed'
   / 'NotImplemented' / 'HandlerFailed'; the SDK retirement migration
   kept the ADR-0012 names (UnknownCommand / InvalidArgs / HandlerFailure)
   and never added the planned ValidationFailed or NotImplemented
   variants. HandlerRefusal was added during implementation but never
   back-filled into this ADR. The ADR now documents what consumers
   actually depend on.

2. Add the optional exitReason?: string field on the InvalidArgs variant
   (and update the makeInvalidArgs factory signature). This carries an
   ERROR_REASON enum value separately from the existing reason
   explanation text, so capability routers migrating from direct
   error(msg, ERROR_REASON.USAGE) calls to makeInvalidArgs(...) Results
   preserve ERROR_REASON granularity through the Hub Result →
   error(msg, exitReason) translation. The field is additive and
   backward-compatible.

Also tightens the amendment requirement: 'Adding a new variant OR
adding a field to an existing variant requires amending this ADR.'

Phase 0 of parent #1641. No code changes; pure ADR amendment.
2026-06-23 21:42:16 -04:00
..

GSD Core documentation

Documentation is organised into four quadrants: tutorials help you learn by doing, how-to guides solve specific tasks, reference states authoritative facts, and explanation explores concepts and design decisions.

Language versions: English · Português (pt-BR) · 日本語 · 简体中文


Tutorials


How-to guides


Reference


Explanation


  • Root README — landing page, quickstart, and documentation overview
  • Changelog — release history