Skip to content

feat(client): trust-ladder + spam methods, bump 0.2.0 (GHST-862)#2

Merged
H179922 merged 1 commit into
mainfrom
feat/ghst-862-trust-ladder-spam
Jun 28, 2026
Merged

feat(client): trust-ladder + spam methods, bump 0.2.0 (GHST-862)#2
H179922 merged 1 commit into
mainfrom
feat/ghst-862-trust-ladder-spam

Conversation

@H179922

@H179922 H179922 commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Adds request_upgrade/apply_upgrade (the trust ladder) + report_spam/not_spam to both sync and async clients — the genuine API-parity gap (the other 37 methods already matched). Endpoints/bodies pinned to src/workers/api.ts handlers; 7 respx tests (happy/body/error/async), all green; 0.1.1→0.2.0. Org-authored, rebase-merge to preserve identity. [no-codex]

…-862)

Adds 4 agent-facing methods to both the sync and async clients, closing the
genuine API-parity gap (the rest of the 37-method surface already matched):

- request_upgrade(mailbox_id, target_mode) -> POST /v1/mailboxes/{id}/request-upgrade
- apply_upgrade(mailbox_id, code)          -> POST /v1/mailboxes/{id}/upgrade
- report_spam(email_id)                    -> POST /v1/emails/{id}/report-spam
- not_spam(email_id)                       -> POST /v1/emails/{id}/not-spam

The upgrade pair is the trust ladder — an agent can now climb oversight modes
(request sends a code to the human's oversight email; apply consumes the code
the human shares back; no automatic grant). Spam pair is inbox screening.

Every endpoint/body/response is pinned to the real worker handlers in
src/workers/api.ts (no fabricated routes). Adds tests/ (respx-mocked: happy
paths, request-body shapes, 404/403 error mapping, async parity) — 7 tests,
all green — and pytest asyncio config. Minor bump 0.1.1 -> 0.2.0 (feature add).
@H179922 H179922 merged commit 136e5af into main Jun 28, 2026
@H179922 H179922 deleted the feat/ghst-862-trust-ladder-spam branch June 28, 2026 01:08
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