mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 08:18:18 +00:00
3.8 KiB
3.8 KiB
Architecture Migration Progress
Status values: [ ] not started, [~] in progress, [x] complete, [!] blocked.
Current Context
- Issue:
rustfs/backlog#660 - Branch:
overtrue/arch-migration-guardrails - Baseline:
upstream/mainat61f0dfbc40f748be313be84d834d8259cf3e19c9 - PR type for this branch:
docs-only - Runtime behavior changes: none
- Rust code changes: none
- Repository metadata changes:
.gitignorenow allows tracking onlydocs/architecture/under the otherwise ignoreddocstree.
Phase 0 Tasks
G-001Refreshmainand record baseline.- Acceptance: baseline commit, title, and branch are recorded.
- Verification:
git fetch upstream main --prune;git rev-parse upstream/main.
G-002Create migration tracking checklist.- Acceptance: this file records task state, context, verification, and handoff.
G-003Classify PR types.- Acceptance:
crate-boundaries.mdlists exactly one allowed PR type per PR.
- Acceptance:
G-004Define re-export and wrapper policy.- Acceptance: temporary compatibility code must use
RUSTFS_COMPAT_TODO.
- Acceptance: temporary compatibility code must use
- [~]
G-005Add dependency direction guard.- Current branch: documentation only.
- Next PR: add a
ci-gatecheck for forbidden dependency edges.
- [~]
G-006Create migration loss-prevention checks.- Current branch: documentation only.
- Next PR: add checks for public re-export, route matrix, and storage trait coverage before pure moves.
G-009Enforce pre-push three-expert review.- Acceptance:
crate-boundaries.mdrequires quality/architecture, migration-preservation, and testing/verification review before push.
- Acceptance:
- [~]
TEST-PRTYPE-001Check PR type enum consistency.- Current branch: documentation only.
- Next PR: add a mechanical check that all migration docs use the same PR type vocabulary.
Next PRs
ci-gate: extendscripts/check_layer_dependencies.shor add a nearby check for architecture-migration guardrails.docs-onlyortest-only: capture startup timeline and admin route-action snapshot.docs-only: inventoryecstore::config::{Config, KV, KVS}consumers.
Pre-Push Review Log
| Expert | Status | Notes |
|---|---|---|
| Quality/architecture | pass | Staged diff is scoped to docs, .gitignore, and the root architecture index; no over-abstraction or target drift found |
| Migration preservation | pass | No runtime files changed; notify/audit and IAM/KMS no-drift bullets were added after review feedback |
| Testing/verification | pass-with-nonblocking-follow-up | Docs-only verification is sufficient; suggested commands are recorded below |
Verification Notes
Passed:
git diff --cached --checkgit diff --cached --name-only -- '*.rs' 'Cargo.toml' 'Cargo.lock' '.github/**' 'scripts/**' 'Makefile' 'Justfile'git diff --cached --exit-code -- '*.rs' 'Cargo.toml' 'Cargo.lock' '.github/**' 'scripts/**' 'Makefile' 'Justfile'printf '%s\n' docs/architecture/overview.md docs/foo.md docs/other/file.md | git check-ignore -v --stdin --no-indexgit rev-parse upstream/maingit log -1 --format='%H %s' upstream/main./scripts/check_metrics_migration_refs.sh
Known unrelated baseline issue:
./scripts/check_layer_dependencies.shcurrently fails onupstream/mainbecause the script output andscripts/layer-dependency-baseline.txtformat are out of sync. Keep that fix in the nextci-gatePR.
Handoff Notes
- Keep Phase 0 PRs small. Do not start Config, Storage API, Runtime, or ECStore movement inside this docs branch.
- Keep CI checks in a separate
ci-gatePR so the PR type rule remains enforceable. - Do not add temporary compatibility code without a matching
RUSTFS_COMPAT_TODO(<task-id>)marker and cleanup-register entry.