Zhengchao An
d1db9a10cd
chore(docs): refresh agent docs, guard doc paths, archive plans ( #4203 )
...
Agent-instruction and architecture docs had drifted from the code:
- CLAUDE.md: slim to commands + pointers; fix wrong claim that
`make pre-commit` is the full pre-PR gate (that is `make pre-pr`);
drop stale pre-#3929 file paths and merged bug narratives
- AGENTS.md: drop dead `rust-refactor-helper` skill rule and the
hand-maintained (already stale) scoped-AGENTS index; link
architecture docs from Sources of Truth
- .github/AGENTS.md: replace the outdated copied CI command matrix
with a pointer to ci.yml
- crates/AGENTS.md: merge duplicated Testing sections
- ARCHITECTURE.md: resolve the utils->config contradiction (edges are
removed), mark volatile counts as snapshots, fix a bad path
- docs/architecture: add README router; move one-shot plans/trackers
(rebalance-decommission phases, migration-progress ledger, PR
template) to docs/superpowers/plans with archive headers; fix stale
source paths in kept inventories (core/sets.rs, core/pools.rs,
store/mod.rs, startup_* split from #3671 )
- docs/operations/tier-ilm-debugging.md: extracted tier debugging
playbook with corrected paths
- scripts/check_doc_paths.sh: new guard failing pre-commit/pre-pr when
instruction/architecture docs reference nonexistent file paths
- .claude/skills: add tier-debug and arch-checks repo skills;
.gitignore now keeps .claude/skills and docs/operations committable
Verification: ./scripts/check_doc_paths.sh,
./scripts/check_architecture_migration_rules.sh (both pass)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-02 23:30:13 +08:00
Zhengchao An
29899f4731
refactor(replication): isolate queue backpressure decisions ( #4202 )
2026-07-02 23:28:45 +08:00
cxymds
f9cf4ff2bf
fix(ecstore): surface multipart cleanup delete errors ( #4198 )
2026-07-02 22:36:48 +08:00
cxymds
5404ab155b
fix(ecstore): precheck decommission capacity ( #4196 )
2026-07-02 22:36:29 +08:00
cxymds
cf33bcc742
fix(ecstore): hold read locks for streaming readers ( #4195 )
2026-07-02 22:36:12 +08:00
cxymds
91a02914cc
fix(ecstore): retry multipart abort cleanup ( #4194 )
2026-07-02 22:35:56 +08:00
cxymds
d1a6033191
fix(ecstore): recheck source cleanup under lock ( #4193 )
2026-07-02 22:35:31 +08:00
cxymds
f8f373a236
fix: preserve compacted bucket counts ( #4183 )
...
Co-authored-by: overtrue <anzhengchao@gmail.com >
2026-07-02 22:34:47 +08:00
cxymds
4dc75b8760
fix: backpressure replication mrf saves ( #4180 )
2026-07-02 22:34:30 +08:00
cxymds
c7a0178994
fix: honor replication status metadata ( #4178 )
...
Co-authored-by: overtrue <anzhengchao@gmail.com >
2026-07-02 22:33:41 +08:00
cxymds
6ed5c8fcd6
fix: fail unsupported replication actions ( #4182 )
...
Co-authored-by: overtrue <anzhengchao@gmail.com >
2026-07-02 22:33:16 +08:00
Zhengchao An
9a142fb123
refactor(replication): move delete schedule decisions ( #4199 )
2026-07-02 22:11:29 +08:00
houseme
70e1d79dfd
feat: replace jemalloc with mimalloc ( #4174 )
...
* feat: replace jemalloc with mimalloc
* docs: record allocator rounds5 retest
* fix(replication): satisfy clippy unwrap lints
* docs: keep allocator migration plan local only
* feat(profiling): rely on pyroscope cpu profiling
* refactor(profiling): centralize unsupported pprof responses
* chore(deps): update s3s revision
2026-07-02 19:03:38 +08:00
Rafael Peroco
54496f2796
fix(scanner): advance cycle counter when a cycle ends on budget ( #4163 )
2026-07-02 17:15:51 +08:00
Zhengchao An
902bfa554b
fix: collapse nested if to satisfy clippy::collapsible_if lint ( #4190 )
2026-07-02 17:15:15 +08:00
Zhengchao An
b972e25c51
refactor(replication): move app decisions into crate ( #4191 )
2026-07-02 17:14:55 +08:00
cxymds
902cf1d3dc
fix: handle scanner task failures ( #4185 )
2026-07-02 16:34:56 +08:00
cxymds
b21b27dddd
fix: preserve scanner usage backups ( #4179 )
2026-07-02 16:33:59 +08:00
cxymds
d6a9826949
fix: preserve scanner usage state ( #4177 )
2026-07-02 16:32:51 +08:00
cxymds
71e9e81257
fix: finalize replication resync workers ( #4175 )
2026-07-02 16:32:33 +08:00
Zhengchao An
f0adabbe90
refactor(replication): move object config bridge ( #4188 )
...
* refactor(replication): move object config bridge
* refactor(replication): centralize log constants
2026-07-02 16:32:02 +08:00
Zhengchao An
1a9952c3fe
refactor(replication): move target option builders ( #4186 )
2026-07-02 15:54:48 +08:00
Zhengchao An
008b7fcb6f
refactor(replication): move heal queue routing contracts ( #4176 )
...
* refactor(replication): move heal queue routing contracts
* fix(replication): satisfy feature clippy
2026-07-02 15:15:08 +08:00
Zhengchao An
98a0cca4a2
refactor(replication): move resync decision contracts ( #4173 )
...
* refactor(replication): move resync decision contracts
* fix(replication): avoid resync status clones
2026-07-02 14:13:05 +08:00
Zhengchao An
4615df006d
fix: auto-repair clippy failures from d666028cdc ( #4172 )
...
fix: simplify match arms to satisfy clippy manual-unwrap-or-default and manual-unwrap-or
Two match expressions in crates/replication/src/runtime.rs triggered
clippy lints (manual-unwrap-or-default, manual-unwrap-or) with the
project's -D warnings policy. Replace them with the idiomatic
.unwrap_or_default() and .unwrap_or() calls.
2026-07-02 14:11:44 +08:00
Zhengchao An
48f8443626
refactor(replication): move object compare contracts ( #4171 )
2026-07-02 13:19:47 +08:00
Zhengchao An
d666028cdc
refactor(replication): move resync classifiers into crate ( #4170 )
2026-07-02 12:57:59 +08:00
Zhengchao An
953a080b37
refactor(replication): move runtime sizing contracts ( #4169 )
2026-07-02 12:33:11 +08:00
Zhengchao An
473132f36b
refactor(replication): move stats contracts into crate ( #4168 )
2026-07-02 12:14:36 +08:00
Zhengchao An
8ce0f824cf
refactor(replication): move queue contracts into crate ( #4167 )
2026-07-02 11:40:49 +08:00
Zhengchao An
2cf856a51d
Move replication delete worker contract into crate ( #4166 )
...
refactor(replication): move delete worker contract into crate
2026-07-02 11:03:24 +08:00
Zhengchao An
df6ce41acd
Move replication operation contracts into crate ( #4165 )
...
refactor(replication): move operation contracts into crate
2026-07-02 10:48:02 +08:00
Zhengchao An
b57820a486
refactor(replication): move config contracts into crate ( #4162 )
2026-07-02 10:17:48 +08:00
Zhengchao An
18b79ccc2a
refactor(replication): route filemeta paths through crate ( #4161 )
2026-07-02 09:08:47 +08:00
houseme
7a075c91da
perf: avoid eager parity reader setup ( #4133 )
2026-07-02 08:49:08 +08:00
Zhengchao An
18d89d1e31
refactor(replication): route metadata contracts through crate ( #4160 )
2026-07-02 08:48:42 +08:00
Zhengchao An
0f4f4a6367
fix(replication): avoid target status map allocation ( #4159 )
2026-07-02 05:08:42 +08:00
Zhengchao An
e05c281176
refactor(replication): centralize object replication state parsing ( #4158 )
...
* refactor(replication): centralize object replication state parsing
* fix(replication): gate test-only msgpack import
2026-07-02 04:41:54 +08:00
Zhengchao An
2de38d3e5c
refactor(replication): move mrf wire format to replication crate ( #4157 )
...
* refactor(replication): move mrf wire format to replication crate
* refactor(replication): match re-exported error variants
2026-07-02 04:27:53 +08:00
Zhengchao An
8f01012071
fix(replication): address resync review follow-up ( #4155 )
...
* fix(replication): address resync crate review
* fix(replication): skip fixext fields correctly
* fix(replication): satisfy resync clippy
2026-07-02 04:00:28 +08:00
Zhengchao An
e80391f1aa
refactor(replication): extract resync contracts crate ( #4154 )
2026-07-02 01:30:01 +08:00
GatewayJ
7728c9f203
fix(ecstore): require commit quorum for latest metadata ( #4117 )
2026-07-02 00:41:11 +08:00
Zhengchao An
14016dbe8c
refactor(scanner): hide replication queue DTOs ( #4150 )
2026-07-02 00:17:03 +08:00
Zhengchao An
644a472e52
refactor(obs): hide replication stats handle ( #4149 )
2026-07-01 23:37:23 +08:00
Zhengchao An
2f5e4a8de4
fix: auto-repair breaking changes from a2ec13ab0 ( #4148 )
2026-07-01 23:16:52 +08:00
GatewayJ
f7769884ff
fix(lifecycle): honor expired delete marker semantics ( #4124 )
2026-07-01 22:31:08 +08:00
GatewayJ
a60b6310a7
fix(lifecycle): block actions on replication state ( #4125 )
2026-07-01 22:31:00 +08:00
Zhengchao An
22cbd41ee9
refactor(ecstore): add replication owner bridges ( #4141 )
...
* refactor(ecstore): add replication owner bridges
* fix(ecstore): tighten replication owner guards
2026-07-01 21:51:26 +08:00
Zhengchao An
c0dfc260ca
refactor(ecstore): add replication object bridge ( #4140 )
2026-07-01 19:24:20 +08:00
Zhengchao An
e5ab6ee8e4
refactor(ecstore): make replication facade explicit ( #4139 )
2026-07-01 18:54:05 +08:00