Skip to content

fix: send explicit Status field and effect removals - #96

Merged
enricenrich merged 5 commits into
mainfrom
enric/squad/status-update-contract
Oct 28, 2026
Merged

enricenrich merged 5 commits into
mainfrom
enric/squad/status-update-contract

Conversation

@enricenrich

@enricenrich enricenrich commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Summary

With the new backend contract, omitted Status values remain unchanged. Keep tdc status set replacing the fields it supports by sending explicit null for omitted emoji, expiration and disabled known effects. Enable effects with {} so existing configuration is preserved or backend defaults are applied. Fields and effects the CLI does not support remain unchanged.

Update the existing command tests, help and generated skill reference to describe this behavior. Clearing the entire Status continues to use the dedicated endpoint.

Dependency

The companion SDK change is released in @doist/comms-sdk@3.9.1. This PR updates the dependency pin and lockfile to use the published SDK.

Validation

  • All 1,178 tests pass after a fresh npm ci using the published SDK.
  • Build, type check, lint/format and skill-sync checks pass with the published SDK.
  • Verified the dry-run command, and confirmed the explicit-removal test fails with the previous payload behavior.

Reference

@enricenrich
enricenrich marked this pull request as ready for review October 28, 2026 17:33

@doistbot doistbot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR updates tdc status set to match the new partial-update contract: omitted emoji, expiration, and known pause effects are sent as explicit null (or cleared) while supported effects are enabled with {}, preserving unsupported values. The SDK pin, tests, help text, and generated skill reference are all updated consistently, and clearing the full status still uses the dedicated endpoint.

Few things worth tightening:

  • --dry-run now under-reports what set will do: since omitted emoji/expiry/pause flags are sent as null and clear existing values, a preview like tdc status set "Away" --dry-run should surface those removals (e.g. Emoji: cleared, Pause notifications: cleared) instead of only showing the explicitly supplied flags.

Share Feedback • Review Logs

Comment thread src/commands/status/set.ts Resolved
@enricenrich

Copy link
Copy Markdown
Member Author

@scottlovegrove, I've assigned this PR to you because of the context on the SDK changes. After this I'll assign it to the expected group.

@enricenrich enricenrich self-assigned this Oct 28, 2026
@enricenrich enricenrich added the 🙋 Ask PR requires passing checks and independent human review before merge. label Oct 28, 2026
Comment thread src/commands/status/index.ts Resolved
@enricenrich
enricenrich merged commit 63135a9 into main Oct 28, 2026
6 checks passed
@enricenrich
enricenrich deleted the enric/squad/status-update-contract branch October 28, 2026 20:13
doist-release-bot Bot added a commit that referenced this pull request Oct 28, 2026
## [3.8.1](v3.8.0...v3.8.1) (2026-10-28)

### Bug Fixes

* send explicit Status field and effect removals ([#96](#96)) ([63135a9](63135a9))
@doist-release-bot

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.8.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

🙋 Ask PR requires passing checks and independent human review before merge. released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants