mirror of
https://github.com/triqbit/mt5-ai-xauusd-trader.git
synced 2026-11-02 06:56:15 +00:00
docs: improve contribution workflow clarity and remove obsolete history graft warnings (#1809)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: triqbit <242833443+triqbit@users.noreply.github.com>
This commit is contained in:
co-authored by
google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
triqbit
parent
422c710a9e
commit
3c110f7f22
@@ -18,7 +18,7 @@ Before submitting, please categorize your PR based on the [Contribution Map](doc
|
||||
- [ ] 🟢 **Safe Zone** (docs, tests, scripts)
|
||||
- [ ] 🟡 **Utility Zone** (utils, analytics)
|
||||
- [ ] 🔴 **Sensitive Zone** (trading, models, core) - *Requires Multi-Signature Approval*
|
||||
- [ ] **History Alignment:** I have rebased my branch onto the latest `main` graft.
|
||||
- [ ] **History Alignment:** I have rebased my branch onto the latest `main` commit.
|
||||
- [ ] **Rebase Check:** `git fetch origin main && git rebase origin/main` (Command executed and passed)
|
||||
|
||||
## ✅ Mandatory Quality Gates
|
||||
|
||||
@@ -29,7 +29,7 @@ help:
|
||||
@echo "------------------------------------------"
|
||||
@echo "doctor : [REQUIRED] Run system diagnostics and verification"
|
||||
@echo "bootstrap : [REQUIRED] Install dependencies and setup environment"
|
||||
@echo "resync : [REQUIRED] Sync with latest main graft (Fetch & Rebase)"
|
||||
@echo "resync : [REQUIRED] Sync with latest main (Fetch & Rebase)"
|
||||
@echo "setup : [REQUIRED] Run interactive configuration wizard"
|
||||
@echo "test : Run unit and integration tests"
|
||||
@echo "lint : Run ruff linter and formatter"
|
||||
@@ -51,7 +51,7 @@ bootstrap:
|
||||
bash scripts/bootstrap.sh
|
||||
|
||||
resync:
|
||||
@echo "Resyncing with latest main graft..."
|
||||
@echo "Resyncing with latest main..."
|
||||
git fetch origin main
|
||||
git rebase origin/main
|
||||
|
||||
|
||||
+10
-10
@@ -24,22 +24,22 @@ We use a role-based governance model where specific leads oversee different doma
|
||||
- **Setup Environment:** Use Python 3.11+. Follow the [Setup Guide](../SETUP_GUIDE.md).
|
||||
- **Consult the [Contribution Map](./CONTRIBUTION_MAP.md):** Identify if your change falls into a **Safe Zone** (docs, tests) or a **Sensitive Zone** (trading logic, models, core).
|
||||
|
||||
### ⚠️ Critical: History Management & Daily Resets
|
||||
This repository operates under a high-frequency update model. Please read the following carefully:
|
||||
- **Daily History Grafting:** The `main` branch is updated daily via monolithic "grafts" (total repository swaps). This means standard Git history is often unavailable on `main`.
|
||||
- **Mandatory Rebase:** Because `main` resets daily, your feature branch **must** be rebased onto the latest `main` commit before submission. Use `make resync` for an automated sync.
|
||||
### 🛠️ Git Workflow & Synchronization
|
||||
This repository maintains a **100% linear, stable, and intact Git history** on `main`. To keep your pull request clean and easy to review:
|
||||
- **Linear History:** The `main` branch maintains a complete linear history tracing back to the repository's root.
|
||||
- **Branch Synchronization:** Keep your feature branch synchronized with `main` before submitting your PR. Use `make resync` for an automated sync.
|
||||
- **Environment Stability:** If `make bootstrap` fails, check `docs/status/PROJECT_HEALTH.md` for known dependency conflicts or transient environment issues.
|
||||
|
||||
#### 🛠️ Graft Survival Kit (CLI)
|
||||
If your branch has diverged significantly or "lost its ancestor" due to a daily graft, use this sequence to resync:
|
||||
#### 🛠️ Synchronization Kit (CLI)
|
||||
To synchronize your branch with the latest `main` commit, run:
|
||||
|
||||
```bash
|
||||
# Automated sync with latest main graft
|
||||
# Automated sync with latest main
|
||||
make resync
|
||||
|
||||
# If 'make resync' fails with "no common ancestry" errors:
|
||||
# This happens when main is force-pushed with a new history graft.
|
||||
git rebase --onto origin/main <old-base-commit> <your-branch-name>
|
||||
# Or manually rebase against main:
|
||||
git fetch origin main
|
||||
git rebase origin/main
|
||||
```
|
||||
|
||||
### 2. Implementation
|
||||
|
||||
Reference in New Issue
Block a user