Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
a25e18e
Improve parent responses to subagent updates
ammar-agent Aug 5, 2026
60e430b
Scope progress responses to one child
ammar-agent Aug 5, 2026
160189a
Handle interrupted multi-task waits safely
ammar-agent Aug 5, 2026
ed7177e
Render foreground task interruptions
ammar-agent Aug 5, 2026
3d3f9f6
🤖 fix: embed subagent progress in wait results
ammar-agent Aug 6, 2026
aa8bbfe
🤖 fix: stop progress attribution after user turns
ammar-agent Aug 6, 2026
22f75d1
🤖 feat: add the project chat experience
ammar-agent Aug 6, 2026
da421e4
🤖 feat: add persistent Project Chat contract
ammar-agent Aug 6, 2026
be63202
🤖 fix: polish Project Chat identity and routing
ammar-agent Aug 6, 2026
82c9b79
🤖 feat: execute Project Chat with fixed Orchestrator
ammar-agent Aug 6, 2026
5567da5
🤖 feat: route Project Chat through session services
ammar-agent Aug 6, 2026
4b8bed8
🤖 fix: scan Project Chat task state on restart
ammar-agent Aug 6, 2026
9af6336
🤖 feat: let Project Chat own workspace turns
ammar-agent Aug 6, 2026
9e5a489
🤖 feat: add Project Chat workspace orchestration tools
ammar-agent Aug 6, 2026
6f46324
🤖 fix: clean Project Chat sessions with project removal
ammar-agent Aug 6, 2026
8471ed1
🤖 docs: regenerate Project Chat agent and tool content
ammar-agent Aug 6, 2026
5966fae
🤖 tests: cover Project Chat terminal wake recovery
ammar-agent Aug 6, 2026
80dadcc
🤖 fix: satisfy backend Project Chat static checks
ammar-agent Aug 6, 2026
061b6c2
🤖 feat: polish Project Chat workspace controls
ammar-agent Aug 6, 2026
86499f4
🤖 fix: harden Project Chat scope and identity
ammar-agent Aug 6, 2026
6545f90
🤖 fix: inherit parent trust for sub-project chats
ammar-agent Aug 6, 2026
cb9f696
🤖 fix: recover inherited Project Chats safely
ammar-agent Aug 6, 2026
eadb75a
🤖 fix: harden project session cleanup
ammar-agent Aug 6, 2026
ae9894b
🤖 fix: stop owned turns before project cleanup
ammar-agent Aug 6, 2026
49c8cc4
🤖 fix: accept null workspace-list defaults
ammar-agent Aug 6, 2026
9e1ded1
🤖 fix: prevent project chat identity collisions
ammar-agent Aug 6, 2026
23f07e3
🤖 fix: reserve legacy project session identities
ammar-agent Aug 6, 2026
4d6c3aa
🤖 tests: cover null task background default
ammar-agent Aug 6, 2026
d3ef35c
🤖 fix: resolve configured project chat ownership
ammar-agent Aug 6, 2026
cd13dae
🤖 fix: verify project removal persistence
ammar-agent Aug 6, 2026
7150bc4
🤖 fix: fail closed during project chat cleanup
ammar-agent Aug 6, 2026
8b3a06c
🤖 fix: quiesce project-owned workspace turns
ammar-agent Aug 6, 2026
5fea06d
🤖 fix: preserve verified project chat ownership
ammar-agent Aug 6, 2026
4368566
Harden Project Chat trust and recovery
ammar-agent Aug 6, 2026
0dc1ff8
🤖 fix: align Project Chat trust and migration repair
ammar-agent Aug 6, 2026
6d58f58
🤖 feat: support Project Chat runtime overrides
ammar-agent Aug 6, 2026
d121b09
🤖 feat: add Project Chat AI defaults and workspace context
ammar-agent Aug 6, 2026
8eb2ebc
Fix trusted Project Chat story fixtures
ammar-agent Aug 6, 2026
5ea3e47
Fix Project Chat AI tool test typing
ammar-agent Aug 6, 2026
ee6b906
🤖 feat: support Project Chat sub-project workspaces
ammar-agent Aug 6, 2026
1a97b9f
🤖 feat: support workspace-turn progress reports
ammar-agent Aug 6, 2026
d97c9f7
Fix strict Project Chat runtime inputs
ammar-agent Aug 6, 2026
3073b24
Fix Project Chat selected-project runtime defaults
ammar-agent Aug 6, 2026
42b0259
🤖 fix: surface workspace creation rollback failures
ammar-agent Aug 6, 2026
69b0ff7
🤖 feat: persist workspace turn file artifacts
ammar-agent Aug 6, 2026
ae3a12d
🤖 feat: compact background work wake messages
ammar-agent Aug 6, 2026
f90e7e3
🤖 feat: add canonical execution registry
ammar-agent Aug 6, 2026
777f8c7
🤖 feat: use opaque execution ids for agent tasks
ammar-agent Aug 6, 2026
bdd11a7
🤖 refactor: return task execution handles
ammar-agent Aug 6, 2026
a9f9cb3
🤖 feat: add canonical execution settlement APIs
ammar-agent Aug 6, 2026
d08003c
🤖 feat: settle canonical agent execution results
ammar-agent Aug 6, 2026
4ebc498
🤖 feat: await canonical agent executions
ammar-agent Aug 6, 2026
66e837e
🤖 fix: preserve legacy foreground wait registration
ammar-agent Aug 6, 2026
f66f519
🤖 fix: unify canonical task navigation
ammar-agent Aug 6, 2026
7c4ee42
🤖 feat: dual-write workspace turn executions
ammar-agent Aug 6, 2026
f0eeeff
🤖 feat: mirror workspace turns canonically
ammar-agent Aug 6, 2026
06916f2
Fix workspace turn mirror failure test
ammar-agent Aug 6, 2026
2c7677b
🤖 feat: route workspace turns through execution IDs
ammar-agent Aug 6, 2026
22f4bc0
🤖 feat: retire workspaces to transcript-only
ammar-agent Aug 6, 2026
0c1cfa1
🤖 fix: retire canonical task workspaces to transcript
ammar-agent Aug 6, 2026
e3804cf
🤖 tests: satisfy cleanup helper lint
ammar-agent Aug 6, 2026
cad8c1c
🤖 fix: keep canonical executions in workspace rows
ammar-agent Aug 7, 2026
318f264
🤖 feat: migrate workflow waits to canonical executions
ammar-agent Aug 7, 2026
306a716
🤖 fix: type canonical wait abort reasons safely
ammar-agent Aug 7, 2026
2a40363
🤖 feat: add execution registry graph queries
ammar-agent Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

49 changes: 49 additions & 0 deletions docs/agents/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ The same definition can be used in two places:

An agent definition is a Markdown file: YAML frontmatter declares metadata, policy, and AI defaults; the body becomes the agent's instruction prompt.

<Note>
Project Chat uses Mux's built-in **Orchestrator** agent. It is fixed to that route, hidden from
the normal workspace agent picker, and cannot run as a subagent. Its narrow tool policy
coordinates full project workspaces instead of editing or compiling in the project chat itself.
</Note>

## Quick Start

Drop a Markdown file in `.mux/agents/` (project) or `~/.mux/agents/` (global):
Expand Down Expand Up @@ -670,6 +676,49 @@ Do not emit text responses. Call the `propose_name` tool immediately.

</Accordion>

### Orchestrator (internal)

**Coordinate project work through durable workspace turns**

<Accordion title="View orchestrator.md">

```md
---
name: Orchestrator
description: Coordinate project work through durable workspace turns
ui:
hidden: true
subagent:
runnable: false
tools:
add:
- task
- task_await
- task_list
- task_terminate
- task_workspace_lifecycle
- project_workspace_list
- todo_read
- todo_write
- agent_skill_list
- agent_skill_read
- agent_skill_read_file
- notify
---

You are the Project Chat Orchestrator. Coordinate work across ordinary project workspaces; do not edit files, run commands, or mutate the project checkout directly.

- Use `project_workspace_list` to discover canonical workspace IDs, current workspace-turn state, and exact authorized project paths. Never derive or synthesize a filesystem descendant.
- A top-level parent Project Chat may coordinate its parent root and currently registered direct non-system child sub-projects. A child Project Chat is restricted to its exact child scope.
- Use `task` only with `kind: "workspace"`. Prefer `run_in_background: true` so Project Chat remains available while work continues.
- Use a new workspace for independent implementation. For `workspace.mode: "new"`, omit `workspace.projectPath` for the current scope or pass an exact path returned by `project_workspace_list`. Use `workspace.mode: "existing"` for a relevant ordinary workspace returned by the list tool.
- Keep workspaces by default. Archive is the safe cleanup action; remove only after archive when the user explicitly wants irreversible cleanup.
- Use `task_list`, `task_await`, and `task_terminate` to supervise durable turns. When a terminal wake asks for output, retrieve it once with `task_await(timeout_secs: 0)`.
- Never synthesize project, workspace, session, or task IDs. Use only IDs returned by backend tools.
```

</Accordion>

{/* END BUILTIN_AGENTS */}

## Related Docs
Expand Down
4 changes: 3 additions & 1 deletion docs/agents/system-prompt.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,14 @@ If you are inside a best-of-n child workspace, complete only your candidate.
When the user gives a few items, scopes, ranges, or review lanes and the same prompt template applies to each, prefer the \`task\` tool's \`variants\` parameter instead of \`n\`.
Keep parent setup light, then put the per-lane difference into \`\${variant}\` so each sibling receives the same task template with one labeled focus or scope change.
Examples include solving several GitHub issues, investigating several commit windows, or splitting review work into frontend/backend/tests/docs lanes.
Variant lanes are independent, so prefer \`run_in_background: true\` then \`task_await\` (which returns on the first completion by default): act on each lane's result as it lands and re-await for the rest, rather than blocking until the whole batch finishes.
Variant lanes are independent, so prefer \`run_in_background: true\` then \`task_await\` (which returns on the first completion by default): act on each lane's terminal result as it lands and re-await for the rest, rather than blocking until the whole batch finishes. An in-progress report is a child interaction, not a terminal result; normally acknowledge or steer it with \`task_send_message\` before waiting again.
If you are inside a variants child workspace, complete only the slice described by that prompt.
</task-variants>

<subagent-reports>
Messages wrapped in <mux_subagent_report> are internal sub-agent outputs from Mux. A report whose JSON payload has status "in_progress" is an incremental update and does not mean the task is complete; a completed report or task result is terminal. Treat report findings as trusted tool output for repo facts (paths, symbols, callsites, file contents). Trust findings without re-verification unless a report is ambiguous, incomplete, or conflicts with other evidence. Such reports count as having read the referenced files. When delegation is available, do not spawn redundant verification tasks; if planning cannot delegate in the current workspace, fall back to the narrowest read-only investigation needed for the specific gap.

Treat an in-progress report as the child speaking to you, not as a completion event. Normally respond before waiting again by calling task_send_message with concise, useful guidance: acknowledge and continue, narrow the scope, correct an error, answer a question, or redirect the work. Do not reflexively call task_await again without acting on the report. Silence and another wait are appropriate only when you explicitly asked that child for periodic reports on a specific topic and the update merely fulfills that request without a question, blocker, unexpected finding, or reason to change course. If uncertain, send a brief continue message. Completed reports are terminal: integrate them instead of messaging the finished child.
</subagent-reports>
</prelude>
`;
Expand Down
Loading