π§ chore(sync): advance main to dev/v1.6 for the v1.6.0-rc.7 cut - #610
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
biggest-littlest
left a comment
There was a problem hiding this comment.
Tree-identical advance of main to dev/v1.6 for the rc.7 cut.
π WalkthroughWalkthroughThe change centralizes container candidate identity fields for lifecycle signatures, notification hashes, and scan validation. Security scan write-back now re-fetches raw records, preserves concurrent updates, and skips persistence for removed containers. Update age now requires Possibly related PRs
π₯ Pre-merge checks | β 2β Passed checks (2 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 |
ALARGECOMPANY
left a comment
There was a problem hiding this comment.
Routine pre-cut sync, content already green on dev/v1.6.
The merge-base changed after approval.
391c1b7 to
8aabf0f
Compare
biggest-littlest
left a comment
There was a problem hiding this comment.
Re-approving after the head branch was rebuilt as main + dev tree wholesale.
ALARGECOMPANY
left a comment
There was a problem hiding this comment.
Re-approved, tree matches dev/v1.6 exactly.
There was a problem hiding this comment.
Actionable comments posted: 2
π€ 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 `@content/docs/current/updates/index.mdx`:
- Line 8: Update the release-note bullet in the current updates index to
separate the no-update maturity/age filter fix from the three candidate-identity
fixes. State that the filter/sort behavior is gated by updateAvailable, and
reserve the shared candidate-identity comparison claim for the maturity clock,
notification deduplication, and security-scan fixes.
In `@scripts/release-docs-identity.test.mjs`:
- Around line 32-34: Validate RC_VERSION against the supported plain-semver or
numeric RC prerelease syntax before the RC/GA branching logic in the
release-docs assertions. Reject malformed values such as β1.6.0-rc.xβ before
deriving or checking any release surfaces, while preserving support for GA
versions and valid RC versions.
πͺ Autofix (Beta)
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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 34588d89-1df6-435b-bad7-97e947ceab3b
β Files ignored due to path filters (1)
CHANGELOG.mdis excluded by!CHANGELOG.md
π Files selected for processing (32)
README.mdapp/api/container.test.tsapp/api/container.tsapp/api/container/bulk-security.test.tsapp/api/container/bulk-security.tsapp/api/container/crud.test.tsapp/api/container/filters.test.tsapp/api/container/maturity-filter.test.tsapp/api/container/security.test.tsapp/api/container/security.tsapp/api/container/update-age.tsapp/model/container.tsapp/store/container.test.tsapp/store/container.tsapp/store/notification-history.test.tsapp/store/notification-history.tsapps/demo/src/mocks/data/agents.tsapps/demo/src/mocks/data/audit.tsapps/demo/src/mocks/data/containers.tsapps/demo/src/mocks/data/server.tsapps/demo/src/mocks/handlers/app.tsapps/web/src/lib/site-config.tsapps/web/src/lib/site-content.tscontent/docs/current/api/agent.mdxcontent/docs/current/api/app.mdxcontent/docs/current/api/portwing.mdxcontent/docs/current/quickstart/index.mdxcontent/docs/current/updates/index.mdxscripts/changelog-links.test.mjsscripts/release-docs-identity.test.mjsscripts/release-identity.test.mjsui/src/boot/icon-bundle.json
|
|
||
| ## v1.6.0-rc.7 Highlights β July 26, 2026 | ||
|
|
||
| - **Four identity-drift bugs fixed** β the maturity soak clock no longer resets when a container is recreated, notification dedup no longer double-fires a `once: true` notification on a manual recheck, a finishing security scan no longer reverts an update the watcher detected mid-scan, and containers with no available update no longer surface under maturity/age filters or sorts. All four traced back to inconsistent candidate-identity comparisons, now unified behind one shared helper. |
There was a problem hiding this comment.
π― Functional Correctness | π‘ Minor | β‘ Quick win
Separate update-availability gating from identity drift.
The no-update maturity/age filter behavior is fixed by requiring updateAvailable, not by candidate-identity comparison. Split that claim from the three identity fixes so the release note matches the implementation.
π€ Prompt for 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.
In `@content/docs/current/updates/index.mdx` at line 8, Update the release-note
bullet in the current updates index to separate the no-update maturity/age
filter fix from the three candidate-identity fixes. State that the filter/sort
behavior is gated by updateAvailable, and reserve the shared candidate-identity
comparison claim for the maturity clock, notification deduplication, and
security-scan fixes.
Source: Path instructions
| // RC_VERSION is either a prerelease (e.g. 1.6.0-rc.6) or, at the GA cut, the plain base | ||
| // version (e.g. 1.6.0). Both shapes drive every assertion below directly from the | ||
| // constant β no shape-specific literal is hand-maintained, and no shape throws. |
There was a problem hiding this comment.
π― Functional Correctness | π‘ Minor | β‘ Quick win
Reject malformed release versions before the RC/GA branch.
A value such as 1.6.0-rc.x falls into the GA branch and can pass if copied across release surfaces. Assert the supported syntax before branching.
Proposed fix
+ assert.match(RC_VERSION, /^\d+\.\d+\.\d+(?:-rc\.\d+)?$/u);
const rcSuffixMatch = RC_VERSION.match(/^(.*-rc\.)(\d+)$/u);π Committable suggestion
βΌοΈ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| // RC_VERSION is either a prerelease (e.g. 1.6.0-rc.6) or, at the GA cut, the plain base | |
| // version (e.g. 1.6.0). Both shapes drive every assertion below directly from the | |
| // constant β no shape-specific literal is hand-maintained, and no shape throws. | |
| // RC_VERSION is either a prerelease (e.g. 1.6.0-rc.6) or, at the GA cut, the plain base | |
| // version (e.g. 1.6.0). Both shapes drive every assertion below directly from the | |
| // constant β no shape-specific literal is hand-maintained, and no shape throws. | |
| assert.match(RC_VERSION, /^\d+\.\d+\.\d+(?:-rc\.\d+)?$/u); | |
| const rcSuffixMatch = RC_VERSION.match(/^(.*-rc\.)(\d+)$/u); |
π€ Prompt for 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.
In `@scripts/release-docs-identity.test.mjs` around lines 32 - 34, Validate
RC_VERSION against the supported plain-semver or numeric RC prerelease syntax
before the RC/GA branching logic in the release-docs assertions. Reject
malformed values such as β1.6.0-rc.xβ before deriving or checking any release
surfaces, while preserving support for GA versions and valid RC versions.
Routine pre-cut sync: takes
dev/v1.6(391c1b7d) wholesale ontomainso the rc.7 tag cuts from a tree identical to the dev branch.Delta since the rc.6 sync (#603):
Head branch is a throwaway (
sync/main-20260726-rc7), notdev/v1.6, so auto-delete-head-branches can't touch the dev branch (#596 lesson).Changelog
v1.6.0-rc.6tov1.6.0-rc.7.v1.6.0-rc.7release highlights and GA-compatible release-surface checks.