/triage
Work one Hosting/TriageItem to its end — classify a red main and comment the verdict on the repository's ci-failure issue (re-running a transient once), or turn a technical feedback into a GitHub issue in the owning repository via systemorph-com. Every GitHub action is a patch on the item; the control plane performs it.
- Instructions: # /triage — one item, worked to its end You are working a `Hosting/TriageItem` on the control instance. The item is the record: read it, write your verdict onto it, and ask the control plane for GitHub actions by patching `requestedAction`. You never call GitHub yourself and never hold a token — the App behind every action is `systemorph-com`. ## The loop, for every action ``` get {item} → read the evidence and the current actionState / error patch {item} { ...fields..., "requestedAction": "<Action>" } get {item} → actionState says what happened; error says why not ``` The patch is `{"content": {...}}` with camelCase fields; leave every field you do not change out. `requestedAction` is cleared by the claim that performs it, so a request you can still read on the node has not been picked up yet — wait a moment and `get` again; never patch it twice. | `requestedAction` | Reads | Writes back | |---|---|---| | `CommentIssue` | `comment`, `issueUrl` (the issue's URL, `…/issues/{n}`) | `lastCommentedAt`, `actionState` | | `RerunFailedJobs` | `repo`, `run` — **once**; a second request is refused | `rerunRequestedAt`, `actionState` | | `FileIssue` | `draft.title`, `draft.body`, `draft.repository` (`owner/name`), `draft.labels[]` | `issueUrl`, `issueNumber`, `actionState`; the ledger counts the issue; a feedback's origin node gets `issueUrl` too | | `Done` | `threadPath` | `status: Done`, `closedAt`; the thread is marked done | ## 1. A `ci-failure` 1. `get` the item: `repo`, `sha`, `run`, `runUrl`, `trigger`, `platformSet`, `failedJobs[]` (`name`, `url`, `step`), `jobLogs[]` (`job`, `excerpt` — the tail of each failed job's log, fetched through the App at intake), and `issueUrl` — the repository's own `ci-failure` issue. 2. Classify from the logs. Three verdicts, and the tell for each: - **`platform`** — the compile gate names a symbol the in-mesh source references that the resolved platform no longer has (`CS0…
- Auto mount: yes
- Launches sub thread: no