api-review(rum): add POST /rum/issue/export + fix stale orderby enum - #314
Merged
Conversation
- New public op rum-issue-read-export (registry row rumIssue:read:export, fc-pgy e90419d8 + fde7843b; handler fc-rum cmd/server/controller/issue/export.go) response modeled as text/csv attachment (not envelope) with X-Export-Total / X-Export-Truncated headers; new schema RumIssueExportRequest - RumIssueListRequest.orderby enum + usage bullets now include severity (Go oneof since fc-rum 67c6b92); split + consolidated, en + zh - docs.json nav (+2) and api-catalog rows/counts (337->338, RUM 35->36) reconciled
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
api-review daily run 2026-08-26 (audit-only path)
Generator pipeline unavailable again this round: the team knowledge pack still lacks
runbooks/api-review-daily.mdandrunbooks/api-review-apply-patches.py(gap since 2026-08-24), so the deterministic audit-on-HEAD path was used (same as 08-24 → #305, 08-25 → #310).Registry vs committed spec
/event/push/*): 338 (was 337)Operation changes per module
Added —
POST /rum/issue/export→rum-issue-read-export("Export issues as CSV" / "导出 Issue 列表"), tagRUM/Issues(zh:RUM/RUM 问题跟踪):rumIssue:read:export(fc-pgye90419d8+fde7843b); handlerfc-rum/cmd/server/controller/issue/export.go; request filters reuseissueListInput(fc-rum/cmd/server/controller/issue/info.go).text/csvattachment, not the JSON envelope — modeled after the session-replay NDJSON precedent:200modeled astext/csvstring schema plusX-Export-Total/X-Export-Truncatedheaders (both emitted by the handler).is_audit: true→ standard audit bullet in Usage.RumIssueExportRequest— filters identical toRumIssueListRequest;p/limitaccepted but ignored (documented);export_fieldsenum = the 18 stable keys fromfc-rum logic/issue/export.go(exportFields);time_zoneis IANA, defaultAsia/Shanghaipertypes.DefaultTimeZone;console_originbuilds theissue_urlcolumn.Pre-existing drift fixed
RumIssueListRequest.orderbyenum + Usage bullets (en/zh, split + consolidated) now includeseverity— Go binding isoneof=created_at updated_at session_count error_count severitysince fc-rum67c6b92(2026-08-05); the committed spec listed only 4 values.docs.json / api-catalog reconciliation
docs.json: +2 nav entries ("POST /rum/issue/export"under RUM → Issues / RUM 问题跟踪, en+zh)api-catalog.mdx(en+zh): +1 row each; RUM count 35 → 36; total 337 → 338Examples
Constructed from request/response schemas + handler code — the dev API is not callable from this environment (no credentials). Request example reuses the
issue/listexample IDs (NHEacQHi2DhXqobr9qPQz9,H8kZSmxiE7EgdyD4fCyyNa); the CSV response example mirrors the 7 selected columns with timestamps rendered in Asia/Shanghai.Unresolved
Notes
monit-webapiis not on GitHub (flashcatcloud/monit-webapi→ 404); monitors module remains unchanged from HEAD, same as previous runs.safari /safari/session/export200 response has noexample(streaming NDJSON) — flagged for a future pass.