chore(w8): refresh module upgrade readiness inventory #501

Closed
opened 2026-05-26 08:51:34 +02:00 by codex · 1 comment
Collaborator

Spec sources (whitelist)

  • state/cycle/W8-module-upgrade-prep.md §Current Readiness Snapshot / Wave Plan / Issue Handling
  • state/roadmap/current-platform-roadmap.md §Operator wave map / 09 - Module upgrade waves
  • decisions/0022-module-source-and-release-boundaries.md §Metadata direction / Update workflow / Pilot rollout
  • modules/minio-init/module.yaml

Extracted context

From state/cycle/W8-module-upgrade-prep.md:

W8.0 readiness | Fill enough metadata and classify risk before real upgrades.
Repo-only, no runtime mutation.
Snapshot on 2026-05-25:
Total modules 88; modules with spec.source 6; modules with spec.artifact 6;
missing source metadata 82; missing artifact metadata 82; propose-pr candidates 5; auto-pr candidates 0.
Child issues should be opened only when a candidate has enough metadata to be ready for an agent.

From state/roadmap/current-platform-roadmap.md:

W8 | M09 | Module upgrade waves using ADR-0022 metadata and rollback evidence.
Gate: M02 restore confidence and M05 metadata foundation are accepted.

From decisions/0022-module-source-and-release-boundaries.md:

Future schema work should add explicit source and artifact metadata to modules/<id>/module.yaml.
Desired artifact metadata answers "what should production run?"
Observed metadata answers "what did production actually run when audited?"
Only after the report is useful, add automation that opens update PRs.

Do NOT read (unless escape hatch fires)

  • Runtime host files under /opt/pdurlej-platform — this is repo-only readiness.
  • Forgejo upgrade plan details — Forgejo is W8.final, not W8.0.
  • Module source repos — this issue classifies platform metadata, it does not upgrade sources.

Allowed touched paths

  • state/cycle/W8-module-upgrade-prep.md (modify)
  • state/cycle/W8-readiness-*.md (create)
  • state/roadmap/current-platform-roadmap.md (modify only if the current W8 status needs a one-line update)

Why this exists (product-first)

W8 should not become "upgrade everything because there are newer tags." The operator needs a small, visible readiness packet that says which modules are safe candidates, which are blocked, and what evidence is missing before agents start upgrade PRs.

Why this matters now

Patchwarden and W6d reduced review friction, so the next bottleneck is safe upgrade selection. Without W8.0, agents will either avoid upgrades or pick risky targets without enough rollback evidence.

What "done" looks like

  • A fresh repo-only update/readiness report is run or reproduced from platform metadata.
  • The output records source/artifact coverage, propose-pr candidates, auto-pr candidates, and missing metadata counts.
  • Candidate modules are classified by risk class: stateless, stateful, sidecar-bound, public-edge, auth/security-sensitive, core/workbench.
  • minio-init is explicitly accepted or rejected as the W8.1 first pilot based on metadata, not vibes.
  • The artifact states that no runtime mutation, deploy, recreate, backup, or service restart was performed.
  • PR links back to #389.

Scope

In scope:

  • Read platform repo metadata.
  • Produce/update W8 readiness artifact.
  • Identify exact blockers before W8.1 upgrade work.

Out of scope:

  • Upgrading any image/tag/digest.
  • Running platformctl apply or host-agent commands.
  • Touching production compose/env/runtime.
  • Forgejo upgrade execution.

Suggested approach

  1. Start from PYTHONPATH=control-plane python3 -m platformctl.cli update-report --json if available locally; otherwise derive the same fields from module manifests and say why.
  2. Compare current numbers against the 2026-05-25 snapshot in state/cycle/W8-module-upgrade-prep.md.
  3. Write a compact readiness artifact and update #389 with the result in the PR body or follow-up comment.

Escape hatch

If the report tooling is broken, do not fake the numbers. Open a blocker comment on #389 with the failing command, exit code, and whether the issue should become tooling repair first.

Unknowns / owner questions

  • None for repo-only readiness. Any production mutation belongs to a later operator-gated issue.

Risk class

  • risk/process — workflow/review/orchestration may produce bad outcomes

Class of service

  • class/security-sensitive

Trace

  • Original source: #389, Oracle review platform-pr488-wave-status, and operator approval on 2026-05-26.
  • Migrated by: codex, 2026-05-26.
  • Related issues / PRs: #389, #500.
## Spec sources (whitelist) - `state/cycle/W8-module-upgrade-prep.md` §Current Readiness Snapshot / Wave Plan / Issue Handling - `state/roadmap/current-platform-roadmap.md` §Operator wave map / 09 - Module upgrade waves - `decisions/0022-module-source-and-release-boundaries.md` §Metadata direction / Update workflow / Pilot rollout - `modules/minio-init/module.yaml` ## Extracted context > From `state/cycle/W8-module-upgrade-prep.md`: > ``` > W8.0 readiness | Fill enough metadata and classify risk before real upgrades. > Repo-only, no runtime mutation. > Snapshot on 2026-05-25: > Total modules 88; modules with spec.source 6; modules with spec.artifact 6; > missing source metadata 82; missing artifact metadata 82; propose-pr candidates 5; auto-pr candidates 0. > Child issues should be opened only when a candidate has enough metadata to be ready for an agent. > ``` > From `state/roadmap/current-platform-roadmap.md`: > ``` > W8 | M09 | Module upgrade waves using ADR-0022 metadata and rollback evidence. > Gate: M02 restore confidence and M05 metadata foundation are accepted. > ``` > From `decisions/0022-module-source-and-release-boundaries.md`: > ``` > Future schema work should add explicit source and artifact metadata to modules/<id>/module.yaml. > Desired artifact metadata answers "what should production run?" > Observed metadata answers "what did production actually run when audited?" > Only after the report is useful, add automation that opens update PRs. > ``` ## Do NOT read (unless escape hatch fires) - Runtime host files under `/opt/pdurlej-platform` — this is repo-only readiness. - Forgejo upgrade plan details — Forgejo is W8.final, not W8.0. - Module source repos — this issue classifies platform metadata, it does not upgrade sources. ## Allowed touched paths - `state/cycle/W8-module-upgrade-prep.md` (modify) - `state/cycle/W8-readiness-*.md` (create) - `state/roadmap/current-platform-roadmap.md` (modify only if the current W8 status needs a one-line update) ## Why this exists (product-first) W8 should not become "upgrade everything because there are newer tags." The operator needs a small, visible readiness packet that says which modules are safe candidates, which are blocked, and what evidence is missing before agents start upgrade PRs. ## Why this matters now Patchwarden and W6d reduced review friction, so the next bottleneck is safe upgrade selection. Without W8.0, agents will either avoid upgrades or pick risky targets without enough rollback evidence. ## What "done" looks like - [ ] A fresh repo-only update/readiness report is run or reproduced from platform metadata. - [ ] The output records source/artifact coverage, `propose-pr` candidates, `auto-pr` candidates, and missing metadata counts. - [ ] Candidate modules are classified by risk class: stateless, stateful, sidecar-bound, public-edge, auth/security-sensitive, core/workbench. - [ ] `minio-init` is explicitly accepted or rejected as the W8.1 first pilot based on metadata, not vibes. - [ ] The artifact states that no runtime mutation, deploy, recreate, backup, or service restart was performed. - [ ] PR links back to #389. ## Scope **In scope:** - Read platform repo metadata. - Produce/update W8 readiness artifact. - Identify exact blockers before W8.1 upgrade work. **Out of scope:** - Upgrading any image/tag/digest. - Running `platformctl apply` or host-agent commands. - Touching production compose/env/runtime. - Forgejo upgrade execution. ## Suggested approach 1. Start from `PYTHONPATH=control-plane python3 -m platformctl.cli update-report --json` if available locally; otherwise derive the same fields from module manifests and say why. 2. Compare current numbers against the 2026-05-25 snapshot in `state/cycle/W8-module-upgrade-prep.md`. 3. Write a compact readiness artifact and update #389 with the result in the PR body or follow-up comment. ## Escape hatch If the report tooling is broken, do not fake the numbers. Open a blocker comment on #389 with the failing command, exit code, and whether the issue should become tooling repair first. ## Unknowns / owner questions - None for repo-only readiness. Any production mutation belongs to a later operator-gated issue. ## Risk class - [x] `risk/process` — workflow/review/orchestration may produce bad outcomes ## Class of service - [ ] `class/security-sensitive` ## Trace - Original source: #389, Oracle review `platform-pr488-wave-status`, and operator approval on 2026-05-26. - Migrated by: codex, 2026-05-26. - Related issues / PRs: #389, #500.
Author
Collaborator

Picking up as codex; sequencing: #501 first, then #502 only after readiness evidence. Runtime mutation stays out of scope.

Picking up as codex; sequencing: #501 first, then #502 only after readiness evidence. Runtime mutation stays out of scope.
Iskra closed this issue 2026-05-26 09:41:54 +02:00
Sign in to join this conversation.
No labels
W6d-automerge-calibration
agent/claude-code
agent/codex
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
automerge-candidate
class/security-sensitive
cutover-gate
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
iterating
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
large-impact
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
meta
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
needs-operator-decision
needs-triage
not-ready
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
operator-emotional
owner-attention
phase/02
phase/03
priority:p0
priority:p1
priority:p2
priority:p3
proposed
ready-for-agent
ready-for-operator
recovery
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
risk/exposure
risk/process
risk/product
risk/runtime
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:operator-needed
status:parked
tier/full
tier/lite
tier/stacked
tier:0-platform-substrate
tier:1-iskra-value-layer
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
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
pdurlej/platform#501
No description provided.