Skip to content

New distribution [0.14.2] - #28

Merged
JarryShaw merged 1 commit into
masterfrom
test/rc/protocols
Mar 28, 2019
Merged

JarryShaw merged 1 commit into
masterfrom
test/rc/protocols

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner
  • bugfix in exceptions & TCP reassembly algo.
  • moved venv in project

 * bugfix in exceptions & TCP reassembly algo.
 * moved venv in project
@JarryShaw
JarryShaw merged commit 9750a05 into master Mar 28, 2019
@JarryShaw JarryShaw added ci Pull requests that change CI or workflow configuration (ci: subject prefix) breaking Breaks public-facing behaviour or API (apply alongside the type label) release Version bumps and distribution rollups (release: subject prefix) labels Sep 22, 2026
JarryShaw added a commit that referenced this pull request Sep 30, 2026
Three settled rulings fit none of the four code-convention pages, because they
govern the repository rather than the library. The owner ruled on #918 that they
get a fifth page rather than staying in their threads.

- Add ``docs/source/contributing/conventions/process.rst`` (``.. _process:``),
  covering what the ``all`` extra carries (#910), what a changelog entry is, and
  what the issue and pull request labels mean. Paraphrased throughout rather
  than quoting the owner, on his instruction on the same issue.
- Record the changelog grouping as ruled: a section per top-level module with
  ``Added``/``Changed``/``Fixed`` nested inside each, at module granularity.
  ``docs/source/changelog/1.5.0.rst`` is currently the inverse -- three flat
  kind-runs -- and the restructure belongs to #657, which owns the file and
  merges last. The one case the rule does not settle, an entry spanning
  modules, is flagged rather than decided.
- Separate the two axes the changelog ruling is easy to conflate with: a pull
  request's commits, where #657 deliberately carries roughly one per code pull
  request, versus a changelog file's entries, which group. The page gives the
  commands for both rather than figures that go stale.
- Document the label scheme the owner asked for alongside ``breaking``: the type
  labels matching the commit subject prefix, the issue-kind labels, the state
  labels, the head-keyed ``review:`` family, and dependabot's scope labels. It
  says plainly that labels are applied by hand -- nothing automates them except
  dependabot's own -- because that is the part readers assume wrongly.
- Correct two claims about ``breaking`` that measurement contradicts. It **is**
  applied below #350: the carriers are ``#3``-``#28``, seven pre-``0.15``
  distribution pull requests, with nothing between ``#28`` and ``#350``; on
  issues it starts at ``#775``. And no ruling defines the label's meaning, so the
  page states the behavioural test -- whether a caller can observe the difference
  without changing their code -- rather than attributing a phrasing to anyone.
- Add ``process`` to ``ANCHORS`` and the index toctree. A fifth page breaks every
  four-counting assertion in
  ``tests/project/test_conventions_doc_claims.py``; those are desensitised, and
  ``ProcessConventionTests`` adds seven tests pinning the page's claims against
  the tree -- the extras in ``pyproject.toml``, the changelog file's real shape,
  the module packages it names, and the template's commit-type tickboxes.

tests/project: 217 passed, 1 skipped, 604 subtests (210/572 before). Every new
assertion was shown to fail with its claim removed or contradicted.
JarryShaw added a commit that referenced this pull request Sep 30, 2026
Three settled rulings fit none of the four code-convention pages, because they
govern the repository rather than the library. The owner ruled on #918 that they
get a fifth page rather than staying in their threads.

- Add ``docs/source/contributing/conventions/process.rst`` (``.. _process:``),
  covering what the ``all`` extra carries (#910), what a changelog entry is, and
  what the issue and pull request labels mean. Paraphrased throughout rather
  than quoting the owner, on his instruction on the same issue.
- Record the changelog grouping as ruled: a section per top-level module with
  ``Added``/``Changed``/``Fixed`` nested inside each, at module granularity. The
  restructure belongs to #657, which owns the file and merges last. The one case
  the rule does not settle, an entry spanning modules, is flagged rather than
  decided.
- Describe the file's **current** shape from measurement. An earlier draft called
  it "three flat kind-runs", carried from a comment nobody had checked; the 80
  entries actually carry the three kind labels in **26** runs, blocked for
  roughly the first 40% of the file and interleaved after it. That is the
  difference between transposing three blocks and regrouping scattered entries,
  which is the work #657 has to do.
- Separate the two axes the changelog ruling is easy to conflate with: a pull
  request's commits, where #657 deliberately carries roughly one per code pull
  request, versus a changelog file's entries, which group. The page gives the
  commands for both rather than figures that go stale.
- Document the label scheme the owner asked for alongside ``breaking``: the type
  labels matching the commit subject prefix, the issue-kind labels, the state
  labels, the head-keyed ``review:`` family, and dependabot's scope labels.
- Name **both** automated label paths, not one. An earlier draft said dependabot
  was the single exception to hand-application; the issue templates are a second,
  applying a label from front matter before anyone reads the issue --
  ``.github/ISSUE_TEMPLATE/bug_report.md`` carries ``labels: bug`` and
  ``feature_request.md`` carries ``labels: enhancement``. So ``bug`` and
  ``enhancement`` on a template-opened issue are defaults rather than
  assessments. ``.github/release.yml`` only reads labels, and
  ``PCAPKIT_CONDA_LABEL`` is a conda channel label; both ruled out explicitly.
- Correct two claims about ``breaking`` that measurement contradicts. It **is**
  applied below #350: the carriers are ``#3``-``#28``, seven pre-``0.15``
  distribution pull requests, with nothing between ``#28`` and ``#350``; on
  issues it starts at ``#775``. And no ruling defines the label's meaning, so the
  page states the behavioural test -- whether a caller can observe the difference
  without changing their code -- rather than attributing a phrasing to anyone.
- Add ``process`` to ``ANCHORS`` and the index toctree. A fifth page breaks every
  four-counting assertion in
  ``tests/project/test_conventions_doc_claims.py``; those are desensitised, and
  ``ProcessConventionTests`` adds eight tests pinning the page's claims against
  the tree. Two of them exist because the first versions could not see the
  defects above: the label test now sweeps ``.github/ISSUE_TEMPLATE/*.md`` for
  front-matter labels rather than reading ``dependabot.yml`` alone, and the new
  run-structure test asserts the measured count *in the page's prose* rather than
  the bare figure, which the page's own ``wc -l`` output had satisfied.

tests/project: 218 passed, 1 skipped, 606 subtests (210/572 before). Every new
assertion was shown to fail with its claim removed or contradicted.
JarryShaw added a commit that referenced this pull request Sep 30, 2026
Three settled rulings fit none of the four code-convention pages, because they
govern the repository rather than the library. The owner ruled on #918 that they
get a fifth page rather than staying in their threads.

- Add ``docs/source/contributing/conventions/process.rst`` (``.. _process:``),
  covering what the ``all`` extra carries (#910), what a changelog entry is, and
  what the issue and pull request labels mean. Paraphrased throughout rather
  than quoting the owner, on his instruction on the same issue.
- Record the changelog grouping as ruled: a section per top-level module with
  ``Added``/``Changed``/``Fixed`` nested inside each, at module granularity. The
  restructure belongs to #657, which owns the file and merges last. The one case
  the rule does not settle, an entry spanning modules, is flagged rather than
  decided.
- Describe the file's **current** shape from measurement. An earlier draft called
  it "three flat kind-runs", carried from a comment nobody had checked; the 80
  entries actually carry the three kind labels in **26** runs, blocked for
  roughly the first 40% of the file and interleaved after it. That is the
  difference between transposing three blocks and regrouping scattered entries,
  which is the work #657 has to do.
- Separate the two axes the changelog ruling is easy to conflate with: a pull
  request's commits, where #657 deliberately carries roughly one per code pull
  request, versus a changelog file's entries, which group. The page gives the
  commands for both rather than figures that go stale.
- Document the label scheme the owner asked for alongside ``breaking``: the type
  labels matching the commit subject prefix, the issue-kind labels, the state
  labels, the head-keyed ``review:`` family, and dependabot's scope labels.
- Name **both** automated label paths, not one. An earlier draft said dependabot
  was the single exception to hand-application; the issue templates are a second,
  applying a label from front matter before anyone reads the issue --
  ``.github/ISSUE_TEMPLATE/bug_report.md`` carries ``labels: bug`` and
  ``feature_request.md`` carries ``labels: enhancement``. So ``bug`` and
  ``enhancement`` on a template-opened issue are defaults rather than
  assessments. ``.github/release.yml`` only reads labels, and
  ``PCAPKIT_CONDA_LABEL`` is a conda channel label; both ruled out explicitly.
- Correct two claims about ``breaking`` that measurement contradicts. It **is**
  applied below #350: the carriers are ``#3``-``#28``, seven pre-``0.15``
  distribution pull requests, with nothing between ``#28`` and ``#350``; on
  issues it starts at ``#775``. And no ruling defines the label's meaning, so the
  page states the behavioural test -- whether a caller can observe the difference
  without changing their code -- rather than attributing a phrasing to anyone.
- Add ``process`` to ``ANCHORS`` and the index toctree. A fifth page breaks every
  four-counting assertion in
  ``tests/project/test_conventions_doc_claims.py``; those are desensitised, and
  ``ProcessConventionTests`` adds eight tests pinning the page's claims against
  the tree. Two of them exist because the first versions could not see the
  defects above: the label test now sweeps ``.github/ISSUE_TEMPLATE/*.md`` for
  front-matter labels rather than reading ``dependabot.yml`` alone, and the new
  run-structure test asserts the measured count *in the page's prose* rather than
  the bare figure, which the page's own ``wc -l`` output had satisfied.

tests/project: 218 passed, 1 skipped, 606 subtests (210/572 before). Every new
assertion was shown to fail with its claim removed or contradicted.
JarryShaw added a commit that referenced this pull request Sep 30, 2026
Three settled rulings fit none of the four code-convention pages, because they
govern the repository rather than the library. The owner ruled on #918 that they
get a fifth page rather than staying in their threads.

- Add ``docs/source/contributing/conventions/process.rst`` (``.. _process:``),
  covering what the ``all`` extra carries (#910), what a changelog entry is, and
  what the issue and pull request labels mean. Paraphrased throughout rather
  than quoting the owner, on his instruction on the same issue.
- Record the changelog grouping as ruled: a section per top-level module with
  ``Added``/``Changed``/``Fixed`` nested inside each, at module granularity. The
  restructure belongs to #657, which owns the file and merges last. The one case
  the rule does not settle, an entry spanning modules, is flagged rather than
  decided.
- Describe the file's **current** shape from measurement. An earlier draft called
  it "three flat kind-runs", carried from a comment nobody had checked; the 80
  entries actually carry the three kind labels in **26** runs, blocked for
  roughly the first 40% of the file and interleaved after it. That is the
  difference between transposing three blocks and regrouping scattered entries,
  which is the work #657 has to do.
- Separate the two axes the changelog ruling is easy to conflate with: a pull
  request's commits, where #657 deliberately carries roughly one per code pull
  request, versus a changelog file's entries, which group. The page gives the
  commands for both rather than figures that go stale.
- Document the label scheme the owner asked for alongside ``breaking``: the type
  labels matching the commit subject prefix, the issue-kind labels, the state
  labels, the head-keyed ``review:`` family, and dependabot's scope labels.
- Name **both** automated label paths, not one. An earlier draft said dependabot
  was the single exception to hand-application; the issue templates are a second,
  applying a label from front matter before anyone reads the issue --
  ``.github/ISSUE_TEMPLATE/bug_report.md`` carries ``labels: bug`` and
  ``feature_request.md`` carries ``labels: enhancement``. So ``bug`` and
  ``enhancement`` on a template-opened issue are defaults rather than
  assessments. ``.github/release.yml`` only reads labels, and
  ``PCAPKIT_CONDA_LABEL`` is a conda channel label; both ruled out explicitly.
- Correct two claims about ``breaking`` that measurement contradicts. It **is**
  applied below #350: the carriers are ``#3``-``#28``, seven pre-``0.15``
  distribution pull requests, with nothing between ``#28`` and ``#350``; on
  issues it starts at ``#775``. And no ruling defines the label's meaning, so the
  page states the behavioural test -- whether a caller can observe the difference
  without changing their code -- rather than attributing a phrasing to anyone.
- Add ``process`` to ``ANCHORS`` and the index toctree. A fifth page breaks every
  four-counting assertion in
  ``tests/project/test_conventions_doc_claims.py``; those are desensitised, and
  ``ProcessConventionTests`` adds eight tests pinning the page's claims against
  the tree. Two of them exist because the first versions could not see the
  defects above: the label test now sweeps ``.github/ISSUE_TEMPLATE/*.md`` for
  front-matter labels rather than reading ``dependabot.yml`` alone, and the new
  run-structure test asserts the measured count *in the page's prose* rather than
  the bare figure, which the page's own ``wc -l`` output had satisfied.

tests/project: 218 passed, 1 skipped, 606 subtests (210/572 before). Every new
assertion was shown to fail with its claim removed or contradicted.
JarryShaw added a commit that referenced this pull request Sep 30, 2026
Three settled rulings fit none of the four code-convention pages, because they
govern the repository rather than the library. The owner ruled on #918 that they
get a fifth page rather than staying in their threads.

- Add ``docs/source/contributing/conventions/process.rst`` (``.. _process:``),
  covering what the ``all`` extra carries (#910), what a changelog entry is, and
  what the issue and pull request labels mean. Paraphrased throughout rather
  than quoting the owner, on his instruction on the same issue.
- Record the changelog grouping as ruled: a section per top-level module with
  ``Added``/``Changed``/``Fixed`` nested inside each, at module granularity. The
  restructure belongs to #657, which owns the file and merges last. The one case
  the rule does not settle, an entry spanning modules, is flagged rather than
  decided.
- Describe the file's **current** shape from measurement. An earlier draft called
  it "three flat kind-runs", carried from a comment nobody had checked; the 80
  entries actually carry the three kind labels in **26** runs, blocked for
  roughly the first 40% of the file and interleaved after it. That is the
  difference between transposing three blocks and regrouping scattered entries,
  which is the work #657 has to do.
- Separate the two axes the changelog ruling is easy to conflate with: a pull
  request's commits, where #657 deliberately carries roughly one per code pull
  request, versus a changelog file's entries, which group. The page gives the
  commands for both rather than figures that go stale.
- Document the label scheme the owner asked for alongside ``breaking``: the type
  labels matching the commit subject prefix, the issue-kind labels, the state
  labels, the head-keyed ``review:`` family, and dependabot's scope labels.
- Name **both** automated label paths, not one. An earlier draft said dependabot
  was the single exception to hand-application; the issue templates are a second,
  applying a label from front matter before anyone reads the issue --
  ``.github/ISSUE_TEMPLATE/bug_report.md`` carries ``labels: bug`` and
  ``feature_request.md`` carries ``labels: enhancement``. So ``bug`` and
  ``enhancement`` on a template-opened issue are defaults rather than
  assessments. ``.github/release.yml`` only reads labels, and
  ``PCAPKIT_CONDA_LABEL`` is a conda channel label; both ruled out explicitly.
- Correct two claims about ``breaking`` that measurement contradicts. It **is**
  applied below #350: the carriers are ``#3``-``#28``, seven pre-``0.15``
  distribution pull requests, with nothing between ``#28`` and ``#350``; on
  issues it starts at ``#775``. And no ruling defines the label's meaning, so the
  page states the behavioural test -- whether a caller can observe the difference
  without changing their code -- rather than attributing a phrasing to anyone.
- Add ``process`` to ``ANCHORS`` and the index toctree. A fifth page breaks every
  four-counting assertion in
  ``tests/project/test_conventions_doc_claims.py``; those are desensitised, and
  ``ProcessConventionTests`` adds eight tests pinning the page's claims against
  the tree. Two of them exist because the first versions could not see the
  defects above: the label test now sweeps ``.github/ISSUE_TEMPLATE/*.md`` for
  front-matter labels rather than reading ``dependabot.yml`` alone, and the new
  run-structure test asserts the measured count *in the page's prose* rather than
  the bare figure, which the page's own ``wc -l`` output had satisfied.

tests/project: 218 passed, 1 skipped, 606 subtests (210/572 before). Every new
assertion was shown to fail with its claim removed or contradicted.
JarryShaw added a commit that referenced this pull request Sep 30, 2026
Three settled rulings fit none of the four code-convention pages, because they
govern the repository rather than the library. The owner ruled on #918 that they
get a fifth page rather than staying in their threads.

- Add ``docs/source/contributing/conventions/process.rst`` (``.. _process:``),
  covering what the ``all`` extra carries (#910), what a changelog entry is, and
  what the issue and pull request labels mean. Paraphrased throughout rather
  than quoting the owner, on his instruction on the same issue.
- Record the changelog grouping as ruled: a section per top-level module with
  ``Added``/``Changed``/``Fixed`` nested inside each. The restructure belongs to
  #657, which owns the file and merges last. The one case the rule does not
  settle, an entry spanning modules, is flagged rather than decided.
- Describe the file's **current** shape from measurement. An earlier draft called
  it "three flat kind-runs", carried from a comment nobody had checked; the 80
  entries actually carry the three kind labels in **26** runs.
- Document the label scheme the owner asked for alongside ``breaking``, and name
  **both** automated paths: dependabot, and the issue templates, which apply a
  label from front matter before anyone reads the issue. An earlier draft called
  dependabot the single exception.
- Correct two ``breaking`` claims measurement contradicts. It **is** applied below
  #350 -- carriers ``#3``-``#28``, nothing between ``#28`` and ``#350``, issues
  from ``#775``. And no ruling defines the label, so the page states the
  behavioural test rather than attributing a phrasing to anyone.
- Correct the audit table's population to **six** -- the ``mh``/``ngap`` helpers
  ``EnumLookup`` subclasses those modules define, ``ProcedureCode``/``ProtocolIE``
  being re-exports. The page had carried three figures for one population.

Tests, and the reason each exists rather than the shape of it:

- ``ProcessConventionTests`` pins the page's claims against the tree. Two were
  rewritten because they could pass for the wrong reason: one read only
  ``dependabot.yml`` and never ``ISSUE_TEMPLATE/``, and one asserted the bare
  string ``26``, which the page's own ``wc -l`` output satisfied.
- ``test_a_non_string_key_raises_a_value_miss_on_every_helper`` **derives** the
  population instead of listing it. Its predecessor was named ``..._on_all_seven``
  and exercised three.
- ``test_every_issue_link_number_matches_its_own_url`` closes the largest class of
  unpinned claim: a cross-review corrupted ~30 link numbers and not one was
  caught, because nothing compared the displayed ``#NNN`` against the number in
  its own URL. Invisible to a reader, unwarnable by Sphinx.
- ``_optional_dependencies`` replaces ``tomllib``, which is 3.11+ and broke the
  ``Python 3.10`` leg while passing locally on 3.14 -- ``tomli`` is not a
  dependency either, so there was nothing to fall back to. It now strips comments
  and tracks bracket **depth**: a version matching to the first ``]`` mis-parsed
  **3 of the 14** extras silently, emptying ``vendor`` on the ``]`` inside
  ``"requests[socks]"``, truncating ``dev``, and **inventing a requirement called**
  ``9 skipped`` **out of comment prose**. No shipped assertion read those keys, but
  ``dev`` and ``vendor`` are both described in the page's prose, so the next
  assertion to check either would have got wrong data with nothing raised.
  ``test_the_extras_reader_agrees_with_tomllib`` now compares the two key for key
  wherever a real parser exists, and skips on 3.10 rather than pretending to.
- The page states plainly what cannot be pinned here: any claim whose ground truth
  is a GitHub query, since CI has no network. The command beside the figure is the
  pin, run by a reader rather than by CI.

tests/project: 221 passed, 1 skipped, 640 subtests. The extras reader verified
byte-identical under python3.10 and 3.14, and every new assertion shown to fail
with its claim removed or its defect reintroduced.
JarryShaw added a commit that referenced this pull request Sep 30, 2026
Three settled rulings fit none of the four code-convention pages, because they
govern the repository rather than the library. The owner ruled on #918 that they
get a fifth page rather than staying in their threads.

- Add ``docs/source/contributing/conventions/process.rst`` (``.. _process:``),
  covering what the ``all`` extra carries (#910), what a changelog entry is, and
  what the issue and pull request labels mean. Paraphrased throughout rather
  than quoting the owner, on his instruction on the same issue.
- Record the changelog grouping as ruled: a section per top-level module with
  ``Added``/``Changed``/``Fixed`` nested inside each. The restructure belongs to
  #657, which owns the file and merges last. The one case the rule does not
  settle, an entry spanning modules, is flagged rather than decided.
- Describe the file's **current** shape from measurement. An earlier draft called
  it "three flat kind-runs", carried from a comment nobody had checked; the 80
  entries actually carry the three kind labels in **26** runs.
- Document the label scheme the owner asked for alongside ``breaking``, and name
  **both** automated paths: dependabot, and the issue templates, which apply a
  label from front matter before anyone reads the issue. An earlier draft called
  dependabot the single exception.
- Correct two ``breaking`` claims measurement contradicts. It **is** applied below
  #350 -- carriers ``#3``-``#28``, nothing between ``#28`` and ``#350``, issues
  from ``#775``. And no ruling defines the label, so the page states the
  behavioural test rather than attributing a phrasing to anyone.
- Correct the audit table's population to **six** -- the ``mh``/``ngap`` helpers
  ``EnumLookup`` subclasses those modules define, ``ProcedureCode``/``ProtocolIE``
  being re-exports. The page had carried three figures for one population.

Tests, and the reason each exists rather than the shape of it:

- ``ProcessConventionTests`` pins the page's claims against the tree. Two were
  rewritten because they could pass for the wrong reason: one read only
  ``dependabot.yml`` and never ``ISSUE_TEMPLATE/``, and one asserted the bare
  string ``26``, which the page's own ``wc -l`` output satisfied.
- ``test_a_non_string_key_raises_a_value_miss_on_every_helper`` **derives** the
  population instead of listing it. Its predecessor was named ``..._on_all_seven``
  and exercised three.
- ``test_every_issue_link_number_matches_its_own_url`` closes the largest class of
  unpinned claim: a cross-review corrupted ~30 link numbers and not one was
  caught, because nothing compared the displayed ``#NNN`` against the number in
  its own URL. Invisible to a reader, unwarnable by Sphinx.
- ``_optional_dependencies`` replaces ``tomllib``, which is 3.11+ and broke the
  ``Python 3.10`` leg while passing locally on 3.14 -- ``tomli`` is not a
  dependency either, so there was nothing to fall back to. It now strips comments
  and tracks bracket **depth**: a version matching to the first ``]`` mis-parsed
  **3 of the 14** extras silently, emptying ``vendor`` on the ``]`` inside
  ``"requests[socks]"``, truncating ``dev``, and **inventing a requirement called**
  ``9 skipped`` **out of comment prose**. No shipped assertion read those keys, but
  ``dev`` and ``vendor`` are both described in the page's prose, so the next
  assertion to check either would have got wrong data with nothing raised.
  ``test_the_extras_reader_agrees_with_tomllib`` now compares the two key for key
  wherever a real parser exists, and skips on 3.10 rather than pretending to.
- The page states plainly what cannot be pinned here: any claim whose ground truth
  is a GitHub query, since CI has no network. The command beside the figure is the
  pin, run by a reader rather than by CI.

tests/project: 221 passed, 1 skipped, 640 subtests. The extras reader verified
byte-identical under python3.10 and 3.14, and every new assertion shown to fail
with its claim removed or its defect reintroduced.
JarryShaw added a commit that referenced this pull request Sep 30, 2026
Three settled rulings fit none of the four code-convention pages, because they
govern the repository rather than the library. The owner ruled on #918 that they
get a fifth page rather than staying in their threads.

- Add ``docs/source/contributing/conventions/process.rst`` (``.. _process:``),
  covering what the ``all`` extra carries (#910), what a changelog entry is, and
  what the issue and pull request labels mean. Paraphrased throughout rather
  than quoting the owner, on his instruction on the same issue.
- Record the changelog grouping as ruled: a section per top-level module with
  ``Added``/``Changed``/``Fixed`` nested inside each. The restructure belongs to
  #657, which owns the file and merges last. The one case the rule does not
  settle, an entry spanning modules, is flagged rather than decided.
- Describe the file's **current** shape from measurement. An earlier draft called
  it "three flat kind-runs", carried from a comment nobody had checked; the 80
  entries actually carry the three kind labels in **26** runs.
- Document the label scheme the owner asked for alongside ``breaking``, and name
  **both** automated paths: dependabot, and the issue templates, which apply a
  label from front matter before anyone reads the issue. An earlier draft called
  dependabot the single exception.
- Correct two ``breaking`` claims measurement contradicts. It **is** applied below
  #350 -- carriers ``#3``-``#28``, nothing between ``#28`` and ``#350``, issues
  from ``#775``. And no ruling defines the label, so the page states the
  behavioural test rather than attributing a phrasing to anyone.
- Correct the audit table's population to **six** -- the ``mh``/``ngap`` helpers
  ``EnumLookup`` subclasses those modules define, ``ProcedureCode``/``ProtocolIE``
  being re-exports. The page had carried three figures for one population.

Tests, and the reason each exists rather than the shape of it:

- ``ProcessConventionTests`` pins the page's claims against the tree. Two were
  rewritten because they could pass for the wrong reason: one read only
  ``dependabot.yml`` and never ``ISSUE_TEMPLATE/``, and one asserted the bare
  string ``26``, which the page's own ``wc -l`` output satisfied.
- ``test_a_non_string_key_raises_a_value_miss_on_every_helper`` **derives** the
  population instead of listing it. Its predecessor was named ``..._on_all_seven``
  and exercised three.
- ``test_every_issue_link_number_matches_its_own_url`` closes the largest class of
  unpinned claim: a cross-review corrupted ~30 link numbers and not one was
  caught, because nothing compared the displayed ``#NNN`` against the number in
  its own URL. Invisible to a reader, unwarnable by Sphinx.
- ``_optional_dependencies`` replaces ``tomllib``, which is 3.11+ and broke the
  ``Python 3.10`` leg while passing locally on 3.14 -- ``tomli`` is not a
  dependency either, so there was nothing to fall back to. It now strips comments
  and tracks bracket **depth**: a version matching to the first ``]`` mis-parsed
  **3 of the 14** extras silently, emptying ``vendor`` on the ``]`` inside
  ``"requests[socks]"``, truncating ``dev``, and **inventing a requirement called**
  ``9 skipped`` **out of comment prose**. No shipped assertion read those keys, but
  ``dev`` and ``vendor`` are both described in the page's prose, so the next
  assertion to check either would have got wrong data with nothing raised.
  ``test_the_extras_reader_agrees_with_tomllib`` now compares the two key for key
  wherever a real parser exists, and skips on 3.10 rather than pretending to.
- The page states plainly what cannot be pinned here: any claim whose ground truth
  is a GitHub query, since CI has no network. The command beside the figure is the
  pin, run by a reader rather than by CI.

tests/project: 221 passed, 1 skipped, 640 subtests. The extras reader verified
byte-identical under python3.10 and 3.14, and every new assertion shown to fail
with its claim removed or its defect reintroduced.
JarryShaw added a commit that referenced this pull request Sep 30, 2026
Three settled rulings fit none of the four code-convention pages, because they
govern the repository rather than the library. The owner ruled on #918 that they
get a fifth page rather than staying in their threads.

- Add ``docs/source/contributing/conventions/process.rst`` (``.. _process:``),
  covering what the ``all`` extra carries (#910), what a changelog entry is, and
  what the issue and pull request labels mean. Paraphrased throughout rather
  than quoting the owner, on his instruction on the same issue.
- Record the changelog grouping as ruled: a section per top-level module with
  ``Added``/``Changed``/``Fixed`` nested inside each. The restructure belongs to
  #657, which owns the file and merges last. The one case the rule does not
  settle, an entry spanning modules, is flagged rather than decided.
- Describe the file's **current** shape from measurement. An earlier draft called
  it "three flat kind-runs", carried from a comment nobody had checked; the 80
  entries actually carry the three kind labels in **26** runs.
- Document the label scheme the owner asked for alongside ``breaking``, and name
  **both** automated paths: dependabot, and the issue templates, which apply a
  label from front matter before anyone reads the issue. An earlier draft called
  dependabot the single exception.
- Correct two ``breaking`` claims measurement contradicts. It **is** applied below
  #350 -- carriers ``#3``-``#28``, nothing between ``#28`` and ``#350``, issues
  from ``#775``. And no ruling defines the label, so the page states the
  behavioural test rather than attributing a phrasing to anyone.
- Correct the audit table's population to **six** -- the ``mh``/``ngap`` helpers
  ``EnumLookup`` subclasses those modules define, ``ProcedureCode``/``ProtocolIE``
  being re-exports. The page had carried three figures for one population.

Tests, and the reason each exists rather than the shape of it:

- ``ProcessConventionTests`` pins the page's claims against the tree. Two were
  rewritten because they could pass for the wrong reason: one read only
  ``dependabot.yml`` and never ``ISSUE_TEMPLATE/``, and one asserted the bare
  string ``26``, which the page's own ``wc -l`` output satisfied.
- ``test_a_non_string_key_raises_a_value_miss_on_every_helper`` **derives** the
  population instead of listing it. Its predecessor was named ``..._on_all_seven``
  and exercised three.
- ``test_every_issue_link_number_matches_its_own_url`` closes the largest class of
  unpinned claim: a cross-review corrupted ~30 link numbers and not one was
  caught, because nothing compared the displayed ``#NNN`` against the number in
  its own URL. Invisible to a reader, unwarnable by Sphinx.
- ``_optional_dependencies`` replaces ``tomllib``, which is 3.11+ and broke the
  ``Python 3.10`` leg while passing locally on 3.14 -- ``tomli`` is not a
  dependency either, so there was nothing to fall back to. It now strips comments
  and tracks bracket **depth**: a version matching to the first ``]`` mis-parsed
  **3 of the 14** extras silently, emptying ``vendor`` on the ``]`` inside
  ``"requests[socks]"``, truncating ``dev``, and **inventing a requirement called**
  ``9 skipped`` **out of comment prose**. No shipped assertion read those keys, but
  ``dev`` and ``vendor`` are both described in the page's prose, so the next
  assertion to check either would have got wrong data with nothing raised.
  ``test_the_extras_reader_agrees_with_tomllib`` now compares the two key for key
  wherever a real parser exists, and skips on 3.10 rather than pretending to.
- The page states plainly what cannot be pinned here: any claim whose ground truth
  is a GitHub query, since CI has no network. The command beside the figure is the
  pin, run by a reader rather than by CI.

tests/project: 221 passed, 1 skipped, 640 subtests. The extras reader verified
byte-identical under python3.10 and 3.14, and every new assertion shown to fail
with its claim removed or its defect reintroduced.
@JarryShaw JarryShaw added this to the 0.14 milestone Oct 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaks public-facing behaviour or API (apply alongside the type label) ci Pull requests that change CI or workflow configuration (ci: subject prefix) release Version bumps and distribution rollups (release: subject prefix)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant