Skip to content

merge: upstream c08148e (TPS timing, empty OpenAI tools, stable regular-mode history) - #108

Merged
tournierjc merged 3 commits into
mainfrom
merge/upstream-c08148e
Oct 1, 2026
Merged

tournierjc merged 3 commits into
mainfrom
merge/upstream-c08148e

Conversation

@tournierjc

@tournierjc tournierjc commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Sync amont c08148e (MiniMax-AI/minimax-code)

Port des commits amont postérieurs à e77c763 sur main b9b9c61. La branche merge/upstream-e77c763 n'est pas rebasée : son arbre est identique au squash #105 (3f17f32), et rejouer ses 32 commits déjà fusionnés serait un doublon. Cette PR part de main et ne contient que le delta nouveau.

Commits amont intégrés (3)

  • 8f114d9f fix: include hidden thinking in TPS timing (fix: include hidden thinking in TPS timing MiniMax-AI/minimax-code#413) — pris. Le début de génération inclut thinking_start, y compris quand le texte de réflexion est masqué, pour que le débit affiché suive l'usage de sortie. Le test NTFS Windows passe à 30 s (PowerShell/CIM) sans restaurer les tests de mise à jour McodeUpdateService retirés du fork.
  • bf3916f5 fix: omit empty tools from OpenAI compaction requests (fix: omit empty tools from OpenAI compaction requests MiniMax-AI/minimax-code#199) — pris. Les requêtes de compaction OpenAI-compatibles n'envoient plus tools: [] quand aucune définition d'outil n'est fournie. Les définitions non vides restent inchangées. Couverture : fixture HTTP locale dans compaction-openai-transport.integration.test.ts (pas d'appel fournisseur réel).
  • c08148e6 fix(tui): keep regular-mode history stable during live runs (fix(tui): keep regular-mode history stable during live runs MiniMax-AI/minimax-code#416) — pris. En mode regular, seules les lignes finales entrent dans le scrollback natif (étapes terminées, blocs Markdown déjà commités, bannière d'accueil statique). Les lignes encore mutables restent à l'écran, avec l'avis ↑ N more lines above · still updating si elles dépassent. Un arrêt de run ne marque plus le prompt déjà livré comme annulé. Les longues sessions tronquent les lignes finales loin au-dessus de l'écran (takeDiscardedRows) au lieu de réécrire l'historique.

Déjà sur main (ne pas réappliquer)

Absorbés par #105 (e77c763) et les syncs précédents (#80, #94, #96, #98) :

Ignorés (version / release)

Le fork reste kinetick-code / @mavis/code en 0.6.9. Aucun bump de version.

Adaptations fork

  • Accueil : KCode et KCODE_WELCOME_DESIGN conservés. La bannière de conversation est statique (pas de statut live dans le scrollback) ; les avis de compte restent au-dessus du Composer.
  • Le rendu Markdown des prompts utilisateur du fork est conservé (view.ts ne revient pas au texte littéral amont).
  • LOCAL_CHANGES : le comportement amont est enregistré en L048 (lignes Markdown commitées) et L049 (rejet des lignes finales déjà dans l'historique). L045–L047 restent les entrées fork existantes.
  • docs/tui-capabilities.md : le nouveau paragraphe dit « Kinetick Code », pas MCode.
  • Télémétrie : aucun docs/telemetry.md, requireTelemetry ou createTuiBusinessEventTracker réintroduit.
  • release/public-source.json et test/vitest-suites.json incluent le nouveau test d'intégration compaction. pnpm check:source : 4355 fichiers.

Change

Le débit de tokens compte la réflexion masquée, la compaction OpenAI n'envoie plus un tableau tools vide, et le mode regular du TUI n'écrit dans le scrollback natif que les lignes qui ne changeront plus.

  • PR labels: non appliqués ici (sync amont).

Validation

  • Checks run and results:
    • pnpm verify (profil full) PASS — 15/15 gates sur 7538db3, Linux, Node.js 24.21.0, pnpm 9.12.0.
      • check:source PASS (4355 fichiers)
      • check:tsconfig PASS (130 exports)
      • export source preview PASS
      • test:release-tools PASS
      • lint:tui PASS
      • typecheck PASS
      • build PASS
      • check:standalone PASS
      • check:egress PASS
      • test:artifact PASS
      • test:capabilities PASS (230 fichiers)
      • test:status-contract PASS
      • test:smoke PASS
      • test:byok PASS
      • test:policy PASS (142)
    • GitHub CI sur 7538db3 (run 36825163117) : verify (ubuntu-latest, 24) PASS et verify (macos-latest, 24) PASS. Le job agrégé verification est vert.
  • Performance: basic. Le workflow Performance de la PR est vert (run 36825163021). Le changement mesure un débit déjà affiché et décide quelles lignes de terminal sont finales. Il ne modifie pas l'estimation de tokens, le stockage de session ni la boucle d'exécution d'outils.
  • NOT RUN localement : test:windows, test:sandbox (macOS) et test:release-package (archive npm). Pas d'appel fournisseur réel. Les fixtures HTTP de compaction ne valident pas LiteLLM, vLLM, OpenAI ou un proxy Anthropic en production.

Publication and contribution checks

  • I have permission to contribute these changes under the existing licenses applicable to the changed files/packages; imported material and its provenance are identified and existing notices are preserved.
  • No credentials, account data, real user content, internal source history or private review material is included.
  • Added/removed source files were reviewed before regenerating release/public-source.json; new tests are declared in test/vitest-suites.json where applicable.
  • Shared English/Chinese documentation and capability/verification records are updated where applicable. Mock/offline results are not described as live-service acceptance.

Maintainer handoff

Publication scope or license changes (if any): none.

Shared-source port: this PR is the reviewed fork port of upstream 8f114d9f, bf3916f5 and c08148e6. Version bumps 2aed5ca7, e3d78551, c8a39a5a and e77c7630 are intentionally not ported. Earlier commits through e77c763 are already on main via #105.

Open in Web Open in Cursor 

SaladDay and others added 3 commits October 1, 2026 06:25
* fix: include hidden thinking in TPS timing

* docs: note thinking_start in first token timing comment

* test(windows): allow the NTFS source check to exceed the default timeout

---------

Co-authored-by: hetaoBackend <hetao7@pku.edu.cn>
* fix: omit empty tools on OpenAI compaction requests

* fix: negotiate missing tools with bounded compatibility recovery

* fix: simplify empty tools handling to omit absent definitions
…AI#416)

Regular mode wrote rows into native scrollback as soon as they scrolled
off screen. When such a row later changed (a parallel tool finishing, a
streamed table widening, a list turning loose, a turn growing past the
projection fold, the welcome status badge flipping, or a stopped prompt
gaining its cancelled marker), the renderer cleared scrollback and
replayed the whole session from the welcome logo.

Only final rows now reach native history:

- The transcript reports how many leading rows later updates cannot
  change, including the committed blocks of a streaming Markdown reply.
- The chat layout keeps rows that may still change within one screen
  above the footer, showing their latest rows under a one-line notice
  when they do not fit.
- The regular-mode projection only appends; established turns are not
  re-folded or dropped.
- The welcome banner above a conversation is static; account notices
  that need action appear above the Composer.
- Stopping a run no longer marks its delivered prompt as cancelled; the
  marker stays reserved for prompts returned to the Composer.

To keep long sessions responsive, the transcript drops final rows far
above the screen and the engine rebases its retained state
(takeDiscardedRows) instead of rewriting history.

Co-authored-by: tournierjc <tournierjc@users.noreply.github.com>
@tournierjc
tournierjc merged commit 7b5dee8 into main Oct 1, 2026
7 checks passed
@tournierjc
tournierjc deleted the merge/upstream-c08148e branch October 1, 2026 06:45
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.

3 participants