docs: record multi-model bridge verification and acceptance limits
This commit is contained in:
1 parent
d773961168
commit
a4e77cacbe
6 files changed
+172
No files matched your search
@@ -0,0 +1,55 @@
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.8 test:alignment:dom
|
||||
> node scripts/run-alignment-regression.mjs --require-dom
|
||||
|
||||
PASS model alignment: fresh/legacy migration, new/edit/default/delete/reload, valid selection (offline host fixtures)
|
||||
PASS model settings: deferred owner switch, rename mapping, addition selection, empty deletion, immutable history
|
||||
PASS session factory: first-send preference, mode preservation, invalid permission rejection (isolated ports)
|
||||
{"historyMessages":10000,"bytes":747781,"parseMs":2.7801740000000024,"storeHydrationMs":0.14496300000000417,"note":"Node parsing/store benchmark only, not browser rendering or Windows IPC performance"}
|
||||
session-composer-alignment: loading/cache/retry/races/model/permissions/modes/SSR passed
|
||||
alignment-conversation: local groups, original expanded order, question projection and truthful status passed
|
||||
A01 native MessageBubble identity aliases, immutable inputs and ordinary raw output passed
|
||||
A01 imported native card, linked dedup and unknown-position compatibility passed
|
||||
question-answer-shell: structural and recovered CSS contracts passed
|
||||
question-answer-shell: DOM hierarchy, controls linkage, click, Enter, Space and inert contracts passed
|
||||
Runtime progress, session-grant scope and approval lifecycle regressions passed
|
||||
Permission intercept static rendering passed; interactive keyboard/focus remains UI acceptance
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"permission-approval"}
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"permission-approval"}
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"permission-approval"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"ask","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"mode-or-inactive-deny"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"plan","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"mode-or-inactive-deny"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"full-access-preauthorized"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":true,"branch":"full-access-preauthorized"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"full-access-preauthorized"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"subcommandResults","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"full-access-preauthorized"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"safetyCheck","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"full-access-preauthorized"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":true,"matchedAskRule":false,"branch":"full-access-preauthorized"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"full-access-preauthorized"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"full-access-preauthorized"}
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":true,"branch":"rule-approval"}
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"permission-approval"}
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"error-deny"}
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"e3b98a4da31a127d","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"permission-approval"}
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"85aafbf52a5144b5","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"business-question"}
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"callback","toolCall":"85aafbf52a5144b5","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":false,"branch":"business-question"}
|
||||
Claude host approval policy unit checks passed (no SDK process/application/matching verification)
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"plan","sdkMode":"plan","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"hook","toolCall":"unknown","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":"unknown","branch":"mode-or-inactive-deny"}
|
||||
Mock SDK replay lifecycle passed: fail closed, retry, session isolation, independent mode guard
|
||||
B03 offline host policy: 276 checks passed; no real SDK/CLI/model execution.
|
||||
task popconfirm DOM regression: 34 checks passed (jsdom, not pixel validation)
|
||||
question-interaction: 24 DOM behavioral checks passed
|
||||
question-identity: 30 A01 DOM checks passed (not Electron/pixel/SDK acceptance)
|
||||
completed-fold-nested: real question/tool/thinking/local-summary remount, event, keyboard and identity contracts passed
|
||||
completed-fold-native-identity: real reducer done correction, native IDs, insertion/reorder, repeated outer toggles, message isolation and legacy fallback passed
|
||||
Permission intercept DOM: 49 checks passed (not pixel/SDK verification)
|
||||
{"result":"PASS","suite":"reasoning-follow-dom","assertions":63,"evidence":"Actual ReactDOM with synthetic geometry/RAF/resize; not native scroll or pixel evidence"}
|
||||
{"checks":37,"passed":true,"scope":"Isolated React DOM and CSS contracts; no native keyboard/layout/pixel acceptance"}
|
||||
{"result":"PASS","phase":"alignment-offline","suites":11}
|
||||
{"result":"PASS","phase":"alignment-dom","suites":8}
|
||||
npm notice
|
||||
npm notice New major version of npm available! 11.9.0 -> 12.2.0
|
||||
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.2.0
|
||||
npm notice To update run: npm install -g npm@12.2.0
|
||||
npm notice
|
||||
@@ -0,0 +1,27 @@
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.8 test:model-bridge
|
||||
> esbuild scripts/protocol-bridge-regression.ts --bundle --platform=node --format=esm --outfile=.tmp/protocol-bridge-regression.mjs --log-level=warning && node .tmp/protocol-bridge-regression.mjs && node scripts/claude-bridge-host-regression.mjs
|
||||
|
||||
Protocol bridge offline regression: 97 checks passed (no SDK/CLI or external API used)
|
||||
PASS both OpenAI APIs use isolated bridge env, not upstream credentials
|
||||
PASS bridge lease receives effective low/off thinking without mutating resolved config
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"default","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"hook","toolCall":"d1022618b99a974b","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":"unknown","branch":"mode-or-inactive-deny"}
|
||||
[claude-permission] {"permissionMode":"default-sandbox","agentMode":"craft","sdkMode":"unknown","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"hook","toolCall":"d1022618b99a974b","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":"unknown","branch":"mode-or-inactive-deny"}
|
||||
PASS Anthropic remains direct and permission/tool hooks remain identical
|
||||
PASS two simultaneous sessions have separate leases and independent cleanup
|
||||
PASS concurrent ensureStarted acquires exactly one lease and SDK query
|
||||
PASS API/model/base URL/key configuration changes retire old leases
|
||||
PASS failed SDK startup releases lease and permits clean retry
|
||||
PASS failed session grant replay releases producer and bridge before retry
|
||||
PASS runtime environment failure cannot strand a bridge lease
|
||||
PASS close during asynchronous acquisition releases lease without SDK startup
|
||||
PASS unsupported Gemini fails before bridge or SDK creation
|
||||
PASS resolved model snapshot cannot be mutated after kernel creation
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"default","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"hook","toolCall":"d1e9567da9a8a4b0","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":"unknown","branch":"full-access-preauthorized"}
|
||||
[claude-permission] {"permissionMode":"full-access","agentMode":"craft","sdkMode":"default","sdkModeSource":"host-query-or-acknowledged-control","policyTransition":false,"source":"hook","toolCall":"7aca79e91fb3e780","decisionCategory":"unknown","decisionCode":"unknown","decisionCodePresent":false,"matchedAskRule":"unknown","branch":"business-question"}
|
||||
PASS bridge preserves full-access tool preauthorization and question approval boundary
|
||||
PASS unexpected producer termination releases bridge lease
|
||||
PASS cancellation during bridge acquisition releases newly started producer
|
||||
PASS turn cancellation retires producer and releases its bridge lease
|
||||
PASS 16 offline Claude/bridge host groups; no actual SDK startup, network or credentials
|
||||
@@ -0,0 +1,4 @@
|
||||
out/renderer/assets/index-BYa5cBjI.js 3,777.40 kB
|
||||
out/renderer/assets/editor.api2-dPwET-7w-BYIQ9bT3.js 4,889.23 kB
|
||||
|
||||
✓ built in 1.99s
|
||||
@@ -0,0 +1,44 @@
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.8 test
|
||||
> npm run test:core
|
||||
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.8 test:core
|
||||
> npm run typecheck && npm run test:chat && npm run test:sessions && npm run test:persistence && npm run test:conversation
|
||||
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.8 typecheck
|
||||
> tsc --noEmit -p tsconfig.node.json && tsc --noEmit -p tsconfig.web.json
|
||||
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.8 test:chat
|
||||
> esbuild scripts/message-order-regression.ts scripts/chat-store-regression.ts scripts/chat-stream-committer-regression.ts --bundle --platform=node --format=esm --out-extension:.js=.mjs --outdir=.tmp/chat-tests --log-level=warning && node .tmp/chat-tests/message-order-regression.mjs && node .tmp/chat-tests/chat-store-regression.mjs && node .tmp/chat-tests/chat-stream-committer-regression.mjs
|
||||
|
||||
message-order-regression: all checks passed
|
||||
chat-store-regression: all checks passed
|
||||
chat-stream-committer-regression: all checks passed
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.8 test:sessions
|
||||
> esbuild scripts/session-store-regression.ts --bundle --platform=node --format=esm --external:esbuild --outfile=.tmp/session-store-regression.mjs --log-level=warning && node .tmp/session-store-regression.mjs
|
||||
|
||||
session-store-regression: all checks passed
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.8 test:persistence
|
||||
> esbuild scripts/chat-persistence-regression.ts --bundle --platform=node --format=esm --external:esbuild --outfile=.tmp/chat-persistence-regression.mjs --log-level=warning && node .tmp/chat-persistence-regression.mjs
|
||||
|
||||
chat-persistence-regression: all checks passed
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.8 test:conversation
|
||||
> esbuild scripts/conversation-renderer-regression.tsx scripts/composer-regression.tsx scripts/completed-fold-regression.tsx scripts/streaming-footer-regression.tsx --bundle --platform=node --format=cjs --jsx=automatic --loader:.css=text --out-extension:.js=.cjs --outdir=.tmp/conversation-tests --log-level=error && node .tmp/conversation-tests/conversation-renderer-regression.cjs && node .tmp/conversation-tests/composer-regression.cjs && node .tmp/conversation-tests/streaming-footer-regression.cjs && node .tmp/conversation-tests/completed-fold-regression.cjs
|
||||
|
||||
Conversation specialized renderer SSR regression checks passed
|
||||
Composer/message action regression cases passed
|
||||
streaming-footer-regression: persistent stream status, delayed/paused rotation, brand/locale mapping, source CSS, and completed model footer passed
|
||||
Completed-fold model and SSR regression checks passed
|
||||
@@ -0,0 +1 @@
|
||||
PASS model registry: migration, encrypted CRUD, concurrent writes, persistence, selection, total/output budgets, legacy budget migration, derived input/reload/reduction, catalog limits, explicit API persistence/cache isolation/discovery, legacy Anthropic, Gemini rejection, Responses priority, explicit Chat override, Chat fallback, stored-route retesting, Chat/Responses HTTP schema, incomplete reasoning, blank-secret reuse and secret-safe failures
|
||||
Reference in new issue
Block a user