frontend-patterns/research/catalog/SourceCatalog.md
tegwick 96d11431dc Expand transactional editing evidence and compare authority cases
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
2026-09-25 10:32:13 +02:00

64 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Source Catalog
## Identified primary sources
| ID | Source and edition | State | Prepared input |
| --- | --- | --- | --- |
| SRC-0001 | Ryan Carniato, [The Grand Unifying Architecture of Frontend](https://dev.to/playfulprogramming/the-grand-unifying-architecture-of-frontend-bhk); web edition accessed 2026-09-24; displayed Sep 22, year unverified | extracted; [initial manual review](../cases/CarniatoGrandUnifyingArchitecture.md); live draft completed; admission rejected ([review](../reviews/LLMConnectPilot.md)) | [Authority and feedback packet](../bench/infospaces/carniato-authority-01/artifacts/sources/source.md) |
| SRC-0002 | Martin Kleppmann, Adam Wiggins, Peter van Hardenberg, Mark McGranaghan, [Local-first software](https://www.inkandswitch.com/essay/local-first/); April 2019 web essay; DOI 10.1145/3359591.3359737; accessed 2026-09-24 | extracted; [initial manual review](../cases/LocalFirstAuthority.md); live bounded investigation completed; no candidates justified ([review](../reviews/TruncationDiagnosis.md)) | [Local authority packet](../bench/infospaces/local-first-authority-01/artifacts/sources/source.md) |
| SRC-0003 | Joplin, [Architecture](https://joplinapp.org/help/dev/spec/architecture/); living docs accessed 2026-09-25, release/date unknown | extracted; E04 in [expansion review](../reviews/LocalFirstEvidenceExpansion.md) | Manual located review |
| SRC-0004 | Joplin, [Synchronisation](https://joplinapp.org/help/dev/spec/sync/); living docs accessed 2026-09-25, release/date unknown | extracted; E05–E06 in expansion review | Manual located review |
| SRC-0005 | Joplin, [What is a conflict?](https://joplinapp.org/help/apps/conflict/); living docs accessed 2026-09-25, release/date unknown | extracted; live run completed, editorial revision needed | [Conflict packet](../bench/sources/joplin-conflicts.md) |
| SRC-0006 | Obsidian, [Troubleshoot Sync](https://obsidian.md/help/sync/troubleshoot); living docs accessed 2026-09-25, release/date unknown | extracted; live run completed, proposed relations rejected | [Conflict packet](../bench/sources/obsidian-conflicts.md) |
| SRC-0007 | Obsidian, [Back up files](https://obsidian.md/help/backup); living docs accessed 2026-09-25, release/date unknown | extracted; E11–E12 in expansion review | Manual located review |
| SRC-0008 | Kubernetes, [API Concepts](https://kubernetes.io/docs/reference/using-api/api-concepts/); living docs accessed 2026-09-25, revision unknown | T01; bounded live extraction and editorial review | [Stale-write packet](../bench/sources/kubernetes-stale-writes.md) |
| SRC-0009 | GitLab, [Repository files API](https://docs.gitlab.com/api/repository_files/); living docs accessed 2026-09-25, revision unknown | T02; manual located review | [Transactional review](../reviews/TransactionalEvidenceExpansion.md) |
| SRC-0010 | Stripe, [Idempotent requests](https://docs.stripe.com/api/idempotent_requests); living docs accessed 2026-09-25, revision unknown | T03; manual located review | Transactional review |
| SRC-0011 | React Router, [Network Concurrency Management](https://reactrouter.com/explanation/concurrency); living docs accessed 2026-09-25, revision unknown | T04; manual located review | Transactional review |
| SRC-0012 | React Router, [Pending UI](https://reactrouter.com/start/framework/pending-ui); living docs accessed 2026-09-25, revision unknown | T05; manual located review | Transactional review |
Queued does not mean reviewed. Bibliography and hashes live in each workspace's
source artifact and manifest. [Preparation review](../reviews/SchemaAndSourcePreparation.md)
records selection, provenance limits and remaining work. Claim IDs will resolve
inside completed source reviews; preparation packets do not establish a pattern.
## Source families to investigate
| Family | Representative sources | Research purpose |
|---|---|---|
| Pattern languages | Christopher Alexander, Hillside/PLoP literature | Pattern form, relations, generative sequences |
| GUI architecture | Martin Fowler, MVC/MVP/Presentation Model | Presentation/domain/state separation |
| Unidirectional state | Flux, Redux, Elm | State transition and dependency direction |
| Hypermedia | REST, HTML forms, HTMX | Navigation, mutation, server projection |
| Rendering | web.dev, framework docs, Patterns.dev | CSR/SSR/SSG/hydration/islands/streaming |
| Local-first | Ink & Switch and related work | Local authority, sync, conflict handling |
| Distributed state | CRDT/event sourcing/sync literature | Reconciliation and replication |
| Modularity | Feature-Sliced Design | Feature boundaries and dependency rules |
| Organizational architecture | Microfrontend literature | Independent ownership/deployment |
| Quality | WCAG, progressive enhancement, web performance | Cross-cutting architectural forces |
## Catalog policy
Each source should eventually capture:
- source identity,
- date/version,
- scope,
- vocabulary used,
- candidate patterns,
- dominant forces,
- assumptions,
- contradictions,
- known implementations,
- evidence quality.
2026-09-24: initial authority-focused reviews are recorded as extracted. They have
not passed a full-source or independent review gate. Live calls failed before any
artifact generation. See [AuthorityPilot](../reviews/AuthorityPilot.md) for findings,
execution evidence and limitations.
2026-09-25: local-first `-06` completed after replacing padded claim tables with
compact records. Its bounded negative result does not complete full-source review.
Source state remains extracted; recurrence and independent implementations remain open.