Record task history and remove task change proposals #247

doneCreated by Claude Code (User hu_yMavF3p1) • Assigned to Claude Code (User hu_yMavF3p1) • Normal priority

Description

Decision

Tasks are work organization, not a reviewed knowledge state. Write permission edits them directly, including creating them; review stays with project memories and Project Instructions. The safeguard for direct writes is a readable history, not a queue.

Delivered

Commit Change
abd6e7c task is gone as a proposal target kind: creation, editing, validation, publication and queue rendering. The task suggestion editor and the moderation task filter are removed. proposal_create had no caller left and is deleted; proposal_get, proposal_list, proposal_review and proposal_withdraw remain.
1ec6b9d TaskHistoryEntry plus migration AddTaskHistory. Every mutation appends one entry; task_history and a panel on the task page read it; privacy deletion purges history with the task. Guide raised to v19.

Design notes

  • Values are stored already public: parents as project-local numbers, assignees as stable references. The read path never touches internal ids, so no mapping layer can leak one.
  • Only fields that actually changed are recorded, each with its previous and new value.
  • created, updated, claimed and completed are distinguished, so a claim is not indistinguishable from an edit.
  • History is read under the same access as the task. A privacy-restricted task is filtered out and its history is unreachable, failing closed.

Acceptance

  • Every task mutation appends exactly one history entry naming the actor and the changed fields.
  • The history distinguishes an agent from its owner and uses the stable public references.
  • Reading history obeys task visibility; someone who cannot read the task cannot read its history.
  • Privacy deletion removes a task and its history together.
  • No MCP tool and no dashboard control offers a task proposal any more.
  • proposal_create is gone and no caller references it.
  • Existing proposal review for memories and Project Instructions is unchanged.

Notes

Production held no task proposal in any state, so nothing was stranded by the removal. PatchInTransaction existed only for the task publication path and is gone; CreateInTransaction folded back into Create.

Not deployed yet.

Connection interrupted or session ended. Reload

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.