fix(skill): resolve person_id via person infos, not member-list pagination#66
Open
ysyneu wants to merge 1 commit into
Open
fix(skill): resolve person_id via person infos, not member-list pagination#66ysyneu wants to merge 1 commit into
person infos, not member-list pagination#66ysyneu wants to merge 1 commit into
Conversation
…ination Schedule/oncall output returns `person_id`s — a different id namespace from `member_id`. The schedule.md card and the `oncall who` help told agents to resolve names by joining `fduty member list` on `member_id`: wrong namespace, and it forces a full-roster scan that silently drops people on later pages. In prod this produced a confidently-incomplete on-call answer (a responder on page 21 of 22 was missed). The batch resolver already exists: `fduty person infos <person_id> ...` (POST /person/infos) returns person_id + person_name in one call. Point the cards and the oncall help at it, and warn that person_id != member_id. - schedule.md: replace the member_id-join flow with `person infos` - member.md: cross-reference `person infos`; add a person_id gotcha - oncall.go: correct the `oncall who` Long help (table already enriches names; use `person infos` for raw ids elsewhere) Surfaced by /audit-ai-sre-sessions (run audit-2026-06-26): sess_8fKpUejeyKfHt2hx5XNSsc, sess_UtK6eDMFY4TVZCSAj64gKF.
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.
What
Schedule/oncall output returns
person_ids, not names. This points the agent at the existing batch resolverfduty person infos <person_id> …(POST /person/infos) for that lookup, and removes the guidance that sent it down the wrong path.schedule.md— replace the "joinfduty member listonmember_id" flow with a one-shotfduty person infoscall; add aperson_id≠member_idwarning.member.md— cross-reference thepersongroup frommember(the agent looked undermember, never foundperson infos); add aperson_idresolution gotcha.oncall.go— correct theoncall whoLonghelp, which falsely claimed "member list has no by-id lookup" and recommended dumping the roster (the command's table output already resolves names inline).Root cause
The batch resolver already exists; this was a discoverability + namespace-confusion bug, not a missing endpoint.
person_id(returned byschedule/oncall/incident/alert) is a different namespace frommember_id(returned bymember list). Theschedule.mdcard and theoncall whohelp told agents to resolve names by paginatingfduty member listand matchingmember_id == <person_id>— wrong join key, and a 20+ page full-roster scan that silently drops people on later pages.Evidence (run audit-2026-06-26)
sess_8fKpUejeyKfHt2hx5XNSsc(steps 14–46): agent paginatedmember listpages 1–22 matchingmember_idagainst scheduleperson_ids, tried a non-existentfduty member get --id, and missed a person who lived on page 21.sess_UtK6eDMFY4TVZCSAj64gKF(steps 10–58): same pattern, following theschedule.mdcard'sselect(.member_id == <person_id>)advice literally.Verification
Skill-card edits are outside the
GENERATED:fences, soskilldoc checkstays green without a regen.Surfaced by /audit-ai-sre-sessions.