Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/XS-MLVP/UCAgent --skill static-bug-validation명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
UCAgent是基于大语言模型的自动化任务执行AI代理,支持通用工作流配置和执行。本技能提供配置文件编写规范、自定义Checker开发指南、--emulate-config配置校验工具使用方法,帮助用户快速创建、验证和运行各类任务工作流。
为正确失败测试确认的动态DUT Bug优先确定性维护BG、TC、ROOT和波形引用;支持幂等重复调用、受控格式恢复与跨阶段累计。
分批测试用例实现与对应Bug分析阶段专属技能,用于依据测试模板注释、功能规格CK原文和覆盖约束实现针对性激励与断言,并完成测试执行、动态Bug分析和报告记录
SKILL.md 표시 중
| name | static-bug-validation |
| description | 验证静态Bug候选并维护其与已完成动态Bug或BG-NA的LINK-BUG关联。 |
Markdown 排版契约:本技能生成、维护或展示的任何 Markdown 中,每个 # 到 ###### 标题前后各保留一个空行;标题前置空行没有例外:文件开头的标题、Markdown 示例围栏内首个标题和 <a id="..."></a> 锚点后的目标标题都必须有前置空行。标题前不得直接连接正文、列表、表格、下一级标题、代码围栏或锚点;字段标题后的规范机器标记(例如 <BUG-*>、<ROOT-*> 和 <RELATED-BUGS>)可以继续与标题紧邻。
逐个验证{OUT}/{DUT}_static_bug_analysis.md中的<BG-STATIC-*>候选。测试、参考模型、fixture、API、复位、采样或环境问题必须修复为Pass,不能记录成动态Bug。
动态确认结果只写入{OUT}/{DUT}_bug_analysis.md,不得根据可见标题派生另一个文件。Markdown、record/Apply和中央YAML test_case使用函数级报告node。非参数化WaveInfo使用同一node;报告含tests.test_case_instances时,文档TC保持函数级node,WaveInfo选择一个实际FAILED参数化child,且child必须与文档TC具有逐字相同的完整路径/类/函数父节点。不同路径永远不等价。没有确认动态 Bug 时保留三个空容器。
确认DUT Bug后,若公共unitytest/dynamic-bug-recording已启用且已复制,优先通过其record_dynamic_bug.py的-MODE bug写入精确BG/TC路径、三个BG字段、唯一ROOT引用和反向链接,再用-MODE root写入ROOT五字段,尽可能不主动编辑动态Bug文档。BG机器锚点、ROOT容器、关闭标记或双向关系异常时调用一次-MODE repair重建全部生成式锚点和关系,不得按Checker逐条编辑缺失锚点;执行返回的next_action后相同文档格式阻塞仍存在,才按error/details或返回的manual_edit_fallback最小编辑,并立即重跑-MODE repair和Check。公共Skill不调用SetSkillUsage。脚本不写波形YAML,仍需真实WaveInfo和Apply;这些机器证据不得手工编辑。Skill缺失、禁用或脚本不可用时使用文本编辑工具,按Guide_Doc/dut_bug_analysis.md中的第 5.1 节完整标准案例填写相同结构。FG/FC/CK名称来自功能检查文档,BG名称来自具体缺陷描述,TC名称来自测试docstring;不能只写尖括号标签或类型名。
新建test_static_{DUT}_*时,参考当前工作区已有的普通DUT测试模板,沿用其fixture参数和顺序:def test_static_{DUT}_xxx(env):或def test_static_{DUT}_xxx(env, ref_model):。真实DUT测试不能改用mock_dut;Mock组件独立单元测试不能用于证实静态RTL候选。
静态验证文件必须使用test_{DUT}_static_verify_<name>.py,其中每个pytest函数必须以test_static_{DUT}_开头。普通定向TC不能冒用test_static_,API和随机TC也必须留在对应专用文件中;命名错误应在本阶段一次修正全部函数定义及其mark_function引用。
{OUT}/tests/{DUT}_api.py、fixture、fake DUT和fc_cover绑定是已有公共基础设施。默认只新增或修改当前静态验证测试,不修改API/fixture或伪造覆盖组。只有最早traceback和接口契约明确证明基础设施缺陷时才做最小修复。
一次Step(1)只推进仿真,不表示请求已接受或结果有效。必须检查API内部是否已经推进或等待,按规格确认ready/valid或等价接受条件、响应latency和有效采样点;无效窗口的单点data mismatch只能继续调查,不能确认Bug。
最终WaveInfo必须提供完整signal_groups,覆盖时钟(若有)、相关输入、输出、协议控制和连接静态根因的关键状态/传播信号,viewer显示同一签名集合。中断或重启后保留已验证receipt;普通阶段不因波形变化重写证据,最终记录阶段完整重放,并由Checker原子刷新语义等价的当前机器证据。TC身份或语义变化时按Checker返回的当前receipt/精确恢复动作复核。
确认DUT Bug时:
<BG-NAME-XX>,不能复用BG-STATIC-*。<WAVEFORM-REF>,并在中央<WAVEFORM-EVIDENCE>分区保留该TC唯一的confirmed WaveInfo记录。<ROOT-XXX>标签并完成五个ROOT分析字段,通过<CAUSE-REF-ROOT-XXX>和内嵌完整路径的<RELATED-BUG-FG-.../FC-.../CK-.../BG-...>建立双向链接;BG只保留三个字段,中央记录保留该BG的波形结论。同一Fail TC证实多个独立动态Bug时,保留不同BG,并对每个精确BG/TC分别调用ApplyWaveInfoEvidence;目标BG/TC之外的Bug记录不会被修改,中央仍只有一份波形记录。单独运行当前静态候选用例时不得删除历史TC/BG;最终记录阶段仍需完整测试运行和严格重放。
["unitytest/static-bug-validation", "linkbug.py", "-SBG 'BG-STATIC-001-CIN-OVERFLOW' -LBG 'BG-CIN-OVERFLOW-98'"]
一个静态候选关联多个动态Bug时,-LBG使用逗号分隔。候选被证明不成立时使用-LBG 'BG-NA'。脚本会拒绝不存在或未完成的动态BG。
技能禁用或脚本不可用时,使用文本编辑工具按Guide_Doc/dut_bug_analysis.md建立同一动态结构并直接编辑静态汇总和详情中的两处LINK标签,再执行相同验证;不得因为缺少Skill而暂停或降低验收标准。