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
{{ message }}
Repository navigation
Session Handoff [python-contract]: Escaped and Folded python-directories Values Refused, Released as 2.0.738 #2014
This round finished #1916 and found #1915 already done. The audit now refuses an escaped double-quoted or folded python-directories value wherever the value starts. The change landed in #2010, was promoted in #2011, and was released as 2.0.738.
Next steps, in priority order
Re-read each issue rather than trusting these summaries.
PlexCleaner adopts the gate. This happens in PlexCleaner's own session and is unchanged from earlier links. It is first in the adoption order the maintainer set on Gate Every Repository's Python on Its Code, Not on Its Config #1800. Pin the validator to 2.0.737 or later and pass python-directories: RegressionTests on both callers. RegressionTests/ needs a tests/ suite and a mypy config first, and that config owes mypy's strict flags if mypy is its only CI checker (python.pyright.config). Done looks like: CI is green and the (python.directories.declared) driftNote is deleted.
Worktrees: this round's worktree and its branch are removed, locally and on the remote. The base clone is on develop and clean. This machine's skills are refreshed from main at 24614c6e.
Matching an input's shape on the key's own line. The first cut of the escape refusal used a key-line regex and missed every form that puts something between the key and the value. Read the value's text through the same indentation walk that finds the key.
A regression case that passes by accident. The first next-line test put a comment before the value, and the old code still produced a finding, by misreading the comment as a directory. Mutation-test each new case against the old code and read the finding it produces, not only the count.
New learnings
None beyond the entries above, which describe this round's attempts rather than general lessons.
This round finished #1916 and found #1915 already done. The audit now refuses an escaped double-quoted or folded
python-directoriesvalue wherever the value starts. The change landed in #2010, was promoted in #2011, and was released as 2.0.738.Next steps, in priority order
Re-read each issue rather than trusting these summaries.
python-directories: RegressionTestson both callers.RegressionTests/needs atests/suite and a mypy config first, and that config owes mypy's strict flags if mypy is its only CI checker (python.pyright.config). Done looks like: CI is green and the(python.directories.declared)driftNote is deleted.python-codestyle. It is still blocked on theauto-1947lane (see Internal dependencies).python-directoriesvalue in the audit. This is the pre-existing gap the Refuse an Escaped or Folded python-directories Value Wherever It Starts #2010 review found in the non-raw reader. It is small and in the same function Refuse an Escaped or Folded python-directories Value Wherever It Starts #2010 touched.PATHwith an empty fallback. configure.sh Resolves a Registry Entry by Name Rather Than by owner/repo Identity #1894 isconfigure.shmatching a registry entry by name rather than byowner/repo. Either could move to its own track.External blockers
Internal dependencies
.agents/skills/python-codestyle/SKILL.md. Theauto-1947lane (handoff Session Handoff [auto-1947]: State the Python Build Profile by Its Trait, Not One of Its Forms #1981) has an unmerged branch,feature/auto-1947, rewriting that file's profile and local-loop sections. Its decision Decide How to Finish the #1947 Build-Profile Fix Past Its Review Budget #1982 was answered and the lane was handed back to the unattended loop, but no run has picked it up yet. Land Name the Mypy Suppression Mechanisms Beside Pyright's in python-codestyle #2004 after that lane merges, or coordinate the rebase.State
Re-derive each of these at resume.
24614c6e). Released as 2.0.738 (publish run succeeded).developand clean. This machine's skills are refreshed from main at24614c6e.default(Session Handoff [default]: Audit Report Authorship Settled, Unattended Loop Live-Tested, 2.0.680 Released #1828), plus theauto-*lanes, whose remote branches (feature/auto-1634,-1904,-1910,-1947,-1971) are still unmerged.The parked decision queue
No open issue carries
decision. The one question this round raised was asked and answered in-session: merge and release #2011.What the last round did
python-directoriesvalue, and moved both that refusal and the folded one onto the value's own text viaworkflow_input_text(..., raw=True), past any anchor, tag, or comment. Local strict review took three passes. Passes 1 and 2 each found one gap in code this change wrote (key-line matching missed anchor, tag, and next-line forms, then the raw read stopped at a key-column comment). Both were fixed, and pass 3 was clean. Copilot found nothing on Refuse an Escaped or Folded python-directories Value Wherever It Starts #2010 or Promote develop to main: Refuse an Escaped or Folded python-directories Value Wherever It Starts #2011.setup.cfg[mypy]detection and its test. Promote develop to main: Refuse an Escaped or Folded python-directories Value Wherever It Starts #2011 closes it with that evidence.What not to repeat
git log -S '<the fix's key string>'found it in one command before any edit. Run it on each deferred edge case before opening a worktree.New learnings
None beyond the entries above, which describe this round's attempts rather than general lessons.