feat(projects)!: add project logo API across all SDKs

Merged
RO
3d ago
+2855-30

Summary

  • Add optional Project.logo plus multipart UpdateProjectLogo (PUT, 204) and idempotent RemoveProjectLogo (DELETE, 204), following deployed bc3 #14174.
  • Regenerate all seven SDK surfaces; add Go wrappers/grouped methods, hook identities, optional-model coverage, shared conformance fixtures, and a cross-SDK guide.
  • Document the generated Go interface expansion in MIGRATING.md (custom mocks/fakes must add the four logo methods). Release-note sections: Breaking Changes and Features.

Refs #977; this is the SDK portion only, not closure of the downstream CLI request. That issue was already closed before this PR; this PR does not change its state.

Verification

  • Prior complete serial local gate: golangci-lint 2.15.0 exit 0; the Makefile-pinned 2.11.4 has one unchanged baseline G118 in eventfeed/renew.go:315, reproduced on the exact original base. No suppression or linter/config change.
  • Full seven-language generation rerun after rebasing onto current main. Final head 9d127c3822dd46fc1d5f7fa0a5d37a9b03e576dd: complete local make -k check with golangci-lint 2.15.0 exit 0; 11 lockfiles unchanged. Real independent Claude CLI (claude-opus-5-5, firstParty) completed with no actionable findings, no permission denials, and all reviewed file hashes unchanged.
  • Final-head remote checks: 57 total: 54 SUCCESS, 1 SKIPPED (Dependabot-only auto-merge), 2 NEUTRAL. CodeQL Advanced and all seven language analyses succeeded; the aggregate is neutral only because the existing path filter omits unchanged .github Actions configuration. Cubic is neutral because its monthly quota is exhausted: no substantive Cubic review occurred, so full automatic-review convergence remains blocked.
  • Native Swift on macOS passed: 645 SDK tests (including 6 project-logo tests), 56 conformance-runner tests, and 329 shared fixture cases with 0 failures; one declared exclusion covers first-page-only pagination because Swift auto-paginates. Copilot reviewed final head, reports no open issues, and retains a request for human sign-off after confirming CI/Swift. Its sole migration finding is fixed/resolved. Parent owns that final verification/decision; no manual sign-off was fabricated.
  • Earlier authorized production verification exercised raw API and built SDK/CLI artifacts and restored the original absent logo, with unrelated fields/wallpaper unchanged. No additional production mutations in this PR-finalization stage.

Scope and authorization

The human authorized SDK commit/push/PR and merging only after final-head checks/reviews converge. The parent agent exclusively owns the final merge transition and fresh gate verification. No auto-merge, bypass/admin override, release, tag, publish, deploy, version bump, or CLI changes are authorized here.

Agent-authored by Hermes (OpenAI); independent Claude model identity and exact-head evidence will be recorded in a follow-up comment.