Uh oh!
There was an error while loading. Please reload this page.
feat(runtime-host): complete M5 production cutover - #2420
Merged
Conversation
M4n5terforce-pushed
the
feat/runtime-host-m5-cutover
branch
2 times, most recently
from
August 7, 2026 13:47
749c03c to
11484efCompareM4n5terforce-pushed
the
feat/runtime-host-m5-cutover
branch
from
August 7, 2026 14:03
11484ef to
6c7ac7cCompare…cutover # Conflicts: # apps/desktop/src/main/subscription-model-fetch.ts # packages/core/src/index.ts
M4n5ter
marked this pull request as ready for review
August 8, 2026 14:16
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 8, 2026
4 tasks
ARE404 added a commit
to ARE404/maka-agent
that referenced
this pull request
Aug 10, 2026
…had it Reshaped on review: composition leaves `SessionTrace` entirely and lands on `context.diagnostics.query`, the typed owner of "what is the context made of" that `/context` (apache#1580) already consumes. The rebase is what forced the question. apache#2420 deleted the embedded inspector read this branch had wired, leaving only the Host's `ExecutionInspectCoordinator` — and that path is budgeted (4096 records / 512 KiB per session trace, exceeding it throws). Measured against a real capture, the events carrying segments are 15.7 KiB per attempt: 30 attempts is 92% of that budget and 60 is 184%. Reading them there would not have added a breakdown to the Inspector, it would have turned a working Inspector into "stop the Host to inspect it offline". What this removes: - `PromptComposition` and its validators from the core trace contract - the `promptCompositions` input, map and per-attempt join in `projectSessionTrace` - any composition-specific evidence read What it repairs in the path it moves to, both pre-existing: - `readLatestContextDiagnostics` was an O(session ledger) scan on every call. Both ledger types are now latest-of-type projections, so a warm read is O(1) and the scan is a cold path that repairs the projection on its way out. Append-time projection maintenance is skipped for subagent runs — a subagent's request is real, but presenting it as the SESSION's context attributes one agent's prompt to another. - It read only the best-effort capture, so a missing latest capture silently promoted an OLDER request to "current". The durable `ModelCallAttempt` is now the anchor and the capture must match it by `attemptId`: a request either explains itself or reports nothing. Bytes cross the wire; `bytes / 4` does not. The Host reports measured bytes and each surface makes its own labelled `≈` estimate — the CLI in `/context`, the panel in its composition block — so one rule lives at one layer and neither can present an estimate as a reported number (apache#1679). Also closes the review follow-ups: the section no longer disappears when a call reports no `contextWindow` (it never depended on the bar's attempt), a capture -> JSON -> decode round-trip covers the seam every hand-written fixture agreed with itself about, the unrendered `totalBytes` pass-through is gone, a zero-byte part is dropped rather than shown as `≈0`, and `unrecorded` has a story.
ARE404 added a commit
to ARE404/maka-agent
that referenced
this pull request
Aug 11, 2026
…had it Reshaped on review: composition leaves `SessionTrace` entirely and lands on `context.diagnostics.query`, the typed owner of "what is the context made of" that `/context` (apache#1580) already consumes. The rebase is what forced the question. apache#2420 deleted the embedded inspector read this branch had wired, leaving only the Host's `ExecutionInspectCoordinator` — and that path is budgeted (4096 records / 512 KiB per session trace, exceeding it throws). Measured against a real capture, the events carrying segments are 15.7 KiB per attempt: 30 attempts is 92% of that budget and 60 is 184%. Reading them there would not have added a breakdown to the Inspector, it would have turned a working Inspector into "stop the Host to inspect it offline". What this removes: - `PromptComposition` and its validators from the core trace contract - the `promptCompositions` input, map and per-attempt join in `projectSessionTrace` - any composition-specific evidence read What it repairs in the path it moves to, both pre-existing: - `readLatestContextDiagnostics` was an O(session ledger) scan on every call. Both ledger types are now latest-of-type projections, so a warm read is O(1) and the scan is a cold path that repairs the projection on its way out. Append-time projection maintenance is skipped for subagent runs — a subagent's request is real, but presenting it as the SESSION's context attributes one agent's prompt to another. - It read only the best-effort capture, so a missing latest capture silently promoted an OLDER request to "current". The durable `ModelCallAttempt` is now the anchor and the capture must match it by `attemptId`: a request either explains itself or reports nothing. Bytes cross the wire; `bytes / 4` does not. The Host reports measured bytes and each surface makes its own labelled `≈` estimate — the CLI in `/context`, the panel in its composition block — so one rule lives at one layer and neither can present an estimate as a reported number (apache#1679). Also closes the review follow-ups: the section no longer disappears when a call reports no `contextWindow` (it never depended on the bar's attempt), a capture -> JSON -> decode round-trip covers the seam every hand-written fixture agreed with itself about, the unrendered `totalBytes` pass-through is gone, a zero-byte part is dropped rather than shown as `≈0`, and `unrecorded` has a story.
ARE404 added a commit
to ARE404/maka-agent
that referenced
this pull request
Aug 11, 2026
…had it Reshaped on review: composition leaves `SessionTrace` entirely and lands on `context.diagnostics.query`, the typed owner of "what is the context made of" that `/context` (apache#1580) already consumes. The rebase is what forced the question. apache#2420 deleted the embedded inspector read this branch had wired, leaving only the Host's `ExecutionInspectCoordinator` — and that path is budgeted (4096 records / 512 KiB per session trace, exceeding it throws). Measured against a real capture, the events carrying segments are 15.7 KiB per attempt: 30 attempts is 92% of that budget and 60 is 184%. Reading them there would not have added a breakdown to the Inspector, it would have turned a working Inspector into "stop the Host to inspect it offline". What this removes: - `PromptComposition` and its validators from the core trace contract - the `promptCompositions` input, map and per-attempt join in `projectSessionTrace` - any composition-specific evidence read What it repairs in the path it moves to, both pre-existing: - `readLatestContextDiagnostics` was an O(session ledger) scan on every call. Both ledger types are now latest-of-type projections, so a warm read is O(1) and the scan is a cold path that repairs the projection on its way out. Append-time projection maintenance is skipped for subagent runs — a subagent's request is real, but presenting it as the SESSION's context attributes one agent's prompt to another. - It read only the best-effort capture, so a missing latest capture silently promoted an OLDER request to "current". The durable `ModelCallAttempt` is now the anchor and the capture must match it by `attemptId`: a request either explains itself or reports nothing. Bytes cross the wire; `bytes / 4` does not. The Host reports measured bytes and each surface makes its own labelled `≈` estimate — the CLI in `/context`, the panel in its composition block — so one rule lives at one layer and neither can present an estimate as a reported number (apache#1679). Also closes the review follow-ups: the section no longer disappears when a call reports no `contextWindow` (it never depended on the bar's attempt), a capture -> JSON -> decode round-trip covers the seam every hand-written fixture agreed with itself about, the unrendered `totalBytes` pass-through is gone, a zero-byte part is dropped rather than shown as `≈0`, and `unrecorded` has a story.
sunheyi6 added a commit
to sunheyi6/maka-agent
that referenced
this pull request
Aug 13, 2026
Resolves the PR conflict against the 247-commit mainline drift. Mainline has since shipped the canonical Host submit/steering authority (turn.message.submit via submitMessage, apache#2420) and a reworked steering projection model (pendingSteering/leadingSteering); the PR's desktop routing layer and steer rendering are superseded by it. This merge keeps only what remains PR-specific on top of mainline: - composer mid-turn queue strip (bound per-entry staged context, P2-1) - optimistic arm rebind to the Host-named turn id (P2-2) - optimistic steering rollback adapted to pendingSteering - queue copy keys ported into the mainline conversation-copy - compose with upstream's deep-path @maka/core imports
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
English
Summary
maka run, activation, and BotThis cutover changes 421 files, adds 11,838 lines, and removes 36,858 lines. Most of the deletion is obsolete ownership, compatibility, and test scaffolding that no longer exists after the atomic switch.
Ownership boundaries
Validation
Implements #853. M4 tracker #2010 was completed by #2419. Fixes#2439.
简体中文
概要
maka run、activation 与 Bot 的唯一 production Interactive owner本次切换涉及 421 个文件,新增 11,838 行,删除 36,858 行。删除内容主要是原子切换后不再存在的旧 ownership、compatibility 与测试脚手架。
Ownership 边界
验证
实现 #853。M4 tracker #2010 已由 #2419 完成。修复 #2439。