Vikunja task bodies for photo-segmentation overscoped as dev-specs; bypassed Forgejo routing #108

Closed
opened 2026-07-30 00:21:34 +00:00 by Mark · 1 comment
Owner

Gap: Vikunja task bodies for photo-segmentation were overscoped as dev-specs

What happened (2026-07-29)

When creating the photo-segmentation milestone (Vikunja tasks 60-63), each task body was written as a dev-spec: concrete file paths (src/segmentation/felzenszwalb_seg.py), test expectations, verification criteria, LOC budgets. The kanban tasker-worker correctly interpreted these as "implement these files" and implemented them.

Root cause

Per kanban-worker skill:

"Spec format matters. When writing a development spec for a kanban worker, use dev-spec language — implementation steps, concrete file paths, config snippets, sequence of operations. A design doc / reference narrative is the wrong framing for something that will be implemented against."

The framing was correct for the tasker-worker. But it bypassed the architecture:

  • The chat agent wrote the spec as if the tasker-worker would implement it directly
  • The intended architecture (Vikunja → Forgejo issues → kilo-gsd-runner → review) was skipped
  • The tasker-worker did what it was told (dev-spec → implementation) but what it was told wasn't what the architecture wanted

What's right vs what's wrong

Right: A high-level scope statement ("implement segmentation pipeline per the spec doc at /home/b/Projects/easystitch/docs/photo-segmentation-design-state.md") that gets routed to the fixit/kilo-gsd-runner path. The runner files Forgejo issues, the work goes through gates and review.

Wrong: Concrete file paths and test names in the Vikunja body. This turns the Vikunja task into an implementation contract for the tasker-worker to fill, not a routing token for the issue system.

What needs to change

When the chat agent creates Vikunja milestone tasks for features that should go through the fixit/kilo-gsd-runner path:

  • The task body should be a scope reference, not a dev-spec
  • Reference the design doc; don't reproduce the file paths in the body
  • If the task is small enough for direct implementation, that's fine on the tasker board — but be explicit about which path the work goes through

Evidence

  • Vikunja tasks 60-63 bodies contained file paths like Mark/easystitch/src/segmentation/felzenszwalb_seg.py, test expectations, LOC budgets
  • Tasker-worker (kanban cards t_7e4bf156, t_fe3f8f50, t_1533d9e9, t_ff5ac64d) implemented those exact files
  • The intended fixit-board routing didn't happen

Reference

  • /home/b/Projects/easystitch/docs/photo-segmentation-design-state.md — the design doc that should have been the body's only reference
  • Vikunja task IDs 60-63 (project 3 = org_mode) — bodies to be revised
## Gap: Vikunja task bodies for photo-segmentation were overscoped as dev-specs ### What happened (2026-07-29) When creating the photo-segmentation milestone (Vikunja tasks 60-63), each task body was written as a **dev-spec**: concrete file paths (`src/segmentation/felzenszwalb_seg.py`), test expectations, verification criteria, LOC budgets. The kanban tasker-worker correctly interpreted these as "implement these files" and implemented them. ### Root cause Per `kanban-worker` skill: > "Spec format matters. When writing a development spec for a kanban worker, use dev-spec language — implementation steps, concrete file paths, config snippets, sequence of operations. A design doc / reference narrative is the wrong framing for something that will be implemented against." The framing was correct **for the tasker-worker**. But it bypassed the architecture: - The chat agent wrote the spec as if the tasker-worker would implement it directly - The intended architecture (Vikunja → Forgejo issues → kilo-gsd-runner → review) was skipped - The tasker-worker did what it was told (dev-spec → implementation) but what it was told wasn't what the architecture wanted ### What's right vs what's wrong **Right:** A high-level scope statement ("implement segmentation pipeline per the spec doc at /home/b/Projects/easystitch/docs/photo-segmentation-design-state.md") that gets routed to the fixit/kilo-gsd-runner path. The runner files Forgejo issues, the work goes through gates and review. **Wrong:** Concrete file paths and test names in the Vikunja body. This turns the Vikunja task into an implementation contract for the tasker-worker to fill, not a routing token for the issue system. ### What needs to change When the chat agent creates Vikunja milestone tasks for features that should go through the fixit/kilo-gsd-runner path: - The task body should be a **scope reference**, not a dev-spec - Reference the design doc; don't reproduce the file paths in the body - If the task is small enough for direct implementation, that's fine on the tasker board — but be explicit about which path the work goes through ### Evidence - Vikunja tasks 60-63 bodies contained file paths like `Mark/easystitch/src/segmentation/felzenszwalb_seg.py`, test expectations, LOC budgets - Tasker-worker (kanban cards t_7e4bf156, t_fe3f8f50, t_1533d9e9, t_ff5ac64d) implemented those exact files - The intended fixit-board routing didn't happen ### Reference - `/home/b/Projects/easystitch/docs/photo-segmentation-design-state.md` — the design doc that should have been the body's only reference - Vikunja task IDs 60-63 (project 3 = org_mode) — bodies to be revised
Mark 2026-07-30 00:21:34 +00:00
Author
Owner

Closing as misrouted. These are org-mode process / config issues, not easystitch code issues.

Re-filed on Mark/org_mode as the correct repo. The tasker-worker profile lives in ~/.hermes/profiles/tasker-worker/ and the chat-agent framing rules apply to all features routed through Vikunja, not to easystitch specifically.

Closing as misrouted. These are org-mode process / config issues, not easystitch code issues. Re-filed on Mark/org_mode as the correct repo. The tasker-worker profile lives in `~/.hermes/profiles/tasker-worker/` and the chat-agent framing rules apply to all features routed through Vikunja, not to easystitch specifically.
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/easystitch#108
No description provided.