Skip to content

Process Cat A cluster A3 (Shared+iOS, 10 files) — cherry-pick for v2026.3.22 sync backlog #2584

@alexey-pelykh

Description

@alexey-pelykh

Background

Decomposition of #2576 (Cat A processing). Cluster A3 covers the shared kit + iOS surface of the v2026.3.22 sync backlog: 10 files under apps/shared/RemoteClawKit/ and apps/ios/ where fork content diverges from upstream@v2026.3.22 with rebrand applied.

See full triage at hq/upstream/pending-sync-review/2026-04-24-cat-a-triage.md (cluster A3 section) and per-cluster TSV at hq/upstream/pending-sync-review/2026-04-24-cat-a-clusters.tsv.

Disposition summary

Disposition Count
CHERRY-PICK 10
EXCLUDE-DIVERGENT 0
Total 10

Cluster scope (per fork path prefix):

  • apps/shared/RemoteClawKit/Sources/RemoteClawChatUI/** — 4 chat UI files
  • apps/shared/RemoteClawKit/Sources/RemoteClawKit/** — 3 kit source files
  • apps/shared/RemoteClawKit/Tests/RemoteClawKitTests/** — 2 kit test files
  • apps/ios/Tests/** — 1 file (basename match: TalkConfigParsingTests.swift)

Scope

All 10 files are CHERRY-PICK candidates: fork only touched these in rebrand/sync mechanics; upstream changed since fork's last sync of each file.

File list

Action Diff lines Upstream path Fork path
CHERRY-PICK 128 apps/shared/OpenClawKit/Tests/OpenClawKitTests/TalkConfigParsingTests.swift apps/ios/Tests/TalkConfigParsingTests.swift
CHERRY-PICK 34 apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatComposer.swift apps/shared/RemoteClawKit/Sources/RemoteClawChatUI/ChatComposer.swift
CHERRY-PICK 141 apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatMarkdownPreprocessor.swift apps/shared/RemoteClawKit/Sources/RemoteClawChatUI/ChatMarkdownPreprocessor.swift
CHERRY-PICK 133 apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatMessageViews.swift apps/shared/RemoteClawKit/Sources/RemoteClawChatUI/ChatMessageViews.swift
CHERRY-PICK 133 apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatView.swift apps/shared/RemoteClawKit/Sources/RemoteClawChatUI/ChatView.swift
CHERRY-PICK 3 apps/shared/OpenClawKit/Sources/OpenClawKit/Capabilities.swift apps/shared/RemoteClawKit/Sources/RemoteClawKit/Capabilities.swift
CHERRY-PICK 4 apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayNodeSession.swift apps/shared/RemoteClawKit/Sources/RemoteClawKit/GatewayNodeSession.swift
CHERRY-PICK 36 apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayTLSPinning.swift apps/shared/RemoteClawKit/Sources/RemoteClawKit/GatewayTLSPinning.swift
CHERRY-PICK 14 apps/shared/OpenClawKit/Tests/OpenClawKitTests/AssistantTextParserTests.swift apps/shared/RemoteClawKit/Tests/RemoteClawKitTests/AssistantTextParserTests.swift
CHERRY-PICK 79 apps/shared/OpenClawKit/Tests/OpenClawKitTests/ChatMarkdownPreprocessorTests.swift apps/shared/RemoteClawKit/Tests/RemoteClawKitTests/ChatMarkdownPreprocessorTests.swift

How to verify

  • Per-file: git log -1 --format=%H -- {fork-equivalent-path} shows the cherry-pick (or trailer Cherry-picked-from: {upstream-sha})
  • Local Swift Package Tests pass: swift test in apps/shared/RemoteClawKit/
  • Local Xcode build for any iOS target consuming RemoteClawKit
  • Bulk: re-run audit against v2026.3.22 after PR merges; A3 cluster residual = 0

Acceptance criteria

  • Each of the 10 paths has a cherry-picked upstream change (with rebrand transform)
  • Local pnpm check (lint+typecheck) passes
  • Local swift test passes for RemoteClawKit targets
  • No new CI failures
  • Bulk verification re-run shows A3 residual = 0

Out of scope

  • A1 (Android, 31 files) — separate issue
  • A2 (macOS, 35 files) — separate issue
  • A0 (40 ALREADY-SYNCED, audit false positives) — needs audit-tooling enhancement; not in this issue

Notes

  • Per-file dispositions in the file list above are proposals. Reviewer judgment on each file is required during execution; expect 5–10% reclassification (CHERRY-PICK → EXCLUDE-DIVERGENT) after code-context inspection.
  • A3 is the smallest cluster and a natural starter for trying the cherry-pick + rebrand workflow before tackling the larger A1/A2 clusters.
  • The largest CHERRY-PICK in this cluster is ChatMarkdownPreprocessor.swift (141 lines), followed by ChatView.swift and ChatMessageViews.swift (133 lines each). All three are in the chat UI sub-cluster and may share related upstream commits.
  • The iOS file (TalkConfigParsingTests.swift) was found via basename search — fork has it under apps/ios/Tests/ while upstream has it under apps/shared/OpenClawKit/Tests/OpenClawKitTests/. Verify the fork path is intentional or whether it should also be moved/renamed.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions