mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-27 08:38:58 +00:00
3.6 KiB
3.6 KiB
Architecture Migration Progress
Status values: [ ] not started, [~] in progress, [x] complete, [!] blocked.
Current Context
- Issue:
rustfs/backlog#660 - Branch:
overtrue/arch-startup-timeline - Baseline:
upstream/mainatae9d25879d72bc8977f08e61062c022e2142483b - PR type for this branch:
docs-only - Runtime behavior changes: none
- Rust code changes: none
- Docs changes: add the binary startup timeline baseline for later runtime/lifecycle migration work.
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.- Acceptance:
./scripts/check_layer_dependencies.shpasses on currentupstream/mainwhile still rejecting new unaccepted layer dependencies.
- Acceptance:
- [~]
G-006Create migration loss-prevention checks.- Current branch: not in scope.
- Next PR: add checks for public re-export, route matrix, and storage trait coverage before pure moves.
G-007Create startup timeline table.- Acceptance:
startup-timeline.mdrecords current binary startup order, side effects, fatal boundaries, and readiness stages.
- Acceptance:
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: not in scope.
- Next PR: add a mechanical check that all migration docs use the same PR type vocabulary.
Next PRs
docs-onlyortest-only: capture admin route-action snapshot.docs-only: inventoryecstore::config::{Config, KV, KVS}consumers.ci-gate: add focused checks for PR type vocabulary and temporary compatibility marker/register consistency.
Pre-Push Review Log
| Expert | Status | Notes |
|---|---|---|
| Quality/architecture | pass | Final review confirmed the startup, deferred IAM, readiness, and shutdown tables match current source behavior after blocker fixes |
| Migration preservation | pass | Final review confirmed this branch is docs-only and does not touch runtime logic, storage hot paths, global-state migration, or compatibility code |
| Testing/verification | pass | Final review accepted docs-only verification with layer guard, metrics reference guard, diff checks, and staged whitespace check |
Verification Notes
Passed:
./scripts/check_layer_dependencies.sh./scripts/check_metrics_migration_refs.shgit diff --checkgit diff --cached --check- focused source review of
rustfs/src/main.rs,rustfs/src/startup_iam.rs, andrustfs/src/server/readiness.rs
Handoff Notes
- Keep Phase 0 PRs small. Do not start Config, Storage API, Runtime, or ECStore
movement inside this
docs-onlybranch. - 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.