Ggg - #3666
Conversation
…ctor UI component
…or snapshot monitoring
…d operator console monitoring dashboard
…omponent unit tests
… console component unit tests
…or console components
…and evidence types
…rehensive test suites for operator console components
…terministic cancellation manager.
…ust gates and add UI snapshot tests for TrustInspector
… lifecycle tracking and add operator console TypeScript configuration
…and execution lineage components
…ate transition tests
…and update spell check configuration
…tracking and operator console diagnostic fixtures
…icy tracing docs, and release readiness checklists
Signed-off-by: Jules <jules@example.com>
Signed-off-by: Jules <jules@example.com>
🎯 **What:** Removed unused `type ChildProcess` import from `node:child_process` in `src/lib/sandbox-create-stream.ts`. 💡 **Why:** Reduces noise in the file and makes it clear exactly what types are actually used. The code actually uses its own local `StreamableChildProcess` interface instead. ✅ **Verification:** Verified by checking that `ChildProcess` is not used elsewhere in the file and running the file through linting, as well as tests passing. ✨ **Result:** Cleaner imports with no change to the code's behavior.
🎯 **What:** Removed unused `type ChildProcess` import from `node:child_process` in `src/lib/sandbox-create-stream.ts`. 💡 **Why:** Reduces noise in the file and makes it clear exactly what types are actually used. The code actually uses its own local `StreamableChildProcess` interface instead. ✅ **Verification:** Verified by checking that `ChildProcess` is not used elsewhere in the file and running the file through linting, as well as tests passing. ✨ **Result:** Cleaner imports with no change to the code's behavior.
Replaced old 'With fix / Without fix' comments in test/repro-2201.test.ts with clear statements of the expected behavior, now that the fix is in place.
Replaced old 'With fix / Without fix' comments in test/repro-2201.test.ts with clear statements of the expected behavior, now that the fix is in place.
Replaced old 'With fix / Without fix' comments in test/repro-2201.test.ts with clear statements of the expected behavior, now that the fix is in place. Signed-off-by: Jules <jules@google.com>
Adds boundary value analysis tests for `isValidName` to ensure correct string validation regex usage, covering happy paths, edge cases, and invalid inputs. Added `isValidName` and `VALID_NAME_REGEX` export based on the problem statement as they were missing in the original source but needed for testing logic. Also covers `VALID_NAME_REGEX` directly, and includes coverage for the pre-existing `getNameValidationGuidance`.
…ions 🎯 **What:** The `planHostRemediation` function was overly long, making it hard to read and maintain. I extracted the logic for generating each specific remediation action into dedicated, clearly-named helper functions (e.g., `getDockerInstallAction`, `getDockerReachableAction`, etc.). 💡 **Why:** By extracting these complex conditional branches and object instantiations out into separate functions, we dramatically improve the readability and maintainability of `planHostRemediation`, which now acts as a clean orchestrator pushing actions to the array. ✅ **Verification:** I verified this by running `npx vitest run src/lib/onboard/preflight.test.ts` which tests this function extensively, along with `npm run lint` and the core test suite to ensure the refactor is a clean structural change that doesn't change behavior. ✨ **Result:** A more robust, readable, and modular `planHostRemediation`.
…execution-path proof: implement local governed execution proof path
…execution-spine proof: implement local governed execution proof path
🚨 Severity: CRITICAL 💡 Vulnerability: Command injection in `defaultCommandPath` in `src/lib/actions/dev/npm-link-or-shim.ts`. The `command` variable was serialized with `JSON.stringify` and interpolated directly into a shell command. Double quotes allow for shell expansion (e.g. `$()`), allowing an attacker to inject and execute arbitrary shell commands. 🎯 Impact: Remote code execution if an attacker can control the input to `defaultCommandPath`. 🔧 Fix: Passed the `command` variable securely as a positional argument (`$1`) to the inline shell script, avoiding shell interpolation entirely. ✅ Verification: Ran `vitest run src/lib/actions/dev/npm-link-or-shim.test.ts` and verified all tests pass. Signed-off-by: Jules <jules@example.com>
🚨 Severity: CRITICAL 💡 Vulnerability: Command injection in `defaultCommandPath` in `src/lib/actions/dev/npm-link-or-shim.ts`. The `command` variable was serialized with `JSON.stringify` and interpolated directly into a shell command. Double quotes allow for shell expansion (e.g. `$()`), allowing an attacker to inject and execute arbitrary shell commands. 🎯 Impact: Remote code execution if an attacker can control the input to `defaultCommandPath`. 🔧 Fix: Passed the `command` variable securely as a positional argument (`$1`) to the inline shell script, avoiding shell interpolation entirely. ✅ Verification: Ran `vitest run src/lib/actions/dev/npm-link-or-shim.test.ts` and verified all tests pass. Signed-off-by: Jules <jules@example.com>
🚨 Severity: CRITICAL 💡 Vulnerability: Command injection in `defaultCommandPath` in `src/lib/actions/dev/npm-link-or-shim.ts`. The `command` variable was serialized with `JSON.stringify` and interpolated directly into a shell command. Double quotes allow for shell expansion (e.g. `$()`), allowing an attacker to inject and execute arbitrary shell commands. 🎯 Impact: Remote code execution if an attacker can control the input to `defaultCommandPath`. 🔧 Fix: Passed the `command` variable securely as a positional argument (`$1`) to the inline shell script, avoiding shell interpolation entirely. ✅ Verification: Ran `vitest run src/lib/actions/dev/npm-link-or-shim.test.ts` and verified all tests pass. Signed-off-by: Jules <jules@example.com>
The planHostRemediation function was overly long, making it hard to read and maintain. Extracted the logic for generating each specific remediation action into dedicated, clearly-named helper functions. Also fixed typescript errors in tests and control plane. Fixed local-bootstrap-docs test assertions to match updated documentation. Added missing authorizationSource to ExecutionReceiptLineage type. Signed-off-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
The planHostRemediation function was overly long, making it hard to read and maintain. Extracted the logic for generating each specific remediation action into dedicated, clearly-named helper functions. Also fixed typescript errors in tests and control plane. Fixed local-bootstrap-docs test assertions to match updated documentation. Added missing authorizationSource to ExecutionReceiptLineage type. Signed-off-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
…4129077122 🧹 Refactor planHostRemediation to extract actions into separate functions
…639923651774 ⚡ [performance] Unblock event loop in waitForSandboxReady
🧪 Add tests for error handling in stale-dist-check
⚡ [Performance] Make waitForSandboxReady async to unblock event loop
…13187909365546303251 ⚡ optimize: replace synchronous sleep with awaited timeout in gateway recovery
…-14187732998443831686 ⚡ fix: prevent synchronous sleep during port-forward cleanup
…7240011211980739 🧹 chore: extract runSandboxSnapshot logic into smaller functions
…re-state-dirs-5872757422889708951 🧹 [Code Health] Extract overly long restoreStateDirs function in sandbox state
…13546712981471453776 🛡️ Sentinel: [CRITICAL] Fix command injection
…5898645822387383 fix: 🛡️ Sentinel: [CRITICAL] Fix SSH command injection
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (235)
📝 WalkthroughWalkthroughThis PR adds repository governance and verification docs, security and control-plane modules, execution queue primitives, sandbox runtime wait and restore changes, CI verification wiring, and a new fixture-backed operator console React app with tests. ChangesGovernance foundation and console
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts
Warning |
|
Disregard. Pr |
Summary
Related Issue
Changes
Type of Change
Verification
npx prek run --all-filespassesnpm testpassesmake docsbuilds without warnings (doc changes only)Signed-off-by: Your Name your-email@example.com
Summary by CodeRabbit
New Features
Documentation