Skip to content

questions or decitions or stuff like that should create a ticket in my tasks - #150

Merged
danielehrhardt merged 5 commits into
mainfrom
godmode/42-questions-or-decitions-or-stuff-like-tha
Oct 11, 2026
Merged

danielehrhardt merged 5 commits into
mainfrom
godmode/42-questions-or-decitions-or-stuff-like-tha

Conversation

@danielehrhardt

Copy link
Copy Markdown
Contributor

Questions, approvals and decisions an agent leaves open now land as tickets in My tasks, and answering one continues the agent's chat. The branch has the latest main merged in with no conflicts left; the full core suite passes except one folder-listing test that fails in code this branch doesn't touch.

What changed

  • Questions and approvals: every open ask_human question and request_approval gets a ticket (H-n) on the board. Answering the ticket or answering in the chat settles both, and the waiting run continues.
  • Decisions left in prose (your screenshot case): when a run finishes with a "Decision for you" section or ends on a question to you, Godmode creates a decision ticket from it.
    • Answer continues the chat with your answer.
    • Replying in the chat answers the ticket too.
    • Dismiss closes it without waking the agent.
  • Delegated agents (like the Store Operator in your screenshot) are now told to end with a ## Decision for <you> section. The agent that delegated is told the decision is already on your list, so it doesn't ask twice.
  • Board tickets are still delivered for review when the answer leaves a decision open; the answer continues the ticket like feedback.
  • Notifications: you get one for a decision ticket unless you wrote the message the agent was answering.
  • Desktop and phone: tickets show a "Decision" or "Needs your OK" badge. The sheet offers the suggested answers plus a text box, or Approve / Decline.

Limits you should know

  • The detection of prose decisions is a heuristic (English and German) and deliberately conservative. It skips offers like "Want me to open a PR?", polite closers, drafts addressed to someone else, and research sections titled "Open questions". It will miss some real questions and occasionally flag a non-question; Dismiss handles the latter.
  • Only one open prose-decision ticket per chat: a newer one replaces the older.
  • Chats that run on a remote runner don't get prose-decision tickets yet; question and approval tickets were not verified there either.

Verification

  • Tests: new tests cover the detector and the end-to-end flows. Full core suite: 1794 pass, 1 fail (folders.test.ts, "list subfolders…"). Core, desktop and phone typecheck.
  • Review: an independent review pass found seven issues. Five are fixed: a ticket closing before the reply was actually sent, stale tickets, detector false positives and misses, questions listed twice on the phone, and a question's ticket being deletable. Not fixed: a few of the detector's remaining edge cases (not re-reviewed), and the migration-number finding, which only affected the scratch database.
  • Not run: the phone lint (eslint isn't installed in this checkout) and the phone UI in a simulator — the phone changes are typechecked only.
  • Database: adds migration 87 (new columns on human_tasks).

Screenshots

  • docs/screenshots/my-tasks.png — the board with all ticket kinds
  • docs/screenshots/my-tasks-decision.png — a decision found in an answer
  • docs/screenshots/my-tasks-question.png — a question with suggested answers
  • docs/screenshots/my-tasks-chat.png — the chat strip "Waiting for your answer"

The first two are also in the README; docs/ARCHITECTURE.md has a new "My tasks" section.


Task #42 · done by Godmode with Godmode Bot

…come tickets

Every open ask_human question and request_approval gets a ticket on the human's
board that stands for it: answering either one answers both. A run that finishes
with a decision for the human in prose ("Decision for you", a closing question)
gets a decision ticket; answering it, or writing into the chat, continues the
work, and dismissing it wakes nobody. Delegated agents are told to end with a
"Decision for <human>" section, and the agent that delegated is told it is on
the list already.
…or-decitions-or-stuff-like-tha

# Conflicts:
#	apps/mobile/src/app/chat/[id].tsx
#	apps/mobile/src/app/my-tasks.tsx
#	packages/core/src/db/migrations.ts
A reply answers a decision only once the message is on its way, and an answer
to the human that no longer asks takes the ticket back. The detector looks at
the answer's last sentence only and leaves out offers, pleasantries, drafts for
someone else and research sections; dates and abbreviations don't end a
sentence. A question's ticket can't be deleted while its run waits, and the
phone lists a question once.
…or-decitions-or-stuff-like-tha

# Conflicts:
#	packages/core/src/db/migrations.ts
…or-decitions-or-stuff-like-tha

# Conflicts:
#	packages/core/src/db/migrations.ts
@danielehrhardt
danielehrhardt merged commit 94110df into main Oct 11, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant