Skip to content

Add offline tool revision and explicit GitHub version check - #3

Draft
SomeSunlight wants to merge 5 commits into
mainfrom
agent/2-version-check
Draft

SomeSunlight wants to merge 5 commits into
mainfrom
agent/2-version-check

Conversation

@SomeSunlight

@SomeSunlight SomeSunlight commented Nov 10, 2026 •

Copy link
Copy Markdown
Owner

Implements Issue #2 using the accepted ContextCanon Development Workflow convention (CCW-014/CCW-017).

Minimal CLI, without refactoring existing export scripts

The existing confluenceDumpToHTML.py, htmlToDoc.py and other export/editor scripts are unchanged. Added a small, dependency-light package entry point:

python -m confluence_dump --version
# confluencebridge 3.0.1 (agent/2-version-check@<commit>)
python -m confluence_dump version check
# Installed: confluencebridge 3.0.1 (agent/2-version-check@<commit>)
# Remote:    agent/2-version-check@<remote-sha>
# Status:    up to date
python -m confluence_dump version check --branch main

The same interface is available as confluencebridge ... after package installation. --version works fully offline and reads the executing checkout's branch/HEAD/dirty state or the resolved installed PEP 610 Git-URL SHA. No Confluence credentials, browser, workspace, generated HTML or PDF are read or modified.

Only explicit version check contacts the public SomeSunlight/ConfluenceBridge GitHub API, anonymously, with bounded response/timeout. Compare exact Git commits and ancestry: up to date (exit 0), behind/ahead/diverged (exit 1), unknown (exit 2; never fabricates currency). Never updates/pulls/installs files or contacts Confluence. No credentials are transmitted.

Version source correction

The documented latest release baseline was 3.0.1 in CHANGELOG while the inherited packaging setup.py still declared 0.0.1. Now confluence_dump.__version__ is the single source used by runtime and setup.py. This has no relation to Confluence content page version numbers or manifest.json schema version 1.0; neither was changed.

Deterministic tests and CI

  • Existing pytest suite + new network-mocked tests for checkout+dirty, installed PEP 610, default/explicit branches, GitHub ancestry directions, no-network --version, malformed origins/payloads, timeouts and read-only operation.
  • CI matrix: Windows 2022 and Ubuntu, Python 3.11 and 3.12.
  • Packaging test: clean minimal CLI install without heavy exporter dependencies; real uv Git-URL installs from an exact SHA and a moving branch, verifying the installed Git revision.
  • Four-platform matrix passed at code commit 7528e4a (run #42858067060). The final PLAN/STATE-only documentation checkpoint receives a fresh exact-head rerun.

Owner smoke test — no full export environment necessary

Test in a temporary clone without installing anything:

git clone https://github.com/SomeSunlight/ConfluenceBridge.git
cd ConfluenceBridge
git switch --track origin/agent/2-version-check
python -m confluence_dump --version
python -m confluence_dump version check
python -m confluence_dump version check --branch main

Or install only the version entrypoint in a disposable Python environment:

python -m pip install --no-deps "git+https://github.com/SomeSunlight/ConfluenceBridge.git@agent/2-version-check"
confluencebridge --version
confluencebridge version check

The PR branch should be up to date if it has not moved; comparison with main may correctly say ahead while this change remains unmerged.

ContextCanon onboarding deliberately not included: this repository currently lacks any authored/accepted Context Node. Tracking normative inheritance separately in Issue #4; this focused PR applies the already accepted rule directly and links its authoritative guidance.

Draft PR — owner approval required before squash merge.

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