fix(ci): repair protocol drift and audit failures#63917
Conversation
Greptile SummaryThis PR repairs three independent CI failures: (1) regenerates the Swift Confidence Score: 5/5This PR is safe to merge — all changes are mechanical CI repairs with no runtime behavior impact. All three fixes are tightly scoped: the Swift artifacts add an optional field (backward compatible), the test mock is corrected to match real production semantics, and the axios pin is applied via both root pnpm overrides and the feishu plugin's npm overrides to cover all install paths. No P0/P1 findings; no behavior changes. No files require special attention.
|
There was a problem hiding this comment.
Pull request overview
Repairs failing CI lanes by bringing generated protocol artifacts and unit tests back in sync with current behavior, and addressing a production dependency audit finding by pinning a patched axios version via pnpm overrides.
Changes:
- Updated the workspace-root guard unit test mock to reflect normalized path resolution behavior.
- Added
axiostominimumReleaseAgeExcludeand pinnedaxios@1.15.0via pnpm overrides + lockfile updates. - Regenerated Swift gateway protocol artifacts to include
ModelChoice.alias.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/agents/pi-tools.read.workspace-root-guard.test.ts |
Resets and re-implements assertSandboxPath mock to align with current path-normalization behavior. |
pnpm-workspace.yaml |
Allows expedited adoption of the patched axios by excluding it from minimum release-age gating. |
package.json |
Pins axios@1.15.0 under root pnpm.overrides. |
pnpm-lock.yaml |
Updates resolved dependency graph to axios@1.15.0 and related transitive changes. |
extensions/feishu/package.json |
Adds an overrides entry intended to pin axios for Feishu. |
apps/shared/OpenClawKit/Sources/OpenClawProtocol/GatewayModels.swift |
Regenerated Swift protocol model to include optional alias on ModelChoice. |
apps/macos/Sources/OpenClawProtocol/GatewayModels.swift |
Same Swift protocol regeneration for the macOS target. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
🔒 Aisle Security Analysis✅ We scanned this PR and did not find any security vulnerabilities. Aisle supplements but does not replace security review. Analyzed PR: #63917 at commit Last updated on: 2026-04-09T21:05:09Z |
* CI: fix protocol drift and audit failures * CI: narrow axios release-age exception * CI: drop ineffective feishu override * test: fix workspace-root guard mock typing
* CI: fix protocol drift and audit failures * CI: narrow axios release-age exception * CI: drop ineffective feishu override * test: fix workspace-root guard mock typing
* CI: fix protocol drift and audit failures * CI: narrow axios release-age exception * CI: drop ineffective feishu override * test: fix workspace-root guard mock typing
* CI: fix protocol drift and audit failures * CI: narrow axios release-age exception * CI: drop ineffective feishu override * test: fix workspace-root guard mock typing
Summary
axiosvia Feishu's@larksuiteoapi/node-sdkchecks-fast-contracts-protocol,checks-node-test, andsecurity-fastwere failingassertSandboxPathmock in the guard test, and pinnedaxios@1.15.0via root + Feishu overrides with a narrowminimumReleaseAgeExcludeentry so pnpm can install the patched versionaxiospatch pathChange Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Root Cause (if applicable)
ModelChoice.aliashad been added to the typed protocol schema without checking in the regenerated Swift client artifacts; the workspace-root guard test used a fixedassertSandboxPathmock that no longer reflected normalized-path behavior; and the Feishu production dependency path started failing audit once theaxiosSSRF advisory applied to the installed versionminimumReleaseAgepolicy blocked adoptingaxios@1.15.0untilaxioswas explicitly allowlisted for this targeted security updateRegression Test Plan (if applicable)
src/agents/pi-tools.read.workspace-root-guard.test.tsand the existingprotocol:check/pnpm audit --prod --audit-level=highgatesoutPathparams normalize through the same resolved sandbox path the wrapper uses in production, while protocol/client artifacts and the Feishu dependency tree stay in sync with committed sourcessrc/agents/pi-tools.read.workspace-root-guard.test.tsUser-visible / Behavior Changes
None
Diagram (if applicable)
N/A
Security Impact (required)
Yes/No) NoYes/No) NoYes/No) NoYes/No) NoYes/No) NoYes, explain risk + mitigation:Repro + Verification
Environment
minimumReleaseAgeenabledSteps
checks-fast-contracts-protocollane plus the other red lanes on the same runOPENCLAW_LOCAL_CHECK=0 pnpm protocol:check, the stale unit assertion withOPENCLAW_LOCAL_CHECK=0 pnpm test src/agents/pi-tools.read.workspace-root-guard.test.ts, and the audit failure withpnpm audit --prod --audit-level=highExpected
Actual
Evidence
Attach at least one:
Human Verification (required)
OPENCLAW_LOCAL_CHECK=0 pnpm protocol:check,pnpm audit --prod --audit-level=high,OPENCLAW_LOCAL_CHECK=0 pnpm test src/agents/pi-tools.read.workspace-root-guard.test.ts, andOPENCLAW_LOCAL_CHECK=0 pnpm test src/plugins/contracts/package-manifest.contract.test.tsaxiossecurity bumppnpm checkwas intentionally skipped on the final commit path after equivalent targeted verification for the touched surfacesReview Conversations
If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.
Compatibility / Migration
Yes/No) YesYes/No) NoYes/No) NoRisks and Mitigations
axiostominimumReleaseAgeExcludecould be overused later if we treat it as a general bypassprotocol:checkgate as the guardrail