Skip to content

T096 follow-on: the validator-root comment names the openxdox package's contracts/ - #56

Merged
brettheap merged 2 commits into
mainfrom
r2/t096f-validator-root-comment
Oct 7, 2026
Merged

brettheap merged 2 commits into
mainfrom
r2/t096f-validator-root-comment

Conversation

@brettheap

@brettheap brettheap commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Lane: openxfactory-4 (openXfactory-4-openDox_extraction)
Authored by lane openXfactory-3, delegated by lane openxfactory-4 (lane4-to-lane3.log 2026-10-07T00:40:52Z; Copilot 4201833198 accepted at #53's landing)

Arc: neutral-product-standalone-operability

T096 follow-on: the validator-root comment names the openxdox package's contracts/

When the holder landed #53 (T096) as 34e1c1f, it accepted Copilot 4201833198 and owed lane 3 a correction. This PR makes it. The docstring of test_every_schema_the_consumer_validates_is_on_disk (tests/test_validate_ideation_dashboard_contracts.py) said that in an install "its tree carries no contracts/". That is wrong:

  • The packaged validator is openxdox/contracts/validate-ideation-dashboard-contracts.py, and its ROOT (parents[1]) is the installed openxdox package.
  • So ROOT / "contracts" exists, and the three schemas are the packaged copies in it, each held to copies.yaml's digest (scripts/validate-ideation-dashboard-contracts.py:118, :138-145, :317-320).
  • Only a source tree has no contracts/ of its own. There the three come from the installed distribution's packaged copies, and that is what the test's last check asserts (if not (module.ROOT / "contracts" / "schemas").is_dir()).

The docstring now says each case. It is a docstring-only change: no code, test, assertion or behaviour moves. It carries the Arc: line because it completes T096's realization PR, with that PR's own accepted review finding.

Files: tests/test_validate_ideation_dashboard_contracts.py, docstring only (+7 / -3).

Ruled: the holder's acceptance of Copilot 4201833198 at #53's landing, and the follow-on owed by lane 3 (lane4-to-lane3.log, 2026-10-07T00:40:52Z). There are no decisions of this PR's own.

Measured at 0c268bd (main da73609 + this commit)

  • The file alone, composed, in T096's composed form (openxFactory 92010d3e with its three submodules initialized recursively and scripts/ on PYTHONPATH, openDox-code 84f8ed83, and T022's placement): 33 passed.
  • The file alone, lone: 1 failed, 1 passed, 31 errors, the same shape as before, for its declared reason, openxfactory-contracts. tests/test_declared_exclusion.py lone reads 207 passed.
  • The lone validate.yml form (pip install -e ".[test]", openDox at the pyproject pin dede32b4): 1161 passed, 4 skipped, 1 deselected, which is selected 1165 / passed 1161 / skipped 4, against floors 1099 / 1095 / 4.
  • No guard or behaviour is added, so there are no mutants to kill.

CI and Copilot

  • CI at 0c268bd: validate success (run 37603206350: 1161 passed, 4 skipped, 1 deselected), and SonarCloud Code Analysis success.
  • Copilot review 5440559691 at 0c268bd: Approval recommended, Findings None. 0 review threads.

Not done

Nothing else is owed by this follow-on.

🤖 Generated with Claude Code

Summary by Sourcery

Enhancements:

  • Clarify the validator-root test documentation to accurately describe packaged and source-tree contract locations and digest validation.

…'s contracts/ (Copilot 4201833198)

The consumer-validator test's docstring said an install's validator tree
carries no contracts/. It does: the packaged validator sits at
openxdox/contracts/validate-ideation-dashboard-contracts.py, its ROOT is the
installed openxdox package, and its contracts/ holds the three packaged
copies, each held to copies.yaml's digest. Only a source tree has no
contracts/ of its own, and there the three come from the installed
distribution's packaged copies, which the test's last check asserts. The
docstring now says so. Docstring only; no behaviour changes.

Lane: openXfactory-3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@brettheap
brettheap requested a balanced review from Copilot October 7, 2026 09:49
@sourcery-ai

sourcery-ai Bot commented Oct 7, 2026

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

Reviewer's Guide

This documentation-only follow-on updates the test docstring to accurately describe where the validator and schema copies reside in installed versus source-tree executions; no executable code, assertions, tests, or behavior changed.

File-Level Changes

Change Details Files
Correct the validator-root documentation to distinguish installed-package and source-tree layouts.
  • Identify the packaged validator path and explain that its ROOT contains contracts/.
  • Clarify that packaged schemas are checked against copies.yaml digests.
  • Explain that source-tree execution obtains schemas from the installed distribution and that the final assertion verifies this case.
tests/test_validate_ideation_dashboard_contracts.py

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

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

🟢 Approval recommended

The documentation now accurately matches the validator’s contract-resolution behavior.

Review effort: Balanced
Findings: None

What changed in this PR

Clarifies documentation for validator contract locations in installed and source-tree contexts.

Changes:

  • Corrects the test docstring; no behavior or assertions change.
File Description
tests/​test_validate_ideation_dashboard_contracts.py Clarifies packaged and source-tree schema locations.

💡 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: T096 follow-on: the validator-root comment names the openxdox package's contracts/ T096 follow-on: the validator-root comment names the openxdox package's contracts/ Oct 7, 2026
@brettheap
brettheap marked this pull request as ready for review October 7, 2026 09:51
@sourcery-ai

sourcery-ai Bot commented Oct 7, 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 7 hours and 28 minutes by commenting @sourcery-ai review. Upgrade to get a review now.

@brettheap
brettheap requested a balanced review from Copilot October 7, 2026 10:27
@sonarqubecloud

sonarqubecloud Bot commented Oct 7, 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

🟢 Approval recommended

The documentation now accurately reflects the validator’s verified path-resolution behavior.

Review effort: Balanced
Findings: None

@brettheap

Copy link
Copy Markdown
Contributor Author

READY at d44b2a4

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

Holder, automatic READY on Brett's word "land lane 3's PRs when green" (2026-10-06). At the head: CLEAN, rollup SUCCESS, nothing pending, 0 unresolved threads, and Copilot at d44b2a47 reads "🟢 Approval recommended". The per-repo lander checks closing keywords and lands it.

@brettheap
brettheap merged commit 9720925 into main Oct 7, 2026
4 checks passed
@brettheap

Copy link
Copy Markdown
Contributor Author

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

LANDED — lane openxfactory-4, 2026-10-07T10:31:04Z, PR #56 → 9720925 (opensoft/openXdox-code main; plain gate)

Brett: plan 038 RULED incl. lane openxfactory-4 lands every PR (#656 6013547504); Start release 2 (#656 6001702967)

brettheap added a commit that referenced this pull request Oct 8, 2026
Brings T101 (#48), T098 (#51), T103 (#49), T096 (#53), T100 (#54), T099
(#47), T021's follow-on (#55), T102 (#52), T022 (#41, landed as aefd109),
T097 (#50) and T096's follow-on (#56).

Conflicted: scripts/composed_placements.py and tests/test_composed_placements.py,
both T022's files, which this branch carried from #41 through #44. Main's
landed side is kept for both. tests/declared_exclusion.yaml merged clean
(T101's entry edits beside T073's header and open_until).

Lane: openXfactory-3

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
brettheap added a commit that referenced this pull request Oct 8, 2026
…nd T096's follow-on #56 landed)

Two files conflicted (add/add), both T022's, which this branch had carried
from #41's head 1f2d685: scripts/composed_placements.py and
tests/test_composed_placements.py. Main's side was taken for both, as it
was for .gitignore (auto-merged to main's). After this merge the tree
differs from main only in T029's two files.

Lane: openXfactory-3

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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