Skip to content

Merge upstream/main (ae65651, 17 commits) — en attente du fix upstream, NE PAS MERGER - #14

Merged
tournierjc merged 20 commits into
mainfrom
sync/upstream-29addf7
Sep 21, 2026
Merged

tournierjc merged 20 commits into
mainfrom
sync/upstream-29addf7

Conversation

@tournierjc

@tournierjc tournierjc commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Upstream sync: ae65651 (17 commits cumules, 2026-09-21) — ROLLING

Merges upstream/main@ae65651 (HEAD amont du 21/09, tag v0.5.1) dans la branche de sync. Cette PR remplace la version 29addf7 : elle contient les 8 commits precedents plus les 9 nouveaux. Chaque commit a ete passe au crible telemetry/egress (diff complet des lignes ajoutees).

Commits upstream integres

Lot precedent (deja revue, 8 commits, 29addf7 et descendants directs) :

SHA Subject Verdict
bcdd606 Fix Zhipu coding-plan base URLs / token counter (MiniMax-AI#260) accepted — routage tokenizer
3c5d18f preserve unframed multiline terminal paste chunks (MiniMax-AI#268) accepted — stdin/paste
bfe0829 align welcome login prompts with provider access (MiniMax-AI#269) accepted — TUI only
a6d29fc scope CLI session title review to managed providers (MiniMax-AI#270) accepted — politique locale
c89aa1b clarify Z.AI plan presets, allow endpoint retries (MiniMax-AI#272) accepted — presets onboarding
ff415b1 preserve IME cursor across Windows terminal rendering (MiniMax-AI#271) accepted — renderer
89c930a rebuild changed TUI scrollback after queued turns (MiniMax-AI#274) accepted — engine
29addf7 open BTW from complete persisted history (MiniMax-AI#276) accepted — diagnostics LOCAL only

Nouveau lot (9 commits, 21/09) :

SHA Subject Verdict
b896876 docs: authenticated project MCP setup (MiniMax-AI#285) accepted — docs, seule URL mcp.example.com (fixture)
e979292 fix(ci): stabilize the performance gate (MiniMax-AI#280) accepted — CI only, example.invalid
995bf6a fix(local-runtime): insert memory edit replacements literally (MiniMax-AI#286) accepted — pas d'URL externe
2b2f242 chore: bump MiniMax Code to 0.5.1 (MiniMax-AI#279) accepted — bump version
432005c fix(config): Windows config writes + safe preset sync (MiniMax-AI#290) accepted — agent.minimax.io uniquement dans une constante de test (managed-preset-sync.test.ts), zero host sortant dans le code src ; le correctif durcit l'ecriture config (troncature apres fchmod)
4357fe4 fix(storage): retry contended message writes (MiniMax-AI#287) accepted — 127.0.0.1 (test local)
c8babc7 perf: reduce hashing/query overhead in history (MiniMax-AI#277) accepted — perf locale
35f73f7 perf: reuse immutable history, reduce runtime loading (MiniMax-AI#281) accepted — perf locale
ae65651 fix(tui): resolve Windows attachment paths in WSL (MiniMax-AI#296) accepted — paths WSL

Frontieres du fork preservees (non revertees par le merge)

  • Telemetry amont reste hors : docs/telemetry.md, packages/config/src/telemetry-policy.ts, packages/tui/src/analytics/*, packages/tui/src/cli/telemetry-command.ts, packages/tui/src/observability/incident-reporter.ts, packages/local-runtime/src/error-reporting/* — verifies absents de l'arbre de branche.
  • Egress guard default-deny + tests + scripts/check-egress-guard.mjs + docs/egress-policy.md presents et intacts (diff vide vs main).
  • README.md/SECURITY.md cote fork non touches ; entrees vitest telemetry-privacy retirees conservees (04f8019).

Conflits / resolutions

  • Merge 21/09 (ae65651 par-dessus la branche) : aucun conflit — merge propre, release/public-source.json et test/vitest-suites.json reconcilies automatiquement et verifie par node scripts/source-inventory.mjs (4223 files, OK).

Gates (APRES merge, branche finale)

  • node scripts/source-inventory.mjs : OK (exit 0)
  • node scripts/build.mjs : OK (0.5.1, 6355 source files)
  • pnpm typecheck (tsconfig.standalone) : exit 0
  • node --test test/smoke.test.mjs : 20 pass / 0 fail / 1 skip
  • pnpm test:byok : 3 pass / 0 fail (incl. nouveau test sqlite contention)
  • vitest --config vitest.oss.config.mjs : copilot service-input + egress-guard 24/24 ; provider-presets + onboarding + observability + managed-preset-sync + private-config-file 80/80

⚠️ EN ATTENTE DU FIX UPSTREAM — NE PAS MERGER

Hold decision JC 20/09 : la PR reste ouverte, la branche n'est pas mergee dans main, tant que le fix upstream (re-integration telemetry / suppression des fichiers securite du fork) n'est pas confirme.

yujiachen-y and others added 20 commits September 21, 2026 10:21
…ses token counter (MiniMax-AI#260)

Z.AI / Zhipu coding-plan base URLs (/api/coding/paas/v4) were not claimed
by the Zhipu tokenizer adapter, so they fell through to generic-responses,
which appended /v1 to the already-versioned path and POSTed to a
non-existent /api/coding/paas/v4/v1/responses/input_tokens (guaranteed 404,
silently degrading the token estimate to the BPE fallback).

- Claim the coding-plan paths in ZHIPU_PATHS and derive the tokenizer
  endpoint from the plan root instead of hardcoding the general-plan path,
  so coding-plan keys hit /api/coding/paas/v4/tokenizer and fail classified
  (cached as unsupported) until Zhipu enables the endpoint for that plan.
- Stop appending /v1 in buildResponsesInputTokensUrl when the base URL
  already ends in a version segment (/v<digits>), fixing the doubled
  version for any versioned OpenAI-compatible gateway.
- Add routing and URL-construction tests, register them in the capability
  suite, and refresh the source inventory.

Fixes MiniMax-AI#258
Select and pin a settled history prefix for temporary side conversations, retaining completed tool results and excluding unfinished tool groups. Record bounded local diagnostics and cover the production history-copy path.

Assisted-by: codex-cli reason:btw-public-source-sync
All 8 upstream commits accepted after full-diff telemetry review:
- bcdd606 tokenizer routing for Zhipu coding-plan URLs (MiniMax-AI#260)
- 3c5d18f multiline terminal paste chunks (MiniMax-AI#268)
- bfe0829 welcome login prompts (MiniMax-AI#269)
- a6d29fc session title review scoping (MiniMax-AI#270)
- c89aa1b Z.AI plan presets + endpoint retries (MiniMax-AI#272)
- ff415b1 IME cursor on Windows (MiniMax-AI#271)
- 89c930a TUI scrollback rebuild after queued turns (MiniMax-AI#274)
- 29addf7 BTW from persisted history (MiniMax-AI#276)

Fork boundaries preserved: upstream's deletion of egress guard, copilot
auth and provider-credentials files reverted; docs/telemetry.md,
packages/tui/src/analytics/, error-reporting/, telemetry-policy.ts,
telemetry-command.ts and incident-reporter.ts (retired paths) stay out;
docs/telemetry.md + docs/harness-integration.md restored; README/SECURITY
wording untouched; provider presets keep OpenRouter pinned in both
regions.
The merge accidentally kept upstream's vitest registrations for
modules retired in this fork (business-telemetry, error-reporting,
metrics-telemetry, incident-reporter privacy tests); check:source on
CI flagged them as missing registered files. Local run of
scripts/source-inventory.mjs passes after removal.
…iMax-AI#280)

* fix(ci): stabilize the performance gate with paired confirmation

Replace the single-outlier-sensitive max/min spread verdict with a
two-stage paired policy: three alternating pairs settle a scenario only
when every metric is within budget and stable, and up to two additional
confirmation pairs decide the rest. A regression must exceed the budget
by median and reproduce in at least four of five pairs, so one corrupted
sample can neither create nor veto it; a pass tolerates one extreme
sample per revision when measuring spread. INCONCLUSIVE still exits 2
locally, but the workflow now reports it as a warning annotation without
failing the required check, so persistent hosted-runner noise stops
blocking unrelated pull requests while confirmed regressions and
execution errors keep failing.

* fix(ci): validate paired performance budgets
…x-AI#286)

applyEdit used String.prototype.replace on the single-match path, which expands
$&, $$, $` and $' inside a string replacement value. A memory edit whose
new_string contained those sequences was silently rewritten instead of inserted:
"$&" put the matched text back in place of the replacement, and "$$" collapsed
to a single "$". Main and topic memory both go through this helper.

Both paths now insert new_string literally. The replaceAll=false path is already
guarded to exactly one match, so the replacement count and the OLD_STRING_*
error codes are unchanged.

Refs: MiniMax-AI#283
Assisted-by: mavis reason:github-issue-283-memory-edit-literal

Co-authored-by: libai <likewei@minimaxi.com>
…Max-AI#290)

Use writable non-append handles while preserving permission hardening before truncation. Tolerate optional preset synchronization failures only when the original config remains intact.

Assisted-by: codex-cli reason:windows-config-write-compatibility
MiniMax-AI#287)

* fix(storage): retry message write lock acquisition without replaying mutations

* fix(storage): preserve aborted turn settlement when cancelling lock waits

* fix(storage): preserve uncontended tool completion writes after cancellation
…x-AI#277)

* perf: batch semantic hashing and stream history revisions

* perf: reuse prepared queries for streaming turn lookups

* perf: retain owned history across the durable store boundary
)

* perf: reduce identity framing and repeated repository query work

* perf: reuse validated immutable history rows by exact file content

* fix: detach cached history text from whole file strings

* perf: reuse verified file prefixes across history and index reads

* perf: reuse validation and revisions of owned history snapshots

* perf: compare history bytes before decoding appended records

* perf: load pi runtime APIs through focused package exports

* perf: share unchanged immutable messages between history snapshots

* perf: compact bundled source to reduce module loading allocations

* fix: keep precise release audit matches after whitespace minification
@tournierjc tournierjc changed the title Merge upstream/main (29addf7, 8 commits) Merge upstream/main (ae65651, 17 commits) — en attente du fix upstream, NE PAS MERGER Sep 21, 2026
@tournierjc
tournierjc merged commit ce2116c into main Sep 21, 2026
17 checks passed
@tournierjc
tournierjc deleted the sync/upstream-29addf7 branch September 22, 2026 08:19
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.

7 participants