Skip to content

sync: upstream to v2026.3.11 (235 commits)#2379

Merged
alexey-pelykh merged 1 commit intomainfrom
fork-sync-v2026.3.11
Apr 17, 2026
Merged

sync: upstream to v2026.3.11 (235 commits)#2379
alexey-pelykh merged 1 commit intomainfrom
fork-sync-v2026.3.11

Conversation

@alexey-pelykh
Copy link
Copy Markdown

Summary

DIFF-SYNC from OpenClaw v2026.3.8 → v2026.3.11 (235 commits, 977 files in upstream diff).

  • 428 INCLUDE files applied; 290 reclassified to EXTRACT during stabilization; 13 acpx files filtered by registry override; 2 release scripts filtered
  • D.4 hunk review: 287 PORT + 361 SKIP across 327 files (14 security hunks, 18 bug fixes, 31 test additions ported). Every SKIP names a gutted module/type
  • Pre-existing fork debt cleaned up: 16 docs.remoteclaw.ai URLs → docs.remoteclaw.org (fork owns .org, not .ai)
  • package.json upstreamVersion 2026.3.72026.3.11; README upstream badge bumped

See the commit message for full disposition breakdown and all 235 Cherry-picked-from: trailers.

Gates

  • pnpm check (format + tsgo + lint) PASS
  • Smoke tests (parity + quality) — 30 pass / 0 fail / 14180 skip
  • Stub Gate — 0 new untracked stubs
  • Registry-derived fork invariants — GATE PASS
  • No sanctioned-stub fingerprint regressions

Known follow-ups (not blocking this PR)

  • 13 D.4 blockers documented in the batch results (missing prerequisite files upstream added — subagent-control.ts, memory-flush.ts, discord/exec-approvals.ts, ollama-setup.ts, etc.); each could become a future targeted cherry-pick
  • 6 stale fork-openclaw semantic invariants to update (ChannelBridge marker location, SAFE_AUTO_APPROVE_TOOL_IDS allowlist, editableFiles/BootSchema schema organization, pi-embedded test mock count)
  • Classifier precedence bug (directory-level rule can win over file-level EXCLUDE-GUT when the file-level entry appears later in the registry; subprocess worked around this for acpx)

Test plan

  • CI green on all required checks
  • Automated reviewers (Copilot, etc.) feedback processed
  • Post-submit fresh-context review (adversarial framing) clean

🤖 Generated with Claude Code

@alexey-pelykh alexey-pelykh force-pushed the fork-sync-v2026.3.11 branch 2 times, most recently from 325dc92 to f16774a Compare April 17, 2026 12:18
Disposition: 748 INCLUDE (428 applied, 290 reclassified to EXTRACT during
stabilization, 13 acpx registry-override, 2 release-script registry-override,
15 path-rename adoptions); 190 EXCLUDE silently dropped; 39 EXTRACT reviewed
hunk-by-hunk (29 + 10 PROTECTED-M treated as EXTRACT this batch).

D.4 hunk review: 287 PORT + 361 SKIP = 648 verdicts across 327 files.
14 security hunks ported, 18 bug fixes, 31 test additions.
135 files left entirely at fork HEAD. Every SKIP names gutted module/type.

Registry: 6 new rules (5 channel adapter INCLUDE dirs + 1 EXCLUDE-GUT for
.github/FUNDING.yml).

Fork invariants: .ai → .org domain rebrand on 16 files (12 src/ + 3 docs/ +
4 extensions/) — pre-existing fork debt cleaned up in this sync.

Build gates: pnpm check (format + tsgo + lint) PASS.
Smoke tests (parity + quality): 30 pass / 0 fail / 14180 skip.
Stub gate: 0 new untracked stubs.

Upstream-range: 3caab92..0f8fd88
Upstream-boundary: v2026.3.11

Cherry-picked-from: @29dc65403faf41dc52944c02a0db9fa4b8457395
Cherry-picked-from: @c65390cbde21d1b5fd36cddbac9fea5a615456fd
Cherry-picked-from: @b125c3ba065752c493bb763ac2f0a5e82ed3d0ae
Cherry-picked-from: @fbc1bd6f8e61a1293a3990fac1fe1894b9bb6d82
Cherry-picked-from: @70abee69e913a6256febb4d573f4534a6f9bda7a
Cherry-picked-from: @ce5dd742f83f9784f7c1b7b6fc5210ac2e58a6a1
Cherry-picked-from: @96485701a73a8a823f5634774af0e88feac7bfde
Cherry-picked-from: @ade748176f61d4638395cb196a117a370a774651
Cherry-picked-from: @1fcee52a5c0ccef69214a7541ca7fec1d770941f
Cherry-picked-from: @f01c41b27a13391e5d8cabbc0dcbb0db982b9a15
Cherry-picked-from: @52312771636c621c9eee0ea0bf5ad7b51e2a55f4
Cherry-picked-from: @5ca780fa78682b60f953339eebe8693e5db3763c
Cherry-picked-from: @e95f2dcd6efe8029d4cf2fbad6baf4b6b1cc3ea6
Cherry-picked-from: @43a10677edf7388b5db8ddd28e07fd49d6a9fa2d
Cherry-picked-from: @17fd46ab666ea2da16992d8d86c2039c9840afc1
Cherry-picked-from: @487a3ba8ceeffa0a5a5ba12d6d00d9d347b3d0d4
Cherry-picked-from: @980619b9be10af830c2ccf1a408ce206c489ed67
Cherry-picked-from: @607c158a75bdcfd94711d2a5d628bf7fe59b59ba
Cherry-picked-from: @b31836317a4756bcd3e983c9d1773ae6bab68fd0
Cherry-picked-from: @841ee24340969217643bf1cd9411ebc3f5322863
Cherry-picked-from: @b7a37c202316a58c30a28ef134d4c0e3c217a28f
Cherry-picked-from: @a5ceb62d4401d311a4070b80dd9d61395d26c122
Cherry-picked-from: @7e3787517feb3e4f43a12eefd8463c93d1f8f2e4
Cherry-picked-from: @ebed3bbde1a72a1aaa9b87b63b91e7c04a50036b
Cherry-picked-from: @3c0fd3dffe67759f60685a6fb1b016f0d6f5f3cd
Cherry-picked-from: @e11be576fbbbbdeae405de2890dee2e1572e5c55
Cherry-picked-from: @b6d83749c8650a9e3c6baec65576737400cee820
Cherry-picked-from: @0e397e62b78499c654810df6b854e7b7554c3083
Cherry-picked-from: @cced1e0f7694f8e1c98086370612f5a41e811230
Cherry-picked-from: @da6f97a3f6ff7c3829d121409fe2ec3e6b3906b3
Cherry-picked-from: @453c8d7c1b0427d7f6cdf0b4127725c03fe9e670
Cherry-picked-from: @d79ca5296054058930bd97dd43540fd52ede15a3
Cherry-picked-from: @20d097ac2f48309d515370ae08b92c6ddcee86f3
Cherry-picked-from: @4eccea9f7f4ae79d74fde8349f8b8023df44e948
Cherry-picked-from: @8cc0c9baf2ffce3da3402c0fb1309cc31a7343e6
Cherry-picked-from: @c8dd06cba254518f590dab9a8f1257f7e5e0d799
Cherry-picked-from: @bdd9ed238aabce86dc5c8a6041302765ee5a9295
Cherry-picked-from: @5e324cf7854ad5046f189e327e46843f2266ed46
Cherry-picked-from: @e65011dc29ca1a9dc082a92dc1f9c38c34aee348
Cherry-picked-from: @620bae4ec7de7e96c0c0c9c3e7ed01293a6406ea
Cherry-picked-from: @9329a0ab2417e604c4963ac1883eef7355c6bae0
Cherry-picked-from: @9c81c312329c3aa3eefbbe16f57834727890de23
Cherry-picked-from: @4133edb395382695ebee2051af083650d9a62c4e
Cherry-picked-from: @128e5bc317c963e73734731f3c851efb11f85a8b
Cherry-picked-from: @01ffc5db2478da59e757f8ce7542ff7bbae79f05
Cherry-picked-from: @2a18cbb1101f77d64be3a57e520e9bdea33e48f0
Cherry-picked-from: @78b9384aa7045b3ba513f05ca60b93412ea28872
Cherry-picked-from: @4473242b4ffc8cc568ef7e4c7386dcd7e040dca4
Cherry-picked-from: @60aed953468b3383f749e65beabeb33d1b481962
Cherry-picked-from: @58634c9c6567f027f8d8cb6947f3d382e32c2be2
Cherry-picked-from: @f417d78eef6ecb92b1971d186576e16d38876c60
Cherry-picked-from: @a84bcf734c9e9528ad71646c95607f32a945284a
Cherry-picked-from: @8618a711ff59efc7ae0cb3636ee824c02cd29796
Cherry-picked-from: @daf8afc954944aef91b50578cc804c6a5ba7d035
Cherry-picked-from: @87876a3e36dbf067245ee727beaed7829a5b00c1
Cherry-picked-from: @1435fce2debe00a4973ddeaad4aa7c3b23020045
Cherry-picked-from: @d6108a6f727ca993701656507dd41defdabb2a38
Cherry-picked-from: @62d5df28dc4ac50dc6f0fbfad784a0b70d009101
Cherry-picked-from: @a1520d70ff8e9bceed1508aae372f2ced8994108
Cherry-picked-from: @dafd61b5c19fb7df3e34157f4bc8f9c24bffd91f
Cherry-picked-from: @04e103d10ef7601b05fe1e253a1576d093dfdcf2
Cherry-picked-from: @10e6e274515a761b080e24ae243836de52172e3c
Cherry-picked-from: @144c1b802bf618d5eabe201c278e33f23200cabb
Cherry-picked-from: @f063e57d4bae137c6b319a0818d1a045c2aada82
Cherry-picked-from: @2d91284fdb05eb5d8e6b09e10273d02147657890
Cherry-picked-from: @665f6772652ccb99bd589bf52b2d61b8ce202370
Cherry-picked-from: @d68d4362ee9946abecf090e8b27b51ab68c5510a
Cherry-picked-from: @a78674f1157a28dfe9073a547249c22134b6693a
Cherry-picked-from: @dc4441322f9dc15f19de7bb89c3b2daf703d71e6
Cherry-picked-from: @a2e30824e6232f115b619ec064dafff9d98d5c34
Cherry-picked-from: @e37e1ed24e9145ccf68a838a3136a3c91321aeda
Cherry-picked-from: @7761e7626ffe0700ec18a133178c9a8a9f940650
Cherry-picked-from: @bd33a340fba05406ca004b9e039a895b5a11725a
Cherry-picked-from: @061b8258bc35510354195c81e140288ef2853b66
Cherry-picked-from: @bf70a333fa53412ad6039c9c01804af92545ed8c
Cherry-picked-from: @0aa79fc4d3926783384dcd3474570d7e1255b85c
Cherry-picked-from: @c91d1622d5a6ed56c62e85fb7b3b2dccef5c4f1b
Cherry-picked-from: @0ab8d20917d16b930c3793ea5fdedaa38d30d522
Cherry-picked-from: @0125ce1f44b56f306d3177acb0e14b87050179a5
Cherry-picked-from: @a52104c235a6378a8e7ecc77ab0cc5c047ea3ad9
Cherry-picked-from: @a0d5462571ab66d0106ae4076e3bed381a72a06c
Cherry-picked-from: @daaf211e20feaab89f8c1a65343b0daf064a7322
Cherry-picked-from: @72b0e00eab617c350646b1a5a46c6417e75d4c7e
Cherry-picked-from: @841f3b4af5776acf40bd508e9e20da4af6a471ef
Cherry-picked-from: @aad014c7c1fa3db5d9634c7f3ed781e3c7c012e5
Cherry-picked-from: @68c674d37c3c14b85cc154d595fc7844b36a6c2b
Cherry-picked-from: @5716e524171b3a6e5d3d0077612ba78d8faa3de6
Cherry-picked-from: @3a39dc4e18841d2a3986928fbeabcd36ae93b694
Cherry-picked-from: @7289c19f1a35fe82f8047c11de9d7cc0429ae112
Cherry-picked-from: @8eac9394170e2218a55fab774c310ff9bcaad19f
Cherry-picked-from: @11924a70264f235b2b1d47e3d32a5f0dae111bb1
Cherry-picked-from: @702f6f3305653922548ed2f5c78228ef3c3573e7
Cherry-picked-from: @ecdbd8aa523d25f5da41d3984bfca72612628a95
Cherry-picked-from: @3ba64916599b57978c42aafd2857d4e4fdb44d9c
Cherry-picked-from: @f4a4b50cd528349154ccc5c1d7b975bcfdda94d6
Cherry-picked-from: @fa0329c340761b7315ac025121b2308aa75734ff
Cherry-picked-from: @f604cbedf3d23219939b43850e5ce4d3a04b2cde
Cherry-picked-from: @825a435709e98a1683a60e737a77ffe98122c284
Cherry-picked-from: @8901032007562c1b6dab4fde53d3482a9cd16012
Cherry-picked-from: @36d2ae2a22353cf657ce1750d5370bfa4e1c99c9
Cherry-picked-from: @20237358d92413a1637486a316096dfbe771d03c
Cherry-picked-from: @0bac47de515c1da423cd50745cb94789923b6fb9
Cherry-picked-from: @9c64508822929b964307b9d0ad17c470dc8cef0e
Cherry-picked-from: @6565ae1857b1db906b9c429ec651b9d5f1eb0ea8
Cherry-picked-from: @658cf4bd94883b77898ecc1b0606a29ea285cf88
Cherry-picked-from: @fbc66324ee2b4521f5a55493cb7dcee2e1558dee
Cherry-picked-from: @201420a7ee919abe1f712cfddcba8ae7aecb2162
Cherry-picked-from: @208fb1aa354bfec61a2c2a1129f1965fc84ce3e3
Cherry-picked-from: @344b2286aa725e288c417583ea102382168d8483
Cherry-picked-from: @1df78202b967c8f43cd25bf28b3c1bca1784f732
Cherry-picked-from: @bc1cc2e50f2f2953c2eae02e45571ab9e41d2e78
Cherry-picked-from: @a455c0cc3d7fb27e273205fa873835fe23276976
Cherry-picked-from: @50ded5052f9991f0406c5ed2540045b516de5d29
Cherry-picked-from: @4a8e039a5fbfa8f57dbe2644119b8764757a0d2c
Cherry-picked-from: @725958c66f2fb0e558813b09b0162080b17032d6
Cherry-picked-from: @00170f8e1ab4be81bb1ed1f67eea9fb5f9dd0699
Cherry-picked-from: @b517dc089acefd44ba7b8e37c2b332812d71e9e1
Cherry-picked-from: @a76e81019333ff2feec572df86d2fe5445bd3214
Cherry-picked-from: @ff2e7a294561cf00333b42c46aef2bdbd88516b6
Cherry-picked-from: @5ed96da9906a50551bfcb0827b3c5edcad69fa81
Cherry-picked-from: @7c76acafd6c9835226f0b582ba86c50f0a1d20b3
Cherry-picked-from: @c00117aff2ed49422be9b1b9fe136d2774a33643
Cherry-picked-from: @53374394fbbb1e074021734d7d28ec0d50e9a153
Cherry-picked-from: @0c17e7c225bdd26cefbda6c7691356ba61d47e8d
Cherry-picked-from: @b16ee34c34a14ad1a3fc1b44fd76fc3c1f71c0f9
Cherry-picked-from: @9f5dee32f64f1628ebaadcf1e78a3a327cf0ddb2
Cherry-picked-from: @f209a9be801e6feb308824f108f0287d9c6a1cf7
Cherry-picked-from: @158a3b49a7a7d814a3d2a76601af59bf167b40ee
Cherry-picked-from: @283570de4da2c4d12f02c069fe1417579f0841b1
Cherry-picked-from: @0976317f960f8627f53a073235f6481781d7a7c8
Cherry-picked-from: @23cd997526098d95dc62171f271b6cf1f64eeee1
Cherry-picked-from: @6d4241cbd940e2a7173f09632a03c6fec1b1a4d0
Cherry-picked-from: @95eaa087811ce691adc5624170b26e4fac2f5734
Cherry-picked-from: @77a35025e86d0d07304a2e2e74e378b31c1f1e27
Cherry-picked-from: @c2e41c57c9d2a92919318d220adad8cbf5e0dd45
Cherry-picked-from: @6bcf89b09bc9ddcfdf03ce81cb0ff61dfa95b52b
Cherry-picked-from: @67746a12de1b2ce5a7c88f8558fa4ab9e687dc49
Cherry-picked-from: @8ba1b6eff19b31f24c81a52b90966cca689c4e8b
Cherry-picked-from: @0ff184397da86a64f613e96f62935428706925c9
Cherry-picked-from: @b205de6154e06360268726dd0745b0bb074cfde2
Cherry-picked-from: @d30dc28b8c9a48bfd12e32d772dcaab8b63be3c1
Cherry-picked-from: @0687e04760218fa4d6bf06c35b60786a1834d374
Cherry-picked-from: @c2d9386796635970b373ef83528625528f49cb2f
Cherry-picked-from: @e9e8b819399f05bb8e56359d8389bd8cf1737023
Cherry-picked-from: @bc9b35d6ceb84ab223c0c2b20726c7fd5e3d9c71
Cherry-picked-from: @3b582f1d54ea8949d8a0ecd0dc37642241e53216
Cherry-picked-from: @8bf64f219a5d48f9f34825c9cb95579400920585
Cherry-picked-from: @466cc816a828b684d43dbd4f9a11f6f12560e4fb
Cherry-picked-from: @bfeea5d23fc6516cdc376c6b5be442d39b0ae70b
Cherry-picked-from: @936607ca221a2f0c37ad976ddefcd39596f54793
Cherry-picked-from: @ac88a39accdf915c412a0f6904425989a24bc885
Cherry-picked-from: @f50fc2966b5c67053bcc9d95d1ec1ca0498499c2
Cherry-picked-from: @59bc3c66300ba93a71b4220146e7135950387770
Cherry-picked-from: @3508b4821bd699ca59cf7ac54dcb23c5d2964b17
Cherry-picked-from: @309162f9a26a4516233f2f68e7a51365965ffea6
Cherry-picked-from: @208b636414a97e0d0ee191012c0594bab800de45
Cherry-picked-from: @d340ea92d1c3f225e3cc0560b53050dda8af0bd5
Cherry-picked-from: @048e25c2b21d56962c482ea63f7fe78795194609
Cherry-picked-from: @bda63c3c7f1af986eb6c264c7736c9d514ee26c4
Cherry-picked-from: @aca216bfcfb28687fae55878851474dce598529d
Cherry-picked-from: @c2eb12bbc5421ed5ce057175b48418356f97e8ea
Cherry-picked-from: @6d0547dc2eab12f01e2775c382958c4232cb28f2
Cherry-picked-from: @568b0a22bb02ba3caa269ed210a3ef4719df1176
Cherry-picked-from: @450d49ea5271cbba587f2a8b287af3b25d99997b
Cherry-picked-from: @3495563cfe89ab36e72d022ed4e3678c453c0b1e
Cherry-picked-from: @9d403fd4154ff4eb34aed3e91b4650c8797e65ff
Cherry-picked-from: @5296147c20954607e8336191035de7ff2f51e571
Cherry-picked-from: @8306eabf85ea0c08e02fb0e45c697e22e77dd8c6
Cherry-picked-from: @45b74fb56c45dfe40586d6763adf03a021eb09d2
Cherry-picked-from: @d1a59557b517a93ac40b1892e541d383a604ab83
Cherry-picked-from: @cf9db91b611c79e71281f226a401e51931d6643b
Cherry-picked-from: @382287026b55e787d28f19d762380344c9f4408d
Cherry-picked-from: @da4fec664121b8ca443a3d72d19a6a1c9200204f
Cherry-picked-from: @96e4975922de172ddac985fcd3bfdeaf13cc16ae
Cherry-picked-from: @989ee21b2414a574164d9871215cf32089edf7a7
Cherry-picked-from: @705c6a422dfc75463cedc2f51d1a46cd2384d8b7
Cherry-picked-from: @f0eb67923cd74b9278b408e868b80b0db40a23e9
Cherry-picked-from: @93c44e3dad3ef0f4bcfe1f44872cac197a0baae3
Cherry-picked-from: @e42c4f45134cd4f7325296e0234daae3611d3f56
Cherry-picked-from: @391f9430cadd95a8b458f475caf2f53a5102950b
Cherry-picked-from: @e74666cd0af0ddfb14970c81dcf2d7b470336be6
Cherry-picked-from: @731f1aa9062a31f11f6bf79cafb17c2dc3794a4a
Cherry-picked-from: @de49a8b72c12e89170f36143ac30aaa4e938aafc
Cherry-picked-from: @9432a8bb3f42f50ed7e9988388c1b120ed63a680
Cherry-picked-from: @25c2facc2b93432a597b98da7db5a3ebdcb6ce2a
Cherry-picked-from: @17201747579c27669ef0009c069d7cc9f9de7df0
Cherry-picked-from: @5decb00e9d2ae36c948e4cc83e42957e83108950
Cherry-picked-from: @6b8748989061c1d3405002e67004cd7574042717
Cherry-picked-from: @9f0a64f855439979abd79a6e9e52d171c994482f
Cherry-picked-from: @8e412bad0ebe41264dc4cf169b1fdd8453f6b000
Cherry-picked-from: @8a6cd808a138ea73e53b7498bc3fd5dcfd565a7a
Cherry-picked-from: @d648dd7643dc1232cc1a9071391fad0587097ca8
Cherry-picked-from: @5a659b0b61dbfa1645fdfa28bf9bffee03a8c9bc
Cherry-picked-from: @c0cba7fb72ea7490b89ab194041287bea4017f3e
Cherry-picked-from: @b48291e01eca26a5b04ea1d6219c13b4437c3ead
Cherry-picked-from: @4790e40ac67c98f439f2418cffee6dfea6c78c94
Cherry-picked-from: @c9a6c542ef7ae9350fd79e20a7e6642b5ce4d604
Cherry-picked-from: @de4c3db3e38a14d90d8ce3730e6ef83a1b79881e
Cherry-picked-from: @64746c150c4d721fe30dc301073ea5a1ba83f4de
Cherry-picked-from: @56f787e3c0ac4a42d6d644e3aff3c313377487b6
Cherry-picked-from: @531e8362b1bdd69109b2e47b9604ff329edf70b5
Cherry-picked-from: @3c3474360be81d53652f9f4f93bfbe5d72a80ddc
Cherry-picked-from: @0669b0ddc265742009195eb9f1e9b6e93efb8c02
Cherry-picked-from: @0c7f07818f0eec0f4c527233019fd0d504d09804
Cherry-picked-from: @4aebff78bc32b9ed15e4889510c8285507bda6d7
Cherry-picked-from: @8e3f3bc3cf4744e38442d177573f706b78fbc0c5
Cherry-picked-from: @30340d6835c02bacb31c89ee3dd66b4e02456635
Cherry-picked-from: @d346f2d9ce6d2aefa18b0f8fc4fa90507a456b65
Cherry-picked-from: @e6e4169e82536d9298002cd58a5f34d0a34c3be8
Cherry-picked-from: @1bc59cc09df21d65e817791eaec58ebd707d6e50
Cherry-picked-from: @ef95975411a9a53084c91f6a123759eb42fb032c
Cherry-picked-from: @5f90883ad378920249160fe2d9c610c362be765c
Cherry-picked-from: @2b2e5e203823a9ad9a31aaf47b170c92b1d0467e
Cherry-picked-from: @0bcddb3d4f093a25d616e5f82a37b7c7d7cb038e
Cherry-picked-from: @d86647d7dbcbde03f549490450f148d159785161
Cherry-picked-from: @87d939be793675952d50de4722b8f5ee6434d001
Cherry-picked-from: @d4e59a3666d810f9574392c70abb942e0c3b0dd8
Cherry-picked-from: @7b88249c9e03b9a7eeaa45630c1867ca78f0b885
Cherry-picked-from: @12702e11a50abac5e96956ee8743064494e240d1
Cherry-picked-from: @14bbcad1695de811e37faea9ed445a6a5684265f
Cherry-picked-from: @eab39c721b48045c96a80fe4d80955cd9ed3fb0e
Cherry-picked-from: @4815dc0603df5b83da5fada5d1944ee750ac4bad
Cherry-picked-from: @2cce45962f9c11f5cc399d8e5555f4de4dc61141
Cherry-picked-from: @258b7902a43570330a5d0c434becea41f31dcc6a
Cherry-picked-from: @425bd89b48dd4c01966b1633943717b2d9896a7f
Cherry-picked-from: @54be30ef89f50d8811e67158bb860f020ae7a86f
Cherry-picked-from: @fbf5d56366ba1dcf01e63c18cc3a4231212b9504
Cherry-picked-from: @98ea71aca584bf055aaf10dcb5e89d3bbcdb3126
Cherry-picked-from: @51bae75120485d305b0bac00d59a2d80280590c2
Cherry-picked-from: @f2f561fab1bf3808baed61ebdd55ec3bfe3c8b65
Cherry-picked-from: @f6d0712f508b1f926ad6fc42f7d07b1a60e62730
Cherry-picked-from: @6c579d7842b537115d1354765dc945f894ebf899
Cherry-picked-from: @f9706fde6aee29c2523b7258f3c84fba7000705c
Cherry-picked-from: @7217b9765833f4e9bc1c7b6c10218be8f9ad9e50
Cherry-picked-from: @ce9e91fdfcc89ce16934f70c63380d3adb05cff2
@alexey-pelykh alexey-pelykh merged commit 5809662 into main Apr 17, 2026
12 checks passed
@alexey-pelykh alexey-pelykh deleted the fork-sync-v2026.3.11 branch April 17, 2026 13:28
alexey-pelykh added a commit that referenced this pull request Apr 17, 2026
Fork owns remoteclaw.org, not remoteclaw.ai. PR #2379 cleaned up
docs.remoteclaw.ai references; this picks up the long tail:
production code (website const, onboarding messages, Swift share-self-test
URL, docker OCI label), docs (install scripts, trust page, security
emails, FAQ, fastlane privacy/marketing/support URLs), and test
fixtures ($schema URL, team email, OSC-8 hyperlink).

21 files, symmetric 37 insertions / 37 deletions (pure TLD swap).

Verified endpoints resolve on .org:
- remoteclaw.org/install.sh, install.ps1 → 200
- docs.remoteclaw.org/platforms/ios/ → 200

Aspirational .org subdomains (trust.remoteclaw.org, /showcase,
/privacy, /share-self-test, /config.json) match fork's established
SECURITY.md convention — pages to be stood up separately.

Follow-up: #2385 tracks a regression-prevention CI gate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
alexey-pelykh added a commit that referenced this pull request Apr 17, 2026
Fork owns remoteclaw.org, not remoteclaw.ai. PR #2379 cleaned up
docs.remoteclaw.ai references; this picks up the long tail:
production code (website const, onboarding messages, Swift share-self-test
URL, docker OCI label), docs (install scripts, trust page, security
emails, FAQ, fastlane privacy/marketing/support URLs), and test
fixtures ($schema URL, team email, OSC-8 hyperlink).

21 files, symmetric 37 insertions / 37 deletions (pure TLD swap).

Verified endpoints resolve on .org:
- remoteclaw.org/install.sh, install.ps1 → 200
- docs.remoteclaw.org/platforms/ios/ → 200

Aspirational .org subdomains (trust.remoteclaw.org, /showcase,
/privacy, /share-self-test, /config.json) match fork's established
SECURITY.md convention — pages to be stood up separately.

Follow-up: #2385 tracks a regression-prevention CI gate.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
alexey-pelykh added a commit that referenced this pull request Apr 17, 2026
Ports 13 @test functions from upstream commit 061b825 ("macOS: add
chat model selector and persist thinking") that were skipped during
the fork sync in #2379. Issue #2381 states "9 tests" but the actual
v2026.3.8..v2026.3.11 cycle delta is 13 — verified via git log.

Ten model-selection tests cover: bootstrap, default patch, provider-
qualified disambiguation, provider-qualified slash IDs, stale patch
race, send-waits-for-patch, failed-latest replay, failed-latest
restore, session-switch late patch, cross-session replay isolation.

Three thinking-level tests cover: explicit level persistence, server-
provided levels outside menu, stale patch replay.

Decision on contextTokens: adapt tests to omit. Fork gutted the field
in #2277 — extending types would revert that deliberate decision.

Helper infrastructure ported: 14 private helpers (functions, actors,
classes). TestChatTransport extended with modelResponses + optional
hook params (backward-compatible) and new async query methods.
Existing 11 tests preserved verbatim.

Local compile blocked by pre-existing symbol references in
RemoteClawKit/GatewayChannel.swift (see #2388). Fork CI has no Swift
jobs so this state also pre-exists and is orthogonal to this change.

Closes #2381.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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