Skip to content

Show and update your preferences - #994

Open
jeremy wants to merge 1 commit into
mainfrom
sdk-absorb/card-10447989271
Open

jeremy wants to merge 1 commit into
mainfrom
sdk-absorb/card-10447989271

Conversation

@jeremy

@jeremy jeremy commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Why

The gap card [CLI] Read and update my preferences names two operations the SDK has had since v0.29.1 that the CLI didn't reach (found by the coverage report in basecamp/basecamp-sdk#1055). The CLI is pinned to SDK v0.34.0, which has both, so this builds on main with no bump.

What changed

Operation Command
GetMyPreferences (GET /my/preferences.json) basecamp people preferences [me]
UpdateMyPreferences (PUT /my/preferences.json) basecamp people preferences [me] --week-start <day> --time-format 12h|24h --time-zone <zone>

It follows people out-of-office: the target can only be me, no flags shows your preferences, and flags update them. Each preference is sent only when you pass its flag. Bad input is caught before any request goes out: --week-start takes Sunday through Saturday in any case, --time-format takes 12h/24h or the API's own twelve_hour/twenty_four_hour, and none of the three accepts an empty value. These preferences can't be cleared, and the SDK would quietly drop an empty value anyway. The SDK's update returns nothing, so the command reads the preferences back. If that read fails, the update is still reported as done, with a diagnostic, the same way people update handles it.

people update's help used to say week start and time format "are not edited here". It now points to people preferences me.

Also updated: the catalog entry (commands.go), the API-COVERAGE.md people row and the .surface snapshot. skills/basecamp/SKILL.md is unchanged: it works by discovery and doesn't list the profile or out-of-office commands either.

Builds on

main at df22084. Nothing else is needed.

Left out

Nothing. The API-COVERAGE.md endpoint counts are unchanged: the people row's count of 15 is already higher than the endpoints the row lists, and reconciling those counts is tracked separately, as the file's note says.

Tests

  • internal/commands/people_preferences_test.go: show (bare and with me), an update that sends only the given fields inside person and returns the read-back, all three fields together, the time-format names, bad input refused before any request (unknown or empty day, unknown or empty format, blank zone), a target other than me refused, and a failed read-back reported as success with a diagnostic.
  • e2e/people.bats: offline usage errors for an unknown day, an unknown format and another target.
  • e2e/smoke/smoke_account.bats: people preferences me against a live account.
  • bin/ci passes locally.

Gap card


Summary by cubic

Adds basecamp people preferences [me] to show and update your own preferences — week start, time format, and time zone — using SDK operations GetMyPreferences and UpdateMyPreferences that the CLI previously didn't reach.

  • Bare invocation reads your preferences; --week-start, --time-format, and --time-zone flags send only the values you pass.
  • Input is validated before any request, and only me is accepted as the target.
  • The update reads preferences back to show the result; a failed read-back still reports the update as done, with a diagnostic.

Written for commit a934478. Summary will update on new commits.

View guided diff Turn on auto-fix

basecamp people preferences me reads GET /my/preferences.json; with
--week-start, --time-format or --time-zone it writes PUT
/my/preferences.json and reads the result back. Input is checked before
any request, and a failed read-back keeps the update reported as done.
@github-actions github-actions Bot added commands CLI command implementations tests Tests (unit and e2e) docs labels Oct 31, 2026
@jeremy

jeremy commented Oct 31, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-31T17:44:20.066152Z a934478 Draft marked ready
🔒 Security Review ✅ Completed 2026-10-31T17:45:16.427504Z a934478 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

Reviewed commit: a934478305

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: a934478305

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@jeremy

jeremy commented Oct 31, 2026 •

Copy link
Copy Markdown
Member Author

Converged on a934478 and marked ready for a person to merge:

  • CI: all 31 checks green (26 success, 4 skipped, 1 neutral), and bin/ci passes locally.
  • Codex: no findings on a934478, in code review or security review.
  • Copilot: requested on the draft three times (gh pr edit --add-reviewer, REST requested_reviewers, GraphQL requestReviewsByLogin). None registered a request and no review came, so Copilot hasn't reviewed this head. Marking the PR ready may bring its review.
  • Threads: none. Mergeable.

Nothing here is waiting on a decision.

@jeremy
jeremy marked this pull request as ready for review October 31, 2026 17:43
@jeremy
jeremy requested a review from a team as a code owner October 31, 2026 17:43

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commands CLI command implementations docs tests Tests (unit and e2e)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant