ETS-based partitioned buffer for high-throughput data processing in Elixir: continuous accumulation, periodic batch release, per-partition double-buffering, configurable processor.
When rules conflict, resolve top-down. Items 1–3 are local to
this repository; item 4 is imported via the :usage_rules
dependency (the auto-generated section at the bottom of this
file).
usage-rules/architecture.md— design decisions and non-negotiables. Read before structural changes or any hot-path "optimization".usage-rules/tidefall.md— code-level patterns and pitfalls. Read before touching a buffer impl, processor, option, match spec, telemetry, or their tests.usage-rules/elixir-style.md— style guidelines (complementsmix format+credo --strict).usage_rules:elixir/usage_rules:otp— generic Elixir/OTP rules (imported below).
The canonical gate is mix test.ci: deps.unlock --check-unused, compile --warnings-as-errors, format --check-formatted, credo --strict, coveralls.html,
dialyzer --format short. Run it before pushing; green CI is a
requirement, not a courtesy check. For fast iteration use
targeted mix test, mix format --check-formatted, and
mix credo --strict directly.
- Conventional Commits:
type(scope): summary— imperative, lowercase, no trailing period, ≤72 chars. Scopes when useful:queue,map,partition,options,telemetry,workflow. - Branch from
main. Do NOT editCHANGELOG.md— put release-note context in the PR body for the maintainer. - PR body:
## Summary,## Behavior changes(omit if internal-only),## Test plan,Closes #<issue>when applicable. Keep it short — the diff carries the detail, the description carries the why. - Reviewing: verify against
usage-rules/(non-negotiables first); findings ordered by severity withfile:linerefs, open questions next, summary last.
README.md— public usage and configuration examples.- Hexdocs (rendered from module
@moduledoc/@doc): https://hexdocs.pm/tidefall — canonical API reference, including the telemetry event list.
The section below is generated by mix usage_rules.sync (alias
mix ur.sync). Re-run mix deps.get && mix ur.sync after
upgrading :usage_rules or changing its config in mix.exs.
The @deps/... references resolve only after mix deps.get —
on a fresh checkout, fetch deps before relying on them.
A config-driven dev tool for Elixir projects to manage AGENTS.md files and agent skills from dependencies
@deps/usage_rules/usage-rules.md
@deps/usage_rules/usage-rules/elixir.md
@deps/usage_rules/usage-rules/otp.md