SkillSync
本机核验台
选择要检查的目录或交付,核对证据后再决定下一步。
验收多个交付
预检计划 → 逐批核验 → 保存复核包
按计划只读核验多个交付;修正失败批次后保留已通过的证据。打开复核包只检查完整性,不重新核验原始数据或认证作者。
先核对此次输出
查阅已保存的复核包
此操作只读取已有证据,不重新核验原始文件。
验收多个交付
预检计划 → 逐批核验 → 保存复核包
按计划只读核验多个交付;修正失败批次后保留已通过的证据。打开复核包只检查完整性,不重新核验原始数据或认证作者。
先核对此次输出
查阅已保存的复核包
此操作只读取已有证据,不重新核验原始文件。
查看已存证据
选择历史记录作为基线,再核验当前文件。历史记录只读,打开不会重新执行核验或授予修复权限。
核验一个目录
选择目录与范围 → 核验 → 查看结果
尚未核验
核验结果与证据
A
'});await ui.click('batch-open');expect(ui.get('batch-digest').value).toBe('');expect(ui.get('batch-receipt').textContent).toContain('a'.repeat(64)); + ui.get('batch-package').value='/synthetic/b.json';ui.get('batch-package').events.get('input')?.();expect(ui.get('batch-digest').value).toBe('');expect(ui.get('result').hidden).toBe(true);expect(ui.get('batch-receipt').textContent).toBe(''); + ui.get('batch-digest').value='trusted'.repeat(8);ui.get('batch-digest').events.get('input')?.();ui.get('batch-package').value='/synthetic/c.json';ui.get('batch-package').events.get('input')?.();expect(ui.get('batch-digest').value).toBe('trusted'.repeat(8)); + }); + it("invalidates prior evidence while typing, before blur can move the verification button",async()=>{ const ui=await page();await ui.click("verify");expect(ui.get("result").hidden).toBe(false);const requests=ui.actions.length; ui.get("root").value="/synthetic/another";ui.get("root").events.get("input")?.();expect(ui.get("result").hidden).toBe(true);expect(ui.get("plan").disabled).toBe(true);expect(ui.actions.length).toBe(requests);