Repository navigation
fix(artifacts): collect named tests through npm workspaces - #896
Conversation
Root npm scripts delegating to a workspace could not satisfy both native readiness and named-result collection. Resolve one bounded workspace delegation while retaining the original root command, inspected manifests, and qualified nested npm runtime identities. CHANGELOG: Root npm workspace scripts can now provide named verification.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
⛔ Files ignored due to path filters (12)
📒 Files selected for processing (20)
Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review. 📝 WalkthroughWalkthroughNamed npm verification now supports a root script that delegates once to a uniquely selected workspace runner. The flow preserves the declared root command, binds inspected manifests and required npm launch files, and rejects unsupported delegation before execution. Changesnpm workspace verification
Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~45 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant NamedVerification
participant _npm_runner
participant RootPackageManifest
participant WorkspacePackageManifest
participant _bind_commands
participant Observation
NamedVerification->>_npm_runner: Resolve the declared root npm script
_npm_runner->>RootPackageManifest: Read script and workspace declarations
_npm_runner->>WorkspacePackageManifest: Resolve and inspect selected workspace
_npm_runner-->>NamedVerification: Return runner tokens and inspected manifests
NamedVerification->>_bind_commands: Bind root and workspace manifests
_bind_commands->>Observation: Record qualified launch provenance
Merge Risk: ⚪ Minimal · up to No actionable defect was identified in the workspace-verification change. It is mergeable after the normal exact-head checks. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to Workspace verification support is narrowly bounded and retains command, authorization, and manifest-integrity checks. No introduced security defect was demonstrated, but cross-platform and interruption evidence remains incomplete. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 9.62% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 52 functions across 7 files. (13 skipped: 13 unsupported.)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Compare bound physical manifest paths against the resolved temporary root. macOS aliases /var through /private/var, so the unnormalized test expectation rejected a correct binding.
#896 merged while this promotion was in flight and spent ca-pi 0.15.9. Move this branch's entry to the next free patch, re-baseline the release-target and code-map provenance it watches, and keep the root package metadata in step with the plugin manifest.
What & why
A root command such as
npm run test:clientcould not supply named verification when its script delegated to an npm workspace. Empty test names failed native readiness; named tests failed the Python collector's nested-npm check.Resolve one explicit workspace delegation while executing the original root argv. Bind the root and all inspected workspace manifests (maximum 32), reject ambiguous selectors and shell-sensitive syntax, and qualify Windows nested npm with a pinned prefix helper.
npm run test:client -- -- --reporter=verboseretains both npm argument boundaries and the complete suite.Type of change
fix: bug fixChecklist
No hook event or storage contract changes, new dependency, or architectural decision.
Validation and review notes
go vet, and Python compilation passed.6035aa018b1ewith no actionable defects. Its fault-injection suggestions are nonblocking: manifest mutation is covered, and the additional publication/save crash-window test concerns unchanged recovery code. The docstring percentage warning is advisory; repository Python standards require module-header API documentation, not a per-function percentage.6035aa018b1e. The complete native Go statement union passed at 80.87% (4,481/5,541 statements), with required integration evidence from all six platforms. Local Windows/amd64 alone measured 62.18%; all added Go statements were covered locally.The workspace fixture compares resolved paths so the same manifest binding assertion works across macOS
/varand/private/varaliases.Hosted CI blockers
At head
6035aa018b1eefddf2ec54d6e667f4b434bab170, existing dependency audits block delivery:Dependency inputs and audit gates are unchanged by this PR. CI is complete: 66 successful checks, 5 skipped checks, and 10 failures from these audits, their missing downstream evidence, and the merge-readiness aggregate. No merge or publication has occurred.
ADR ancestry verifier selected
squashfor base158daa0016eb7f7127221fac6deefb59991804adand head6035aa018b1eefddf2ec54d6e667f4b434bab170. Revalidate against the current base/head before merge.