Files
xinmi/scripts/wiki_leaf_diagnostic_continuation.test.cjs
T
yawan f7fc992f57
Anydoc / anydoc parser engine (push) Canceled after 0s
App / Format, vet, test, and build (push) Canceled after 0s
CLI / test (macos-latest / go 1.26) (push) Canceled after 0s
CLI / test (ubuntu-latest / go 1.26) (push) Canceled after 0s
CLI / test (windows-latest / go 1.26) (push) Canceled after 0s
Build and Push Docker Image / build-ui (push) Canceled after 0s
Build and Push Docker Image / build-docreader (push) Canceled after 0s
Build and Push Docker Image / build-sandbox (push) Canceled after 0s
Build and Push Docker Image / build-app (amd64, linux/amd64, ubuntu-latest) (push) Canceled after 0s
Build and Push Docker Image / build-app (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
DocReader / Python tests and Go client tests (push) Canceled after 0s
Build & Publish (dsh-weknora) / Typecheck, test, pack (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (pinned) (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (latest, advisory) (push) Canceled after 0s
Frontend / Test, type-check, and build (push) Canceled after 0s
Go Lint Cache / warm lint cache (.) (push) Canceled after 0s
Go Lint Cache / warm lint cache (cli) (push) Canceled after 0s
Go Lint Cache / warm lint cache (client) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.10) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.11) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.12) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.13) (push) Canceled after 0s
Build and Push Docker Image / merge (push) Canceled after 0s
Build & Publish (dsh-weknora) / Publish to npm (push) Canceled after 0s
Build & Publish (mcp-server) / Build sdist + wheel (push) Canceled after 0s
Build & Publish (mcp-server) / Publish to PyPI (push) Canceled after 0s
WeKnora deployment source with the reviewed wiki identity, summary and recovery fixes
2026-09-22 16:19:06 +08:00

97 lines
4.7 KiB
JavaScript

'use strict'
const { test } = require('node:test')
const assert = require('node:assert/strict')
const {
VERSION, checkpointHash, runDiagnosticContinuation, sha256,
} = require('./wiki_leaf_diagnostic_continuation.cjs')
function fixture() {
const source = 'alpha\n'.repeat(20) + 'TARGET-WINDOW\n' + 'omega\n'.repeat(20)
const targetText = 'TARGET-WINDOW\n'
const start = source.indexOf(targetText)
const end = start + Array.from(targetText).length
const windows = [
{ key: checkpointHash(['wiki-full-read-v1', 'alpha\n'.repeat(20)]), start_rune: 0, end_rune: start,
text_sha256: sha256('alpha\n'.repeat(20)), status: 'checkpointed', result: { entities: [] } },
{ key: checkpointHash(['wiki-full-read-v1', targetText]), start_rune: start, end_rune: end,
text_sha256: sha256(targetText), status: 'missing' },
{ key: checkpointHash(['wiki-full-read-v1', 'omega\n'.repeat(20)]), start_rune: end, end_rune: Array.from(source).length,
text_sha256: sha256('omega\n'.repeat(20)), status: 'checkpointed', result: { concepts: [] } },
]
const manifest = {
version: VERSION,
max_model_calls: 1,
scope: {
tenant_id: 10059, knowledge_base_id: 'kb', knowledge_id: 'doc', model_id: 'model',
checkpoint_fingerprint: 'a'.repeat(64), source_sha256: sha256(source),
parent_attempt: 6, parent_pending_op_id: 4145, diagnostic_pending_op_id: 9001,
reviewed_release: 'public-reviewed', reviewed_api_image: 'sha256:reviewed',
target_window: { key: windows[1].key, start_rune: start, end_rune: end, text_sha256: windows[1].text_sha256 },
},
windows,
}
return { source, manifest }
}
test('reuses completed siblings and captures exactly one identity failure', () => {
const { source, manifest } = fixture()
let calls = 0
let capture
const result = runDiagnosticContinuation(manifest, source, (text, request) => {
calls++
assert.equal(text, 'TARGET-WINDOW\n')
assert.equal(request.max_model_calls, 1)
return { status: 'identity_failure', response: '{bad candidate}' }
}, artifact => { capture = artifact })
assert.equal(calls, 1)
assert.equal(result.receipt.status, 'captured')
assert.equal(capture.response_sha256, sha256('{bad candidate}'))
assert.equal(capture.response, undefined)
assert.deepEqual(result.receipt.completed_sibling_keys, [manifest.windows[0].key, manifest.windows[2].key])
assert.deepEqual(result.windows, manifest.windows)
})
test('saves only a validated target result and never runs a second call', () => {
const { source, manifest } = fixture()
let calls = 0
const result = runDiagnosticContinuation(manifest, source, () => {
calls++
return { status: 'leaf_succeeded', result: { entities: [{ name: 'Target', slug: 'entity/target' }] } }
})
assert.equal(calls, 1)
assert.equal(result.receipt.status, 'leaf_succeeded')
assert.equal(result.receipt.target_checkpoint_saved, true)
assert.equal(result.windows.filter(window => window.status === 'checkpointed').length, 3)
assert.deepEqual(result.windows[1].result.entities[0], { name: 'Target', slug: 'entity/target' })
})
test('rejects an already checkpointed target and source/scope drift before model call', () => {
const { source, manifest } = fixture()
let calls = 0
const completedTarget = structuredClone(manifest)
completedTarget.windows[1] = { ...completedTarget.windows[1], status: 'checkpointed', result: {} }
assert.throws(() => runDiagnosticContinuation(completedTarget, source, () => { calls++ }), /exactly one missing target/)
assert.equal(calls, 0)
assert.throws(() => runDiagnosticContinuation(manifest, `${source}drift`, () => { calls++ }), /source SHA-256/)
assert.equal(calls, 0)
const changedScope = structuredClone(manifest)
changedScope.scope.target_window.end_rune++
assert.throws(() => runDiagnosticContinuation(changedScope, source, () => { calls++ }), /target window does not match/)
assert.equal(calls, 0)
})
test('rejects a second missing leaf, a wrong key, and a budget larger than one', () => {
const { source, manifest } = fixture()
const secondMissing = structuredClone(manifest)
secondMissing.windows[2] = { ...secondMissing.windows[2], status: 'missing' }
assert.throws(() => runDiagnosticContinuation(secondMissing, source, () => ({})), /exactly one missing target/)
const wrongKey = structuredClone(manifest)
wrongKey.windows[1].key = 'b'.repeat(64)
wrongKey.scope.target_window.key = wrongKey.windows[1].key
assert.throws(() => runDiagnosticContinuation(wrongKey, source, () => ({})), /target key does not match/)
const overBudget = structuredClone(manifest)
overBudget.max_model_calls = 2
assert.throws(() => runDiagnosticContinuation(overBudget, source, () => ({})), /exactly one model call/)
})