Skip to content

Decompose into per-resource targets and products (ruled family shape) #7

Description

@coenttb

Problem. The package's client surface is not modularized per resource/subdomain. The ruled shape for L3 client families (principal, 2026-07-31, reaffirmed 2026-08-01 for the GitHub family explicitly) is per-resource targets and products with per-resource test targets — the realized Stripe family shape. Single-module convergence was ruled a defect for the mailgun family (swift-foundations/swift-mailgun#8 et al.); the same applies here.

Proposed outcome. Per-resource/subdomain targets and products (e.g. Repositories, Traffic, Stargazers, OAuth, Collaborators, Organizations, Users — exact partition follows the API's own resource seams), each with its own test target, dependency edges declared per target, package builds green with the decomposed manifest. Sequenced with (and ideally combined into) the C5 error-shape convergence in #6 so the family is reshaped once, not twice — the traversal-mapping design decision recorded on #6 governs both.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions