fix(kanban): report durable artifact paths on completion - #82908
fix(kanban): report durable artifact paths on completion#82908hughmadden wants to merge 1 commit into
Conversation
|
Independent validation on today's This PR remains complementary rather than overlapping: #86610 confines/copies declared workspace artifacts and rewrites run metadata to the durable attachment paths; this PR exposes exactly those rewritten paths in the |
|
Fresh sequencing check against the current heads:
Recommended landing order is #86610 first, then rebase/land #82908. Reason: this PR already implements the required Desktop-facing UX and does not need an extension. Its base can persist scratch artifacts, but non-scratch/out-of-workspace entries may remain plain metadata paths. #86610 supplies the stronger invariant: declared artifacts are confined to the task workspace, copied into the pinned append-only attachment destination, and the completed run metadata is rewritten to those durable paths. Once that invariant exists, this PR exposes exactly those rewritten paths. Landing #82908 first would create a transient period where the response can describe paths that are not covered by the stronger staged/confinement contract. I applied this exact commit without conflicts on top of the current #86610 head and re-ran the relevant suite through the repository runner: No duplicate open PR was found for this response contract. #75572 validates external artifact existence but does not return the durable paths and should not substitute for this PR or #86610's stricter confinement/staging semantics. |
Summary
kanban_completecallsWhy
Hermes Desktop indexes generated files from session tool results.
kanban_completepreserved declared scratch artifacts correctly, but returned onlyok,task_id, andrun_id. Desktop therefore indexed earlier temporary workspace paths and missed the durable attachment path, leaving dead file links after scratch cleanup.Tests
pytest tests/tools/test_kanban_tools.py -o addopts= -q— 28 passedpytest tests/hermes_cli/test_kanban_db.py tests/hermes_cli/test_kanban_notify.py -o addopts= -q— 32 passedpython3 -m py_compile tools/kanban_tools.py tests/tools/test_kanban_tools.pygit diff --check