Commit Graph
86 Commits
Author SHA1 Message Date
ZacharyZhang-NYandClaude Opus 5.5 d5d68ad358 Q47: task parents cannot form a cycle
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 08:19:41 -04:00
ZacharyZhang-NYandClaude Opus 5.5 b164677ea7 Q46: parents wait for their subtasks and cannot close while any are open
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 08:13:35 -04:00
ZacharyZhang-NYandClaude Opus 5.5 8b521ef5d9 Q44: queued runs re-check their task and are superseded when it changed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 07:59:14 -04:00
ZacharyZhang-NYandClaude Opus 5.5 5698e61e5a Q43: manual runs refuse done tasks and tasks with a session in flight
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 07:47:17 -04:00
ZacharyZhang-NYandClaude Opus 5.5 6a4843a983 Q41: one first-hire rule, and leaders get guidance that fits their rank
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 07:37:02 -04:00
ZacharyZhang-NYandClaude Opus 5.5 7be072f8c5 Q40: tasks choose a writing mode; house style applies to conversational work only
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 07:28:47 -04:00
ZacharyZhang-NYandClaude Opus 5.5 645ce686bb Q39: runs load only model-compatible skills and state each skill's contract
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 07:22:08 -04:00
ZacharyZhang-NYandClaude Opus 5.5 f7530ba65b Q38: the prompt names skill tools the run cannot call, not a fake allowlist
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 07:14:41 -04:00
ZacharyZhang-NYandClaude Opus 5.5 e726c36bac Q37: skill tool text tells the CEO the truth about grants
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 07:11:43 -04:00
ZacharyZhang-NYandClaude Opus 5.5 25d054d954 Q36: retired skills stop loading into runs, cached snapshots included
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 07:06:50 -04:00
ZacharyZhang-NYandClaude Opus 5.5 bbc60cd56a Q35: retired built-in skills come back when the bundle ships them again
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 07:00:57 -04:00
ZacharyZhang-NYandClaude Opus 5.5 da072f9a9b Q34: built-in skill updates reach existing orgs and their bindings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 06:57:52 -04:00
ZacharyZhang-NYandClaude Opus 5.5 66de4ef015 Q33: document edits and content deletions leave attributed audit records
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 06:45:51 -04:00
ZacharyZhang-NYandClaude Opus 5.5 cb464c3ee4 Q32: documents and knowledge appear in global search
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 06:33:00 -04:00
ZacharyZhang-NYandClaude Opus 5.5 4c475e5ceb Q30: documents keep every version
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 06:10:25 -04:00
ZacharyZhang-NYandClaude Opus 5.5 794fa372c9 Q29: documents record the task that produced them
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 06:02:02 -04:00
ZacharyZhang-NYandClaude Opus 5.5 84fed8e2f2 Q28: agents list, read, and update company documents
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:56:55 -04:00
ZacharyZhang-NYandClaude Opus 5.5 ec9d74d128 Q27: knowledge corrections keep a revision history
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:51:32 -04:00
ZacharyZhang-NYandClaude Opus 5.5 18128b5ad4 Q26: knowledge has scope, expiry, and supersession
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:47:03 -04:00
ZacharyZhang-NYandClaude Opus 5.5 8c70111c93 Q25: runs leave outcomes and failure causes as searchable memory
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:34:17 -04:00
ZacharyZhang-NYandClaude Opus 5.5 12e2d9dcd5 Split task execution: run preparation, provider cooldowns, heartbeat
Pure move to keep task-execution-service under 500 lines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:27:14 -04:00
ZacharyZhang-NYandClaude Opus 5.5 95e607bea7 Q24: knowledge enters the run: search and record tools, relevant entries in prompts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:20:03 -04:00
ZacharyZhang-NYandClaude Opus 5.5 0fea8a9159 Q23: command output is bounded while it streams, not after
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:11:21 -04:00
ZacharyZhang-NYandClaude Opus 5.5 8e8b66fed4 Q22: cap every tool result and bound connector responses
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:04:59 -04:00
ZacharyZhang-NYandClaude Opus 5.5 4d6c74a21e Q21: fetch_url pages long pages and continues where it stopped
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:01:28 -04:00
ZacharyZhang-NYandClaude Opus 5.5 1a0da25202 Q20: read_file and read_attachment page by lines, columns, and search
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 04:58:40 -04:00
ZacharyZhang-NYandClaude Opus 5.5 b32e784469 Q19: pack the skills most relevant to the task first
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 04:48:44 -04:00
ZacharyZhang-NYandClaude Opus 5.5 d79fd87077 Q18: every skill, the first included, must fit the skill budget
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 04:42:06 -04:00
ZacharyZhang-NYandClaude Opus 5.5 f4d16eb46a Q17: budget every model request against the provider's context window
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 04:40:02 -04:00
ZacharyZhang-NYandClaude Opus 5.5 f42ab62dbd Q16: compact older tool results inside a run
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 04:26:09 -04:00
ZacharyZhang-NYandClaude Opus 5.5 469f2f2c35 Q15: show which messages each agent actually read
Runs record a context manifest once a model turn succeeds; the chat
marks each human message with the agents that read its current version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 04:21:57 -04:00
ZacharyZhang-NYandClaude Opus 5.5 592ce69219 Q14: every human sender shows their own kind and role, board included
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 04:08:21 -04:00
ZacharyZhang-NYandClaude Opus 5.5 31bf0a1497 Q13: messages carry their attachments; agents read them by file_id
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 04:05:11 -04:00
ZacharyZhang-NYandClaude Opus 5.5 f15e47eda1 Q12: read_messages reads threads, pages back, and searches
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 03:59:00 -04:00
ZacharyZhang-NYandClaude Opus 5.5 22632a4695 Q11: deleted messages and withdrawn commands never reach the model
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 03:47:57 -04:00
ZacharyZhang-NYandClaude Opus 5.5 31ab919334 Q10: wake tasks no longer carry a truncated copy of the message
Manual re-runs of a chat wake answer the same thread.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 03:36:22 -04:00
ZacharyZhang-NYandClaude Opus 5.5 abe9534350 Q9: chat wakes carry every new message and the latest history
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 03:29:59 -04:00
ZacharyZhang-NYandClaude Opus 5.5 2a7b17a47a Q8: one writing run per workspace directory
Write-granted runs whose directories overlap (same folder, symlink or
junction, or nested) wait for each other, at claim time and for manual
runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 03:25:39 -04:00
ZacharyZhang-NYandClaude Opus 5.5 72eb645067 Q7: an agent runs one session at a time
Claims skip agents that already have a running run, manual runs refuse a
busy agent, a run whose task was reassigned fails before executing, and
tasks with a run in progress cannot be deleted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 03:11:39 -04:00
ZacharyZhang-NYandClaude Opus 5.5 0fb4ca9ae6 Q6: feed messages that arrive mid-run into the next model turn
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 02:58:54 -04:00
ZacharyZhang-NYandClaude Opus 5.5 46dd77ddda Q5: give chat wakes timed, attributed history apart from the new ask
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 02:48:15 -04:00
ZacharyZhang-NYandClaude Opus 5.5 fe76f0bc52 Q4: delegated tasks become subtasks of the work that created them
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 02:40:46 -04:00
ZacharyZhang-NYandClaude Opus 5.5 6570492daa Q3: record a structured handoff on every delegated task
create_task now pins upstream files by content hash and carries the
source task, source thread, verified facts, open questions and
acceptance criteria into the assignee's prompt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 02:35:12 -04:00
ZacharyZhang-NYandClaude Opus 5.5 9f2adce7b3 Q2: read_messages lists only mentions the agent has not answered
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 02:25:31 -04:00
ZacharyZhang-NYandClaude Opus 5.5 77505aab8d Q1: keep other work's chat mentions out of task prompts
Every mention already wakes the agent through its own chat-wake task, so
ordinary tasks no longer inject the org-wide mention inbox.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 02:19:48 -04:00
ZacharyZhang-NYandClaude Opus 5.5 56b0594f91 Move Composio, logo.dev and Antigravity keys into Settings
The three third-party keys were hardcoded or read from the environment.
Operators now enter them in Settings > Integrations; they are stored
encrypted in the app-wide integration_keys table (migration 058).
An agent holding connector grants fails loudly when no Composio key is
saved. The goal-review test no longer depends on absolute dates.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 01:34:14 -04:00
ZacharyZhang-NY 7de378b41c A chat-wake reply is delivered by the system, not by prompt compliance
A wake run whose model answered in plain final text (the coding-tuned
Kimi family does this instead of calling send_message) completed
'successfully', closed its vehicle task, and left the founder staring
at a silent conversation — the reply lived only in provider_requests.
deliverChatReplyIfMissing now runs before a chat-wake run may complete:
when the run never posted into the source thread (run-start watermark,
so a send_message it did make suppresses the fallback), its final text
is delivered as the agent's reply. A delivery failure fails the run
loudly instead of closing it on silence.
2026-07-16 11:46:53 -04:00
ZacharyZhang-NY 75c73ce6f0 The founder probes through provider cooldowns; a served request lifts the park
A single transient failure from a background run used to silence the whole
company — founder included — for the full ten-minute cooldown. The
interactive lane now claims one probe per park window: the founder's
message tries the provider immediately, a success lifts the cooldown for
everyone (a served request is proof of health), and a failed probe re-arms
the park with the probe spent, so a real outage is never hammered.
Autonomous work still waits cooldowns out unconditionally.
2026-07-14 21:19:14 -04:00
ZacharyZhang-NY aa4cfc056d Human-triggered wakes claim before queued autonomous work
Wake runs stamp sourceSenderType into their secret scope, and the claim
query orders interactive-first: a wake born from an employee or board
message means a person is waiting at the keyboard, so it outranks any
autonomous backlog; within each lane FIFO holds. Non-chat runs carry no
stamp and stay in the autonomous lane. With wake expiry this closes the
live incident: the founder's CEO DM now claims on the next tick instead
of 13th in line. Red-green tested.
2026-07-14 20:46:51 -04:00
ZacharyZhang-NY 39aa292d09 Stale chat wakes expire instead of resuming days later
Live incident: the founder DMed the CEO and got silence — the reply run
sat 13th in a FIFO queue behind chat wakes from four days ago, which the
reopened app was faithfully executing (necro-replies that woke yet more
agents). A wake run is a conversation reply; past one hour the moment is
gone. expireStaleChatWakes (chat-agent-wake-service) fails queued
chat_mention runs older than the TTL and closes their vehicle tasks;
the worker tick runs it before claiming, with one log line. Real work
(heartbeat/kickoff triggers) never expires. Red-green tested.
2026-07-14 20:44:37 -04:00