fix: bump versions to 2026.06.04.2 to publish missing upgrade entries (#554) #32

Merged
stack72 merged 1 commit from worktree-554 into main 2026-06-04 19:29:03 +00:00
Owner

Summary

  • Version bump: all 6 affected extension manifests and 20 model files bumped from 2026.06.04.1 to 2026.06.04.2 so CI publishes the upgrade-entry fix from fc0198c20
  • Upgrade path verification: added new section to agent-constraints/implementation-conventions.md requiring local swamp extension source add verification when model versions change — prevents this class of regression
  • Forgejo PR docs: added fgj CLI instructions to CLAUDE.md and implementation conventions (this repo is on Forgejo, not GitHub)

Context

The branding commit (b5c38f74c) bumped all extension model versions to 2026.06.04.1 without adding corresponding upgrade entries. The fix commit (fc0198c20, issue #549) added the entries but didn't bump the manifest versions, so CI never published the fix. The registry still serves the broken 2026.06.04.1 — users at any prior version get:

Last upgrade toVersion "2026.05.27.2" does not match model version "2026.06.04.1"

Affected extensions (20 model files + 6 manifests)

Extension Models
@swamp/kubernetes/* 15 (configmap, deployment, event, hpa, ingress, job, namespace, netpol, node, pod, pod-summary, pvc, rbac, secret, service)
@swamp/ssh 1
@swamp/cve/dirtyfrag 1
@swamp/cve/mini-shai-hulud 1
@swamp/gcs-datastore-bootstrap 1
@swamp/s3-datastore-bootstrap 1

Verification

  • deno check passes for all 6 extension directories
  • deno lint clean across all directories
  • deno install --frozen — no lockfile drift
  • Local e2e: pulled broken 2026.06.04.1 from registry → all 15 kubernetes types + ssh + dirtyfrag fail with version mismatch. Switched to local 2026.06.04.2 source → all 20 model types load cleanly, zero errors.

Test plan

  • deno check passes for all 6 affected extension directories
  • deno lint clean
  • deno install --frozen — no lockfile drift
  • All 20 models have version: "2026.06.04.2" matching last toVersion
  • Local upgrade path verified via swamp extension source add
  • CI passes all matrix jobs
  • Extensions publish correctly with 2026.06.04.2

Fixes: swamp-club #554

🤖 Generated with Claude Code

## Summary - **Version bump**: all 6 affected extension manifests and 20 model files bumped from `2026.06.04.1` to `2026.06.04.2` so CI publishes the upgrade-entry fix from `fc0198c20` - **Upgrade path verification**: added new section to `agent-constraints/implementation-conventions.md` requiring local `swamp extension source add` verification when model versions change — prevents this class of regression - **Forgejo PR docs**: added `fgj` CLI instructions to `CLAUDE.md` and implementation conventions (this repo is on Forgejo, not GitHub) ## Context The branding commit (`b5c38f74c`) bumped all extension model versions to `2026.06.04.1` without adding corresponding upgrade entries. The fix commit (`fc0198c20`, issue #549) added the entries but didn't bump the manifest versions, so CI never published the fix. The registry still serves the broken `2026.06.04.1` — users at any prior version get: ``` Last upgrade toVersion "2026.05.27.2" does not match model version "2026.06.04.1" ``` ## Affected extensions (20 model files + 6 manifests) | Extension | Models | |-----------|--------| | `@swamp/kubernetes/*` | 15 (configmap, deployment, event, hpa, ingress, job, namespace, netpol, node, pod, pod-summary, pvc, rbac, secret, service) | | `@swamp/ssh` | 1 | | `@swamp/cve/dirtyfrag` | 1 | | `@swamp/cve/mini-shai-hulud` | 1 | | `@swamp/gcs-datastore-bootstrap` | 1 | | `@swamp/s3-datastore-bootstrap` | 1 | ## Verification - `deno check` passes for all 6 extension directories - `deno lint` clean across all directories - `deno install --frozen` — no lockfile drift - Local e2e: pulled broken `2026.06.04.1` from registry → all 15 kubernetes types + ssh + dirtyfrag fail with version mismatch. Switched to local `2026.06.04.2` source → all 20 model types load cleanly, zero errors. ## Test plan - [x] `deno check` passes for all 6 affected extension directories - [x] `deno lint` clean - [x] `deno install --frozen` — no lockfile drift - [x] All 20 models have `version: "2026.06.04.2"` matching last `toVersion` - [x] Local upgrade path verified via `swamp extension source add` - [ ] CI passes all matrix jobs - [ ] Extensions publish correctly with `2026.06.04.2` Fixes: swamp-club #554 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix: bump versions to 2026.06.04.2 to publish missing upgrade entries (#554)
All checks were successful
CI / cve/dirtyfrag - check (pull_request) Successful in 1m35s
CI / workflows/gcs-bootstrap - lint (pull_request) Successful in 1m22s
CI / workflows/s3-bootstrap - lockfile up to date (pull_request) Successful in 1m30s
CI / workflows/s3-bootstrap - test (pull_request) Successful in 1m37s
CI / workflows/gcs-bootstrap - test (pull_request) Successful in 1m42s
CI / workflows/s3-bootstrap - lint (pull_request) Successful in 1m46s
CI / cve/dirtyfrag - lint (pull_request) Successful in 1m38s
CI / cve/dirtyfrag - test (pull_request) Successful in 1m42s
CI / cve/mini-shai-hulud - check (pull_request) Successful in 1m10s
CI / model/digitalocean - check (pull_request) Has been skipped
CI / model/hetzner-cloud - lockfile up to date (pull_request) Has been skipped
CI / model/digitalocean - lockfile up to date (pull_request) Has been skipped
CI / model/hetzner-cloud - check (pull_request) Has been skipped
CI / gcp models - sample check (pull_request) Has been skipped
CI / cloudflare models - lockfiles up to date (pull_request) Has been skipped
CI / codegen - check (pull_request) Has been skipped
CI / codegen - fmt (pull_request) Has been skipped
CI / gcp models - lockfiles up to date (pull_request) Has been skipped
CI / cloudflare models - sample check (pull_request) Has been skipped
CI / cve/mini-shai-hulud - lint (pull_request) Successful in 54s
CI / codegen - lockfile up to date (pull_request) Has been skipped
CI / codegen - lint (pull_request) Has been skipped
CI / cve/mini-shai-hulud - fmt (pull_request) Successful in 1m1s
CI / cve/mini-shai-hulud - test (pull_request) Successful in 1m6s
CI / cve/mini-shai-hulud - lockfile up to date (pull_request) Successful in 1m9s
CI / cve/dirtyfrag - lockfile up to date (pull_request) Successful in 1m12s
CI / CI Security Review (pull_request) Has been skipped
CI / Claude Code Review (pull_request) Successful in 3m29s
CI / Adversarial Code Review (pull_request) Successful in 3m21s
CI / Merge Gate (pull_request) Successful in 24s
b4b2406a57
The branding commit (b5c38f74c) bumped all extension model versions to
2026.06.04.1 without adding upgrade entries. The code fix (fc0198c20)
added the entries but didn't bump manifests, so CI never published the
fix. Users at any prior version get "Last upgrade toVersion does not
match model version" and cannot use their models.

Bump all 6 manifests and 20 model files to 2026.06.04.2 so CI publishes
the complete upgrade chain. Also adds upgrade path verification to
implementation conventions and documents fgj CLI for PRs.

Affected extensions:
- @swamp/kubernetes (15 models)
- @swamp/ssh (1 model)
- @swamp/cve/dirtyfrag (1 model)
- @swamp/cve/mini-shai-hulud (1 model)
- @swamp/gcs-datastore-bootstrap (1 model)
- @swamp/s3-datastore-bootstrap (1 model)

Verified: published 2026.06.04.1 fails with version mismatch on all
model types; local 2026.06.04.2 source loads all 20 types cleanly.

Fixes: swamp-club #554

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Author
Owner

Code Review

Blocking Issues

None.

Suggestions

  1. Upgrade chain continuity — The diff only shows context around the inserted entry, making it impossible to confirm every model's full upgrade chain is gapless. For this PR that's acceptable since the commit message states end-to-end manual verification was performed ("local 2026.06.04.2 source loads all 20 types cleanly"), but future version-bump PRs would benefit from a machine-readable chain validator in CI so reviewers don't have to take it on faith.

  2. agent-constraints verification template vs. commit message wording — The new convention template reads "No version mismatch error on method run", but the commit message frames the verification as "published 2026.06.04.1 fails … local 2026.06.04.2 loads cleanly" — which is correct but inverted from the template. Not a problem here, but worth aligning in a follow-up so future agents use a consistent phrasing.


Summary: Pure version bump + upgrade-entry repair across 20 hand-written extension model files and 6 manifests. All version fields match the final toVersion in each model's upgrades array, no auto-generated model/ files are touched, no any types introduced, no new logic to test. The accompanying documentation additions to CLAUDE.md and agent-constraints/ are accurate and well-scoped. No blocking issues.

## Code Review ### Blocking Issues None. ### Suggestions 1. **Upgrade chain continuity** — The diff only shows context around the inserted entry, making it impossible to confirm every model's full upgrade chain is gapless. For this PR that's acceptable since the commit message states end-to-end manual verification was performed ("local 2026.06.04.2 source loads all 20 types cleanly"), but future version-bump PRs would benefit from a machine-readable chain validator in CI so reviewers don't have to take it on faith. 2. **agent-constraints verification template vs. commit message wording** — The new convention template reads _"No version mismatch error on method run"_, but the commit message frames the verification as _"published 2026.06.04.1 fails … local 2026.06.04.2 loads cleanly"_ — which is correct but inverted from the template. Not a problem here, but worth aligning in a follow-up so future agents use a consistent phrasing. --- **Summary**: Pure version bump + upgrade-entry repair across 20 hand-written extension model files and 6 manifests. All `version` fields match the final `toVersion` in each model's `upgrades` array, no auto-generated `model/` files are touched, no `any` types introduced, no new logic to test. The accompanying documentation additions to `CLAUDE.md` and `agent-constraints/` are accurate and well-scoped. No blocking issues.
Author
Owner

Adversarial Review

Critical / High

None found.

Medium

None found.

Low

  1. Vault extensions still at 2026.06.04.1vault/aws-sm/manifest.yaml, vault/azure-kv/manifest.yaml, and vault/1password/manifest.yaml remain at the prior version. The new documentation in agent-constraints/implementation-conventions.md:149-151 explicitly carves out vault/datastore extensions ("they don't participate in the model upgrade system"), so this is intentional. However, if a future version of the framework adds upgrade support to vault extensions, this gap will resurface. No action required now — just noting for posterity.

  2. model/ auto-generated files also at 2026.06.04.1 — 33 TypeScript files and 14 manifests under model/ still carry the old version. Per CLAUDE.md these are auto-generated and should be fixed via the codegen pipeline + regeneration, not hand-edited. This is out of scope for this PR but worth confirming that a follow-up regeneration is planned.

Verdict

PASS — Mechanical version bump with correct upgrade entries across all 20 affected model files. Every toVersion in the new upgrade entry matches the model's version field; every upgradeAttributes is a pass-through identity function (correct for a no-schema-change bump); every manifest version is consistent with its model. The documentation additions (Forgejo PR instructions, upgrade verification runbook) are clear and internally consistent between CLAUDE.md and implementation-conventions.md. No logic, security, or correctness issues found.

## Adversarial Review ### Critical / High None found. ### Medium None found. ### Low 1. **Vault extensions still at `2026.06.04.1`** — `vault/aws-sm/manifest.yaml`, `vault/azure-kv/manifest.yaml`, and `vault/1password/manifest.yaml` remain at the prior version. The new documentation in `agent-constraints/implementation-conventions.md:149-151` explicitly carves out vault/datastore extensions ("they don't participate in the model upgrade system"), so this is intentional. However, if a future version of the framework adds upgrade support to vault extensions, this gap will resurface. No action required now — just noting for posterity. 2. **`model/` auto-generated files also at `2026.06.04.1`** — 33 TypeScript files and 14 manifests under `model/` still carry the old version. Per CLAUDE.md these are auto-generated and should be fixed via the codegen pipeline + regeneration, not hand-edited. This is out of scope for this PR but worth confirming that a follow-up regeneration is planned. ### Verdict **PASS** — Mechanical version bump with correct upgrade entries across all 20 affected model files. Every `toVersion` in the new upgrade entry matches the model's `version` field; every `upgradeAttributes` is a pass-through identity function (correct for a no-schema-change bump); every manifest version is consistent with its model. The documentation additions (Forgejo PR instructions, upgrade verification runbook) are clear and internally consistent between CLAUDE.md and implementation-conventions.md. No logic, security, or correctness issues found.
stack72 deleted branch worktree-554 2026-06-04 19:29:03 +00:00
Sign in to join this conversation.
No reviewers
No labels
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
swamp-club/swamp-extensions!32
No description provided.