You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This round settled #1936's behavior-changing edge cases with the maintainer's decision on each item. The work landed on develop in #1942 and #1944. Promotion #1943 is ready but not merged.
Next steps, in priority order
Re-read each issue and pull request rather than trusting these summaries.
Waving off a user-visible message as "cosmetic". The local reviewer called the singular grammar with two jobs cosmetic. Copilot then raised it on the promotion PR, which cost a whole feature, develop, and promotion cycle. Fix a wrong message string when the local pass sees it.
A pin grep that ignores which file mypy loads. The first pin check grepped python_version in all four config files and every section. Two review rounds went to scoping it to the one file mypy loads, then to configparser's : form. Mirror the tool's own lookup order and syntax from the start.
A mutant hidden by a coincident finding. The first flow-mapping selftest case used a registry naming Tools, so the misread still produced a finding and a mutant removing the check survived. Choose fixtures where the defect is the only possible source of the expected result.
This round settled #1936's behavior-changing edge cases with the maintainer's decision on each item. The work landed on develop in #1942 and #1944. Promotion #1943 is ready but not merged.
Next steps, in priority order
Re-read each issue and pull request rather than trusting these summaries.
29a9690a, so re-read it before merging. Done looks like: main carries Settle the Python Gate's Behavior-Changing Edge Cases From #1936 #1942 and Pluralize the Audit's Extra-Caller Finding for Several Jobs #1944, Decide the Python Directory Gate's Behavior-Changing Edge Cases #1936 is closed, and a release is dispatched if the maintainer wants one.python-directories: RegressionTestson both callers.RegressionTests/needs atests/suite and a mypy config first. The root-config fallback from Settle the Python Gate's Behavior-Changing Edge Cases From #1936 #1942 means its mypy config can live at the root. Done looks like: CI is green and the(python.directories.declared)driftNote is deleted.External blockers
Internal dependencies
validate-task.yml's type-check step andspec/audit.py'spython_directories_caller_findingsbefore starting them.State
Re-derive each of these at resume.
cae0c12a) and Pluralize the Audit's Extra-Caller Finding for Several Jobs #1944 (29a9690a).developand clean.default(Session Handoff [default]: Audit Report Authorship Settled, Unattended Loop Live-Tested, 2.0.680 Released #1828).The parked decision queue
One open issue carries
decision: #1941. It was presented to the maintainer at handoff.What the last round did
setup.cfgshould take precedence overpyproject.toml.What not to repeat
python_versionin all four config files and every section. Two review rounds went to scoping it to the one file mypy loads, then to configparser's:form. Mirror the tool's own lookup order and syntax from the start.Tools, so the misread still produced a finding and a mutant removing the check survived. Choose fixtures where the defect is the only possible source of the expected result.New learnings
mypy.ini,.mypy.ini,pyproject.tomlwith[tool.mypy], thensetup.cfgwith[mypy]. This was probed on mypy 2.3.1 and recorded in the Promote develop to main: Settle the Python Gate's Behavior-Changing Edge Cases #1943 decline, and the step'spins_python_version()encodes it.