phase 16.2: update docs for sync-versions.sh safe-by-default + --dry-run

- PATCH-PRESERVATION-AUDIT: add Phase 16.1 to cumulative reduction table
  (122→0 orphans, Round 17); update operator test section with all 6 modes;
  replace stale 'Round 3 final' re-run with current Round 17 verification
- TOOLS.md: add --regen and --dry-run flags; clarify default is opt-in
- HOOKS.md: add --regen and --dry-run to sync-versions.sh option list
This commit is contained in:
2026-07-12 15:27:39 +03:00
parent 24b58896c8
commit ffaa4c6bb4
3 changed files with 27 additions and 13 deletions
+1 -1
View File
@@ -90,7 +90,7 @@ the complete tool inventory for reference.
| Tool | Type | Purpose | Modes |
|------|------|---------|-------|
| `patch-status.sh` | shell | Top-level consolidated report | `--brief`, `--json` |
| `sync-versions.sh` | shell | Cat 0+1+2 version sync | `--check`, `--no-regen`, `--regen-only` |
| `sync-versions.sh` | shell | Cat 0+1+2 version sync + lockfile regen | `--check`, `--regen`, `--dry-run`, `--no-regen`, `--regen-only` |
| `verify-patch-content.sh` | shell↦py | Orphan patch detection | `--strict`, `--report action\|detail`, `--selftest` |
| `verify-fork-versions.sh` | shell | Cat 2 fork supremacy check | diverged mode; `REDBEAR_STRICT_DIVERGED_CHECK=1` |
| `verify-collision-detection.py` | python | Config [[files]] vs installs/files collision | `--strict`, `--selftest` (8 cases) |
@@ -274,6 +274,10 @@ Three follow-on improvements after Round 3 closed:
After Phase 14.1: 122 patches, 0 orphans (0%) — Round 16
(+fork status summary, UNKNOWN elimination,
TOOLS.md reference, COLLISION-DETECTION update)
After Phase 16.1: 122 patches, 0 orphans (0%) — Round 17
(+sync-versions.sh safe-by-default,
--dry-run preview, --regen opt-in,
--regen-only fix, ROOT_DRIFT fix)
Cumulative work to date: 132 patches archived as SUPERSEDED or
INTEGRATED, 5 files cleaned up, 6 fork branches advanced to origin
@@ -333,17 +337,23 @@ deadlock.
### `sync-versions.sh`
```bash
# Apply mode (default — covers Cat 0 + Cat 1 + Cat 2 + lockfile regen):
# Apply version sync only (SAFE default — no lockfile modification):
./local/scripts/sync-versions.sh
# Apply version sync + regen Cargo.lock files:
./local/scripts/sync-versions.sh --regen
# Preview lockfile changes that --regen would make (no files modified):
./local/scripts/sync-versions.sh --dry-run
# Check only (CI mode, exit 1 on drift):
./local/scripts/sync-versions.sh --check
# Skip lockfile regen (use when the fork hasn't moved but version bumped):
./local/scripts/sync-versions.sh --no-regen
# Only regen lockfiles (without version sync):
./local/scripts/sync-versions.sh --regen-only
# Skip lockfile regen explicitly (same as default, for backward compat):
./local/scripts/sync-versions.sh --no-regen
```
### `verify-patch-content.sh`
@@ -385,12 +395,14 @@ REDBEAR_SKIP_FORK_VERIFY=1 ./local/scripts/verify-fork-versions.sh
REDBEAR_SKIP_PATCH_CONTENT_CHECK=1 ./local/scripts/build-preflight.sh --config=redbear-mini
```
## Audit re-runs (Round 3 final)
## Audit re-runs (Round 17 — Phase 16.1)
- `local/scripts/verify-patch-content.sh`**0 orphaned / 121 preserved (100%)**
- `local/scripts/verify-fork-versions.sh` — passes (3 advisory warns for bootloader+installer divergence + 1 kernel-couldn't-ls-remote)
- `local/scripts/sync-versions.sh --check` — Cat 0 + Cat 1 (75) + Cat 2 (10) all clean
- `local/scripts/verify-fork-versions.sh` with `REDBEAR_STRICT_DIVERGED_CHECK=1` — properly returns exit 1 (2 violations)
- `cargo check --bin repo` — compiles clean
- `local/scripts/verify-patch-content.sh`**0 orphaned / 122 preserved (100%)**
- `local/scripts/verify-fork-versions.sh` — passes (3 DIVERGED advisory + 7 PASS)
- `local/scripts/sync-versions.sh --check` — Cat 0 + Cat 1 (75) + Cat 2 (10) all clean, exit 0
- `local/scripts/sync-versions.sh --dry-run` — 0 lockfile changes (all clear)
- `local/scripts/sync-versions.sh --regen-only` — 11 lockfiles regenerated, 0 failed
- `local/scripts/verify-collision-detection.py --selftest` — 8/8 pass
- `verify-fork-versions.sh` with `REDBEAR_STRICT_DIVERGED_CHECK=1` — returns exit 1 (3 diverged)
- `bash -n` on all touched scripts — clean
+4 -2
View File
@@ -33,9 +33,11 @@ for QEMU/runtime validation helpers.
### sync-versions.sh
```
--check Verify only, exit 1 on drift
--no-regen Apply version sync, skip Cargo.lock regen
--regen Apply version sync + regen Cargo.lock files (opt-in)
--dry-run Preview: show what --regen WOULD change, revert after
--no-regen Apply version sync, skip Cargo.lock regen (same as default)
--regen-only Only regenerate Cargo.lock files
(default) Apply sync + regen lockfiles
(default) Apply version sync only (lockfile regen is opt-in)
```
### verify-patch-content.py