smoke: pr review inline comments #78

Closed
coilysiren wants to merge 1 commit from smoke-test-pr-review into main
Owner

Throwaway PR to smoke-test coily ops forgejo pr review --comments-file. Will be closed and the branch deleted immediately after the review lands.

Throwaway PR to smoke-test `coily ops forgejo pr review --comments-file`. Will be closed and the branch deleted immediately after the review lands.
closes #331

Bumps cli-guard to the commit that adds `dispatch status` (and the
<logPath>.meta sidecar that powers it), so `coily dispatch status`,
`coily dispatch status <owner/repo#N>`, `coily dispatch status --pid`,
and `--follow` now hang off coily's existing dispatch tree without
extra wiring. New headless dispatches write the sidecar at spawn time;
older logs render with "pid unknown" and still show the tail.

Verb design + sidecar shape live in coilysiren/cli-guard#90.

Audit-log: coily://1779513458/AGPFGRD6 - coily exec build
Audit-log: coily://1779513464/AGPFGREW - coily exec test
Audit-log: coily://1779513483/AGPFGRG6 - coily exec lint
Audit-log: coily://1779513495/AGPFGRIO - coily ops aws sts get-caller-identity
Audit-log: coily://1779513495/AGPFGRIQ - coily ops aws ssm get-parameter
Adds Forgejo URL acceptance in closes-issue, plus documentation-layout
and code-comments hooks newly active. Part of the GitHub-to-Forgejo
canonical flip (FJ#247).

closes #68
Closes the surface gap so agents can file forgejo tickets without the
curl + SSM + temp-JSON dance. Mirrors the gh wrapper threat model:
write-scope token from /forgejo/api-token, --body-file in lieu of
--body so the lockdown metacharacter gate stops being a paper cut.

closes coilysiren/coily#69
Adds `list`, `view`, `edit`, `comment`, `close`, `reopen`, `delete`
under `coily ops forgejo issue`. Refactors the create verb's HTTP path
into a shared `forgejoAPIDo` so each verb is thin: validate flags,
construct the path + payload, surface a short summary. Smoke-tested
list and view against the live forgejo; mutating verbs follow the same
audit + status-code discipline.

closes coilysiren/coily#70
Adds `create`, `list`, `edit`, `delete` under `coily ops forgejo
label`. Edit/delete key off forgejo's native label id (resolved via
`label list`); a name-based shorthand can land later if it earns its
weight. Color is normalized to `#rrggbb` lowercase; description text
is taken from a file to keep multi-word values past the lockdown
metacharacter gate.

closes coilysiren/coily#71
Adds `create`, `list`, `view`, `edit`, `delete` under `coily ops
forgejo release`. Booleans (--draft, --prerelease) on edit use IsSet
so the operator can distinguish "leave alone" from "set to false."
Asset upload is intentionally out of scope - multipart/form-data is a
different mechanism than the JSON CRUD path and will land as a
follow-up.

closes coilysiren/coily#72
Adds `list` (text search via /repos/search), `view`, `edit`, `fork`,
`archive`, `delete` under `coily ops forgejo repo`. `archive` is a
discrete verb that PATCHes archived=true, mirroring gh's shape; the
inverse is `edit --private=false --archived=false` once that's wired.
Booleans on `edit` use IsSet so unset flags stay out of the PATCH body.

closes coilysiren/coily#73
Adds `create`, `list`, `view`, `close`, `reopen`, `merge`, `comment`,
`review` under `coily ops forgejo pr`. PR conversation comments go
through the issue comments endpoint (forgejo treats them the same).
Review verb supports APPROVE / REQUEST_CHANGES / COMMENT; inline
per-file review comments are a follow-up that needs a richer payload
shape.

closes coilysiren/coily#74
Adds `upload-asset` under `coily ops forgejo release`. Multipart/form-
data POST to /releases/{id}/assets with the file streamed in as the
`attachment` form part. Asset name defaults to basename(--file) and
can be overridden with --name; rejected if the file is empty, missing,
or a directory, and the asset name validator blocks path components.

A new `forgejoAPIPostMultipart` sibling of `forgejoAPIDo` reuses the
token fetch + status-code discipline so the audit row binding stays
consistent with the JSON verbs.

closes coilysiren/coily#75
Extends `coily ops forgejo pr review` with --comments-file, a JSON
array of inline review comments folded into the existing /reviews
POST. Each entry is validated up front: non-empty path + body and
exactly one of old_position / new_position > 0 (forgejo treats 0 as
"not on that side" and silently drops malformed entries server-side,
so failing loudly here keeps the audit row honest). --event COMMENT
now accepts either --body-file or --comments-file to satisfy the
"requires content" check.

closes coilysiren/coily#76
smoke: throwaway file for pr review verification
Some checks failed
test / test (pull_request) Has been cancelled
750f863acf
closes coilysiren/coily#77
coilysiren left a comment

Top-level review body alongside the inline comments, to verify both ride the same /reviews POST cleanly.

Top-level review body alongside the inline comments, to verify both ride the same `/reviews` POST cleanly.
@ -0,0 +1,2 @@
placeholder for forgejo pr review smoke test
Author
Owner

Line-1 inline comment from the new --comments-file plumbing.

Line-1 inline comment from the new `--comments-file` plumbing.
@ -0,0 +1,2 @@
placeholder for forgejo pr review smoke test
second line for inline comment target
Author
Owner

Second inline comment on the next line to prove the array path works.

Second inline comment on the next line to prove the array path works.
coilysiren closed this pull request 2026-05-25 01:24:31 +00:00
Some checks failed
test / test (pull_request) Has been cancelled

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-bridge/coily!78
No description provided.