[PR #17] [MERGED] docs: backlog of unwired features + bring CLAUDE.md up to date #17

Closed
opened 2026-06-03 18:01:15 +08:00 by ivenator1 · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/ivenator1/proxmox-management/pull/17
Author: @ivenator1
Created: 6/3/2026
Status: Merged
Merged: 6/4/2026
Merged by: @ivenator1

Base: testingHead: claude/testing-branch-pull-tEqHP


📝 Commits (2)

  • 2c2f3bd docs: record unwired/not-yet-implemented features in roadmap + CLAUDE.md
  • cf76acb docs: bring CLAUDE.md in line with the Python-only architecture

📊 Changes

2 files changed (+185 additions, -127 deletions)

View changed files

📝 CLAUDE.md (+120 -127)
📝 docs/migration-roadmap.md (+65 -0)

📄 Description

Follow-up to #16 (already merged). Docs-only — no code changes. These two commits landed on the branch after #16 merged, so they need their own PR.

2c2f3bd — record unwired / not-yet-implemented features

Adds a "Post-migration backlog" section to docs/migration-roadmap.md and a matching "Unwired / not-yet-implemented features" section to CLAUDE.md, covering things that exist in the tree but aren't wired into the running flows (intended features, not dead code):

  • 10 of 13 ansible/primitives/*.yml are unused (only run_shell, reboot_host, snapshot are invoked) — flows inline equivalent shell; wiring them in as batched primitives is the planned speed optimisation.
  • MaintenanceWindow model defined/exported but unused (windows flow as dicts).
  • lxc_parse.script_name_from_update() unused (node-side grep used instead).
  • changes.dpkg_hash_differs() unused (logic inlined in status.lxc_app_status).
  • No snapshot-lock retry (known live-testing gap).
  • Minor: window.in_window foreign-tz handling; history filename granularity.

cf76acb — bring CLAUDE.md in line with the Python-only architecture

The migration removed fleet-update.yml, the roles/*/tasks, the tasks/*.yml helpers, discord_briefing.j2, and the Jinja-shim tests, but CLAUDE.md still documented them. This rewrites the stale sections:

  • File Map: add flows/_pkg.py; update inventory.py (4 loaders + _iter_section); note ruff in CI.
  • Phase 4 / cross-cutting: point at notifiers.py / history.py / window.py / status.py instead of deleted tasks/*.yml; describe Python dry_run instead of Ansible check_mode.
  • Replace the role-structure / update.yml / detect.yml / Uptime-Kuma sections with flow-based descriptions (decision trees kept, repointed at status.py).
  • Key non-obvious details: drop the six --use-*-flow bullets, the merge-play bullet, the include_role and legacy vm_apt_res bullets; add LC_ALL=C pinning, shared flows/_pkg.py, Alpine ash, in-memory state merge, host_vars merge, integer kuma-key coercion.
  • Testing: delete the Jinja-shim table + conftest.py note + Jinja-pattern section; refresh the plain-Python table (add test_pkg.py); update molecule + CI notes; keep the Discord embed markdown constraints.

https://claude.ai/code/session_01J7Xw8eqUZADBzKo6cqiWLy


Generated by Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/ivenator1/proxmox-management/pull/17 **Author:** [@ivenator1](https://github.com/ivenator1) **Created:** 6/3/2026 **Status:** ✅ Merged **Merged:** 6/4/2026 **Merged by:** [@ivenator1](https://github.com/ivenator1) **Base:** `testing` ← **Head:** `claude/testing-branch-pull-tEqHP` --- ### 📝 Commits (2) - [`2c2f3bd`](https://github.com/ivenator1/proxmox-management/commit/2c2f3bd0245fa3d94562cfd3ad379a84e665b32e) docs: record unwired/not-yet-implemented features in roadmap + CLAUDE.md - [`cf76acb`](https://github.com/ivenator1/proxmox-management/commit/cf76acb7c0fa50f0e9411fa438ca3e65cb777bc7) docs: bring CLAUDE.md in line with the Python-only architecture ### 📊 Changes **2 files changed** (+185 additions, -127 deletions) <details> <summary>View changed files</summary> 📝 `CLAUDE.md` (+120 -127) 📝 `docs/migration-roadmap.md` (+65 -0) </details> ### 📄 Description Follow-up to #16 (already merged). Docs-only — no code changes. These two commits landed on the branch after #16 merged, so they need their own PR. ## `2c2f3bd` — record unwired / not-yet-implemented features Adds a **"Post-migration backlog"** section to `docs/migration-roadmap.md` and a matching **"Unwired / not-yet-implemented features"** section to `CLAUDE.md`, covering things that exist in the tree but aren't wired into the running flows (intended features, not dead code): - 10 of 13 `ansible/primitives/*.yml` are unused (only `run_shell`, `reboot_host`, `snapshot` are invoked) — flows inline equivalent shell; wiring them in as batched primitives is the planned speed optimisation. - `MaintenanceWindow` model defined/exported but unused (windows flow as dicts). - `lxc_parse.script_name_from_update()` unused (node-side grep used instead). - `changes.dpkg_hash_differs()` unused (logic inlined in `status.lxc_app_status`). - No snapshot-lock retry (known live-testing gap). - Minor: `window.in_window` foreign-tz handling; history filename granularity. ## `cf76acb` — bring CLAUDE.md in line with the Python-only architecture The migration removed `fleet-update.yml`, the `roles/*/tasks`, the `tasks/*.yml` helpers, `discord_briefing.j2`, and the Jinja-shim tests, but `CLAUDE.md` still documented them. This rewrites the stale sections: - File Map: add `flows/_pkg.py`; update `inventory.py` (4 loaders + `_iter_section`); note `ruff` in CI. - Phase 4 / cross-cutting: point at `notifiers.py` / `history.py` / `window.py` / `status.py` instead of deleted `tasks/*.yml`; describe Python `dry_run` instead of Ansible `check_mode`. - Replace the role-structure / `update.yml` / `detect.yml` / Uptime-Kuma sections with flow-based descriptions (decision trees kept, repointed at `status.py`). - Key non-obvious details: drop the six `--use-*-flow` bullets, the merge-play bullet, the `include_role` and legacy `vm_apt_res` bullets; add `LC_ALL=C` pinning, shared `flows/_pkg.py`, Alpine `ash`, in-memory state merge, host_vars merge, integer kuma-key coercion. - Testing: delete the Jinja-shim table + `conftest.py` note + Jinja-pattern section; refresh the plain-Python table (add `test_pkg.py`); update molecule + CI notes; keep the Discord embed markdown constraints. https://claude.ai/code/session_01J7Xw8eqUZADBzKo6cqiWLy --- _Generated by [Claude Code](https://claude.ai/code/session_01J7Xw8eqUZADBzKo6cqiWLy)_ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
ivenator1 changed title from [PR #17] docs: backlog of unwired features + bring CLAUDE.md up to date to [PR #17] [MERGED] docs: backlog of unwired features + bring CLAUDE.md up to date 2026-06-04 01:01:23 +08:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ivenator1/proxmox-management#17
No description provided.