DEV-002: API Versioning Strategy #176

Closed
opened 2026-04-11 05:52:58 +00:00 by Mark · 10 comments
Owner
No description provided.
Author
Owner

QA Verification (FAILED) — Reopened

The kanban fixit task was incorrectly marked done. No code was ever committed for DEV-002 (API Versioning Strategy).

Evidence (master @ 92521ce)

  1. No commits referencing #176 or DEV-002 in the repo.
    git log --all --grep=176, --grep=DEV-002, --grep=versioning all return empty.
  2. No PRs linked to this issue. Timeline shows only label events; the sweep close at 2026-08-04T04:34:51Z has no preceding fix activity.
  3. API gateway has no versioning machinery.
    docker/api_gateway.py defines OPENAPI_VERSION = "3.1.0" (OpenAPI spec metadata only).
    All endpoints use the /v1/ prefix, but no /v2/ routes, no version negotiation header (Accept: application/vnd.mesh.v2+json or similar), no Deprecation header emission, no version_strategy module.
    Grep for versioning|version_strategy|version_negot|api_version|X-API-Version|Deprecation in docker/api_gateway.py returns empty.
  4. Fixit history (t_c81b6412): blocked by gate-failure: Verify gate failed after 3/3 bugfix retries, bounced between fixup/recovery assignees, auto-completed by janitor with empty result.

Action

Reopened this issue (state: open, labels blocked:needs-attention + blocked:preflight preserved).
Needs re-triage; preflight gate is the actual blocker (per prior QA t_debdc3c9).

## QA Verification (FAILED) — Reopened The kanban fixit task was incorrectly marked done. No code was ever committed for DEV-002 (API Versioning Strategy). ### Evidence (master @ 92521ce) 1. No commits referencing #176 or DEV-002 in the repo. `git log --all --grep=176`, `--grep=DEV-002`, `--grep=versioning` all return empty. 2. No PRs linked to this issue. Timeline shows only label events; the sweep close at 2026-08-04T04:34:51Z has no preceding fix activity. 3. API gateway has no versioning machinery. `docker/api_gateway.py` defines `OPENAPI_VERSION = "3.1.0"` (OpenAPI spec metadata only). All endpoints use the `/v1/` prefix, but no `/v2/` routes, no version negotiation header (`Accept: application/vnd.mesh.v2+json` or similar), no `Deprecation` header emission, no `version_strategy` module. Grep for `versioning|version_strategy|version_negot|api_version|X-API-Version|Deprecation` in `docker/api_gateway.py` returns empty. 4. Fixit history (t_c81b6412): blocked by `gate-failure: Verify gate failed after 3/3 bugfix retries`, bounced between fixup/recovery assignees, auto-completed by janitor with empty result. ### Action Reopened this issue (state: open, labels `blocked:needs-attention` + `blocked:preflight` preserved). Needs re-triage; preflight gate is the actual blocker (per prior QA t_debdc3c9).
Author
Owner

QA Verification (FAILED) — Reopened (2nd time)

The Forgejo issue Mark/mesh-seed#176 was closed again at 2026-08-04T14:30:18Z by the janitor sweep, but the underlying defect is unchanged. No code was ever committed for DEV-002 (API Versioning Strategy).

Evidence (master @ 92521ce9)

  1. No commits referencing #176, DEV-002, or any versioning machinery.

    • git log origin/master --grep=176 → empty
    • git log origin/master --grep=DEV-002 → empty
    • git log origin/master --grep=versioning → only 7c5223f docs(specs): protocol specifications for mesh seed (a docs/spec commit, not code)
    • git log origin/master -S version_strategy → empty
    • git log origin/master -S version_negotiation → empty
    • git log origin/master -S api_version → empty
    • The whole DEV-00X series landed for #175 (DEV-001 Client SDKs), #178 (DEV-004 Event Streaming), #179 (DEV-005 Interactive API Docs), #181 (DEV-007 Quickstart). #176 / DEV-002 is the only one missing.
  2. No PR linked to #176. GET /repos/Mark/mesh-seed/pulls?state=all filtered for 176/DEV-002/versioning returns empty. No fix branch on origin.

  3. API gateway has no versioning machinery.

    • docker/api_gateway.py only declares OPENAPI_VERSION = "3.1.0" (OpenAPI spec metadata).
    • All endpoints use the /v1/ prefix; no /v2/ routes, no version negotiation header (Accept: application/vnd.mesh.v2+json), no Deprecation header emission, no version_strategy module.
    • Grep for version_strategy|versioning|version_negot|api_version|X-API-Version|Deprecation in docker/api_gateway.py on origin/master returns empty.
  4. Fixit history (t_c81b6412). kilo-gsd runner exhausted 3/3 Verify gate bugfix retries on integration test fixtures ('NoneType' object has no attribute 'upsert_intent' in test_archive_api_endpoints.py). No commit was ever produced. The earlier QA t_debdc3c9 reopened this issue at 2026-08-04T08:16:26Z; the janitor sweep closed it again ~6h later without a fix.

Action

Reopened this issue (state: open, labels blocked:needs-attention + blocked:preflight preserved). The preflight gate on the repo is the real blocker — that needs to be resolved before a fixit dispatcher can complete without spurious V- gate failures. This issue must stay open until a real PR lands with the versioning strategy.

## QA Verification (FAILED) — Reopened (2nd time) The Forgejo issue Mark/mesh-seed#176 was closed again at 2026-08-04T14:30:18Z by the janitor sweep, but the underlying defect is unchanged. No code was ever committed for DEV-002 (API Versioning Strategy). ### Evidence (master @ 92521ce9) 1. **No commits referencing #176, DEV-002, or any versioning machinery.** - `git log origin/master --grep=176` → empty - `git log origin/master --grep=DEV-002` → empty - `git log origin/master --grep=versioning` → only `7c5223f docs(specs): protocol specifications for mesh seed` (a docs/spec commit, not code) - `git log origin/master -S version_strategy` → empty - `git log origin/master -S version_negotiation` → empty - `git log origin/master -S api_version` → empty - The whole DEV-00X series landed for #175 (DEV-001 Client SDKs), #178 (DEV-004 Event Streaming), #179 (DEV-005 Interactive API Docs), #181 (DEV-007 Quickstart). #176 / DEV-002 is the only one missing. 2. **No PR linked to #176.** `GET /repos/Mark/mesh-seed/pulls?state=all` filtered for 176/DEV-002/versioning returns empty. No fix branch on origin. 3. **API gateway has no versioning machinery.** - `docker/api_gateway.py` only declares `OPENAPI_VERSION = "3.1.0"` (OpenAPI spec metadata). - All endpoints use the `/v1/` prefix; no `/v2/` routes, no version negotiation header (`Accept: application/vnd.mesh.v2+json`), no `Deprecation` header emission, no `version_strategy` module. - Grep for `version_strategy|versioning|version_negot|api_version|X-API-Version|Deprecation` in `docker/api_gateway.py` on origin/master returns empty. 4. **Fixit history (t_c81b6412).** kilo-gsd runner exhausted 3/3 Verify gate bugfix retries on integration test fixtures (`'NoneType' object has no attribute 'upsert_intent'` in `test_archive_api_endpoints.py`). No commit was ever produced. The earlier QA t_debdc3c9 reopened this issue at 2026-08-04T08:16:26Z; the janitor sweep closed it again ~6h later without a fix. ### Action Reopened this issue (state: open, labels `blocked:needs-attention` + `blocked:preflight` preserved). The preflight gate on the repo is the real blocker — that needs to be resolved before a fixit dispatcher can complete without spurious V- gate failures. This issue must stay open until a real PR lands with the versioning strategy.
Author
Owner

QA Verification (3rd pass) — Confirmed False-Positive Close

No code fix exists for DEV-002: API Versioning Strategy. This is the third verification confirming the same finding.

Evidence (master @ 134c00c)

  1. git log --all --grep=176 → empty (no commits reference issue #176)
  2. git log --all --grep=DEV-002 → empty
  3. git log --all --grep=versioning → only 7c5223f (docs/specs: signal semantics schema versioning — not API versioning)
  4. No PRs linked to this issue (checked /repos/Mark/mesh-seed/pulls?state=all)
  5. Issue labels remain blocked:needs-attention + blocked:preflight

Conclusion

DEV-002 (API Versioning Strategy) is a design-level issue that requires architectural work, not a quickfix. The kanban fixit board incorrectly marked related tasks as done. The issue is correctly open.

Recommendation

  • Remove blocked:preflight label (false prerequisite)
  • Keep blocked:needs-attention until scope is defined
  • This is not a bug fix — it's a feature request requiring design discussion
## QA Verification (3rd pass) — Confirmed False-Positive Close No code fix exists for DEV-002: API Versioning Strategy. This is the third verification confirming the same finding. ### Evidence (master @ 134c00c) 1. `git log --all --grep=176` → empty (no commits reference issue #176) 2. `git log --all --grep=DEV-002` → empty 3. `git log --all --grep=versioning` → only `7c5223f` (docs/specs: signal semantics schema versioning — not API versioning) 4. No PRs linked to this issue (checked `/repos/Mark/mesh-seed/pulls?state=all`) 5. Issue labels remain `blocked:needs-attention` + `blocked:preflight` ### Conclusion DEV-002 (API Versioning Strategy) is a design-level issue that requires architectural work, not a quickfix. The kanban fixit board incorrectly marked related tasks as done. The issue is correctly open. ### Recommendation - Remove `blocked:preflight` label (false prerequisite) - Keep `blocked:needs-attention` until scope is defined - This is not a bug fix — it's a feature request requiring design discussion
Author
Owner

QA Verification (4th pass) — Confirmed False-Positive Close (Recurring)

No code fix exists for DEV-002: API Versioning Strategy. This is the fourth verification confirming the same finding.

Evidence (master @ latest via API)

  1. No commits reference issue #176 or "DEV-002" in message
  2. No PRs linked to this issue (/pulls?state=all → empty)
  3. No branches reference this issue or "versioning"
  4. Labels remain blocked:needs-attention + blocked:preflight

Conclusion

DEV-002 is a design-level issue requiring architectural work, not a quickfix. The kanban fixit board incorrectly marked related tasks as done. This issue has now been verified as a false-positive close 4 times.

Recommendation

  • Remove blocked:preflight label (false prerequisite)
  • Keep blocked:needs-attention until scope is defined
  • This is not a bug fix — it is a feature request requiring design discussion
## QA Verification (4th pass) — Confirmed False-Positive Close (Recurring) No code fix exists for DEV-002: API Versioning Strategy. This is the fourth verification confirming the same finding. ### Evidence (master @ latest via API) 1. No commits reference issue #176 or "DEV-002" in message 2. No PRs linked to this issue (`/pulls?state=all` → empty) 3. No branches reference this issue or "versioning" 4. Labels remain `blocked:needs-attention` + `blocked:preflight` ### Conclusion DEV-002 is a design-level issue requiring architectural work, not a quickfix. The kanban fixit board incorrectly marked related tasks as done. This issue has now been verified as a false-positive close 4 times. ### Recommendation - Remove `blocked:preflight` label (false prerequisite) - Keep `blocked:needs-attention` until scope is defined - This is not a bug fix — it is a feature request requiring design discussion
Author
Owner

QA Verification (5th pass) - Confirmed False-Positive Close (Recurring)

No code fix exists for DEV-002: API Versioning Strategy. This is the fifth verification confirming the same finding.

Evidence

  • No commits reference issue #176 or DEV-002
  • No PRs linked to this issue
  • No versioning machinery exists in the API gateway
  • Labels remain blocked:needs-attention + blocked:preflight

Conclusion

DEV-002 is a design-level issue requiring architectural work, not a quickfix. The kanban fixit board incorrectly marked related tasks as done. This issue has been verified as a false-positive close 5 times now.

Recommendation

  • Remove blocked:preflight label (false prerequisite)
  • Keep blocked:needs-attention until scope is defined
  • This is not a bug fix - it is a feature request requiring design discussion
## QA Verification (5th pass) - Confirmed False-Positive Close (Recurring) No code fix exists for DEV-002: API Versioning Strategy. This is the fifth verification confirming the same finding. ### Evidence - No commits reference issue #176 or DEV-002 - No PRs linked to this issue - No versioning machinery exists in the API gateway - Labels remain blocked:needs-attention + blocked:preflight ### Conclusion DEV-002 is a design-level issue requiring architectural work, not a quickfix. The kanban fixit board incorrectly marked related tasks as done. This issue has been verified as a false-positive close 5 times now. ### Recommendation - Remove blocked:preflight label (false prerequisite) - Keep blocked:needs-attention until scope is defined - This is not a bug fix - it is a feature request requiring design discussion
Author
Owner

QA Verification (6th pass) — Confirmed False-Positive Close (Recurring)

No code fix exists for DEV-002: API Versioning Strategy. This is the sixth verification confirming the same finding.

Evidence

  • No commits reference issue #176 or "DEV-002" in message
  • No PRs linked to this issue
  • No versioning machinery exists in the API gateway
  • Labels remain blocked:needs-attention + blocked:preflight

Conclusion

DEV-002 is a design-level issue requiring architectural work, not a quickfix. The kanban fixit board repeatedly marks it done without any actual fix landing. This is a recurring false-positive close pattern.

## QA Verification (6th pass) — Confirmed False-Positive Close (Recurring) No code fix exists for DEV-002: API Versioning Strategy. This is the sixth verification confirming the same finding. ### Evidence - No commits reference issue #176 or "DEV-002" in message - No PRs linked to this issue - No versioning machinery exists in the API gateway - Labels remain blocked:needs-attention + blocked:preflight ### Conclusion DEV-002 is a design-level issue requiring architectural work, not a quickfix. The kanban fixit board repeatedly marks it done without any actual fix landing. This is a recurring false-positive close pattern.
Author
Owner

QA Verification (7th pass) — Confirmed False-Positive Close (Recurring)

No code fix exists for DEV-002: API Versioning Strategy. This is the seventh verification confirming the same finding.

Evidence (master @ 18946b0)

  1. No commits reference issue #176 or "DEV-002" in message
  2. No PRs linked to this issue (50 most recent PRs checked)
  3. No versioning strategy implementation in the codebase

History

  • 1st pass: 2026-08-04 08:16 — False-positive close confirmed
  • 2nd pass: 2026-08-04 14:47 — False-positive close confirmed
  • 3rd pass: 2026-08-04 17:56 — False-positive close confirmed
  • 4th pass: 2026-08-04 18:19 — False-positive close confirmed
  • 5th pass: 2026-08-04 19:22 — False-positive close confirmed
  • 6th pass: 2026-08-04 20:12 — False-positive close confirmed
  • 7th pass: 2026-08-04 — False-positive close confirmed (this verification)

Root Cause

The kanban fixit pipeline has been repeatedly auto-closing this issue without any code being committed. The issue is a design-level task (API Versioning Strategy) that may not require code changes, but the fixit board treats it as a code fix.

Recommendation

Either: (a) reclassify as a design task and update the issue body, or (b) remove from the fixit board if no code fix is planned.

## QA Verification (7th pass) — Confirmed False-Positive Close (Recurring) No code fix exists for DEV-002: API Versioning Strategy. This is the seventh verification confirming the same finding. ### Evidence (master @ 18946b0) 1. No commits reference issue #176 or "DEV-002" in message 2. No PRs linked to this issue (50 most recent PRs checked) 3. No versioning strategy implementation in the codebase ### History - 1st pass: 2026-08-04 08:16 — False-positive close confirmed - 2nd pass: 2026-08-04 14:47 — False-positive close confirmed - 3rd pass: 2026-08-04 17:56 — False-positive close confirmed - 4th pass: 2026-08-04 18:19 — False-positive close confirmed - 5th pass: 2026-08-04 19:22 — False-positive close confirmed - 6th pass: 2026-08-04 20:12 — False-positive close confirmed - 7th pass: 2026-08-04 — False-positive close confirmed (this verification) ### Root Cause The kanban fixit pipeline has been repeatedly auto-closing this issue without any code being committed. The issue is a design-level task (API Versioning Strategy) that may not require code changes, but the fixit board treats it as a code fix. ### Recommendation Either: (a) reclassify as a design task and update the issue body, or (b) remove from the fixit board if no code fix is planned.
Author
Owner

QA Verification (8th pass) — Confirmed False-Positive Close (Recurring)

No code fix exists for DEV-002: API Versioning Strategy. This is the eighth verification confirming the same finding.

Evidence

  • No commits reference issue #176 or "DEV-002"
  • No PRs linked to this issue
  • No versioning-related code changes in the repo
  • Issue has empty body — it is a design-level strategy discussion, not a bug
  • Kanban reconciliation keeps generating QA cards for this closed-but-reopened issue

Recommendation

This issue should be labeled as a feature request / design discussion rather than a fixit target. The kanban reconciliation rule should exclude it from future QA card generation.

## QA Verification (8th pass) — Confirmed False-Positive Close (Recurring) No code fix exists for DEV-002: API Versioning Strategy. This is the eighth verification confirming the same finding. ### Evidence - No commits reference issue #176 or "DEV-002" - No PRs linked to this issue - No versioning-related code changes in the repo - Issue has empty body — it is a design-level strategy discussion, not a bug - Kanban reconciliation keeps generating QA cards for this closed-but-reopened issue ### Recommendation This issue should be labeled as a feature request / design discussion rather than a fixit target. The kanban reconciliation rule should exclude it from future QA card generation.
Author
Owner

QA Verification (9th pass) — Confirmed False-Positive Close (Recurring)

No code fix exists for DEV-002: API Versioning Strategy. This is the ninth verification confirming the same finding.

Evidence

  • No commits reference issue #176 or DEV-002
  • No PRs linked to this issue
  • No versioning-related code changes in the repo
  • Issue has empty body — it is a design-level strategy discussion, not a bug

History

1st–8th passes (2026-08-04 through 2026-08-05): all confirmed false-positive close.

Recommendation

This issue should be labeled as a feature request / design discussion rather than a fixit target. The kanban reconciliation rule should exclude it from future QA card generation.

## QA Verification (9th pass) — Confirmed False-Positive Close (Recurring) No code fix exists for DEV-002: API Versioning Strategy. This is the ninth verification confirming the same finding. ### Evidence - No commits reference issue #176 or DEV-002 - No PRs linked to this issue - No versioning-related code changes in the repo - Issue has empty body — it is a design-level strategy discussion, not a bug ### History 1st–8th passes (2026-08-04 through 2026-08-05): all confirmed false-positive close. ### Recommendation This issue should be labeled as a feature request / design discussion rather than a fixit target. The kanban reconciliation rule should exclude it from future QA card generation.
Author
Owner

Reporter Summary — Kanban t_cc883808

Status: UNFIXED — Issue must remain open.

This is the reporter lane documenting findings from the QA verification pipeline for DEV-002 (API Versioning Strategy).

Finding

No code fix has been committed for this issue. Nine consecutive QA verification passes (through 2026-08-07) have confirmed the same finding.

Evidence

  1. No commits reference issue #176, DEV-002, version_strategy, version_negotiation, or api_version
  2. No PRs linked to this issue in GET /repos/Mark/mesh-seed/pulls?state=all
  3. docker/api_gateway.py contains only OPENAPI_VERSION = "3.1.0" (spec metadata) — no /v2/ routes, no version-negotiation headers, no Deprecation header emission, no version_strategy module
  4. Fixit task t_c81b6412 exhausted 3/3 Verify gate retries on test_archive_api_endpoints.py fixture failures (NoneType object has no attribute upsert_intent). No commit was produced
  5. The fixit runner cannot proceed without resolving the preflight gate blocker first

Root Cause

The preflight gate is the real blocker. The fixit runner (kilo-gsd) fails at the Verify gate due to fixture issues in the test suite. Until the preflight environment is resolved, no fix can be attempted.

Labels

Currently: blocked:needs-attention — correct. Do not auto-close or sweep-close this issue.

Reporter lane: t_cc883808

## Reporter Summary — Kanban t_cc883808 **Status: UNFIXED — Issue must remain open.** This is the reporter lane documenting findings from the QA verification pipeline for DEV-002 (API Versioning Strategy). ### Finding No code fix has been committed for this issue. Nine consecutive QA verification passes (through 2026-08-07) have confirmed the same finding. ### Evidence 1. No commits reference issue #176, DEV-002, version_strategy, version_negotiation, or api_version 2. No PRs linked to this issue in `GET /repos/Mark/mesh-seed/pulls?state=all` 3. `docker/api_gateway.py` contains only `OPENAPI_VERSION = "3.1.0"` (spec metadata) — no `/v2/` routes, no version-negotiation headers, no Deprecation header emission, no version_strategy module 4. Fixit task t_c81b6412 exhausted 3/3 Verify gate retries on `test_archive_api_endpoints.py` fixture failures (`NoneType object has no attribute upsert_intent`). No commit was produced 5. The fixit runner cannot proceed without resolving the preflight gate blocker first ### Root Cause The preflight gate is the real blocker. The fixit runner (kilo-gsd) fails at the Verify gate due to fixture issues in the test suite. Until the preflight environment is resolved, no fix can be attempted. ### Labels Currently: `blocked:needs-attention` — correct. Do not auto-close or sweep-close this issue. **Reporter lane: t_cc883808**
Mark closed this issue 2026-08-10 03:06:36 +00: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
Mark/mesh-seed#176
No description provided.