Issue Lifecycle: Fix Swamp Club API Endpoint #198

Merged
stack72 merged 1 commit from fix-issue-lifecycle into main 2026-08-16 20:51:28 +00:00
Owner
No description provided.
Issue Lifecycle: Fix Swamp Club API Endpoint
Some checks failed
CI: Extensions / cve/researcher - lockfile up to date (pull_request) Has been skipped
CI: Extensions / software-factory - check (pull_request) Has been skipped
CI: Extensions / software-factory - fmt (pull_request) Has been skipped
CI: Extensions / software-factory - lint (pull_request) Has been skipped
CI: Extensions / software-factory - test (pull_request) Has been skipped
CI: Extensions / software-factory - lockfile up to date (pull_request) Has been skipped
CI: Extensions / container-image - check (pull_request) Has been skipped
CI: Extensions / container-image - fmt (pull_request) Has been skipped
CI: Extensions / container-image - lint (pull_request) Has been skipped
CI: Extensions / container-image - test (pull_request) Has been skipped
CI: Extensions / container-image - lockfile up to date (pull_request) Has been skipped
CI: Extensions / git - check (pull_request) Has been skipped
CI: Extensions / git - fmt (pull_request) Has been skipped
CI: Extensions / git - lint (pull_request) Has been skipped
CI: Extensions / git - test (pull_request) Has been skipped
CI: Extensions / git - lockfile up to date (pull_request) Has been skipped
CI / Actions Audit (pull_request) Successful in 36s
CI: Extensions / issue-lifecycle - lockfile up to date (pull_request) Successful in 49s
CI: Reviews / Detect Changes (pull_request) Successful in 1m29s
CI: Reviews / CI Security Review (pull_request) Has been skipped
CI: Extensions / issue-lifecycle - check (pull_request) Successful in 1m1s
CI: Extensions / issue-lifecycle - fmt (pull_request) Successful in 1m4s
CI: Extensions / issue-lifecycle - lint (pull_request) Successful in 1m3s
CI: Extensions / issue-lifecycle - test (pull_request) Failing after 1m6s
CI: Extensions / Gate: Extensions (pull_request) Failing after 1s
CI / Dependency Audit (pull_request) Successful in 3m17s
CI / Gate: Audit (pull_request) Successful in 32s
CI: Reviews / Adversarial Code Review (pull_request) Failing after 2m12s
CI: Reviews / Claude Code Review (pull_request) Successful in 2m14s
CI: Reviews / Gate: Reviews (pull_request) Failing after 0s
0c9169d4c2
Author
Owner

Adversarial Review

Critical / High

  1. HIGH — Test will fail: stale version assertion not updated
    • File: extensions/models/issue_lifecycle_test.ts:322-324 (and identical copy at issue-lifecycle/extensions/models/issue_lifecycle_test.ts:322-324)
    • What's wrong: The test asserts model.version === "2026.07.30.1", but the PR bumps model.version to "2026.08.16.1". This test will fail deterministically.
    • Breaking example: Running deno test extensions/models/issue_lifecycle_test.ts will produce:
      AssertionError: Values are not equal.
        expected: "2026.07.30.1"
        actual:   "2026.08.16.1"
      
    • Suggested fix: Update both copies of the test to assert "2026.08.16.1":
      Deno.test("model: version bumped to 2026.08.16.1", () => {
        assertEquals(model.version, "2026.08.16.1");
      });
      

Medium

  1. MEDIUM — Manifest version skipped several intermediate versions
    • File: issue-lifecycle/manifest.yaml:3
    • What's wrong: The manifest version jumped from 2026.06.15.1 directly to 2026.08.16.1, skipping 2026.06.29.1, 2026.07.05.1, and 2026.07.30.1. The model's upgrade chain includes all intermediate versions, so upgrades will work, but publishing via CI auto-publish may have missed the intermediate releases if this manifest was the gating artifact. If those intermediate versions were published via a different mechanism, this is harmless — but worth confirming that the registry has all intermediate versions, or that a version jump from 2026.06.15.1 to 2026.08.16.1 is intentional.
    • Suggested fix: Confirm with the author that the intermediate versions were published separately, or that a multi-version jump in the manifest is expected.

Low

(none)

Verdict

FAIL — The version assertion test (model: version bumped to 2026.07.30.1) was not updated to match the new version 2026.08.16.1. This will cause a deterministic test failure in both extensions/ and issue-lifecycle/ copies.

## Adversarial Review ### Critical / High 1. **HIGH — Test will fail: stale version assertion not updated** - **File**: `extensions/models/issue_lifecycle_test.ts:322-324` (and identical copy at `issue-lifecycle/extensions/models/issue_lifecycle_test.ts:322-324`) - **What's wrong**: The test asserts `model.version === "2026.07.30.1"`, but the PR bumps `model.version` to `"2026.08.16.1"`. This test will fail deterministically. - **Breaking example**: Running `deno test extensions/models/issue_lifecycle_test.ts` will produce: ``` AssertionError: Values are not equal. expected: "2026.07.30.1" actual: "2026.08.16.1" ``` - **Suggested fix**: Update both copies of the test to assert `"2026.08.16.1"`: ```typescript Deno.test("model: version bumped to 2026.08.16.1", () => { assertEquals(model.version, "2026.08.16.1"); }); ``` ### Medium 1. **MEDIUM — Manifest version skipped several intermediate versions** - **File**: `issue-lifecycle/manifest.yaml:3` - **What's wrong**: The manifest version jumped from `2026.06.15.1` directly to `2026.08.16.1`, skipping `2026.06.29.1`, `2026.07.05.1`, and `2026.07.30.1`. The model's upgrade chain includes all intermediate versions, so upgrades will work, but publishing via CI auto-publish may have missed the intermediate releases if this manifest was the gating artifact. If those intermediate versions were published via a different mechanism, this is harmless — but worth confirming that the registry has all intermediate versions, or that a version jump from `2026.06.15.1` to `2026.08.16.1` is intentional. - **Suggested fix**: Confirm with the author that the intermediate versions were published separately, or that a multi-version jump in the manifest is expected. ### Low (none) ### Verdict **FAIL** — The version assertion test (`model: version bumped to 2026.07.30.1`) was not updated to match the new version `2026.08.16.1`. This will cause a deterministic test failure in both `extensions/` and `issue-lifecycle/` copies.
Author
Owner

Code Review

Blocking Issues

None.

Suggestions

  1. Upgrade entry description capitalization — All prior upgrade entries in the upgrades array use sentence-style lowercase descriptions (e.g. "records problem/outcome before closing. No globalArguments changes."), but the new entry uses title case: "Updating Swamp Club API Endpoint". Minor inconsistency, not blocking.

  2. Manifest / model version drift resolved — Before this PR, manifest.yaml was at 2026.06.15.1 while the model version in issue_lifecycle.ts was 2026.07.30.1. This PR brings both to 2026.08.16.1. Consider keeping them in sync on future bumps so the two don't diverge again.


The change is minimal and correct: the health check endpoint is updated from /api/health to /healthz in both copies of swamp_club.ts, the corresponding test fetch stubs are updated in both copies of issue_lifecycle_test.ts, the model version is bumped with a proper upgrade entry (passthrough upgradeAttributes is appropriate since no resource attributes changed), and the manifest version is bumped to match. All changes are symmetric across the extensions/models/ and issue-lifecycle/extensions/models/ paths.

## Code Review ### Blocking Issues None. ### Suggestions 1. **Upgrade entry description capitalization** — All prior upgrade entries in the `upgrades` array use sentence-style lowercase descriptions (e.g. `"records problem/outcome before closing. No globalArguments changes."`), but the new entry uses title case: `"Updating Swamp Club API Endpoint"`. Minor inconsistency, not blocking. 2. **Manifest / model version drift resolved** — Before this PR, `manifest.yaml` was at `2026.06.15.1` while the model version in `issue_lifecycle.ts` was `2026.07.30.1`. This PR brings both to `2026.08.16.1`. Consider keeping them in sync on future bumps so the two don't diverge again. --- The change is minimal and correct: the health check endpoint is updated from `/api/health` to `/healthz` in both copies of `swamp_club.ts`, the corresponding test fetch stubs are updated in both copies of `issue_lifecycle_test.ts`, the model version is bumped with a proper upgrade entry (passthrough `upgradeAttributes` is appropriate since no resource attributes changed), and the manifest version is bumped to match. All changes are symmetric across the `extensions/models/` and `issue-lifecycle/extensions/models/` paths.
stack72 force-pushed fix-issue-lifecycle from 0c9169d4c2
Some checks failed
CI: Extensions / cve/researcher - lockfile up to date (pull_request) Has been skipped
CI: Extensions / software-factory - check (pull_request) Has been skipped
CI: Extensions / software-factory - fmt (pull_request) Has been skipped
CI: Extensions / software-factory - lint (pull_request) Has been skipped
CI: Extensions / software-factory - test (pull_request) Has been skipped
CI: Extensions / software-factory - lockfile up to date (pull_request) Has been skipped
CI: Extensions / container-image - check (pull_request) Has been skipped
CI: Extensions / container-image - fmt (pull_request) Has been skipped
CI: Extensions / container-image - lint (pull_request) Has been skipped
CI: Extensions / container-image - test (pull_request) Has been skipped
CI: Extensions / container-image - lockfile up to date (pull_request) Has been skipped
CI: Extensions / git - check (pull_request) Has been skipped
CI: Extensions / git - fmt (pull_request) Has been skipped
CI: Extensions / git - lint (pull_request) Has been skipped
CI: Extensions / git - test (pull_request) Has been skipped
CI: Extensions / git - lockfile up to date (pull_request) Has been skipped
CI / Actions Audit (pull_request) Successful in 36s
CI: Extensions / issue-lifecycle - lockfile up to date (pull_request) Successful in 49s
CI: Reviews / Detect Changes (pull_request) Successful in 1m29s
CI: Reviews / CI Security Review (pull_request) Has been skipped
CI: Extensions / issue-lifecycle - check (pull_request) Successful in 1m1s
CI: Extensions / issue-lifecycle - fmt (pull_request) Successful in 1m4s
CI: Extensions / issue-lifecycle - lint (pull_request) Successful in 1m3s
CI: Extensions / issue-lifecycle - test (pull_request) Failing after 1m6s
CI: Extensions / Gate: Extensions (pull_request) Failing after 1s
CI / Dependency Audit (pull_request) Successful in 3m17s
CI / Gate: Audit (pull_request) Successful in 32s
CI: Reviews / Adversarial Code Review (pull_request) Failing after 2m12s
CI: Reviews / Claude Code Review (pull_request) Successful in 2m14s
CI: Reviews / Gate: Reviews (pull_request) Failing after 0s
to 47743ba5c1
All checks were successful
CI: Extensions / cve/mini-shai-hulud - test (pull_request) Has been skipped
CI: Extensions / cve/researcher - check (pull_request) Has been skipped
CI: Extensions / cve/researcher - fmt (pull_request) Has been skipped
CI: Extensions / cve/researcher - lint (pull_request) Has been skipped
CI: Extensions / cve/researcher - test (pull_request) Has been skipped
CI: Extensions / cve/dirtyfrag - lockfile up to date (pull_request) Has been skipped
CI: Extensions / cve/mini-shai-hulud - lockfile up to date (pull_request) Has been skipped
CI: Extensions / cve/researcher - lockfile up to date (pull_request) Has been skipped
CI: Extensions / software-factory - check (pull_request) Has been skipped
CI / Dependency Audit (pull_request) Successful in 2m45s
CI: Extensions / software-factory - fmt (pull_request) Has been skipped
CI: Extensions / software-factory - lint (pull_request) Has been skipped
CI: Extensions / software-factory - test (pull_request) Has been skipped
CI: Extensions / software-factory - lockfile up to date (pull_request) Has been skipped
CI: Extensions / container-image - check (pull_request) Has been skipped
CI: Extensions / container-image - fmt (pull_request) Has been skipped
CI: Extensions / container-image - lint (pull_request) Has been skipped
CI: Extensions / container-image - test (pull_request) Has been skipped
CI: Extensions / container-image - lockfile up to date (pull_request) Has been skipped
CI: Extensions / git - check (pull_request) Has been skipped
CI: Extensions / git - fmt (pull_request) Has been skipped
CI: Extensions / git - lint (pull_request) Has been skipped
CI: Extensions / git - test (pull_request) Has been skipped
CI: Extensions / git - lockfile up to date (pull_request) Has been skipped
CI: Extensions / Gate: Extensions (pull_request) Successful in 0s
CI: Reviews / CI Security Review (pull_request) Has been skipped
CI / Gate: Audit (pull_request) Successful in 36s
CI: Reviews / Claude Code Review (pull_request) Successful in 1m56s
CI: Reviews / Adversarial Code Review (pull_request) Successful in 2m38s
CI: Reviews / Gate: Reviews (pull_request) Successful in 0s
2026-08-16 20:27:37 +00:00
Compare
Author
Owner

Code Review

Blocking Issues

None.

Suggestions

  1. manifest.yaml state machine diagram is stale (issue-lifecycle/manifest.yaml, lines 32–35): The diagram still shows notify ──[notify]──> done and notify ──[skip_notify]──> done, but since version 2026.07.30.1 those transitions go to summarizing first, then summarizedone. This is pre-existing and not introduced here, but since the manifest is being bumped anyway it would be a good time to fix the description to match reality.

The change is minimal and correct: a single endpoint string (/api/health/healthz) updated consistently in both copies of swamp_club.ts, version bumped with a proper upgrade entry in both copies of issue_lifecycle.ts, and all test stubs updated to match the new path. No CLAUDE.md violations, no type errors, no security issues, and env vars are restored in finally blocks throughout.

## Code Review ### Blocking Issues None. ### Suggestions 1. **`manifest.yaml` state machine diagram is stale** (`issue-lifecycle/manifest.yaml`, lines 32–35): The diagram still shows `notify ──[notify]──> done` and `notify ──[skip_notify]──> done`, but since version `2026.07.30.1` those transitions go to `summarizing` first, then `summarize` → `done`. This is pre-existing and not introduced here, but since the manifest is being bumped anyway it would be a good time to fix the description to match reality. --- The change is minimal and correct: a single endpoint string (`/api/health` → `/healthz`) updated consistently in both copies of `swamp_club.ts`, version bumped with a proper upgrade entry in both copies of `issue_lifecycle.ts`, and all test stubs updated to match the new path. No CLAUDE.md violations, no type errors, no security issues, and env vars are restored in `finally` blocks throughout.
Author
Owner

Adversarial Review

Critical / High

None found.

Medium

  1. issue-lifecycle/manifest.yaml:35 — State machine documentation is stale after prior version upgrades

    The manifest's state machine documentation says notify ──[notify]──> done and notify ──[skip_notify]──> done, but the actual model code transitions notify → summarizing and skip_notify → summarizing, with summarize → done. The summarizing phase and summarize method (added in 2026.07.30.1) are missing from the diagram. The summary and codeConformanceReview resources are also absent from the Data section.

    This is pre-existing staleness, not introduced by this PR, but the manifest version is being bumped from 2026.06.15.1 to 2026.08.16.1 — publishing with outdated user-facing documentation could confuse consumers.

    Suggested fix: Update the state machine diagram and method/data sections in the manifest description to reflect the current model. This is a warning, not a blocker.

Low

  1. issue-lifecycle/manifest.yaml:2 — Manifest version jumped from 2026.06.15.1 to 2026.08.16.1, skipping three intermediate model versions

    The model code on main was at 2026.07.30.1 while the manifest was at 2026.06.15.1. This means versions 2026.06.29.1, 2026.07.05.1, and 2026.07.30.1 were never published via the manifest. This PR aligns them both at 2026.08.16.1, and all intermediate upgrade entries are present in the upgrades array, so consumers upgrading from 2026.06.15.1 will correctly chain through all migrations. No data loss risk — just noting the version gap for awareness.

Verdict

PASS — This is a clean, minimal change: the health check endpoint is updated from /api/health to /healthz in both copies of swamp_club.ts, with corresponding test updates. The version bump and upgrade entry are correct. No references to the old endpoint remain. The two copies (extensions/models/ and issue-lifecycle/extensions/models/) are consistent with each other. The stale manifest documentation is a pre-existing issue worth addressing separately but does not block this change.

## Adversarial Review ### Critical / High None found. ### Medium 1. **`issue-lifecycle/manifest.yaml`:35 — State machine documentation is stale after prior version upgrades** The manifest's state machine documentation says `notify ──[notify]──> done` and `notify ──[skip_notify]──> done`, but the actual model code transitions `notify → summarizing` and `skip_notify → summarizing`, with `summarize → done`. The `summarizing` phase and `summarize` method (added in `2026.07.30.1`) are missing from the diagram. The `summary` and `codeConformanceReview` resources are also absent from the Data section. This is pre-existing staleness, not introduced by this PR, but the manifest version is being bumped from `2026.06.15.1` to `2026.08.16.1` — publishing with outdated user-facing documentation could confuse consumers. **Suggested fix:** Update the state machine diagram and method/data sections in the manifest description to reflect the current model. This is a warning, not a blocker. ### Low 1. **`issue-lifecycle/manifest.yaml`:2 — Manifest version jumped from `2026.06.15.1` to `2026.08.16.1`, skipping three intermediate model versions** The model code on main was at `2026.07.30.1` while the manifest was at `2026.06.15.1`. This means versions `2026.06.29.1`, `2026.07.05.1`, and `2026.07.30.1` were never published via the manifest. This PR aligns them both at `2026.08.16.1`, and all intermediate upgrade entries are present in the upgrades array, so consumers upgrading from `2026.06.15.1` will correctly chain through all migrations. No data loss risk — just noting the version gap for awareness. ### Verdict **PASS** — This is a clean, minimal change: the health check endpoint is updated from `/api/health` to `/healthz` in both copies of `swamp_club.ts`, with corresponding test updates. The version bump and upgrade entry are correct. No references to the old endpoint remain. The two copies (`extensions/models/` and `issue-lifecycle/extensions/models/`) are consistent with each other. The stale manifest documentation is a pre-existing issue worth addressing separately but does not block this change.
Sign in to join this conversation.
No reviewers
No labels
No milestone
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!198
No description provided.