First-class Claude delegation: dispatch + job ID + receipt (no issue-comment transport) #71
Open
opened 2026-10-17 17:51:27 +00:00 by teahubxyz
·
7 comments
No Branch/Tag Specified
main
gh-pages
havre/catalog-18-plus-20261024
havre/byok-unfiltered-20261024
time/card-260
typy/context-words-254
typy/center-target-254
typy/inline-preview-254
typy/smooth-typing-254
typy/v0-254
modern-havre
uncensor-havre
havre-split-hide
havre-split
havre-model-sort
time/card-244
time/card-223
havre-art-and-snap
havre-remix-edit
havre-voice-in-tools
havre-asmr-mode
havre-update-pill
havre-whisper
claude/card-202-truncated-review-2wh43h
time/card-211
claude/card-198-superseded-cards-p3jqzg
havre-live
havre-open
claude/taskmaster-haggle-checkout-f57aux
havre-memory
havre-photoshoot
havre-workflows
claude/card-173-rank-spine-cards
ceo/sync-back-union
claude/card-171-router-optimization-7t2dp6
claude/router-pick-outcomes-99zcnh
time/card-48
time/card-98
time/card-170
time/card-89
time/card-160
time/card-114-gh-pages
time/card-113-gh-pages
time/card-96-gh-pages
time/card-85
havre-next2
havre-cast
time/card-82
time/card-80
time/card-79
ceo/worker-base-and-slack
time/card-87
time/card-94
chatgpt/parallel-api
time/card-95
time/card-71
mention-ledger-token
astra-board
havre-next
venture/slyng
havre-brutalist
ship-from-repo
time/card-63
time/card-60
time/card-61
No results found.
Labels
Clear labels
accessibility
andon
astra
bug
cloud
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-human
planned
question
queued
ready
signal
signup
spec
venture
venture-batch
wontfix
Barrier affecting people with disabilities
Something isn't working
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
This doesn't seem right
Further information is requested
Time picks this up on the next heartbeat
👍 = I want the next version
early-access signup for a venture
This will not be worked on
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: teahubxyz/time#71
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Build the Time-side first-class Claude delegation endpoint. This is the executable prerequisite for teahubxyz/teahub#14 (MCP wrapper). Do not use Gitea issue comments as task transport.
workflow_dispatchendpoint in Time accepting task, Claude seat (sonnet/opus initially), idempotency key; implement a deterministic job receipt accessible through the Actions run/log API (including explicit queued/running/succeeded/failed state). Do not echo secrets; cap payload size and reject unauthorized/unsupported inputs.think/seat routing and dollar spend governor, rather than creating a new provider client. Ensure a result can be retrieved by the caller using a stable correlation ID..github/changes, not auto-merge.DONE: Time workflow can accept a bounded Claude API delegation through workflow dispatch, identify its run and return a durable verified result via Actions without posting a Gitea issue comment. Teahub MCP exposure follows in teahubxyz/teahub#14.
@teahubxyz I can't run code, hit the Gitea API, deploy, or check the Mac, so none of the DONE criteria can be met from here. Below is a design for whoever implements this. I'm the API-only reasoning seat answering through an issue comment, so this reply is not evidence for the lane either.
1. Job ID and dispatch (Time)
job_id = sha256(caller_login | repo | idempotency_key), truncated, before dispatching.job_idas a workflow input, along withtask,modelandmax_tokens.job_idinrun-nameso the run is discoverable by listing runs.queued,running,succeededorfailed. If no run is found yet, reportqueued (pending)until a timeout, thenfailed: never started.job_idand returns it instead of dispatching again.job_id, if our Gitea supports it (verify). Otherwise the first step should exit no-op if a receipt for thatjob_idalready exists.2. Receipt
job_id,caller,sha256(task)model,max_tokens, usage in/out, estimated costworkflow_sha(the source SHA),run_idstatusoutput,sha256(output)tea_delegate_statusshould count a receipt as "verified" only when:job_idand task hash match the request,workflow_shaequals an expected or allowlisted SHA.3.
tea_delegateboundsmax_tokenscap, plus a cost ceiling computed before the call.4. ACP: a separate result with its own wording
Report one of these four, based on a real probe:
claudeCLI not installedinitializehandshake failsAn Anthropic API call is none of these. Prod stays on Actions plus the API, with no dependency on the Mac.
Tests to include
job_idand starts no second run.failedand a receipt with an error.If useful, I can review the workflow YAML and MCP tool schemas once they're pushed.
opus · claude-opus-5-5 · via Time
⏱️ Time: Claude Sonnet (Anthropic) is working on this now, on branch
time/card-71.⏱️ Time:
sonnetopened PR #73 (20 steps, claude-sonnet-5-5). Review and landing follow on the next beat.⏱️ Time: PR #73 is up for this card.
haikureviewed it on the PR.⏱️ Time: the reviewer objected on PR #73. Over to a human (or comment
/time retryto send it back to the worker with the review attached).ready→queued: PR #73 already answers this card, so dispatching a worker would build it a second time. Once #93 (cards adopt an open PR) lands, Time reviews #73 instead of rebuilding; #73 touches workflow files, so the merge itself is a CEO/owner step in the weekly batch.ready→planned. PR #73 is inneeds-humanon an objection from 10-17 and its workflow proposal is a CEO/owner merge either way, so this card was holding one of the threereadyslots and doing nothing with it (the queue could not promote behind #79, #80 and this). It comes back asreadywhen #73 is revised or when the delegate workflow is installed, whichever first.