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
Commit fa8f331
Browse filesBrowse the repository at this point in the historyBrowse files
**Tested:** main `e76cb9b`, latest release **v5.0.1**. Linux only, with real Poetry 1.0.10, 1.1.15, 1.2.2, 1.8.5, 2.4.3 and 2.5.1 and a local mock of the patch API serving one patched `six-1.16.0` wheel (hosted grant, vendored grant with sha512, agent view/blob routes, PyPI JSON for rollback).
4
+
5
+
## Re-triage
6
+
7
+
-**#1547** (open): still reproduces on `e76cb9b`. Poetry 2.5.1, `name = "My_Service"`, `scan --mode hosted --vex` gives product `pkg:pypi/My_Service@1.2.0`. No new information, so no comment.
8
+
-**#450** (open): still reproduces on `e76cb9b` with Poetry 2.5.1. After a project agent apply, `rollback -g` exits 0, empties `.socket/manifest.json`, and the `.venv` copy stays patched. No new information, so no comment.
| 2.5.1 |`poetry install` racing an agent scan (8 iterations) | pass (`vex` always matches the bytes) |
23
+
| 2.5.1, 1.8.5 |`installer.no-binary = six` / `:all:` with hosted and vendored | pass |
24
+
| macOS / Windows | anything | blocked: deleting `bughunt/poetry/*` is still denied, so no probes were pushed |
25
+
26
+
## Issues
27
+
28
+
None filed, commented on or closed this run.
29
+
30
+
## False positives ruled out
31
+
32
+
- A scan racing `poetry install` sometimes reports `package_not_installed` and leaves six unpatched (exit 0). `vex` refuses in those cases, so nothing is misattested. Expected race outcome.
33
+
-`scan --mode hosted` over agent state leaves the manifest in place, and a bare re-scan resolves to agent mode with the "hosted wiring live" warning. That follows the documented mode resolution.
34
+
35
+
## Next
36
+
37
+
1. Re-check #1547 and #450 once fixed, and #1105 / #1184.
Copy file name to clipboardExpand all lines: state/poetry.md
+29-8Lines changed: 29 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
[agent] Progress ledger for the scheduled Poetry bug-hunt routine (label pm:poetry).
2
2
3
-
Last updated: 2026-10-14 (run 22), main `fc1b4f9` (includes #1529, the #1527 fix), latest release **v5.0.1**. Run 9 re-measured the cells marked "r9". Runs 10–22 have their own tables below. #327, #329, #671, #866, #945, #1023, #1024, #1136, #1282, #1447, #1503 and #1527 are closed. Open: #450, #1547. macOS / Windows cells that still show #327 / #329 haven't been re-run, because probe branches are blocked.
3
+
Last updated: 2026-10-15 (run 23), main `e76cb9b`, latest release **v5.0.1**. Run 9 re-measured the cells marked "r9". Runs 10–23 have their own tables below. #327, #329, #671, #866, #945, #1023, #1024, #1136, #1282, #1447, #1503 and #1527 are closed. Open: #450, #1547. macOS / Windows cells that still show #327 / #329 haven't been re-run, because probe branches are blocked.
4
4
5
5
## Coverage matrix
6
6
@@ -9,14 +9,14 @@ Cells are "pass", "fail #N" or "untested". Hosted and vendored cells use a local
| 2.5.1 |#1547| still fails (`pkg:pypi/My_Service@1.2.0`) |
289
+
| 2.5.1 |#450 (project apply, `rollback -g`) | still fails (manifest emptied, `.venv` still patched, exit 0) |
290
+
| macOS / Windows | anything | blocked (deleting `bughunt/poetry/*` still denied) |
291
+
274
292
## Backlog
275
293
276
294
1. Re-check #1547 once fixed (also the `[tool.poetry]` layout and a dotted name).
277
295
2. Re-check #1105 (hosted A → vendored B, warm venv), #1184 (export residual keep) and #450 once fixed.
278
296
3.**Lead (run 14):** with `virtualenvs.create = false`, the project global fallback patches the system interpreter's dpkg-owned copy. That follows from #538's "patch every copy" design and needs a maintainer call before anyone files it. Since #409 (#1419), a system-site venv that imports a base copy also patches that base copy, on purpose.
279
-
4. Concurrent `poetry install` during a scan. Untested Linux cells: 1.2.2 agent, 1.0.10 vendored repair, 2.4.3 mode switch, 2.1.x nameless / `[project].name` layouts.
280
-
5.**macOS / Windows re-checks** for closed #327 / #329, the #640 default paths, #866 on macOS, macOS XDG and the Windows Poetry 1.0/1.1 env hash. All need probe branches.
281
-
6. Probe branches are still blocked: `bughunt/poetry/20260930-venv-discovery` and `bughunt/poetry/20260930-windows-modes` still exist, and deletion was denied again in run 22 (runs 9–22). A maintainer needs to delete them and allow deleting `bughunt/poetry/*`.
282
-
7. Docs: `installer.modern-installation = false` (Poetry 1.4–1.8) keeps a warm same-version install, but the "Installer boundaries" table says 1.4–1.8 replace it. Line 24 still says CRLF / legacy `files` get a single-line inline array (changed by #1185). CLI_CONTRACT's error-code row for `mode_ambiguous` still names only agent + vendored state (the mode-resolution paragraph has the #1437 hosted-pin case).
297
+
4. Untested Linux cells: 2.1.x nameless / `[project].name` layouts, hosted VEX with an undiscovered venv on 1.2.2 / 2.4.3, Poetry 1.2.2 mode switch. Hand-edited lock shapes on lock 1.0 / 2.0 (Poetry 1.0 / 1.3–1.8 writers).
298
+
5. Hosted / vendored with `pylock.toml` exported by poetry-plugin-export beside `poetry.lock`.
299
+
6.**macOS / Windows re-checks** for closed #327 / #329, the #640 default paths, #866 on macOS, macOS XDG and the Windows Poetry 1.0/1.1 env hash. All need probe branches.
300
+
7. Probe branches are still blocked: `bughunt/poetry/20260930-venv-discovery` and `bughunt/poetry/20260930-windows-modes` still exist, and deletion was denied again in run 23 (runs 9–23). A maintainer needs to delete them and allow deleting `bughunt/poetry/*`.
301
+
8. Docs: `installer.modern-installation = false` (Poetry 1.4–1.8) keeps a warm same-version install, but the "Installer boundaries" table says 1.4–1.8 replace it. Line 24 still says CRLF / legacy `files` get a single-line inline array (changed by #1185). CLI_CONTRACT's error-code row for `mode_ambiguous` still names only agent + vendored state (the mode-resolution paragraph has the #1437 hosted-pin case).
-`[project].name` + `dynamic = ["version"]` + a different `[tool.poetry].name`: product detection returns `product_undetected` on purpose (`product.rs``pyproject_name_version`), because Poetry 2 builds `[project].name` ("[tool.poetry.name] … will be ignored") and Poetry 1.x builds `[tool.poetry].name`. Use `--product`. Not filed.
357
376
-`explicit` / `supplemental``[[tool.poetry.source]]` entries that six doesn't resolve from are not refused by hosted or vendored (r22). The refusal only covers a source six actually uses.
358
377
- Hosted → vendored takeover against a mock origin fails with "already declares a [package.source] for six; refusing to overwrite a user-authored source" unless `SOCKET_PATCH_SERVER_URL` names the mock (the hosted-origin rule). Harness artifact.
378
+
- A scan racing a concurrent `poetry install` may report `package_not_installed` and leave six unpatched (exit 0). `vex` then refuses, so nothing is misattested. Expected race outcome.
379
+
-`scan --mode hosted` over agent state keeps `.socket/manifest.json`; a later bare `scan` resolves to agent mode and warns that the hosted wiring is still live. Documented mode resolution.
0 commit comments