Skip to content

Phase 7a: Configuration & Platform Primitives #19

Description

@Wahbeh-Mohammad

Ship Configuration and the shared platform primitives several earlier phases were about to duplicate.

Scope

  • Configuration model + validation (CFG-*), proxy options (ProxyOptions, including the challengeHandler
    slot whose protocol lands in 8a), timeouts, connection settings.
  • config/clock.ts — the real injectable Clock/random determinism seam that replaces 5a's ad hoc one.
  • config/http-date.ts — shared RFC 1123 parser and formatter; 5a's private parser becomes an import.
  • config/retryable.ts — one shared retryable-status definition (408, 429, 5xx except 501/505) so RETRY-1 and
    CFG-35 cannot drift.
  • CFG-36 build/runtime descriptor — version via build-time codegen, never a runtime placeholder — plus
    clientIdentityStep() (RECOV-33: Append/Replace token composition, blank-line suppression), closing
    NFR-15.

Spec refs

Product spec §16 (CFG-*), appendix C RECOV-33, NFR-15. sdk-design: §8.

Dependencies

Phases 0–4c. Must run before 5a — 5a Task 8 consumes Clock, and its parser/retryable-status modules are
sourced from here. Leads 7b (OBS-35's log-level resolution wants Configuration).

Docs

  • Design: docs/superpowers/specs/2026-07-28-phase7a-configuration-design.md
  • Plan: docs/superpowers/plans/2026-07-28-phase7a-configuration.md
  • Segmentation: docs/superpowers/specs/2026-07-28-phase7-segmentation-design.md
  • Validation prompt: docs/validation-prompts/phase7a-configuration-validation-prompt.md

Notes

clientIdentityStep is not installed by standardResilience() by default — callers install it explicitly.
The User-Agent actually reaching the wire is verified in 8a.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions