Skip to content

Latest commit

 

History

History

Architecture Decision Records

These ADRs are reconstructed from the code: the source references ADR numbers (e.g. ADR-0001, ADR-0002, ADR-0005) but the original decision documents are not in this repository. Each record below is rebuilt from the observed implementation; sections marked as reconstructed or inferred should be treated as such until reconciled with any canonical ADR source.

ADR Title Primary code
0001 Smooth weighted round-robin (SWRR) selection crates/busbar/src/store/mod.rs
0002 Circuit breaker: disposition taxonomy & recovery crates/busbar/src/breaker.rs, crates/busbar/src/store/mod.rs, crates/busbar/src/proxy/engine/mod.rs
0005 Superset IR & translation fidelity crates/busbar/src/ir/mod.rs, crates/busbar/src/proto/
0010 Plugin licensing: plugin self-validates; core resolves SecretRefs & delivers settings crates/busbar/src/config/secret.rs, crates/busbar/src/auth/mod.rs, crates/busbar/src/hooks/mod.rs

ADR-0010 is authored as a real 1.5.0 decision (not reconstructed); the rest above are reconstructed from code.

Other ADR numbers referenced in code but not written up here (the references are in comments only):

  • ADR-0006: the ProtocolReader / ProtocolWriter seam (crates/busbar/src/proto/mod.rs).
  • ADR-0007: IrError kept compatible with CanonicalSignal (crates/busbar/src/proto/mod.rs).
  • ADR-0008: the string-keyed ProtocolRegistry (crates/busbar/src/proto/mod.rs, crates/busbar/src/config/mod.rs).
  • ADR-0009: the durable governance Store seam / SqliteStore (crates/busbar/src/governance/mod.rs, crates/busbar/src/config/mod.rs).

See docs/internals.md for the design deep-dive these ADRs underpin, and docs/architecture.md for the public request-lifecycle overview.