Skip to content

T-16: Documentation — README + CLAUDE.md + docs/architecture + testplan + CI #230

@kirich1409

Description

@kirich1409

Description

Update documentation in the same PR cluster that lands implementation on main.

(1) MacApp/Packages/GitHubIntegration/README.md (new)

  • Package overview
  • OAuth App registration instructions for new contributors (manual GitHub step)
  • Where to put Client ID (GitHubOAuthConfig.clientID)
  • Module architecture (Client/Feature split)
  • Dependency diagram

(2) CLAUDE.md (root) — add to macOS Client table

| GitHubIntegration | GitHub OAuth + polling CI status + badge/popover UI |

Also in "Key Patterns": reference ASWebAuthenticationSession.callbackURLScheme pattern used here.

(3) docs/architecture/github-integration.md (new)

  • Why OAuth App (not GitHub App) — no backend
  • Why REST + ETag (not GraphQL) — 304 doesn't count against primary limit
  • Why own client (not Octokit.swift / swift-openapi-generator)
  • Rate-limit strategy + future cap
  • Migration path to GitHub App

(4) docs/testplans/15-github-integration.md (new)

10–15 TCs: happy path, error matrix from T-14 (each row ≥1 TC), polling (active/inactive/rate-limit/SAML), accessibility (VoiceOver, Tab, Dynamic Type, reduce motion).

(5) docs/testplans/coverage-matrix.md

Updated with new TCs.

(6) .github/workflows/ci.yml

Verify Swift job covers new package; if path filter is whitelist-style, add MacApp/Packages/GitHubIntegration/**.

Spec reference

See swarm-report/github-integration-decomposition.md#t-16 (BA M-6).

Relationships

Acceptance criteria

  • MacApp/Packages/GitHubIntegration/README.md exists with the 5 sections listed
  • CLAUDE.md macOS Client table contains GitHubIntegration row
  • CLAUDE.md "Key Patterns" references ASWebAuthenticationSession.callbackURLScheme
  • docs/architecture/github-integration.md exists with 4 design rationales
  • docs/testplans/15-github-integration.md exists with 10–15 TCs
  • docs/testplans/coverage-matrix.md updated
  • .github/workflows/ci.yml covers new package (confirmed by CI run)

Complexity

S

Suggested agent

developer-workflow:swift-engineer

Module / Layer

Cross-cutting / Docs + CI

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions