You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
anolisa (CLI: anolisa upgrade → RPM component resolution via ComponentResolver)
Bug Description
anolisa upgrade --assume-yes returns ok: false with status: blocked because 5 of 6 default profile components (os-skills, sec-core, tokenless, ws-ckpt, agent-memory) have RPM spec files that are missing the Provides: anolisa-component(<name>) virtual provide. When the repo-side components-v2.toml is unavailable (HTTP 404) and no package_map entry exists in repo.toml, the resolver falls through to RPM Provides — but finds no anolisa-component(...) capability for these 5 packages, causing upgrade to block with "cannot resolve RPM package for default component '<name>': no package mapping or provider found".
This issue was discovered by AgenticOS Nightly on 2026-08-14 (run nightly-20260814-170909, anolisa main commit a50e34d).
Verify none of these RPMs declare anolisa-component() provides:
forpkgin ws-ckpt agent-memory os-skills tokenless agent-sec-core;do
rpm -q --provides $pkg| grep anolisa-component ||echo"$pkg: NO anolisa-component provides"done# All 5 print "NO anolisa-component provides"
Run upgrade:
anolisa --json upgrade --assume-yes
Actual Behavior
{
"ok": false,
"schema_version": 1,
"command": "upgrade",
"data": {
"status": "blocked",
"errors": [
{"name": "os-skills", "reason": "cannot resolve RPM package for default component 'os-skills': no package mapping or provider found"},
{"name": "sec-core", "reason": "cannot resolve RPM package for default component 'sec-core': no package mapping or provider found"},
{"name": "tokenless", "reason": "cannot resolve RPM package for default component 'tokenless': no package mapping or provider found"},
{"name": "ws-ckpt", "reason": "cannot resolve RPM package for default component 'ws-ckpt': no package mapping or provider found"},
{"name": "agent-memory", "reason": "cannot resolve RPM package for default component 'agent-memory': no package mapping or provider found"}
]
}
}
Exit code: 1
Expected Behavior
anolisa upgrade --assume-yes should return ok: true with status: up-to-date (no-op when all components are current). The ComponentResolver should be able to find the RPM package for each default component via one of three resolution paths: component index, package_map, or RPM Provides: anolisa-component(<name>).
Root Cause
The root cause is in src/anolisa/crates/anolisa-cli/src/commands/tier1/update/check.rs:804-834 (resolve_default_install_package). This function delegates to ComponentResolver which checks:
The resolution contract was introduced in commit e85098fd (feat(cosh): add anolisa component contract) but the spec files for these 5 components were not updated at that time.
Suggested Fix
Add Provides: anolisa-component(<name>) to each of the 5 spec.in files. The fix is already implemented in 4 open PRs:
Verified on ECS: applying the combined patch and rebuilding os-skills RPM produces a package with anolisa-component(os-skills) in its provides, and rpm-build.sh os-skills exits 0.
Discovered by AgenticOS Nightly (nightly-20260814-170909). The test tests/test_upgrade.py::test_upgrade_preserves_repo_toml_hash (ANL-022-09) asserts r.ok after anolisa upgrade --assume-yes and fails because upgrade is blocked. Same root cause affects 4 other upgrade tests and all anolisa install tests.
Component
anolisa (CLI:
anolisa upgrade→ RPM component resolution viaComponentResolver)Bug Description
anolisa upgrade --assume-yesreturnsok: falsewithstatus: blockedbecause 5 of 6 default profile components (os-skills, sec-core, tokenless, ws-ckpt, agent-memory) have RPM spec files that are missing theProvides: anolisa-component(<name>)virtual provide. When the repo-sidecomponents-v2.tomlis unavailable (HTTP 404) and nopackage_mapentry exists inrepo.toml, the resolver falls through to RPM Provides — but finds noanolisa-component(...)capability for these 5 packages, causing upgrade to block with"cannot resolve RPM package for default component '<name>': no package mapping or provider found".This issue was discovered by AgenticOS Nightly on 2026-08-14 (run nightly-20260814-170909, anolisa main commit a50e34d).
Steps to Reproduce
Install anolisa 0.3.1 on a fresh ALinux 4 ECS:
Ensure managed component RPMs are installed (from the alibaba/anolisa yum repo):
Verify none of these RPMs declare
anolisa-component()provides:Run upgrade:
Actual Behavior
{ "ok": false, "schema_version": 1, "command": "upgrade", "data": { "status": "blocked", "errors": [ {"name": "os-skills", "reason": "cannot resolve RPM package for default component 'os-skills': no package mapping or provider found"}, {"name": "sec-core", "reason": "cannot resolve RPM package for default component 'sec-core': no package mapping or provider found"}, {"name": "tokenless", "reason": "cannot resolve RPM package for default component 'tokenless': no package mapping or provider found"}, {"name": "ws-ckpt", "reason": "cannot resolve RPM package for default component 'ws-ckpt': no package mapping or provider found"}, {"name": "agent-memory", "reason": "cannot resolve RPM package for default component 'agent-memory': no package mapping or provider found"} ] } }Exit code: 1
Expected Behavior
anolisa upgrade --assume-yesshould returnok: truewithstatus: up-to-date(no-op when all components are current). TheComponentResolvershould be able to find the RPM package for each default component via one of three resolution paths: component index, package_map, or RPMProvides: anolisa-component(<name>).Root Cause
The root cause is in
src/anolisa/crates/anolisa-cli/src/commands/tier1/update/check.rs:804-834(resolve_default_install_package). This function delegates toComponentResolverwhich checks:components-v2.toml/components.toml) — currently returning HTTP 404 (not published to mirror yet, see anolisa: component index resolution fails - v2 index not published (404), v1 fallback removed #2569/anolisa: component index resolution fails - v2 index not published (404), v1 fallback removed #2570)repo.toml— no entry for these componentsanolisa-component(<name>)) — not declared in 5 spec.in filesAll three paths fail, so the resolver returns
ResolutionSet::Noneand the error message is emitted.The 5 spec files missing
Provides::src/os-skills/os-skills.spec.in(PR fix(skill): add missing Provides: anolisa-component(os-skills) to RPM spec #2567 filed)src/tokenless/tokenless.spec.in(PR fix(ckpt): add RPM component identity #2568 filed)src/ws-ckpt/ws-ckpt.spec.in(PR fix(ckpt): add RPM component identity #2568 filed)src/agent-sec-core/agent-sec-core.spec.in(PR fix(sec-core): add missing Provides: anolisa-component(sec-core) to RPM spec #2563 filed)src/agent-memory/agent-memory.spec.in(PR fix(memory): add missing Provides: anolisa-component(agent-memory) to RPM spec #2560 filed)The resolution contract was introduced in commit
e85098fd(feat(cosh): add anolisa component contract) but the spec files for these 5 components were not updated at that time.Suggested Fix
Add
Provides: anolisa-component(<name>)to each of the 5 spec.in files. The fix is already implemented in 4 open PRs:fix/agent-memory-missing-providesfix/agent-sec-core-missing-providesfix/os-skills-missing-providesfix/ws-ckpt-tokenless-missing-providesVerified on ECS: applying the combined patch and rebuilding os-skills RPM produces a package with
anolisa-component(os-skills)in its provides, andrpm-build.sh os-skillsexits 0.After merging these PRs and rebuilding RPMs,
anolisa upgrade --assume-yesshould returnok: true.Environment
Related Issues
Additional Context
Discovered by AgenticOS Nightly (nightly-20260814-170909). The test
tests/test_upgrade.py::test_upgrade_preserves_repo_toml_hash(ANL-022-09) assertsr.okafteranolisa upgrade --assume-yesand fails because upgrade is blocked. Same root cause affects 4 other upgrade tests and allanolisa installtests.