docs(contributing): paraphrase the quoted rulings, and pin claims not wording (#949) - #951
Conversation
043970d to
35169c7
Compare
|
NEEDS CHANGES at 1. A verbatim quote the sweep missed, in 2. The 3. Also fixed, unprompted: the review found the dependabot clause used
The docs question is now settled rather than open. The PR body said rendering was unverified. Two things the review reported against itself, worth recording: it spawned a background agent despite its brief forbidding it, and said so; and it marked two assertions UNVERIFIED rather than claiming it had checked them. Re-review requested at the new head. |
|
GOOD TO GO at I re-derived the one claim I had not tested myself: the review asserted the guard now works for all three classes, not just On the other two: the Subtest arithmetic accounted for: 670 → 667 is exactly the three Two limitations named rather than papered over. The guard loop iterates a fixed tuple with a plain CI at this head: 53 ok / 0 fail / 5 still running, base Unpublished and yours to merge once the last legs land — I will say so on the next pass rather than calling it ready while checks are in flight. |
… wording (#949) The convention pages recorded design rulings by block-quoting the maintainer verbatim, and several tests asserted those sentences as literal strings -- so a casual reply in a thread was a CI build dependency. * Paraphrase all verbatim quotes across the five convention pages and the two ``pyproject.toml`` comment blocks, keeping attribution by issue number. Spec quotations (RFC/IANA) and the package's own cited docstring stay verbatim, since those words are normative. * Replace the assertions that pinned his sentences with ones that derive the claim from the tree: the seven audit population figures, the ``R1_Counter``/``R1_COUNTER`` values executed through ``Parameter.get``, and a stray-registry check. * Guard ``vars(Method)['get']`` and its two siblings with a membership check, so folding an override into the base reports an ``AssertionError`` naming the cause instead of a bare ``KeyError`` -- the shape #940 created. Deliberately not under ``subTest``, which would record the failure and let the bare ``KeyError`` be raised anyway by the indexing below it. * Rebuild the dependabot label assertion as a derivation from ``package-ecosystem`` in ``dependabot.yml``, replacing a single-phrasing ``assertNotIn`` that a reworded violation walked straight past. Every clause matching the shape is checked, not just the first. * ``tests/corekit/test_sentinel_exports_unit.py`` asserted the literal ``ONLY`` -- the maintainer's capitalisation, lifted from inside the #911 block quote this change paraphrases. It now checks the export boundary against ``pcapkit.corekit.sentinels.__all__`` and requires only the identifier and the issue number on the page. ``pytest tests/project``: 225 passed, 1 skipped, 667 subtests, 0 failed. ``tests/corekit`` doc-reading files: 61 passed, 96 subtests, 0 failed.
35169c7 to
675ad67
Compare
|
CI went red at
Root cause. That test asserted the literal string Why it escaped the local run: I scoped the worker to I censused it rather than fixing just the one: of the ten test files mentioning a conventions path, only The fix pins the claim, not the casing. The export boundary is now checked against
|
|
GOOD TO GO at The replacement assertion is falsifiable and strictly stronger than what it replaced. The review reproduced my own check independently — adding It also caught that my census method was narrower than I said it was. I searched I checked those four rather than taking either of us on trust, because a crude CI at this head: 51 ok / 0 fail / 7 still running, with the previously-failing sentinel test now passing. Base is Unpublished and yours to merge once the last legs land — I will confirm on the next pass rather than call it ready with checks in flight. |
Please follow the guide below
make pylint,make mypy,make isort)make testpasses, and a test case covers the changedocs/source/changelog/and regeneratedCHANGELOG.md, if the change is user-visible — N/A — changelog centralised in docs(changelog): shared 1.5.0 changelog — long-lived, merges last (#610, #616, #617, #618, #620) #657What is the purpose of your pull request?
fix— corrects a defectfeat— adds a featureperf— changes performance, not behaviourrefactor— changes neither behaviour nor performancetest— tests onlydocs— documentation onlyci— workflows or build toolingchore— anything elseDescription of your pull request and other information
Closes #949.
The convention pages recorded the maintainer's design rulings by block-quoting him verbatim, and several tests asserted those quoted sentences as literal strings. Two problems: the pages read like a transcript, and his casual phrasing in a thread was load-bearing in CI.
Twenty quotes paraphrased across the five pages, attribution kept by issue number.
grep -n verbatimover them now returns exactly one hit —forwards ``default`` verbatimatregistry-protocol.rst:312, the legitimate word use. Deliberately kept verbatim: RFC and IANA spec quotations, whose words are normative, and theAbsentTypedocstring block quote, which is the package's own text cited withfile:linerather than a thread reply.The tests now derive claims instead of pinning sentences. The seven audit population figures (127 registries, 124 files, 117 int-valued, 5 flag, 10 StrEnum, 24 non-registry, 151 total) are read out of the page and compared against a runtime walk;
R1_Counter = 128andR1_COUNTER = 129are pinned and executed throughParameter.get, with anassertNotEqualthat they have not collapsed.Two robustness defects fixed while in here:
vars(Method)['get']and its two siblings were indexed unguarded, so folding an override into the base — the shape fix(protocols): widen the two kept get overrides in mh.py to accept default #940 created for the mh/ngap helpers — raised a bareKeyError('get'). Now anAssertionErrornaming the cause.package-ecosystemindependabot.yml. Verified on six cases: five violation shapes go red, none of which tripped the old needle, while a harmless rewording stays green.pytest tests/project: 225 passed, 1 skipped, 670 subtests, 0 failed. Re-derived with plainunittestas well (226 tests, OK), sincepytest-subtestscan report a parent as passed when only its subTests fail. One assertion was falsified by hand as a spot check — altering a page figure reddens the matching subtest and nothing else.Not verified: no local Sphinx build, so rendering is unproven. Two roles newly introduced on
registry-protocol.rstalready appear on that same page, and every project test passes, but the docs job on this PR is the real check.