Skip to content

chore(spec): sync to core 6ff1e1d, and close eleven fields of wire drift - #5

Merged
dejanstrbac merged 1 commit into
mainfrom
sync-core-6ff1e1d
Sep 10, 2026
Merged

dejanstrbac merged 1 commit into
mainfrom
sync-core-6ff1e1d

Conversation

@dejanstrbac

Copy link
Copy Markdown
Contributor

Re-vendors core's openapi.snapshot.json at 6ff1e1d (core main; PRs #30–#32 landed there today) and stamps CORE_REF.

What the bump found

main is already red. The previous sync (b5c22ee) updated the snapshot and CORE_REF alone, so TestWireStructsMatchOpenAPISnapshot has been failing since on four components. This PR gives each spec property its Go field, typed off the spec:

Component Fields added
ApiKey requireActingCredential
AppendResult blobHash, flags, keywords, modseq, receivedAt, size (fresh-store only)
EmailSearchResult ids (the fields: "ids" answer)
WhoamiResult permittedRecipients (nil = no list, the domains convention)
PimCollection taskCounts — new in this snapshot
PimSharedWithMe objectCount, taskCounts — new in this snapshot

Forwarding

Core now answers 400 destination_unverified with the address as target for a destination that has not proved a code — the same word, shape and status its Sieve and rules surfaces use (it was 403 destination_not_verified). The two comments in forwarding.go that named the old answer are corrected, and root.go gains a sentence for the code: it names the address and the two verbs (forwarding add, forwarding verify) that fix it, worded for every surface that can answer it.

Verification

gofmt -l clean, go vet, go build, go test -race ./... all pass. The contract test fails on main today and passes here.

The vendored snapshot moves from b463f19 to core main at 6ff1e1d, which
carries the three core changes the webmail review produced (task counts on
PIM collections, label rename/delete by id, and one refusal for an
unverified forwarding destination) plus everything between.

Two things this bump has to say beyond the copy:

- main was already red. The previous sync (b5c22ee) updated the snapshot
  and CORE_REF alone, so TestWireStructsMatchOpenAPISnapshot has been
  failing since on four components: ApiKey.requireActingCredential,
  AppendResult's six fresh-store fields (blobHash, flags, keywords, modseq,
  receivedAt, size), EmailSearchResult.ids and WhoamiResult.
  permittedRecipients. Each now has its Go field, typed off the spec, with
  the absent-vs-empty convention the neighbouring fields already document
  where it applies (permittedRecipients follows domains).
- The new snapshot adds PimCollection.taskCounts and PimSharedWithMe's
  objectCount + taskCounts, carried on a PimTaskCounts pair.

Forwarding: core now answers `400 destination_unverified` (with `target`)
for a destination that has not proved a code, the same word, shape and
status its Sieve and rules surfaces use; it was `403 destination_not_
verified`. The two comments that named the old answer are corrected, and
the CLI gains a sentence for the code, worded for every surface that
answers it and naming the address and the two verbs that fix it.

Verified: gofmt, go vet, go build, go test -race ./... (the contract test
passes against the new snapshot; it fails on main today).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@dejanstrbac
dejanstrbac merged commit 7063896 into main Sep 10, 2026
2 checks passed
@dejanstrbac
dejanstrbac deleted the sync-core-6ff1e1d branch September 10, 2026 13:15
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.

2 participants