Skip to content

fix(sentrux): coupling 口径只算建模语言,解开 PS1 退役与结构闸门的对立 (#78) #55

fix(sentrux): coupling 口径只算建模语言,解开 PS1 退役与结构闸门的对立 (#78)

fix(sentrux): coupling 口径只算建模语言,解开 PS1 退役与结构闸门的对立 (#78) #55

Workflow file for this run

name: code-intel-parity-observe
# Non-blocking PS1-vs-Rust parity observation (issue #46 / campaign #55, T1).
#
# This workflow is deliberately NOT wired into ci.yml. It exists to WATCH the
# gap between the legacy legacy/run-code-intel.ps1 pipeline and the Rust
# `code-intel run execute` path while T2-T5 port the PS1 monolith piece by
# piece, without ever being able to block a PR on a divergence that is
# currently expected. continue-on-error is set at both the job and the
# harness step: job-level so this workflow's conclusion can never fail a
# required check, step-level so the artifact-upload step still runs after a
# non-zero harness exit (a divergence report, exit 1, is a normal outcome
# here, not a workflow malfunction).
on:
workflow_dispatch:
pull_request:
paths:
- legacy/run-code-intel.ps1
- legacy/Invoke-SentruxAgentTool.ps1
- legacy/scripts/tests/test-ps1-rust-parity.ps1
- crates/**
permissions:
contents: read
jobs:
parity-observe:
runs-on: windows-latest
continue-on-error: true
steps:
- name: Checkout
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
with:
fetch-depth: 0
- name: Setup Rust
shell: pwsh
run: |
rustup toolchain install
rustup show active-toolchain
- name: Install ripgrep
shell: pwsh
run: choco install ripgrep --version 14.1.0 -y --no-progress
# The PS1 side's `sentrux check` step is the harness's only evidenced
# comparison point; without the installed pipeline tools on PATH the
# PS1 run can never produce it and the diff is vacuous. Same recipe as
# ci.yml's "Install portable pipeline" / "Add pipeline tools PATH".
- name: Install portable pipeline
shell: pwsh
run: .\legacy\install-code-intel-pipeline.ps1 -RepoPath . -RepairSkillLinks -RequireRepowise:$false -Json
- name: Add pipeline tools PATH
shell: pwsh
run: Add-Content -Path $env:GITHUB_PATH -Value "$env:LOCALAPPDATA\code-intel\bin"
- name: Run PS1-vs-Rust parity harness
id: parity
shell: pwsh
continue-on-error: true
run: |
$verdictPath = Join-Path $env:RUNNER_TEMP "parity-verdict.json"
./legacy/scripts/tests/test-ps1-rust-parity.ps1 -RepoPath . -VerdictPath $verdictPath
$harnessExitCode = $LASTEXITCODE
Add-Content -Path $env:GITHUB_OUTPUT -Value "verdict-path=$verdictPath"
Add-Content -Path $env:GITHUB_OUTPUT -Value "harness-exit-code=$harnessExitCode"
if ($harnessExitCode -ne 0) {
Write-Host "::warning::Parity harness reported divergence (exit $harnessExitCode). This is expected during the T1-T5 migration and is observational only -- see the uploaded parity-verdict artifact."
}
- name: Upload parity verdict
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: parity-verdict
path: ${{ steps.parity.outputs.verdict-path }}
if-no-files-found: warn