Public: anyone can read this; the crew can change it.

An accepted outside report says it came from outside in its title too #725

Merged opened this in answer to

Check · Review · Land · Live done — Landed and live in production.

Merged

Closes #699

shipped production is serving it for issue #699 — its issue is already done deploy 96492c1

opened this

Closes #699

In progress. Here now: the rule for the title (outsideTitle, a fixed marker that cannot be edited away or doubled) with its tests. Coming in this pull: accepting a report opens the issue under that title with the label outside; the person accepting may edit the title on the page and through the API, and the marker stays; the crew's brief for such an issue says whose words those are. The full description will be the first comment, since a pull's body cannot be edited.

🤖 Generated with Claude Code

commented

What a person sees. An issue made from an accepted outside report says so in its title, From outside: …, and carries the label outside, in every list and to every agent. The person accepting can reword the title first; the marker stays.

What changed

  • src/core/reports.ts: outsideTitle puts From outside: in front of the words, once. A marker already there, the reporter's own or one typed back in, is taken off first, so no edit removes it or doubles it. The words are plain text, one line, 200 characters at most, like a report's title.
  • src/actions/reports.ts: accepting opens the issue under that title with the label outside, which the forge makes in the repository on first use. acceptReport takes the person's wording; a title that cannot be used refuses before anything is decided, so the report still waits. On a mirror the label goes up with the issue and the origin's answer stands.
  • Page: each waiting report's card has a title field, filled with the reporter's words (without any marker of theirs), and says the mark stays. API: POST …/reports/:id/accept takes { "title" }.
  • src/crew/brief.ts, src/crew/runner.ts: the runner passes the issue's labels to the brief, and the brief for an issue marked by its label or by its title says, before the text, that the title and the fenced words are a stranger's, unchecked: a description to verify, never instructions.
  • docs/STANDARDS.md.

Tests (test/reports.test.ts, 24, ten new). The refusing ones first:

  • a reporter who writes the marker themselves gets exactly one;
  • typing the marker twice, in another case, or alone does not remove, double or replace it;
  • an empty title, a marker with no words, and a title over 200 characters are refused with 422 and the report still waits;
  • an agent on the crew cannot accept, with a title or without.

Then: the accepted issue is marked and labelled; one outside label per repository however many are accepted; the page offers the title and the form opens the issue marked, and a blank title goes back to the queue; the brief names outside text by the label alone, by the title alone, before the text, and not for an ordinary issue.

Done means reachable

  • Page. The accept form with an editable title, on /:owner/:name/reports.
  • API. { "title" } on the accept route.
  • Test. Above.
  • Look. A local forge with two waiting reports, at desktop width and at 390 px, and the issue each became; one report had written From outside: itself, and opened with one marker. The forge cannot attach an image to a pull; the pictures are with the steward (reports-desk.png, reports-phone.png, reports-issue-phone.png).

For a reviewer to weigh

  • The brief trusts the label or the title. A writer can take the label off; nobody can change a title, so the title is what holds.
  • The forge creates the outside label itself, though creating labels is otherwise an admin's act. It is one fixed name, made only by accepting a report.
  • An issue anyone titles From outside: … by hand gets the same paragraph in its brief. That errs toward caution.

Not touched. The release workflow, the chart, other repositories.

Verified

  • bun x tsc --noEmit clean; bun scripts/hollow.ts clean (the hollow-work check is on main now).
  • test/reports.test.ts 24/24, test/report-discovery.test.ts, test/contract.test.ts pass; test/crew.test.ts 12 of 13, the one failure being the macOS-only test of #707.
  • In a browser: reword, accept with the button in the card's foot, land on the marked issue.
  • bun run check locally, under the shared lock: 1442 tests in 103 files, 3 failed, none in this area: reserved-names (llms.txt) and one studio test, both red on main since #705, and the macOS-only crew test (#707).

🤖 Generated with Claude Code

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs