DEVX-163: docs: add vikunja-tasks skill and skill validation tests, fix create-task docs
Post-merge / detect-and-configure (push) Successful in 9s
Post-merge / release-and-maintain (push) Successful in 41s

This commit was merged in pull request #323.
This commit is contained in:
2026-09-18 22:47:32 +00:00
parent f90360faef
commit b2ac1cd06c
7 changed files with 292 additions and 21 deletions
@@ -0,0 +1,33 @@
# DEVX-163: Fix _run_push to check stdout for HTTP 500
## Problem
`_run_push` only checked `result.stderr` for HTTP 500, but docker push
sends the "received unexpected HTTP status: 500 Internal Server Error"
message to **stdout**, not stderr. This means the tenacity retry logic
added in DEVX-162 never triggered — the push failed immediately without
retrying.
## Approach
Check both `result.stdout` and `result.stderr` for the "500" status code.
Also update the "already exists" check in `push_image` to check both
streams, since docker may send that message to stdout as well.
REQ-1: _run_push checks both stdout and stderr for HTTP 500
REQ-2: push_image "already exists" check uses combined stdout+stderr
REQ-3: All existing tests pass with 100% coverage
## Test Plan
- Unit tests for stdout 500 detection
- Unit tests for stderr 500 detection
- Manual: trigger build-images workflow and verify retry works
## Deploy Plan
- Merge to master
## Rollback Plan
- Revert the merge commit
## Acceptance Criteria
- [x] REQ-1: _run_push checks both stdout and stderr for HTTP 500
- [x] REQ-2: push_image "already exists" check uses combined stdout+stderr
- [x] REQ-3: All existing tests pass with 100% coverage
+33 -20
View File
@@ -1,33 +1,46 @@
# DEVX-163: Fix _run_push to check stdout for HTTP 500
# DEVX-163: Add vikunja-tasks skill and skill validation tests, fix create-task docs
## Problem
`_run_push` only checked `result.stderr` for HTTP 500, but docker push
sends the "received unexpected HTTP status: 500 Internal Server Error"
message to **stdout**, not stderr. This means the tenacity retry logic
added in DEVX-162 never triggered — the push failed immediately without
retrying.
The OBL-INFRA-548 programme audit found devx lacks a Vikunja
task-lifecycle skill and has no skill validation tests (infra and
sso-bridge have them; grm gained them under GRM-171).
`devx-workflow` documents `make create-task -- --title`, which fails
because `devx-create-task` forwards no arguments.
## Approach
Check both `result.stdout` and `result.stderr` for the "500" status code.
Also update the "already exists" check in `push_image` to check both
streams, since docker may send that message to stdout as well.
REQ-1: _run_push checks both stdout and stderr for HTTP 500
REQ-2: push_image "already exists" check uses combined stdout+stderr
REQ-3: All existing tests pass with 100% coverage
REQ-1: Add `vikunja-tasks` skill: create via module call, query,
close, spec-collision convention, unreachable-tracker handling.
REQ-2: Add `tests/unit/test_skills_validation.py` covering
structure, make-target, file-ref checks + existence tests for all
skills.
REQ-3: Fix broken `make create-task -- --title` documentation in
`devx-workflow` skill; add missing When to Invoke / Prerequisites
sections to older-format skills.
Preserve the colliding spec as
[DEVX-163-run-push-stdout-historical](DEVX-163-run-push-stdout-historical.md).
## Test Plan
- Unit tests for stdout 500 detection
- Unit tests for stderr 500 detection
- Manual: trigger build-images workflow and verify retry works
- `pytest tests/unit/test_skills_validation.py` passes (10 tests).
## Deploy Plan
- Merge to master
Documentation/skills only — auto-merge to master; no runtime deploy.
## Rollback Plan
- Revert the merge commit
Revert the squash-merge commit; skills are inert documentation.
## Acceptance Criteria
- [x] REQ-1: _run_push checks both stdout and stderr for HTTP 500
- [x] REQ-2: push_image "already exists" check uses combined stdout+stderr
- [x] REQ-3: All existing tests pass with 100% coverage
- [x] REQ-1: `vikunja-tasks` skill exists.
- [x] REQ-2: `tests/unit/test_skills_validation.py` exists and passes.
- [x] REQ-3: create-task docs corrected.
## Out of Scope
- Fixing `devx-create-task` argument forwarding (S11 backlog: the
devx.mak target takes no args; needs env-var or arg forwarding).