Skip to content

Feat/ai sre#53

Merged
ysyneu merged 6 commits into
mainfrom
feat/ai-sre
Jun 16, 2026
Merged

Feat/ai sre#53
ysyneu merged 6 commits into
mainfrom
feat/ai-sre

Conversation

@ysyneu

@ysyneu ysyneu commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Closes:

ysyneu added 6 commits June 15, 2026 13:29
The curated `channel list` exposed only `--name` (a client-side substring
filter), shadowing the generated twin that carries the API's `team_ids`
filter. So there was no way to ask the server for a single team's channels —
callers had to fetch all channels and filter locally, which scales poorly
(server default caps the page at 100 rows) and, in fc-safari's /init scanner,
made team-scoped incident totals impossible to compute correctly.

Wire ListChannelsRequest.TeamIDs to a new --team-ids flag (empty = all teams,
behavior unchanged). Intended release: minor bump v1.4.0.
Drop the curated shadow commands whose generated twins now have full
parity after #50 (positional <id> args). genAddLeaf surfaces the
generated leaf at the same name once the curated AddCommand is removed.

Dropped (same generated name, same SDK endpoint, positional id folds to
the *_ids/_id wire field, generated flags ⊇ curated):

  incident ack         POST /incident/ack
  incident unack       POST /incident/unack
  incident wake        POST /incident/wake
  incident reopen      POST /incident/reopen  (+--reason, superset)
  incident disable-merge POST /incident/disable-merge
  alert merge          POST /alert/merge

Flag-name delta (for the paired docs migration):
  alert merge: curated --incident → generated --incident-id
               (also gains superset --alert-ids/--owner-id/--title)

Accepted deltas of converging on the generated single source:
  - unack/wake/disable-merge lose the curated client-side ≤100-id cap;
    the backend still enforces it (help: "At most 100 per call").
  - alert merge loses MarkFlagRequired("incident"); incident_id stays
    required server-side.
  - success line changes from the curated phrase to "OK: POST <path>".

validateIncidentIDBatch is kept (still used by comment/remove, which
stay curated for their --comment cap / destructive-confirm).

Tests: migrated the unit + e2e assertions for the dropped commands to
the generated twins' surface; dropped the unack/wake subtests of the
100-id-cap test (that cap is curated-only and intentionally gone).
The curated `channel list` exposed only `--name` (a client-side substring
filter), shadowing the generated twin that carries the API's `team_ids`
filter. So there was no way to ask the server for a single team's channels —
callers had to fetch all channels and filter locally, which scales poorly
(server default caps the page at 100 rows) and, in fc-safari's /init scanner,
made team-scoped incident totals impossible to compute correctly.

Wire ListChannelsRequest.TeamIDs to a new --team-ids flag (empty = all teams,
behavior unchanged). Intended release: minor bump v1.4.0.
feat(cli): drop transparent curated ID-verb shadows (parity via #50)
…#1674)

Propagate fc-event#1674 through the generated layer by bumping go-flashduty to
the synced+regenerated spec, plus a cligen enhancement so the now-optional
incident_id stays back-compatible:

- incident info: new --num flag (server-side 6-char short-id lookup); incident_id
  relaxed to optional. Add an OPTIONAL positional mode to cligen (optionalArg +
  positional.Optional + optionalPositional map) so `incident info <id>` keeps
  working while `incident info --num CBE249` resolves and bare `incident info`
  (with --num) is valid; `incident info a b` still rejected.
- channel list/info: response help documents team_name + creator_name.

go-flashduty pinned to the chore/enrich-1674-spec commit (pseudo-version);
re-pin to the released version after go-flashduty#11 merges. Build + unit tests
(incl. gen_positional) pass.
feat(cli): incident info --num + channel team/creator names (fc-event#1674)
@ysyneu ysyneu merged commit e64526a into main Jun 16, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant