Commit Graph

9 Commits

Author SHA1 Message Date
Rodin 65a433d0c6 chore: merge golang-conventions and prometheus-conventions into sources/
Absorbed content from rodin/golang-conventions and
rodin/prometheus-conventions into a sources/ directory.
Reference material — descriptive, not prescriptive.

Part of taxonomy cleanup (elixir-patterns issue #4).
2026-05-07 18:02:04 -07:00
Rodin fe74d5d47c chore: remove project conventions from sources/
These have been promoted to standalone repos:
- rodin/cockroachdb-conventions
- rodin/prometheus-conventions
- rodin/temporal-conventions
2026-04-30 11:45:45 -07:00
Rodin 498a3e9b27 docs: add Temporal patterns (9 patterns from temporalio/temporal)
Key patterns:
- Effect buffer (transactional side effects with rollback)
- Soft assertions (log invariant violations, don't crash)
- Type-safe state transitions (HSM with source validation)
- Mutable vs immutable context (type-level access control)
- Goroutine Handle (safe lifecycle, predates CockroachDB by 3.5y)
- Dynamic config with generics (566 settings, namespace-scoped)
- Composable predicates (filter algebra with flattening)
- Persistence plugin registration (init pattern)
- ShutdownOnce (CAS-based safe channel close)
2026-04-30 11:40:31 -07:00
Rodin 2f7536766c chore: move cross-ecosystem analysis to patterns-vs-guidelines
These docs analyze multiple ecosystems (Go + Elixir) and
don't belong in a single-ecosystem patterns repo.
2026-04-30 10:50:36 -07:00
Rodin 4185747da6 docs: testing philosophy + API evolution strategies
Four testing models: defense-in-depth (CockroachDB), golden
files (Prometheus), fake adapters (Ecto), testing modes (Oban).

Three evolution strategies: version gates (distributed),
numbered migrations (schema), compile-time deprecation (library).
2026-04-30 10:33:55 -07:00
Rodin d6f36b67c8 docs: cross-cutting concerns analysis (logging, config, retry, lifecycle)
How CockroachDB, Prometheus, Ecto, and Oban handle the
things that touch everything but belong nowhere. Includes
red flags and review questions for each concern.
2026-04-30 10:31:19 -07:00
Rodin cee58e85a4 docs: ecosystem-level analysis — how codebases present to consumers
Extension points, deliberate absences, test architecture,
and consumer contracts across CockroachDB, Prometheus, Ecto, Oban.

Key insight: smaller interface → larger ecosystem.
2026-04-30 10:02:07 -07:00
Rodin 725308c37a docs: architectural analysis across CockroachDB, Prometheus, Ecto, Oban
Not just per-file patterns — structural analysis of how these
codebases organize at scale. Key findings:
- 116 packages @ 4 files each (CockroachDB)
- Interface layer breaks circular deps
- Testability designed in, not bolted on
- Composition via data, not inheritance
2026-04-30 09:28:03 -07:00
Rodin 758ae5dae4 docs: add patterns extracted from cockroachdb and prometheus
CockroachDB: 4 patterns (Stopper lifecycle, leak detection, two-phase shutdown, CloserFn adapter)
Prometheus: 5 patterns (atomic file ops, DefaultOptions, aligned timestamps, sentinel errors, compile-time interface checks)
2026-04-30 09:04:11 -07:00