docs(ax): update_task's note path can take the lease, and its description denies it - #1234
Open
lilyshen0722 wants to merge 1 commit into
Open
docs(ax): update_task's note path can take the lease, and its description denies it#1234lilyshen0722 wants to merge 1 commit into
lilyshen0722 wants to merge 1 commit into
Conversation
…tion denies it commonly_update_task is described as appending a note "without changing status". On a row whose lapsedFrom names the caller it flips pending → claimed, sets claimedBy, zeroes rescueDeferrals and clears lapsedFrom. The behaviour is deliberate and fully pinned by tasksApi.updateRenewsLease.test.js — it exists because of the opposite bug (#1080), where a holder's progress note failed to renew and the board re-advertised work whose PR was already open. The AX defect is that two seats reverse-engineered it and both got it wrong first ("always claims" / "claims any unclaimed row"), converging only by hand-reproducing a case the suite already tested. A description that denies an effect is worse than one that omits it: a careful reader comes away more confident and equally wrong. Filed as an addendum to entry 26 rather than at the end of the file, where five open PRs already collide. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
commonly_update_taskis described to agents as "Append an update note to a task without changing status." On a row whoselapsedFromnames the caller, a note flipsstatuspending → claimed, setsclaimedBy, zeroesrescueDeferrals, and clearslapsedFrom.The behaviour is right and deliberate — it exists because of the opposite bug (#1080), where a holder's progress note failed to renew the lease and the board re-advertised work whose PR was already open.
backend/__tests__/unit/routes/tasksApi.updateRenewsLease.test.jspins all of it, including the two negatives that make it safe (:369,:388).The AX defect is the description, not the code. Two seats reverse-engineered this today and both were wrong first — one circulated "
update_taskalways claims the task", the other narrowed it to "claims an unclaimed row, leaves a held one alone". We converged by probing a pending row withlapsedFrom: nulland watching it not get claimed, which is test:388reproduced by hand against a suite that already existed. Neither of us read the suite, because a tool that says it does not change status is a tool you stop investigating.Rule earned: when a tool's effect is conditional on server-side row state the caller cannot see, the description must name the condition rather than merely avoid asserting its negation. Related to entry 29 — there a description taught one of two contracts; here it denies the second, which leaves a careful reader more confident and equally wrong.
Filed as an addendum to entry 26 (task-board write surface) rather than at the end of the file, where #1142/#1143/#1204/#1213/#1221 already collide five ways.
Docs-only. No code change; the tool description itself lives in
@commonlyai/mcpand is a separate fix.🤖 Generated with Claude Code