fix: repair post-merge storage and Runtime Host contracts - #3796

Merged
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence
Aug 25, 2026
Merged

fix: repair post-merge storage and Runtime Host contracts#3796
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence

Conversation

@liugddx

@liugddxliugddx commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Repair two independent post-merge regressions that currently form a required-CI bootstrap loop on main:

  1. feat: durable message lifecycle from admission to execution #3721 and feat(workhub): add coordination session lifecycle #3764 both assigned session metadata migration version 30. JavaScript Map construction silently retained only the later migration, so current-main databases record version 30 without creating message_admissions.
  2. refactor(runtime-host): use typed request as sole operation API #3784 removed operation-specific RuntimeHostConnection aliases but left three queue-test calls on queryTurn, stopTurn, and startTurn, so current main does not build.

The fixes remain separate commits in this PR.

Migration compatibility

Schema version advances to 31. Migration 30 retains the admission-table authority introduced by #3721. Migration 31 uses guarded creation to converge every version-30 shape that may already exist:

Fresh/older databases run 30 then 31 and reach the same schema. Module initialization now verifies that migration keys cover every version exactly once by rejecting duplicate-or-missing Map entries.

The session metadata constructor also closes a newly opened DatabaseSync when schema configuration or migration rejects, so a newer-schema refusal does not leak its handle on Windows.

Runtime Host test migration

The three stale calls are migrated to the existing typed operations without changing inputs or assertions:

  • turn.query
  • turn.stop
  • turn.start

Verification

  • Session metadata store: 56 passed, 0 failed, including all three version-30 starting shapes and the five message-admission tests previously failing on main.
  • Core, Storage, MCP, Runtime, and Runtime Host builds: passed.
  • Runtime Host queue suite starts and exercises the repaired storage authority; 9/12 passed locally. Three tests hit the existing fixed 10-second Host-readiness deadline on this Windows machine, with no process error or protocol failure. The directly changed production UDS test passed in the first complete run; hosted CI is authoritative for timing.
  • lint, format, and git diff --check: passed.

Fixes#3788. Fixes#3790.

AI use

Codex diagnosed the semantic merge collision, implemented the compatibility migration and stale-call updates, and ran the listed checks.

Checklist

  • Tests cover the change and fail without it
  • Core/Storage/MCP/Runtime/Runtime Host builds pass locally
  • Session metadata migration and message-admission suites pass locally
  • Lint, format, and git diff --check pass
  • Exact-head required test passed before the trailer-only history rewrite; a fresh check was triggered for the new head

Does this PR entail a change in behavior?

  • Yes - existing version-30 databases converge to schema 31 without losing either merged authority; stale test callers use the supported typed request API.
  • No

@M4n5terM4n5ter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the typed-request migration and the version-30 schema convergence. The changes preserve the affected test semantics, cover every known merged version-30 shape, and keep initialization failure cleanup bounded. Current CI is green and later main commits do not overlap these files.

@M4n5ter
M4n5ter merged commit c4971c9 into apache:mainAug 25, 2026
1 check passed
yunaremaia added a commit to yunaremaia/maka that referenced this pull request Aug 25, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
Astro-Han added a commit that referenced this pull request Aug 28, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: #3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on #3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on #3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
saltand pushed a commit to saltand/maka-agent that referenced this pull request Aug 31, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: apache#3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (apache#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on apache#3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on apache#3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
Sign up for freeto 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.

fix(runtime-host): migrate queue tests off removed connection aliases fix(storage): converge duplicate session metadata migration 30

2 participants

@liugddx@M4n5ter
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix: repair post-merge storage and Runtime Host contracts - #3796

Merged
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence
Aug 25, 2026
Merged

fix: repair post-merge storage and Runtime Host contracts#3796
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence

Conversation

@liugddx

@liugddxliugddx commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Repair two independent post-merge regressions that currently form a required-CI bootstrap loop on main:

  1. feat: durable message lifecycle from admission to execution #3721 and feat(workhub): add coordination session lifecycle #3764 both assigned session metadata migration version 30. JavaScript Map construction silently retained only the later migration, so current-main databases record version 30 without creating message_admissions.
  2. refactor(runtime-host): use typed request as sole operation API #3784 removed operation-specific RuntimeHostConnection aliases but left three queue-test calls on queryTurn, stopTurn, and startTurn, so current main does not build.

The fixes remain separate commits in this PR.

Migration compatibility

Schema version advances to 31. Migration 30 retains the admission-table authority introduced by #3721. Migration 31 uses guarded creation to converge every version-30 shape that may already exist:

Fresh/older databases run 30 then 31 and reach the same schema. Module initialization now verifies that migration keys cover every version exactly once by rejecting duplicate-or-missing Map entries.

The session metadata constructor also closes a newly opened DatabaseSync when schema configuration or migration rejects, so a newer-schema refusal does not leak its handle on Windows.

Runtime Host test migration

The three stale calls are migrated to the existing typed operations without changing inputs or assertions:

  • turn.query
  • turn.stop
  • turn.start

Verification

  • Session metadata store: 56 passed, 0 failed, including all three version-30 starting shapes and the five message-admission tests previously failing on main.
  • Core, Storage, MCP, Runtime, and Runtime Host builds: passed.
  • Runtime Host queue suite starts and exercises the repaired storage authority; 9/12 passed locally. Three tests hit the existing fixed 10-second Host-readiness deadline on this Windows machine, with no process error or protocol failure. The directly changed production UDS test passed in the first complete run; hosted CI is authoritative for timing.
  • lint, format, and git diff --check: passed.

Fixes#3788. Fixes#3790.

AI use

Codex diagnosed the semantic merge collision, implemented the compatibility migration and stale-call updates, and ran the listed checks.

Checklist

  • Tests cover the change and fail without it
  • Core/Storage/MCP/Runtime/Runtime Host builds pass locally
  • Session metadata migration and message-admission suites pass locally
  • Lint, format, and git diff --check pass
  • Exact-head required test passed before the trailer-only history rewrite; a fresh check was triggered for the new head

Does this PR entail a change in behavior?

  • Yes - existing version-30 databases converge to schema 31 without losing either merged authority; stale test callers use the supported typed request API.
  • No

@M4n5terM4n5ter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the typed-request migration and the version-30 schema convergence. The changes preserve the affected test semantics, cover every known merged version-30 shape, and keep initialization failure cleanup bounded. Current CI is green and later main commits do not overlap these files.

@M4n5ter
M4n5ter merged commit c4971c9 into apache:mainAug 25, 2026
1 check passed
yunaremaia added a commit to yunaremaia/maka that referenced this pull request Aug 25, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
Astro-Han added a commit that referenced this pull request Aug 28, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: #3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on #3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on #3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
saltand pushed a commit to saltand/maka-agent that referenced this pull request Aug 31, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: apache#3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (apache#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on apache#3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on apache#3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
Sign up for freeto 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.

fix(runtime-host): migrate queue tests off removed connection aliases fix(storage): converge duplicate session metadata migration 30

2 participants

@liugddx@M4n5ter
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: repair post-merge storage and Runtime Host contracts - #3796

Merged
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence
Aug 25, 2026
Merged

fix: repair post-merge storage and Runtime Host contracts#3796
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence

Conversation

@liugddx

@liugddxliugddx commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Repair two independent post-merge regressions that currently form a required-CI bootstrap loop on main:

  1. feat: durable message lifecycle from admission to execution #3721 and feat(workhub): add coordination session lifecycle #3764 both assigned session metadata migration version 30. JavaScript Map construction silently retained only the later migration, so current-main databases record version 30 without creating message_admissions.
  2. refactor(runtime-host): use typed request as sole operation API #3784 removed operation-specific RuntimeHostConnection aliases but left three queue-test calls on queryTurn, stopTurn, and startTurn, so current main does not build.

The fixes remain separate commits in this PR.

Migration compatibility

Schema version advances to 31. Migration 30 retains the admission-table authority introduced by #3721. Migration 31 uses guarded creation to converge every version-30 shape that may already exist:

Fresh/older databases run 30 then 31 and reach the same schema. Module initialization now verifies that migration keys cover every version exactly once by rejecting duplicate-or-missing Map entries.

The session metadata constructor also closes a newly opened DatabaseSync when schema configuration or migration rejects, so a newer-schema refusal does not leak its handle on Windows.

Runtime Host test migration

The three stale calls are migrated to the existing typed operations without changing inputs or assertions:

  • turn.query
  • turn.stop
  • turn.start

Verification

  • Session metadata store: 56 passed, 0 failed, including all three version-30 starting shapes and the five message-admission tests previously failing on main.
  • Core, Storage, MCP, Runtime, and Runtime Host builds: passed.
  • Runtime Host queue suite starts and exercises the repaired storage authority; 9/12 passed locally. Three tests hit the existing fixed 10-second Host-readiness deadline on this Windows machine, with no process error or protocol failure. The directly changed production UDS test passed in the first complete run; hosted CI is authoritative for timing.
  • lint, format, and git diff --check: passed.

Fixes#3788. Fixes#3790.

AI use

Codex diagnosed the semantic merge collision, implemented the compatibility migration and stale-call updates, and ran the listed checks.

Checklist

  • Tests cover the change and fail without it
  • Core/Storage/MCP/Runtime/Runtime Host builds pass locally
  • Session metadata migration and message-admission suites pass locally
  • Lint, format, and git diff --check pass
  • Exact-head required test passed before the trailer-only history rewrite; a fresh check was triggered for the new head

Does this PR entail a change in behavior?

  • Yes - existing version-30 databases converge to schema 31 without losing either merged authority; stale test callers use the supported typed request API.
  • No

@M4n5terM4n5ter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the typed-request migration and the version-30 schema convergence. The changes preserve the affected test semantics, cover every known merged version-30 shape, and keep initialization failure cleanup bounded. Current CI is green and later main commits do not overlap these files.

@M4n5ter
M4n5ter merged commit c4971c9 into apache:mainAug 25, 2026
1 check passed
yunaremaia added a commit to yunaremaia/maka that referenced this pull request Aug 25, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
Astro-Han added a commit that referenced this pull request Aug 28, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: #3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on #3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on #3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
saltand pushed a commit to saltand/maka-agent that referenced this pull request Aug 31, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: apache#3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (apache#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on apache#3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on apache#3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
Sign up for freeto 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.

fix(runtime-host): migrate queue tests off removed connection aliases fix(storage): converge duplicate session metadata migration 30

2 participants

@liugddx@M4n5ter
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: repair post-merge storage and Runtime Host contracts - #3796

Merged
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence
Aug 25, 2026
Merged

fix: repair post-merge storage and Runtime Host contracts#3796
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence

Conversation

@liugddx

@liugddxliugddx commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Repair two independent post-merge regressions that currently form a required-CI bootstrap loop on main:

  1. feat: durable message lifecycle from admission to execution #3721 and feat(workhub): add coordination session lifecycle #3764 both assigned session metadata migration version 30. JavaScript Map construction silently retained only the later migration, so current-main databases record version 30 without creating message_admissions.
  2. refactor(runtime-host): use typed request as sole operation API #3784 removed operation-specific RuntimeHostConnection aliases but left three queue-test calls on queryTurn, stopTurn, and startTurn, so current main does not build.

The fixes remain separate commits in this PR.

Migration compatibility

Schema version advances to 31. Migration 30 retains the admission-table authority introduced by #3721. Migration 31 uses guarded creation to converge every version-30 shape that may already exist:

Fresh/older databases run 30 then 31 and reach the same schema. Module initialization now verifies that migration keys cover every version exactly once by rejecting duplicate-or-missing Map entries.

The session metadata constructor also closes a newly opened DatabaseSync when schema configuration or migration rejects, so a newer-schema refusal does not leak its handle on Windows.

Runtime Host test migration

The three stale calls are migrated to the existing typed operations without changing inputs or assertions:

  • turn.query
  • turn.stop
  • turn.start

Verification

  • Session metadata store: 56 passed, 0 failed, including all three version-30 starting shapes and the five message-admission tests previously failing on main.
  • Core, Storage, MCP, Runtime, and Runtime Host builds: passed.
  • Runtime Host queue suite starts and exercises the repaired storage authority; 9/12 passed locally. Three tests hit the existing fixed 10-second Host-readiness deadline on this Windows machine, with no process error or protocol failure. The directly changed production UDS test passed in the first complete run; hosted CI is authoritative for timing.
  • lint, format, and git diff --check: passed.

Fixes#3788. Fixes#3790.

AI use

Codex diagnosed the semantic merge collision, implemented the compatibility migration and stale-call updates, and ran the listed checks.

Checklist

  • Tests cover the change and fail without it
  • Core/Storage/MCP/Runtime/Runtime Host builds pass locally
  • Session metadata migration and message-admission suites pass locally
  • Lint, format, and git diff --check pass
  • Exact-head required test passed before the trailer-only history rewrite; a fresh check was triggered for the new head

Does this PR entail a change in behavior?

  • Yes - existing version-30 databases converge to schema 31 without losing either merged authority; stale test callers use the supported typed request API.
  • No

@M4n5terM4n5ter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the typed-request migration and the version-30 schema convergence. The changes preserve the affected test semantics, cover every known merged version-30 shape, and keep initialization failure cleanup bounded. Current CI is green and later main commits do not overlap these files.

@M4n5ter
M4n5ter merged commit c4971c9 into apache:mainAug 25, 2026
1 check passed
yunaremaia added a commit to yunaremaia/maka that referenced this pull request Aug 25, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
Astro-Han added a commit that referenced this pull request Aug 28, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: #3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on #3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on #3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
saltand pushed a commit to saltand/maka-agent that referenced this pull request Aug 31, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: apache#3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (apache#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on apache#3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on apache#3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
Sign up for freeto 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.

fix(runtime-host): migrate queue tests off removed connection aliases fix(storage): converge duplicate session metadata migration 30

2 participants

@liugddx@M4n5ter
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix: repair post-merge storage and Runtime Host contracts - #3796

Merged
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence
Aug 25, 2026
Merged

fix: repair post-merge storage and Runtime Host contracts#3796
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence

Conversation

@liugddx

@liugddxliugddx commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Repair two independent post-merge regressions that currently form a required-CI bootstrap loop on main:

  1. feat: durable message lifecycle from admission to execution #3721 and feat(workhub): add coordination session lifecycle #3764 both assigned session metadata migration version 30. JavaScript Map construction silently retained only the later migration, so current-main databases record version 30 without creating message_admissions.
  2. refactor(runtime-host): use typed request as sole operation API #3784 removed operation-specific RuntimeHostConnection aliases but left three queue-test calls on queryTurn, stopTurn, and startTurn, so current main does not build.

The fixes remain separate commits in this PR.

Migration compatibility

Schema version advances to 31. Migration 30 retains the admission-table authority introduced by #3721. Migration 31 uses guarded creation to converge every version-30 shape that may already exist:

Fresh/older databases run 30 then 31 and reach the same schema. Module initialization now verifies that migration keys cover every version exactly once by rejecting duplicate-or-missing Map entries.

The session metadata constructor also closes a newly opened DatabaseSync when schema configuration or migration rejects, so a newer-schema refusal does not leak its handle on Windows.

Runtime Host test migration

The three stale calls are migrated to the existing typed operations without changing inputs or assertions:

  • turn.query
  • turn.stop
  • turn.start

Verification

  • Session metadata store: 56 passed, 0 failed, including all three version-30 starting shapes and the five message-admission tests previously failing on main.
  • Core, Storage, MCP, Runtime, and Runtime Host builds: passed.
  • Runtime Host queue suite starts and exercises the repaired storage authority; 9/12 passed locally. Three tests hit the existing fixed 10-second Host-readiness deadline on this Windows machine, with no process error or protocol failure. The directly changed production UDS test passed in the first complete run; hosted CI is authoritative for timing.
  • lint, format, and git diff --check: passed.

Fixes#3788. Fixes#3790.

AI use

Codex diagnosed the semantic merge collision, implemented the compatibility migration and stale-call updates, and ran the listed checks.

Checklist

  • Tests cover the change and fail without it
  • Core/Storage/MCP/Runtime/Runtime Host builds pass locally
  • Session metadata migration and message-admission suites pass locally
  • Lint, format, and git diff --check pass
  • Exact-head required test passed before the trailer-only history rewrite; a fresh check was triggered for the new head

Does this PR entail a change in behavior?

  • Yes - existing version-30 databases converge to schema 31 without losing either merged authority; stale test callers use the supported typed request API.
  • No

@M4n5terM4n5ter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the typed-request migration and the version-30 schema convergence. The changes preserve the affected test semantics, cover every known merged version-30 shape, and keep initialization failure cleanup bounded. Current CI is green and later main commits do not overlap these files.

@M4n5ter
M4n5ter merged commit c4971c9 into apache:mainAug 25, 2026
1 check passed
yunaremaia added a commit to yunaremaia/maka that referenced this pull request Aug 25, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
Astro-Han added a commit that referenced this pull request Aug 28, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: #3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on #3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on #3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
saltand pushed a commit to saltand/maka-agent that referenced this pull request Aug 31, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: apache#3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (apache#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on apache#3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on apache#3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
Sign up for freeto 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.

fix(runtime-host): migrate queue tests off removed connection aliases fix(storage): converge duplicate session metadata migration 30

2 participants

@liugddx@M4n5ter
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: repair post-merge storage and Runtime Host contracts - #3796

Merged
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence
Aug 25, 2026
Merged

fix: repair post-merge storage and Runtime Host contracts#3796
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence

Conversation

@liugddx

@liugddxliugddx commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Repair two independent post-merge regressions that currently form a required-CI bootstrap loop on main:

  1. feat: durable message lifecycle from admission to execution #3721 and feat(workhub): add coordination session lifecycle #3764 both assigned session metadata migration version 30. JavaScript Map construction silently retained only the later migration, so current-main databases record version 30 without creating message_admissions.
  2. refactor(runtime-host): use typed request as sole operation API #3784 removed operation-specific RuntimeHostConnection aliases but left three queue-test calls on queryTurn, stopTurn, and startTurn, so current main does not build.

The fixes remain separate commits in this PR.

Migration compatibility

Schema version advances to 31. Migration 30 retains the admission-table authority introduced by #3721. Migration 31 uses guarded creation to converge every version-30 shape that may already exist:

Fresh/older databases run 30 then 31 and reach the same schema. Module initialization now verifies that migration keys cover every version exactly once by rejecting duplicate-or-missing Map entries.

The session metadata constructor also closes a newly opened DatabaseSync when schema configuration or migration rejects, so a newer-schema refusal does not leak its handle on Windows.

Runtime Host test migration

The three stale calls are migrated to the existing typed operations without changing inputs or assertions:

  • turn.query
  • turn.stop
  • turn.start

Verification

  • Session metadata store: 56 passed, 0 failed, including all three version-30 starting shapes and the five message-admission tests previously failing on main.
  • Core, Storage, MCP, Runtime, and Runtime Host builds: passed.
  • Runtime Host queue suite starts and exercises the repaired storage authority; 9/12 passed locally. Three tests hit the existing fixed 10-second Host-readiness deadline on this Windows machine, with no process error or protocol failure. The directly changed production UDS test passed in the first complete run; hosted CI is authoritative for timing.
  • lint, format, and git diff --check: passed.

Fixes#3788. Fixes#3790.

AI use

Codex diagnosed the semantic merge collision, implemented the compatibility migration and stale-call updates, and ran the listed checks.

Checklist

  • Tests cover the change and fail without it
  • Core/Storage/MCP/Runtime/Runtime Host builds pass locally
  • Session metadata migration and message-admission suites pass locally
  • Lint, format, and git diff --check pass
  • Exact-head required test passed before the trailer-only history rewrite; a fresh check was triggered for the new head

Does this PR entail a change in behavior?

  • Yes - existing version-30 databases converge to schema 31 without losing either merged authority; stale test callers use the supported typed request API.
  • No

@M4n5terM4n5ter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the typed-request migration and the version-30 schema convergence. The changes preserve the affected test semantics, cover every known merged version-30 shape, and keep initialization failure cleanup bounded. Current CI is green and later main commits do not overlap these files.

@M4n5ter
M4n5ter merged commit c4971c9 into apache:mainAug 25, 2026
1 check passed
yunaremaia added a commit to yunaremaia/maka that referenced this pull request Aug 25, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
Astro-Han added a commit that referenced this pull request Aug 28, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: #3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on #3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on #3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
saltand pushed a commit to saltand/maka-agent that referenced this pull request Aug 31, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: apache#3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (apache#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on apache#3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on apache#3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
Sign up for freeto 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.

fix(runtime-host): migrate queue tests off removed connection aliases fix(storage): converge duplicate session metadata migration 30

2 participants

@liugddx@M4n5ter
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: repair post-merge storage and Runtime Host contracts - #3796

Merged
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence
Aug 25, 2026
Merged

fix: repair post-merge storage and Runtime Host contracts#3796
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence

Conversation

@liugddx

@liugddxliugddx commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Repair two independent post-merge regressions that currently form a required-CI bootstrap loop on main:

  1. feat: durable message lifecycle from admission to execution #3721 and feat(workhub): add coordination session lifecycle #3764 both assigned session metadata migration version 30. JavaScript Map construction silently retained only the later migration, so current-main databases record version 30 without creating message_admissions.
  2. refactor(runtime-host): use typed request as sole operation API #3784 removed operation-specific RuntimeHostConnection aliases but left three queue-test calls on queryTurn, stopTurn, and startTurn, so current main does not build.

The fixes remain separate commits in this PR.

Migration compatibility

Schema version advances to 31. Migration 30 retains the admission-table authority introduced by #3721. Migration 31 uses guarded creation to converge every version-30 shape that may already exist:

Fresh/older databases run 30 then 31 and reach the same schema. Module initialization now verifies that migration keys cover every version exactly once by rejecting duplicate-or-missing Map entries.

The session metadata constructor also closes a newly opened DatabaseSync when schema configuration or migration rejects, so a newer-schema refusal does not leak its handle on Windows.

Runtime Host test migration

The three stale calls are migrated to the existing typed operations without changing inputs or assertions:

  • turn.query
  • turn.stop
  • turn.start

Verification

  • Session metadata store: 56 passed, 0 failed, including all three version-30 starting shapes and the five message-admission tests previously failing on main.
  • Core, Storage, MCP, Runtime, and Runtime Host builds: passed.
  • Runtime Host queue suite starts and exercises the repaired storage authority; 9/12 passed locally. Three tests hit the existing fixed 10-second Host-readiness deadline on this Windows machine, with no process error or protocol failure. The directly changed production UDS test passed in the first complete run; hosted CI is authoritative for timing.
  • lint, format, and git diff --check: passed.

Fixes#3788. Fixes#3790.

AI use

Codex diagnosed the semantic merge collision, implemented the compatibility migration and stale-call updates, and ran the listed checks.

Checklist

  • Tests cover the change and fail without it
  • Core/Storage/MCP/Runtime/Runtime Host builds pass locally
  • Session metadata migration and message-admission suites pass locally
  • Lint, format, and git diff --check pass
  • Exact-head required test passed before the trailer-only history rewrite; a fresh check was triggered for the new head

Does this PR entail a change in behavior?

  • Yes - existing version-30 databases converge to schema 31 without losing either merged authority; stale test callers use the supported typed request API.
  • No

@M4n5terM4n5ter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the typed-request migration and the version-30 schema convergence. The changes preserve the affected test semantics, cover every known merged version-30 shape, and keep initialization failure cleanup bounded. Current CI is green and later main commits do not overlap these files.

@M4n5ter
M4n5ter merged commit c4971c9 into apache:mainAug 25, 2026
1 check passed
yunaremaia added a commit to yunaremaia/maka that referenced this pull request Aug 25, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
Astro-Han added a commit that referenced this pull request Aug 28, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: #3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on #3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on #3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
saltand pushed a commit to saltand/maka-agent that referenced this pull request Aug 31, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: apache#3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (apache#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on apache#3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on apache#3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
Sign up for freeto 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.

fix(runtime-host): migrate queue tests off removed connection aliases fix(storage): converge duplicate session metadata migration 30

2 participants

@liugddx@M4n5ter
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix: repair post-merge storage and Runtime Host contracts - #3796

Merged
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence
Aug 25, 2026
Merged

fix: repair post-merge storage and Runtime Host contracts#3796
M4n5ter merged 2 commits into
apache:mainfrom
liugddx:fix/session-migration-30-convergence

Conversation

@liugddx

@liugddxliugddx commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Repair two independent post-merge regressions that currently form a required-CI bootstrap loop on main:

  1. feat: durable message lifecycle from admission to execution #3721 and feat(workhub): add coordination session lifecycle #3764 both assigned session metadata migration version 30. JavaScript Map construction silently retained only the later migration, so current-main databases record version 30 without creating message_admissions.
  2. refactor(runtime-host): use typed request as sole operation API #3784 removed operation-specific RuntimeHostConnection aliases but left three queue-test calls on queryTurn, stopTurn, and startTurn, so current main does not build.

The fixes remain separate commits in this PR.

Migration compatibility

Schema version advances to 31. Migration 30 retains the admission-table authority introduced by #3721. Migration 31 uses guarded creation to converge every version-30 shape that may already exist:

Fresh/older databases run 30 then 31 and reach the same schema. Module initialization now verifies that migration keys cover every version exactly once by rejecting duplicate-or-missing Map entries.

The session metadata constructor also closes a newly opened DatabaseSync when schema configuration or migration rejects, so a newer-schema refusal does not leak its handle on Windows.

Runtime Host test migration

The three stale calls are migrated to the existing typed operations without changing inputs or assertions:

  • turn.query
  • turn.stop
  • turn.start

Verification

  • Session metadata store: 56 passed, 0 failed, including all three version-30 starting shapes and the five message-admission tests previously failing on main.
  • Core, Storage, MCP, Runtime, and Runtime Host builds: passed.
  • Runtime Host queue suite starts and exercises the repaired storage authority; 9/12 passed locally. Three tests hit the existing fixed 10-second Host-readiness deadline on this Windows machine, with no process error or protocol failure. The directly changed production UDS test passed in the first complete run; hosted CI is authoritative for timing.
  • lint, format, and git diff --check: passed.

Fixes#3788. Fixes#3790.

AI use

Codex diagnosed the semantic merge collision, implemented the compatibility migration and stale-call updates, and ran the listed checks.

Checklist

  • Tests cover the change and fail without it
  • Core/Storage/MCP/Runtime/Runtime Host builds pass locally
  • Session metadata migration and message-admission suites pass locally
  • Lint, format, and git diff --check pass
  • Exact-head required test passed before the trailer-only history rewrite; a fresh check was triggered for the new head

Does this PR entail a change in behavior?

  • Yes - existing version-30 databases converge to schema 31 without losing either merged authority; stale test callers use the supported typed request API.
  • No

@M4n5terM4n5ter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the typed-request migration and the version-30 schema convergence. The changes preserve the affected test semantics, cover every known merged version-30 shape, and keep initialization failure cleanup bounded. Current CI is green and later main commits do not overlap these files.

@M4n5ter
M4n5ter merged commit c4971c9 into apache:mainAug 25, 2026
1 check passed
yunaremaia added a commit to yunaremaia/maka that referenced this pull request Aug 25, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
M4n5ter pushed a commit to yunaremaia/maka that referenced this pull request Aug 26, 2026
Astro-Han added a commit that referenced this pull request Aug 28, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: #3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on #3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on #3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
saltand pushed a commit to saltand/maka-agent that referenced this pull request Aug 31, 2026
* fix(core): add DeepSeek V4 Flash Vision to model metadata
deepseek-v4-flash-vision-exp is returned by the first-party /models
endpoint but was absent from STATIC_MODEL_METADATA, causing Maka to
classify it as text-only and filter image attachments before the
request reaches the provider.
Add the model ID with vision capability to both STATIC_MODEL_METADATA
and CURATED_CATALOG_FALLBACK_MODELS so the existing DeepSeek adapter
passes image content through.
Fixes: apache#3417
Signed-off-by: Yunare Maia <yunare@gmail.com>
* style: apply biome formatting to model metadata (CI fix)
* fix(core): include 'low' effort for deepseek-v4-flash-vision-exp
Per review: models.dev (refreshed 2026-08-21), the official Thinking Mode
guide, and the deepseek-v4-pro entry all confirm low/high/max. The pinned
['high','max'] was inherited from the stale pre-0731 sibling entry.
* fix(core): declare text/image modalities for deepseek-v4-flash-vision-exp
Add the explicit modalities entry suggested in review so attachment
routing sees image input without relying on generated snapshots, and
add a focused regression test covering vision resolution, input
modalities, and fallback-catalog presence for the bare model id.
Co-authored-by: Yunare Maia <yunare@gmail.com>
* chore: re-trigger CI after upstream main repair (apache#3796)
* fix(core): add displayName, description, lastUpdated for deepseek-v4-flash-vision-exp
Addresses reviewer feedback on apache#3605: adds displayName, description, and lastUpdated
fields to the STATIC_MODEL_METADATA entry so the model picker shows a friendly name
instead of the bare model ID.
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
* style(core): biome format model-metadata.ts (description line wrap)
* test(core): add regression tests for DeepSeek V4 Flash Vision metadata
- Added tests to verify vision support, modalities, and metadata lookup
- Added catalog test for V4 vision model display metadata
- Fixes reviewer feedback on apache#3605
* fix(test): remove buildConnectionModelCatalogEntries import from model-metadata.test.ts
The function is exported from model-catalog.ts, not model-metadata.ts.
Local vitest runs pass because it compiles differently than tsc.
---------
Signed-off-by: Yunare Maia <yunare@gmail.com>
Co-authored-by: Astro-Han <Astro-Han@users.noreply.github.com>
Sign up for freeto 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.

fix(runtime-host): migrate queue tests off removed connection aliases fix(storage): converge duplicate session metadata migration 30

2 participants

@liugddx@M4n5ter