Share what a Factory droid produced

A droid does the work somewhere you cannot cd into. It plans the migration, runs it, writes the RCA — and the document exists in an environment whose filesystem is not yours. This is the same shape as Devin, Jules and OpenHands: the last mile isn't a formatting problem, it's a reachability problem.

Reading it in the session view works for you. It does not work for the team that owns the service, the incident channel that wants the RCA, or the manager who asked for the estimate — and it gives none of them a place to write "this step will page the on-call at 3am".

Have the droid publish it

Give the droid a scoped token as an environment secret and put the standing rule in AGENTS.md, which is the instruction file the droid already reads:

## Publishing finished work

When you finish something a human needs to read — a migration report, an RCA, a
plan, an upgrade summary — publish it to Comma as an HTML report and include
the URL in your final summary. Do not paste the whole document into the
summary.

Publish with:

    curl -fsS -X PATCH "https://commareports.com/api/v1/reports/$REPORT_ID" \
      -H "Authorization: Bearer $COMMA_API_TOKEN" \
      -H "Content-Type: application/json" \
      -d "$(jq -n --rawfile html report.html --arg title "$TITLE" \
            '{title: $title, html: $html}')"

The task now ends with a link instead of an artifact stranded in a container.

Why this matters more for remote agents

  • There is no file to copy. For a local agent, publishing is a convenience. For a droid, the alternative is asking a human to fetch the output through a UI, which is the manual step you bought the agent to remove.
  • The output outlives the session. Environments get reclaimed; a report URL does not.
  • Comments reach the next run. A reviewer writes "don't drop that column, reporting still reads it" on the step it belongs to, and the droid can read it back over the same API — see letting an agent respond to comments and giving an agent feedback.
  • It renders. Tables, diffs, generated diagrams — served verbatim in a sandboxed iframe.
  • Revisions make long tasks reviewable. One id, one URL, a version per pass.

Worth knowing

  • reports:write and nothing more, for a token that lives in a remote environment — see scoped tokens for AI agents.
  • Don't fan out onto one id. Parallel droids PATCHing the same report race; give each its own, or publish once from a summary step.
  • Rate limit: 60 requests/minute per token.
  • Publish private by default and widen after a human has read it — a droid with repository access has quoted your code — see sharing & access control.

Try it

Comma is free — unlimited reports, unlimited commenters, unlimited revision history.

Publish your first report →

Related