fix(release): harden sandbox supply chain and docs - #59
Conversation
|
Warning Review limit reached
Next review available in: 51 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThe PR changes sandbox image publishing to digest-based promotion, removes JSHint references, updates scan and configuration documentation, and revises contributor and upgrade policies. ChangesSandbox release and analysis
Configuration and repository guidance
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant ContainerRegistry
participant SandboxRunners
GitHubActions->>ContainerRegistry: Push candidate multi-platform image
GitHubActions->>SandboxRunners: Smoke-test candidate digest on AMD64 and ARM64
GitHubActions->>ContainerRegistry: Promote candidate digest to release and commit tags
GitHubActions->>ContainerRegistry: Verify promoted tags resolve to candidate digest
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/publish-sandbox.yml:
- Around line 61-72: Update the “Promote the smoke-qualified digest” step to
define RELEASE_TAG from github.ref_name in its step-level env, then use
"$RELEASE_TAG" for both the imagetools tag and promotion-validation loop. Remove
direct shell interpolation of github.ref_name while preserving the existing
digest promotion behavior.
In `@CONTRIBUTING.md`:
- Line 107: Update the viewer guidance in CONTRIBUTING.md to match the allowlist
and verifier: require viewer changes to come through an approved upstream-base
update documented in UPGRADES.md, and state that product-specific UI must live
outside strix/**. Remove or revise the instruction to commit viewer source or
regenerated static output directly.
In `@docs/advanced/configuration.mdx`:
- Around line 17-23: Clarify the LYRASHIELD_LLM description that authenticated
subscription-backed chatgpt/<model> values are exempt from the GPT-5.6 Terra or
Luna requirement, while deployments from the other listed providers must use
those models.
In `@docs/usage/scan-modes.mdx`:
- Line 16: Update the scan-mode terminal-outcomes sentence near “Every run can
end” to include the named model-stop reasons engine_stopped and
content_filter_stopped, matching the run.json contract; alternatively state
explicitly that the listed reasons are not exhaustive.
- Line 16: The scan-mode documentation must explicitly define how unused scanner
reserve is reallocated: clarify whether it can extend the engine deadline or
remains scanner-only, and identify the application component that enforces the
overall wall-clock ceiling since no profile-level engine deadline exists.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: f109a353-0546-4af2-aac6-690aa43fb78a
⛔ Files ignored due to path filters (1)
containers/npm-tools/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (13)
.dockerignore.github/workflows/publish-sandbox.ymlCONTRIBUTING.mdREADME.mdUPGRADES.mdcontainers/npm-tools/package.jsondocs/advanced/configuration.mdxdocs/tools/sandbox.mdxdocs/usage/scan-modes.mdxlyrashield/skills/custom/source_aware_sast.mdlyrashield/skills/system_prompt.jinjatests/test_sandbox_dockerfile.pytests/test_sandbox_release_workflow.py
💤 Files with no reviewable changes (1)
- containers/npm-tools/package.json
…61) Update UPGRADES.md, README.md, CONTRIBUTING.md, lyrashield/README.md, lyrashield/telemetry/README.md, and docs/*.mdx to reflect the post-PR-#58 state where all product behavior lives in lyrashield/** and strix/** is exact upstream v1.5.3 with only two generic seams. Key changes: - UPGRADES.md: add PR #58/#59/#60 ledger entries; update "Compatibility patches retained" and "LyraShield-owned contract" sections to reference lyrashield/** paths; add migration notes to historical sections (Parallel Search, Security hardening pass) with per-bullet "(Now ...)" annotations. - lyrashield/README.md: rewrite from "intentionally minimal" to full module map and registration-seam documentation. - lyrashield/telemetry/README.md: fix wrong claim that adapter rejects chatgpt/ subscription models (now supports by default). - docs/advanced/skills.mdx: document lyrashield/skills/ overlay directory. - docs/contributing.mdx: update gate description to v1.5.3 hard two-file allowlist; fix broken AI_AUDIT_REPORT.md reference. - docs/usage/cli.mdx: update viewer SPA path to lyrashield/interface/viewer/. - README.md, CONTRIBUTING.md: fix broken AI_AUDIT_REPORT.md references to link to UPGRADES.md security hardening section; update viewer path. - Remove stale planning/handoff docs (AI_AUDIT_REPORT.md, LYRASHIELD_DIFF_REPORT.md, MIGRATION_MATRIX.md, findings.md, progress.md, task_plan.md, upstream-sync-2e70402.md) superseded by UPGRADES.md. Verification: bash scripts/verify-controlled-derivative.sh -- 1011 passed, 1 skipped; lint/format/mypy/Bandit pass. Generated with [Devin](https://devin.ai) Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Summary
Verification
bash scripts/verify-controlled-derivative.sh: 1011 passed, 1 skippedstrix/**footprint: 2 files, +24/-0; no new Strix changesgit diff --checkSummary by CodeRabbit
New Features
Bug Fixes
Documentation