• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bedrock-kv / bedrock
82%

Build:
DEFAULT BRANCH: develop
Repo Added 02 Oct 2025 12:09AM UTC
Token s5ZhiY9p3BKcBOY6Au8fohhCDmrp89s9W regen
Build 582 Last
Files 216
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH develop
branch: develop
CHANGE BRANCH
x
Reset
Sync Branches
  • develop
  • bedrock-162/atomic-localfs-cas
  • bedrock-1cp/object-storage-resolution
  • bedrock-22g/spread-materializer-placement
  • bedrock-31d/app-env-overrides-use-config
  • bedrock-3t9/durability-params
  • bedrock-5yi/election-flapping
  • bedrock-783/mint-audit-gap
  • bedrock-80f/peer-cluster-spike
  • bedrock-8cx/mutation-order
  • bedrock-93j/genserverapi-start-link
  • bedrock-a4n-hunt-dead-code
  • bedrock-awj.1/link-foreman-order
  • bedrock-awj.2/tsl-validation-fresh
  • bedrock-b28/fix-read-conflict-encoding
  • bedrock-bkj/tsl-lifecycle
  • bedrock-bkt/plt-cache-key
  • bedrock-ck3/reclaim-scratch-files
  • bedrock-czn/fix-strict-test-warnings
  • bedrock-dead-code-sweep
  • bedrock-egw/legacy-bed0-compat
  • bedrock-fae/gh-141-layout-boundaries
  • bedrock-gu0.5/ignore-stale-worker-health
  • bedrock-hve.1/fsck-chunk-structure
  • bedrock-jb4/index-manager-stats-accounting
  • bedrock-jq8/fix-task-exit-crash
  • bedrock-jsu/credo-nesting-empty-enum
  • bedrock-jyy/0-7-1-changelog
  • bedrock-jyy/0-7-1-retag
  • bedrock-jyy/fix-package-smoke
  • bedrock-jyy/release-0-7-1
  • bedrock-jyy/release-main-0-7-1
  • bedrock-jzh/local-filesystem-moduledoc
  • bedrock-km1/filter-localfs-internal-files
  • bedrock-ls9/director-notification-attribution
  • bedrock-mi1/selector-position-arithmetic
  • bedrock-ngl/timeout-window-advance-guard
  • bedrock-oep/empty-range
  • bedrock-p5v/fix-olivine-right-edge
  • bedrock-q67.21.13/recovery-stops-at-tag-0
  • bedrock-q67.21.14/rename-components
  • bedrock-q67.21.15/exclusion-safety-log-record
  • bedrock-q67.21.19/unparseable-keys-are-errors
  • bedrock-q67.21.20/bootstrap-membership
  • bedrock-q67.21.8/materializer-idle-timeout-config
  • bedrock-q67.26/gate-system-reads
  • bedrock-q67.35/trim-batch-finalized-at
  • bedrock-q67.36/arm-heartbeat-on-recover
  • bedrock-q67.44/no-evict-on-slow
  • bedrock-qb0g/thread-tx-through-recovery
  • bedrock-qj1/read-timeouts
  • bedrock-s9x/fix-transaction-builder-down-race
  • bedrock-sfu/normalize-exit-reasons
  • bedrock-skill-upgrade
  • bedrock-tah/livebook-placeholder-cleanup
  • bedrock-uvk/retry-telemetry-deterministic
  • bedrock-uvk/shard-server-retry-telemetry-flake
  • bedrock-v65/link-epoch-fencing
  • bedrock-vih/atomic-segment-preallocation
  • bedrock-w10/leader-durable-core-state
  • bedrock-wjt/compaction-version
  • bedrock-wxf.7/object-storage-disk-cache
  • bedrock-xfc/fix-dets-test-lifecycle
  • bedrock-zi44/snapshot-upload-policy
  • ccarvalho/fix-conflict-resolution-retries
  • chore/bedrock-fu8-dep-updates
  • chore/bedrock-qep-remove-beads-gitignore
  • ci/matrix-elixir-1.19.5-1.20.2
  • ci/otp-29-matrix
  • codex/recover-shard-materializers-on-restart
  • credo-specs-lib-only
  • docs/readme-story
  • docs/readme-tighten
  • feature/bedrock-4jo
  • feature/bedrock-as6j
  • feature/bedrock-w84
  • feature/bedrock-wsq
  • feature/increase_test_coverage
  • feature/q67-death-healing
  • feature/q67-death-healing-reconciled
  • feature/q67-distributor
  • feature/q67-idle-spindown
  • feature/q67-log-trimming
  • feature/q67-metadata-pipeline
  • feature/q67-metadata-window-protocol
  • feature/q67-phase-a
  • feature/q67-phase-b-prereqs
  • feature/q67-placeholder
  • feature/q67-readoption
  • feature/q67-recovery-relaxation
  • feature/q67-recruitment
  • feature/q67-shard-key-clearing
  • feature/q67-sharded-abort-metadata
  • feature/q67-spindown-readoption
  • feature/q67-system-key-encoding
  • feature/q67-system-keyspace-guide
  • feature/q67-tag0-death
  • feature/q67-tsl-delta
  • feature/q67.21.1-distributor-lock
  • feature/q67.21.10-drop-layout-logs
  • feature/q67.21.11-core-state
  • feature/q67.21.12-system-materializers
  • feature/q67.21.13-recovery-stops-at-tag-0
  • feature/q67.21.16-shard-readability
  • feature/q67.21.17-listing-truthfulness
  • feature/q67.21.2-recovery-read-heal
  • feature/q67.21.3a-distributor-singleton
  • feature/q67.21.3b-placeholder
  • feature/q67.21.4a-recruitment
  • feature/q67.21.4b-healing
  • feature/q67.21.5-audit-fixes
  • feature/q67.21.5-idle-spindown
  • feature/q67.21.5b-adoption
  • feature/q67.21.6-in-band-retirement
  • feature/q67.21.9-materializer-set
  • feature/q67.37-typed-unlock-seed
  • feature/q67.38-tsl-services-kill
  • feature/q67.38-worker-self-displacement
  • feature/q67.40-by-key-routing
  • feature/q67.41-epoch-constant-logs
  • feature/q67.42-bootstrap-read-continuation
  • feature/q67.43-eval-cleanup
  • feature/q67.45-stale-window-exit
  • feature/q67.9-client-read-path
  • feature/q67.9-materializer-family
  • feature/q67.9-proxy-routing-endpoint
  • feature/q67.9-tsl-shard-field-kill
  • feature/reorganize_startup
  • feature/rework_olivine
  • feature/umbrella
  • feature/xma
  • fix/bedrock-287-health-fold-order
  • fix/bedrock-61c.1-cut-interval-coupling
  • fix/bedrock-61c.2-foreman-worker-enumeration
  • fix/bedrock-61c.3-recycler-max-available
  • fix/bedrock-ghd-local-object-atomicity
  • fix/bedrock-gu0.4-remove-wait-for-healthy
  • fix/bedrock-m7j-recycler-server-clauses
  • fix/bedrock-mxt-spinup-health
  • fix/bedrock-n5h-settle-health
  • fix/bedrock-n9w-placeholder-flake
  • fix/bedrock-wn6-hex-package-bloat
  • fix/bedrock-yp2-flaky-tests
  • fix/bedrock-z2e-monitor-workers
  • fix/deps-cve-hackney
  • fix/docs-warning-wal-format
  • fix/durable-read-path
  • fix/flaky-tests
  • fix/issue-68-fresh-cluster-routing
  • fix/issue-70-olivine-waitlist-timeout
  • fix/issue-71-materializer-bootstrap
  • fix/legacy-bootstrap-system-materializers
  • fix/legacy-materializer-family
  • fix/materializer-empty-log-descriptors
  • fix/read-intent-conflicts-bedrock-udr
  • fix/reading-waitlist-nil-reply-fn
  • integration/commit-path-perf
  • intent-ledger/real-bedrock-semantics
  • jessestimpson-patch-1
  • main
  • perf/decorrelated-retry-backoff
  • q67.20.5/sharded-deferred-metadata
  • q67.22-converged-verdicts
  • q67.22-retry-replay
  • q67.24-routing-window-versioning
  • q67.24-serialized-routing
  • q67.24-versioned-shard-table
  • q67.27-review-followups
  • q67.28-pipeline-validation
  • q67.29-dead-code
  • q67.30-metadata-collapse
  • q67.31-unread-system-keys
  • q67.32-fail-fast-resolver
  • q67.33-exact-relay
  • rag-system-write-gating
  • rag/ingress-keyspace-bounds
  • release/0.4.0
  • test-coverage/basalt-logic
  • test-coverage/coordinator-durability
  • test-coverage/directory
  • test-coverage/finalization
  • test-coverage/layout-index
  • test-coverage/olivine-index-update
  • test-coverage/olivine-logic
  • test-coverage/olivine-reading
  • test-coverage/repo
  • test-coverage/transaction-encoding
  • worktree-qzr1-resolver-floor
  • worktree-qzr16-shard-ownership
  • worktree-qzr17-demux-drain
  • worktree-qzr18-replay-cursor
  • worktree-qzr19-compaction-cutover
  • worktree-qzr2-wal-trim
  • worktree-qzr20-minio-gate
  • worktree-qzr21-retain-stalled-attempt
  • worktree-qzr22-tsl-replay
  • worktree-qzr23-drain-backpressure
  • worktree-qzr24-persistence-docs
  • worktree-qzr25-rollover-publish
  • worktree-qzr26-sparse-preallocation
  • worktree-qzr27-cold-start
  • worktree-qzr28-uniform-transitions
  • worktree-qzr29-remove-floor-alarm

14 Sep 2026 07:45PM UTC coverage: 81.661% (+0.06%) from 81.603%
153a2b626a39a3f370c0bdbbefd8db745a41324d

push

github

web-flow
bedrock-3t9: seed a fresh cluster's sizing from the node config the durability check validates (#323)

Tracks bedrock-3t9.

## Why

Strict durability mode is supposed to refuse to start a cluster that
can't meet the durability profile — three logs, replication factor
three. The guides tell you to satisfy it with node config:

```elixir
config :my_app, MyCluster,
  durability_mode: :strict,
  durability: [desired_logs: 3, desired_replication_factor: 3]
```

`ClusterSupervisor.init/1` checks exactly that node config, and it
passes. But nothing ever *applied* it: a fresh cluster's parameters come
from `Config.new/1` → `Parameters.new/1`, which hardcodes `desired_logs:
1, desired_replication_factor: 1`. In a three-node harness cluster
configured as above, every node started cleanly in strict mode and the
cluster ran with a single log. `Bedrock.Durability.profile(MyCluster)` —
which prefers the live cluster config — reported `:failed`, and nothing
acted on it. The guardrail was checking a number the cluster ignored,
and there was no configuration path to more than one log at all.

## What changed

When a coordinator starts the first recovery of a fresh cluster (no
bootstrap record in object storage),
`DirectorManagement.maybe_put_default_config/1` now seeds `desired_logs`
and `desired_replication_factor` from the same evaluation the startup
check performs — `Profile.evaluate(node_config).checks.*.actual` —
instead of leaving `Config.new/1`'s hardcoded ones. Those parameters are
persisted in the first cluster bootstrap, so later boots and recoveries
keep them.

Existing clusters are untouched: once a bootstrap exists its parameters
win, and editing node config afterwards does not resize the cluster
(that needs an operator write path — bedrock-q67.51).
`guides/durability-profile.md` now says so, and that `durability:` must
be identical across coordinator nodes, since the seed comes from
whichever coordinator leads the first recovery.

## How it works

Readin... (continued)

7 of 7 new or added lines in 1 file covered. (100.0%)

2 existing lines in 2 files now uncovered.

7187 of 8801 relevant lines covered (81.66%)

1138.58 hits per line

Relevant lines Covered
Build:
Build:
8801 RELEVANT LINES 7187 COVERED LINES
1138.58 HITS PER LINE
Source Files on develop
  • Tree
  • List 216
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
153a2b62... develop bedrock-3t9: seed a fresh cluster's sizing from the node config the durability check validates (#323) Tracks bedrock-3t9. ## Why Strict durability mode is supposed to refuse to start a cluster that can't meet the durability profile — three logs... push 14 Sep 2026 07:46PM UTC web-flow github
81.66
3af051c2... develop Bumped dependencies to clear CVEs push 14 Sep 2026 07:11PM UTC jallum github
81.6
35ae854a... develop bedrock-q67.21.14: Rename components to match their clarified purposes (#304) The q67.21.9 to .13 stack changed what several recovery and distributor components do, and their names kept describing the old behaviour. This is the deferred rename pa... push 14 Sep 2026 06:47PM UTC web-flow github
81.6
ced5317a... develop Route fresh prior core states to InitializationPhase, not LockingPhase (#321) ## Why Recovery keeps two different views of "the previous transaction system": a `CoreState` (durable — just `logs` and `system_materializers`, the minimum needed to ... push 14 Sep 2026 05:56PM UTC web-flow github
81.42
96683d05... develop Start Foreman before Link; route Foreman lookups through the safe call wrapper (#320) ## Summary Fixes the first of two defects in #319: a fresh strict cluster can fail startup with `:noproc`. - `ClusterSupervisor` started `Link` before the capa... push 14 Sep 2026 05:28PM UTC web-flow github
81.25
b0167d2e... develop bedrock-gmf: release 0.7.2 push 13 Sep 2026 06:30AM UTC jallum github
80.76
d49e4834... develop Eliminate strict test-suite warnings (#318) ## Summary - remove unused test bindings and an unused telemetry import - remove an unused private helper and its dead setup - remove an optional default that no call site used This is test-only clean... push 13 Sep 2026 06:28AM UTC web-flow github
80.79
83b2f308... develop Hide LocalFilesystem internal files from object listings (#317) ## Summary - reserve `.bedrock-` basenames for LocalFilesystem backend metadata - filter backend-owned files before sorting and applying listing limits - add a regression proving sn... push 13 Sep 2026 06:13AM UTC web-flow github
80.74
ff70421e... develop bedrock-9v1: ignore local agent skills push 13 Sep 2026 05:33AM UTC jallum github
80.79
15266d0e... develop bedrock-m0v: correct 0.7.1 non-native release notes push 13 Sep 2026 05:23AM UTC jallum github
80.79
See All Builds (582)

Badge your Repo: bedrock

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc