fix(plugins): keep derived metadata snapshots fresh#85201
Conversation
|
Codex review: needs maintainer review before merge. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
Summary Reproducibility: yes. source inspection gives a high-confidence reproduction path: current main can memoize policy-stale derived metadata and can retain metadata through the runtime current-snapshot handoff. I did not run tests because this review is read-only. PR rating Rank-up moves:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. Real behavior proof Risk before merge
Maintainer options:
Next step before merge Security Review detailsBest possible solution: Land this narrow cache-correctness fix after maintainer review, undrafting, and normal gates, keeping persisted/provided snapshots memoized while treating derived discovery as freshness-sensitive. Do we have a high-confidence way to reproduce the issue? Yes, source inspection gives a high-confidence reproduction path: current main can memoize policy-stale derived metadata and can retain metadata through the runtime current-snapshot handoff. I did not run tests because this review is read-only. Is this the best way to solve the issue? Yes. Carrying registrySource forward and refusing process-local reuse for derived snapshots is the narrow maintainable fix because it removes the stale freshness set while preserving persisted/provided memo paths. Label changes:
Label justifications:
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against ae4806ed9adf. |
|
ClawSweeper PR egg ✨ Hatched: 🥚 common Sunspot Merge Sprite Hatch commandComment Hatchability rules:
Rarity: 🥚 common. What is this egg doing here?
|
|
Verification before merge:
Known proof gap:
|
Summary
derivedsnapshots.Motivation
Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Real behavior proof (required for external PRs)
.github/workflows/ci-check-testbox.yml.node scripts/run-vitest.mjs src/plugins/plugin-metadata-snapshot.memo.test.ts src/plugins/current-plugin-metadata-snapshot.test.ts src/plugins/runtime/load-context.test.ts;pnpm check:changed; post-rebasegit diff --check HEAD~1..HEAD.tbx_01ks5w6e7694ny1q42r85wmyyhpassed targeted Vitest, 3 files / 39 tests, andpnpm check:changed; local post-rebase diff check passed.tbx_01ks6tcphf6yqqv3yjj5t9h96zfailed during rsync file sync before commands ran; local Vitest was not usable because local dependencies were missing a native rolldown binding.Root Cause (if applicable)
Regression Test Plan (if applicable)
src/plugins/plugin-metadata-snapshot.memo.test.ts,src/plugins/current-plugin-metadata-snapshot.test.ts,src/plugins/runtime/load-context.test.ts.User-visible / Behavior Changes
Newly added plugins under derived discovery paths can be found without restarting the OpenClaw process.
Diagram (if applicable)
Security Impact (required)
Yes/No) NoYes/No) NoYes/No) NoYes/No) NoYes/No) NoYes, explain risk + mitigation: N/ARepro + Verification
Environment
Steps
Expected
Actual
Evidence
Human Verification (required)
What you personally verified (not just CI), and how:
pnpm check:changedon Testbox; post-rebase diff sanity locally.Review Conversations
Compatibility / Migration
Yes/No) YesYes/No) NoYes/No) NoRisks and Mitigations