Skip to content

ARCHITECTURE.md is referenced everywhere but doesn't exist in the repo #2

Description

@pitah23

What's wrong

README.md points readers at it directly:

See ARCHITECTURE.md §4 for the full system design.

And it's cited by section number throughout the codebase as the source of truth for real design decisions, e.g.:

  • CONTRIBUTING.md — "see ARCHITECTURE.md §4 for the intended shape of apps/* and packages/*"
  • apps/badge/src/index.ts — "Framework-free by design (ARCHITECTURE.md §4.1)", "a cached 'verified' image becomes a forgery vector (ARCHITECTURE.md §4.2)"
  • packages/api-client/src/client.ts — "Thin typed fetch wrapper... (ARCHITECTURE.md §2.1)", "Latency budget: ≤150ms (ARCHITECTURE.md §2.3)"
  • packages/api-client/src/types.ts — "the frontend never computes trust logic (ARCHITECTURE.md §1's golden rule)"
  • apps/extension/src/background/index.ts — "Mirrors the backend's Redis-first cache strategy (ARCHITECTURE.md §2.3)"
  • apps/dashboard/app/project/[id]/*.tsx — "(ARCHITECTURE.md §2.3)", "(ARCHITECTURE.md §4.2)"
  • .github/workflows/ci.yml — "Playwright e2e per ARCHITECTURE.md §6"

The file does not exist anywhere in the repo (checked at root and searched the full tree).

Impact

Every one of these comments is currently an unverifiable claim — there's no way to check whether "§2.3" actually says what the comment implies, and new contributors have no single doc explaining the golden rule ("frontend never computes trust logic"), the cache strategy, latency budgets, or the intended app/package boundaries.

Suggested fix

Write ARCHITECTURE.md at the repo root with (at minimum) the sections already cited by section number in code comments:

  • §1 — core principles (frontend never holds keys / never computes trust logic)
  • §2.1, §2.3 — backend API contract & caching/latency strategy
  • §4, §4.1, §4.2, §4.3 — app/package boundaries, badge constraints, dashboard project page spec
  • §5.1 — API client generation strategy
  • §6 — testing strategy (Playwright e2e)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions