kyberforge skill/agent authoring should require git log verification, not just git diff, before reporting a task done #69
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
During the issue #6 gitea plugin redesign session, which involved many parallel subagents each authoring one skill via
kyberforge:forge→kyberforge:skill-author(oragent-author), at least four separate agent runs reported task completion after only staging their changes (git add) — never actually runninggit commit. Each one had verified its own work only viagit diff main --statshowing non-empty output, which is not sufficient: staged-but-uncommitted changes are not part of any commit and would be silently lost the moment that agent's worktree is cleaned up (which happened to be a real, recurring event in this session due to unrelated worktree-lifecycle issues).The coordinator had to manually catch each instance via
git status/git log --oneline -1and rungit commiton the agent's behalf before merging — this happened for the research-backfill task, the gitea-files skill, the gitea-releases skill, and the gitea-labels-milestones skill (4 of the ~8 authoring passes in the session).Recommendation
The completion criteria documented in
kyberforge:skill-authorandkyberforge:agent-author(and anywhere else that instructs an agent to author-then-report-done) should explicitly require confirming a new commit hash exists — e.g. capturegit log --oneline -1before starting and again before reporting done, and assert they differ — rather than acceptinggit diff <base> --statas sufficient proof of durable completion.git diffagainst a base ref shows working-tree state, not commit state, and doesn't protect against exactly the failure mode observed here.Fixed in #74 (merged).