fix(sentrux): coupling 口径只算建模语言,解开 PS1 退役与结构闸门的对立 (#78) #55
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |