Skip to content

ci: check the alpha channel strictly and drop the unresolvable rows - #625

Draft
JarbasAl wants to merge 1 commit into
devfrom
ci/channel-compat-alpha-row
Draft

JarbasAl wants to merge 1 commit into
devfrom
ci/channel-compat-alpha-row

Conversation

@JarbasAl

@JarbasAl JarbasAl commented Sep 9, 2026

Copy link
Copy Markdown
Member

🤖 Auto-generated by Claude Opus 5 (claude-opus-5) via Claude Code — NOT human-reviewed. Verify before acting.

Channel Compat checks the alpha channel, strictly, and nothing else. CI-only change.

What the removed rows were for, and where that coverage lives

The stable and testing rows asked "does a change that is green on dev still work on the
versions the fleet actually runs". That question is real and it still needs answering. It is
answered in ovos-test-harness, which installs each channel's own stack rather than this
repository against a constraints file, and records the known gaps per channel in
test/channel_gaps/ (269 node ids on stable, 184 on testing) so anything outside the
recorded set turns the job red.

Do not reinstate these rows as "missing compat checks". They cannot work in this shape,
for a structural reason given below.

Why they cannot work here

A channel job installs this repository into one virtual environment alongside the channel's
pins. A released channel caps the very siblings dev already requires, so the resolve is
impossible:

Because ovos-workshop==9.7.4a1 depends on
ovos-plugin-manager>=2.4.0a1,<3.0.0 and
ovos-plugin-manager>=0.9.0,<0.10.0, we can conclude that
ovos-workshop==9.7.4a1 cannot be used.

Both rows died there on every run and reported green, because soft_fail converted the
failure into a pass. They were not weak coverage; they were a green check for a comparison
that never ran, and no known-gap file could help because nothing was ever collected.

The harness avoids this by installing the channel's stack instead of this repository, which
is why the coverage belongs there and not here.

Why alpha is strict

Alpha sits at or ahead of dev, so it resolves and runs, and it is the channel the spec lands
in. A spec-adoption change that only works against current dev siblings has to fail
somewhere, and this is that place. The alpha constraints pin ovos-spec-tools>=1.12.0a1,
the first release whose migration map carries the OVOS-FALLBACK-1 renames, which is exactly
the kind of floor this row exists to hold.

Verification

The strict alpha row ran green in this repository's own CI. Locally, against
constraints-alpha.txt fetched from the same URL with the same extras: 718 passed, 22
subtests, resolving ovos-bus-client 2.11.15a1 and ovos-spec-tools 1.12.0a1.

The matching change for ovos-core is in OpenVoiceOS/ovos-core#974.

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Beep! I'm back with the goodies! 🍭

I've aggregated the results of the automated checks for this PR below.

📡 Channel Compat — testing

I've checked the pulse of your pull request. 💓

🚧 Channel unresolvable with this checkout — the repo's dependency floors exceed what the channel pins (fleet finding; see the install log).

Constraints: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-testing.txt
Resolved stack: channel-compat-testing artifact (constraints + pip freeze).

🔒 Security (pip-audit)

Scanning for any 'unauthenticated' access points. 🕵️

✅ No known vulnerabilities found (72 packages scanned).

📡 Channel Compat — stable

I've double-checked the data for any anomalies. 🔍

🚧 Channel unresolvable with this checkout — the repo's dependency floors exceed what the channel pins (fleet finding; see the install log).

Constraints: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-stable.txt
Resolved stack: channel-compat-stable artifact (constraints + pip freeze).

📋 Repo Health

Ensuring the codebase isn't suffering from 'technical debt' flu. 🤒

✅ All required files present.

Latest Version: 9.7.4a1

ovos_workshop/version.py — Version file
README.md — README
LICENSE — License file
pyproject.toml — pyproject.toml
⚠️ setup.py — setup.py
CHANGELOG.md — Changelog
ovos_workshop/version.py has valid version block markers

🔍 Lint

Analysis complete! Check out the details below. 📊

ruff: issues found — see job log

⚖️ License Check

Checking if the licenses are compatible with OVOS. 🧩

✅ No license violations found.

Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed.

📡 Channel Compat — alpha

I've finished the digital walk-through of your PR. 🚶‍♂️

✅ Test suite passes on the alpha channel.

Constraints: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-alpha.txt
Resolved stack: channel-compat-alpha artifact (constraints + pip freeze).

🔨 Build Tests

Ensuring all components are in alignment. 📏

✅ All versions pass

Python Build Install Tests
3.10
3.11
3.12
3.13
3.14

Closing the loop on this automated check ♻️

@JarbasAl
JarbasAl force-pushed the ci/channel-compat-alpha-row branch from 40653d3 to f593eeb Compare September 9, 2026 12:04
@JarbasAl JarbasAl changed the title ci: gate channel compat on the alpha channel ci: check the alpha channel strictly and drop the unresolvable rows Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant