Skip to content

Conversation

@Josephrp
Copy link
Contributor

@Josephrp Josephrp commented Jan 2, 2026

…ments


Note

Modernizes CI/docs and broadens Python compatibility while adding small CLI capabilities.

  • CI/Docs: New Build Documentation workflow triggers on push/PR; ensures reports before mkdocs; triggers Read the Docs via API; simplifies Bandit to a single JSON output; removes || echo from coverage step; adds compatibility linter to CI.
  • Typing compatibility: Replaces | unions with Optional/Union across ccbt/cli, config, core, daemon, and consensus for Python 3.8 support; minor signature and annotation cleanups.
  • CLI enhancements: Adds Protocol v2 flags (--enable-v2, --disable-v2, --prefer-v2, --v2-only) to download/magnet; minor safety/logging and progress API tweaks.
  • Misc: README badges updated; .gitignore additions (compatibility_tests/, lint_outputs/).

Written by Cursor Bugbot for commit 31092da. This will update automatically on new commits. Configure here.

@Josephrp Josephrp merged commit c2efd36 into dev Jan 2, 2026
2 of 14 checks passed
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

pid_file: str | Path | None = None,
state_dir: str | Path | None = None,
pid_file: Optional[str | Path] = None,
state_dir: Optional[str | Path] = None,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent union type syntax breaks Python 3.8/3.9 compatibility

The PR inconsistently converts union types for compatibility. In these files, Optional[str | Path] is used, but the | union syntax requires Python 3.10+. The project's pyproject.toml declares requires-python = ">=3.8" with explicit support for Python 3.8 and 3.9. Other files in this same PR correctly use Optional[Union[str, Path]] (e.g., config/config.py). If get_type_hints() is called on these functions at runtime, it will fail on Python 3.8/3.9 with a TypeError.

Additional Locations (2)

Fix in Cursor Fix in Web

retention-days: 7

- name: Trigger Read the Docs build
if: env.RTD_API_TOKEN != ''
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Workflow condition checks wrong context, never triggers RTD build

The condition if: env.RTD_API_TOKEN != '' checks for an environment variable at the job level, but RTD_API_TOKEN is only defined within the step's own env: block (line 180). GitHub Actions evaluates if: conditions before the step runs, so env.RTD_API_TOKEN will always be empty/undefined. This means the "Trigger Read the Docs build" step will never execute, even when the secret is properly configured. The condition should use secrets.RTD_API_TOKEN != '' to check if the secret exists.

Additional Locations (1)

Fix in Cursor Fix in Web

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.

2 participants