Skip to content

[ps1-exit] T1 契约冻结:巨石行为盘点 + golden parity harness #46

Description

@2233admin

目标

把两块 PS1 巨石的行为面冻结成 golden contract,后续每张退役票都拿它验收。不冻结契约就迁移 = 凭感觉重写,必然丢行为。

对象:

  • run-code-intel.ps1(~205KB,churn 全仓 100 分位)
  • Invoke-SentruxAgentTool.ps1(~114KB)

两份自审计(#33/#34)的 coverage 段都承认这两个文件只能 pattern 扫、无法通读——连自己的审计都读不全的代码,是本仓最大的不可信面

做法

  1. 行为盘点:枚举 run-code-intel.ps1 全部 mode / skip flags / 环境变量 / 产物路径 / exit code 语义,与 Invoke-SentruxAgentTool.ps1 的 shim 管理、失败归一化、激活逻辑。产出 docs/ps1-exit/contract-inventory.md(表格:行为 → 现有测试覆盖 → 缺口)。
  2. 缺口补测:现有 scripts/tests/*.ps1 50+ 套已覆盖一部分;只补缺口,不重写已有。
  3. parity harness:一条命令对同一 snapshot 分别走 PS1 路径与 Rust 路径(code-intel run execute 已在 ci.yml 自扫步骤跑),diff 关键产物(复用 stable_artifact 的易变字段排除经验:时间戳/绝对路径/duration)。

出口

  • contract-inventory.md 落库,缺口清单明确
  • parity harness 在 CI 可选跑(不阻塞,先观测)
  • 后续 T2-T5 每票验收都引用此 harness

不做

  • 不在本票动任何生产逻辑;纯盘点+测试基建。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions