Skip to content

T099, the root README names the PyPI install line (plan 034) - #19

Merged
brettheap merged 1 commit into
mainfrom
build/034-p3w-t099-root-readme-pypi
Oct 5, 2026
Merged

brettheap merged 1 commit into
mainfrom
build/034-p3w-t099-root-readme-pypi

Conversation

@brettheap

@brettheap brettheap commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Lane: openxfactory-4 (openXfactory-4-openDox_extraction)

Arc: neutral-product-standalone-operability

Plan 034, task T099, its last step: "Then the root README". The plan is specs/034-opendox-standalone-operation/tasks.md at opensoft/openxFactory main ba6bb870. This PR is part of T099's landing, and it realizes the README half of box 10.3.

  • Ruled:
    • 5962754358 item 1, "Publish to PyPI at the cut";
    • 5963162921, "0.1.0";
    • the holder's ruling of 2026-10-03: T076's dated paragraph is true until the cut, and T099 replaces it with the PyPI install line after the publish verifies.
  • The publish is done. This PR lands now that the release workflow's pypi job has checked that PyPI serves exactly the verified files. The holder posts READY, and the landers merge.

What it waited on: all met (2026-10-05)

  1. The cut. T095 landed as openDox-code#75 → 389e5a4a (X). T096 PASSED at X (openxFactory#656 5998374840). Brett Heap's publish word is 5997633384, verbatim "Publish when T096 passes (Recommended)". T099's P-against-X check, git diff --quiet dede32b4 389e5a4a -- src/ pyproject.toml migrations/ README.md LICENSE, gave exit status 0.
  2. The tag. The annotated tag v0.1.0 (tag object 9153c254) peels to P = openDox-code dede32b4. The release run 37339111713 was dispatched on it with version 0.1.0.
  3. Brett Heap's two approvals, testpypi then pypi.
    • build and verify, publish to TestPyPI, install opendox[local] from TestPyPI and publish to PyPI all succeeded, and so did the run.
    • The pypi job's step "PyPI serves the files the build job verified" succeeded.
    • PyPI serves exactly the run's two files, neither yanked: opendox-0.1.0-py3-none-any.whl (sha256 8ecea00d…) and opendox-0.1.0.tar.gz (sha256 56869b62…).
    • The holder's own checks also passed. pip install "opendox[local]" from PyPI alone, in a fresh venv, installs 0.1.0 from that wheel, and opendox --help runs.
  4. This PR. It leaves draft, and its title drops the "DRAFT (after T099's publish): " prefix.

What changes: README.md only, one paragraph

T076's paragraph "Where opendox comes from" (openDox#17 → 504324de) said that "As of 2026-10-04 no release of it is published to PyPI". It had pip install "./code[local]" from a recursive clone stand in for the first line. This PR replaces that paragraph. The new one says:

  • the first line, pip install "opendox[local]", installs opendox from PyPI;
  • what opendox is, which is unchanged: the code leg's distribution at the pinned commit, with its local extra and its console script;
  • that release 0.1.0 on PyPI was built from the commit this root pinned at release 1's cut, and published by trusted publishing, with no stored token.

Nothing else moves: the install section's two lines, the other paragraphs, the section order, the doc index, Makefile, every pin and every workflow are untouched.

T099's falsifier, by review:

  • The install section names pip install "opendox[local]", in its code block and in the new paragraph.
  • No paragraph says that no release is published. A search of README.md for "no release", "not published", "As of 20" and ./code[local] finds nothing.

Checks, at this head

  • make validate: exit status 0 (naming, manifest, and the lockstep pins: spec f7ee3c76 and code dede32b4, gitlinks equal to their pins, tree digests recomputed, 10 shape copies matching their digests).
  • make pins: exit status 0.

🤖 Generated with Claude Code

…(plan 034)

T076's README (openDox#17) carried a dated paragraph, "Where `opendox`
comes from", saying that no release of `opendox` was published to PyPI
and that an install from a recursive clone stood in for the first line.
That was true until the cut. This replaces it, as T099's "Then the root
README" bullet says: the paragraph now names the PyPI install line,
`pip install "opendox[local]"`, and no paragraph says that no release is
published.

It lands only after T099's publish, once the release workflow's pypi job
has checked that PyPI serves exactly the verified files.

Arc: neutral-product-standalone-operability
Lane: openxfactory-4 (openXfactory-4-openDox_extraction)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 5, 2026 12:44
@sourcery-ai

sourcery-ai Bot commented Oct 5, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This PR makes the README’s primary installation instruction point to the verified PyPI release opendox 0.1.0, replacing the pre-publication clone-based fallback while leaving the rest of the documentation and repository metadata unchanged.

File-Level Changes

Change Details Files
Update the root README to document the published PyPI installation path for opendox.
  • Replace the unreleased-package warning and recursive-clone fallback with pip install "opendox[local]".
  • Retain the distribution identity, pinned code provenance, local extra, and console-script details.
  • Document release 0.1.0 as built from the release-cut pin and published through trusted publishing without a stored token.
README.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sonarqubecloud

sonarqubecloud Bot commented Oct 5, 2026

Copy link
Copy Markdown

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

The required PyPI publication, release tag, and successful release workflow run are not yet available.

Review effort: Balanced
Findings: None

What changed in this PR

Updates installation guidance for the planned PyPI release of opendox 0.1.0.

Changes:

  • Replaces recursive-clone installation guidance with the PyPI command.
  • Documents release provenance and trusted publishing.
File Description
README.md Documents PyPI installation and release provenance.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@brettheap brettheap changed the title DRAFT (after T099's publish): T099, the root README names the PyPI install line (plan 034) T099, the root README names the PyPI install line (plan 034) Oct 5, 2026
@brettheap
brettheap marked this pull request as ready for review October 5, 2026 16:37
@brettheap

Copy link
Copy Markdown
Contributor Author

READY at 8618744 — Lane: openxfactory-4 (openXfactory-4-openDox_extraction)

Holder: T099's last step, the root README names the PyPI install line. It is an arc landing, and it completes box 10.3's README half.

  • The publish has verified. The release run 37339111713, on the annotated tag v0.1.0 at P = dede32b4, completed with success. Its pypi job's step "PyPI serves the files the build job verified" succeeded. PyPI serves exactly the run's wheel (8ecea00d…) and sdist (56869b62…), neither yanked.
  • The holder's own check. pip install "opendox[local]" from PyPI alone, in a fresh venv, installs 0.1.0 from that wheel, and opendox --help runs.
  • The change. README.md only. T076's dated "no release is published" paragraph becomes the PyPI install line.
  • Gates.
    • make validate and make pins give exit status 0.
    • CI validate and SonarCloud pass.
    • Copilot finds nothing at the head; its only note was that the release did not exist yet, and now it does.
    • 0 threads, and no closing keyword.

@sourcery-ai

sourcery-ai Bot commented Oct 5, 2026

Copy link
Copy Markdown

Sorry @brettheap, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 5 hours and 46 minutes by commenting @sourcery-ai review. Upgrade to get a review now.

@brettheap
brettheap merged commit d77f8cb into main Oct 5, 2026
4 checks passed
@brettheap

Copy link
Copy Markdown
Contributor Author

Lane: openxfactory-4 (openXfactory-4-openDox_extraction)

LANDED — lane openxfactory-4, 2026-10-05T16:39:32Z, PR #19 → d77f8cb (opensoft/openDox main; plain gate)

Brett: land phase 1 / phase 2 PRs when green

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