diff --git a/AI_CHANGELOG_X86_CONFIG_COMMENTS.md b/AI_CHANGELOG_X86_CONFIG_COMMENTS.md new file mode 100644 index 0000000..093d10b --- /dev/null +++ b/AI_CHANGELOG_X86_CONFIG_COMMENTS.md @@ -0,0 +1,21 @@ +# AI Modification Log: x86_64 Config Comments + +Date: 2026-06-29 + +## Summary + +- Added purpose and maintenance comment headers to `Configs/x86_64-X`, `Configs/x86_64-Y`, and `Configs/x86_64-Z`. +- Added `NOTES_X86_CONFIG_OPTIMIZATION.md` with config-specific optimization todos. +- Updated the handoff and backlog notes to mark item #35 as completed. + +## Behavior Impact + +- No `CONFIG_*` selections were added, removed, or changed. +- The config comment update is documentation-only. + +## Verification + +- Inspected the config diff and confirmed the three config files only gained comment headers. +- Compared `CONFIG_*` lines against `HEAD` and confirmed no config selections changed. +- Checked line endings and confirmed X stayed LF, Y stayed LF without EOF newline, and Z stayed CRLF without EOF newline. +- Ran CRLF-aware whitespace validation before commit. diff --git a/CODEX_HANDOFF.md b/CODEX_HANDOFF.md index b5a584b..acc3e93 100644 --- a/CODEX_HANDOFF.md +++ b/CODEX_HANDOFF.md @@ -12,8 +12,8 @@ This file is the stable restart point for future Codex sessions in this reposito - Branch: `ai` - Remote tracking branch: `origin/ai` - Latest completed task batch: continued the GitHub Actions X/Y/Z optimization backlog through multiple high-priority and low-risk maintainability/script items. -- Latest task commit at handoff update time: `1629605 docs update codex handoff` -- Current requested task: fixed a reported `package/boot/grub2` EFI failure during `make download` by adding a serial verbose retry path; resume #35 after this fix is committed. +- Latest task context: package download retry fix completed; #35 config documentation task completed in the current working series. +- Current requested task: #35 completed by documenting X/Y/Z x86_64 config intent and adding `NOTES_X86_CONFIG_OPTIMIZATION.md`. - Backlog file: `NOTES_GHA_XYZ_OPTIMIZATION.md` ## Completed Backlog Items @@ -41,6 +41,8 @@ Completed in this task series: - #27: Fixed `Get_Release_Info` command substitution bug. - #28: Made diagnostic external IP lookup non-blocking. - #30: Improved release tag comparison. +- #35: Added x86_64 X/Y/Z config intent comments and a dedicated config optimization todo list. +- Unplanned: Added serial verbose retry for X/Y/Z package downloads after a parallel `make download` failure. Each code fix has a corresponding `AI_CHANGELOG_*.md` file. @@ -48,8 +50,7 @@ Each code fix has a corresponding `AI_CHANGELOG_*.md` file. Immediate continuation: -- Build failure fix completed: X/Y/Z pre-download now retries serially with `V=s` after a parallel package download failure, and cleans tiny incomplete files from `dl/`. -- #35: Document the X/Y/Z x86_64 config intent. Add header comments to `Configs/x86_64-X`, `Configs/x86_64-Y`, and `Configs/x86_64-Z`, then list config-specific optimization points as todos. +- Config-specific cleanup follow-ups now live in `NOTES_X86_CONFIG_OPTIMIZATION.md`. Treat those todos as the source of truth for x86_64 config cleanup. The next unresolved backlog items need broader design or more careful behavior decisions: diff --git a/Configs/x86_64-X b/Configs/x86_64-X index e8f6534..34d0668 100644 --- a/Configs/x86_64-X +++ b/Configs/x86_64-X @@ -1,3 +1,16 @@ +# X-OpenWrt x86_64-X compile config notes +# Purpose: X profile for generic x86_64 firmware. It includes SmartDNS, +# Docker, WiFi firmware/drivers, IPv6, common storage/network modules, +# and a broader LuCI package set. +# Maintenance: +# - Keep this file limited to OpenWrt .config selections; CI-only options +# are appended by the workflow to openwrt/.config. +# - Keep shared target/image/IPv6/base package choices aligned with Y/Z +# unless a profile intentionally differs. +# - Use OpenWrt scripts/diffconfig.sh after a successful build before +# shrinking or reorganizing this profile. +# - See NOTES_X86_CONFIG_OPTIMIZATION.md for follow-up optimization todos. +# # My Changes # 挂载WebDav CONFIG_PACKAGE_davfs2=y diff --git a/Configs/x86_64-Y b/Configs/x86_64-Y index 159f222..65e4de4 100644 --- a/Configs/x86_64-Y +++ b/Configs/x86_64-Y @@ -1,3 +1,16 @@ +# X-OpenWrt x86_64-Y compile config notes +# Purpose: Y profile for generic x86_64 firmware. It keeps SmartDNS, +# Passwall, AdGuardHome, Docker/Diskman, IPv6, common network services, +# and the standard x86 image formats. +# Maintenance: +# - Keep this file limited to OpenWrt .config selections; CI-only options +# are appended by the workflow to openwrt/.config. +# - Keep shared target/image/IPv6/base package choices aligned with X/Z +# unless a profile intentionally differs. +# - Use OpenWrt scripts/diffconfig.sh after a successful build before +# shrinking or reorganizing this profile. +# - See NOTES_X86_CONFIG_OPTIMIZATION.md for follow-up optimization todos. +# # 挂载WebDav CONFIG_PACKAGE_davfs2=y # Smart DNS diff --git a/Configs/x86_64-Z b/Configs/x86_64-Z index fdc964d..d642c4d 100644 --- a/Configs/x86_64-Z +++ b/Configs/x86_64-Z @@ -1,3 +1,16 @@ +# X-OpenWrt x86_64-Z compile config notes +# Purpose: Z profile for generic x86_64 firmware. It is the compact +# Passwall/AdGuardHome/Diskman/Netdata profile and also enables Image +# Builder options. +# Maintenance: +# - Keep this file limited to OpenWrt .config selections; CI-only options +# are appended by the workflow to openwrt/.config. +# - Keep shared target/image/IPv6/base package choices aligned with X/Y +# unless a profile intentionally differs. +# - Decide whether CONFIG_IB/CONFIG_IB_STANDALONE outputs should be +# uploaded, ignored, or disabled. +# - See NOTES_X86_CONFIG_OPTIMIZATION.md for follow-up optimization todos. +# # 挂载WebDav CONFIG_PACKAGE_davfs2=y # Smart DNS diff --git a/NOTES_GHA_XYZ_OPTIMIZATION.md b/NOTES_GHA_XYZ_OPTIMIZATION.md index d59a252..1e5591c 100644 --- a/NOTES_GHA_XYZ_OPTIMIZATION.md +++ b/NOTES_GHA_XYZ_OPTIMIZATION.md @@ -35,8 +35,9 @@ Related directories: Updated: 2026-06-29 - Active work branch: `ai`, tracking `origin/ai`. -- Completed backlog items in the current AI task series: #1-#12, #14-#16, #20-#22, #27, #28, and #30. -- The current continuation task is #35: document the X/Y/Z x86_64 config intent and add a config optimization todo list. +- Completed backlog items in the current AI task series: #1-#12, #14-#16, #20-#22, #27, #28, #30, and #35. +- Config-specific cleanup follow-ups now live in `NOTES_X86_CONFIG_OPTIMIZATION.md`. +- Unplanned build fix added a serial verbose retry path for `make download` after a reported `package/boot/grub2` EFI package download failure. - Larger unresolved items remain below; prefer one scoped commit per backlog item unless batching is requested. ## Optimization Backlog @@ -249,6 +250,7 @@ Updated: 2026-06-29 - Files: `Configs/x86_64-X`, `Configs/x86_64-Y`, `Configs/x86_64-Z`, `NOTES_X86_CONFIG_OPTIMIZATION.md` - Problem: the three x86_64 profiles do not clearly state their intended role, shared maintenance rules, or follow-up cleanup path. - Suggested fix: add safe comment headers to each config and maintain a dedicated todo list for config-specific optimization work. + - Status: completed; follow-up cleanup todos are tracked in `NOTES_X86_CONFIG_OPTIMIZATION.md`. ## Suggested First Fix Batch diff --git a/NOTES_X86_CONFIG_OPTIMIZATION.md b/NOTES_X86_CONFIG_OPTIMIZATION.md new file mode 100644 index 0000000..e11711c --- /dev/null +++ b/NOTES_X86_CONFIG_OPTIMIZATION.md @@ -0,0 +1,37 @@ +# x86_64 X/Y/Z Config Optimization Todo + +Updated: 2026-06-29 + +## Scope + +- `Configs/x86_64-X` +- `Configs/x86_64-Y` +- `Configs/x86_64-Z` +- `.github/workflows/X-x86_64_X.yml` +- `.github/workflows/X-x86_64_Y.yml` +- `.github/workflows/X-x86_64_Z.yml` + +## Current Profile Notes + +- X: broad x86_64 profile with SmartDNS, Docker, WiFi firmware/drivers, IPv6, storage/network modules, and a larger LuCI package set. +- Y: service-heavy x86_64 profile with SmartDNS, Passwall, AdGuardHome, Docker/Diskman, IPv6, and standard x86 image outputs. +- Z: compact x86_64 profile with Passwall, AdGuardHome, Diskman/Netdata, standard x86 image outputs, and Image Builder enabled. + +## Todo + +- [ ] Extract shared target/image basics into one common x86_64 fragment, then keep X/Y/Z as small profile fragments. +- [ ] After a successful build, run OpenWrt `scripts/diffconfig.sh` for X/Y/Z and remove redundant selected dependencies. +- [ ] Decide the Z Image Builder policy: upload generated Image Builder artifacts, intentionally ignore them, or disable `CONFIG_IB`/`CONFIG_IB_STANDALONE`. +- [ ] Standardize line endings and final newlines for `Configs/x86_64-Y` and `Configs/x86_64-Z` in a dedicated formatting-only commit. +- [ ] Build a profile matrix that records intentional package deltas between X, Y, and Z. +- [ ] Remove or relocate stale `KERNEL_PATCHVER` comments because they do not affect OpenWrt `.config` behavior. +- [ ] Confirm each profile's `CONFIG_GRUB_IMAGES`, `CONFIG_VMDK_IMAGES`, `CONFIG_VDI_IMAGES`, `CONFIG_VHDX_IMAGES`, and upload globs still match the intended release artifacts. +- [ ] Keep `CONFIG_DEVEL`, `CONFIG_CCACHE`, and other CI-only build toggles out of tracked config files. +- [ ] If config fragments are introduced, add a small generation/check script so committed full configs can be reproduced. +- [ ] Re-test X/Y/Z after cleanup with `make defconfig` and compare generated `.config` changes before committing behavior changes. + +## Do Not Mix + +- Do not normalize CRLF/LF while changing config semantics. +- Do not remove dependency-selected `CONFIG_PACKAGE_*` lines until a successful `diffconfig.sh` pass proves they are redundant. +- Do not change package selections in the same commit as documentation-only comment updates.