fix(ckpt): add RPM component identity - #2568
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ad691f27ba
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Forrest-ly
left a comment
There was a problem hiding this comment.
Code Review — PR #2568 (commit ad691f2)
The spec changes themselves are correct ✅
Provides: anolisa-component(tokenless)(src/tokenless/tokenless.spec.in:11) andProvides: anolisa-component(ws-ckpt)(src/ws-ckpt/ws-ckpt.spec.in:13) exactly matchsrc/anolisa/manifests/components-v2.toml(provides = "anolisa-component(tokenless)"/provides = "anolisa-component(ws-ckpt)") and the capability format generated byrpm_component_provide()inresolution.rs, so the third resolver fallback (rpm_package_provides_component) will work once rebuilt RPMs are published.- Preamble placement matches the established pattern (
agentsight.spec.in:20,copilot-shell.spec.in:18,cosh-ng.spec.in:21,skillfs.spec.in:26). - Build verification (
rpm -qp --provides) is documented in the PR description.
Requested changes (metadata only — no code edits)
1. Replace Fixes #2559 with Part of #2559.
#2559's primary component is agent-memory (its title and body target agent-memory.spec.in), and it additionally lists four more affected components: os-skills, tokenless, ws-ckpt, agent-sec-core. This PR only covers tokenless + ws-ckpt; agent-memory is fixed separately in #2560. Merging with Fixes #2559 will auto-close a P1 issue while os-skills.spec.in and agent-sec-core.spec.in still lack the Provides line.
Note Fixes #2559 appears in both the PR description and the commit message — auto-close can be triggered from either path on merge, so please update both.
2. Fix the failing Commit Message Lint check (scope-empty).
.github/commitlint.config.json sets scope-empty: [2, "never"] (error level), so the commit title requires a scope. Please amend, e.g.:
fix(tokenless): add missing Provides: anolisa-component(<name>) to tokenless and ws-ckpt specs, or- split into two commits
fix(tokenless): ...+fix(ckpt): ...(valid scopes includetokenlessandckpt).
A force-push amend is needed anyway for point 1 — please handle both in the same push.
Non-blocking notes
- Follow-up still needed to fully close #2559:
os-skills.spec.inneedsProvides: anolisa-component(os-skills);agent-sec-core.spec.inneedsProvides: anolisa-component(sec-core)(mind the component name issec-corein components-v2.toml, notagent-sec-core). - Optional (echoing the bot's P2): if these components are republished at the same Version, consider bumping
%define anolis_releaseto avoid an NVR collision with already-published RPMs.
- Declare the ws-ckpt RPM capability used by ANOLISA resolution. - Keep the PR scoped to metadata not already present on main. Fixes: edce583 ("feat(ckpt): add component.toml for anolisa-cli adapter discovery") Signed-off-by: kongche-jbw <kongche.jbw@alibaba-inc.com>
ad691f2 to
f08a32b
Compare
Forrest-ly
left a comment
There was a problem hiding this comment.
Code review 通过(re-review @ f08a32b)。
上次 CHANGES_REQUESTED(@ad691f2)的两项元数据要求均已满足:
- 不再引用
Fixes #2559——PR body 改为Related to #2575(5 个 spec 缺 Provides 的 umbrella issue),不会过早自动关闭 issue;body 与 commit message 中均无残留 #2559 引用。 - commit 标题已带 scope:
fix(ckpt): add RPM component identity,commit-message lint 通过(CI 6/6 绿)。
改动核实:
- 仅 1 个文件 1 行:
src/ws-ckpt/ws-ckpt.spec.in新增Provides: anolisa-component(ws-ckpt),与src/anolisa/manifests/components-v2.toml中 ws-ckpt rpm backend 的provides = "anolisa-component(ws-ckpt)"契约一致,也符合resolution.rs解析的 capability 格式。 - 格式与已合并的 tokenless(#2576)、agent-memory(#2560)spec 一致。
- tokenless 改动已正确移除(已随 #2576 落地)。
提示:Forrest-ly 此前的 CHANGES_REQUESTED review 仍挂在 PR 上,两项要求均已解决,可 dismiss 或重新 review。os-skills / agent-sec-core 的 Provides 仍是后续 PR 的工作(不在本 PR 范围)。
Why
The ws-ckpt RPM does not advertise its ANOLISA component identity. When the
component index is unavailable, RPM capability fallback cannot resolve the
package.
What changed
Added
Provides: anolisa-component(ws-ckpt)to the ws-ckpt RPM spec. Thetokenless change was removed because it already landed in #2576.
Related issue
Related to #2575.
User / Agent impact
anolisa installandanolisa upgradecan resolve ws-ckpt through RPMProvides when the repository-side component index is unavailable.
Risk and compatibility
Low risk: this adds the component identity capability expected by the existing
ANOLISA resolver and manifest contract.
Validation
git diff --check up/main...HEADrpmspecvalidation was unavailable because the tool is not installed.Documentation and rollback
No documentation change is required. Roll back by reverting the single
Providesline.