docs: add vikunja-tasks skill and skill validation tests, fix create-task docs
CI / validate (pull_request) Failing after 47s
CI / auto-merge (pull_request) Skipped

- Add vikunja-tasks: task create/query/close lifecycle
- New tests/unit/test_skills_validation.py: structure, make-target,
  file-ref checks + existence tests for all 8 skills; devx.mak targets
  resolved from src/devx/make/ (editable install)
- devx-workflow/spec-driven-development/testing-and-debugging: add
  When to Invoke + Prerequisites; fix broken create-task syntax
- Preserve colliding spec as DEVX-163-run-push-stdout-historical

Implements: REQ-1 REQ-2 REQ-3
This commit is contained in:
Emil Simeonov
2026-09-19 00:43:41 +02:00
parent f90360faef
commit 758dab9ddc
7 changed files with 282 additions and 27 deletions
+23 -26
View File
@@ -1,33 +1,30 @@
# 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.
## 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.
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.
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
## Requirements
## 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
- 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.
## 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).