From 4a3964d06bbf0b5e0960312c4274afd7df9490ca Mon Sep 17 00:00:00 2001 From: Fabro Date: Mon, 16 Mar 2026 01:32:33 -0400 Subject: [PATCH] checkpoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ⚒️ Generated with [Fabro](https://fabro.sh) --- checkpoint.json | 57 ++++++++++++++++++++++++++++++ nodes/setup/script_invocation.json | 5 +++ nodes/setup/script_timing.json | 5 +++ nodes/setup/status.json | 6 ++++ nodes/start/status.json | 6 ++++ 5 files changed, 79 insertions(+) create mode 100644 checkpoint.json create mode 100644 nodes/setup/script_invocation.json create mode 100644 nodes/setup/script_timing.json create mode 100644 nodes/setup/status.json create mode 100644 nodes/start/status.json diff --git a/checkpoint.json b/checkpoint.json new file mode 100644 index 000000000..95ac19547 --- /dev/null +++ b/checkpoint.json @@ -0,0 +1,57 @@ +{ + "timestamp": "2026-03-16T05:32:33.846683Z", + "current_node": "setup", + "completed_nodes": [ + "start", + "setup" + ], + "node_retries": { + "setup": 1, + "start": 1 + }, + "context_values": { + "internal.run_id": "01KKTJ36XVQF9JY9Q8SBGN8BKP", + "outcome": "fail", + "internal.retry_count.setup": 1, + "graph.rankdir": "LR", + "command.output": "fatal: destination path '.' already exists and is not an empty directory.\n", + "internal.fidelity": "compact", + "failure_class": "deterministic", + "failure_signature": "setup|deterministic|script failed with exit code: ## stdout fatal: destination path '.' already exists and is not an empty directory.", + "current_node": "setup", + "graph.goal": "Upgrading 2.2>3.0 causes named tuples used as arguments to __range to error.\nDescription\n\t\nI noticed this while upgrading a project from 2.2 to 3.0.\nThis project passes named 2-tuples as arguments to range queryset filters. This works fine on 2.2. On 3.0 it causes the following error: TypeError: __new__() missing 1 required positional argument: 'far'.\nThis happens because django.db.models.sql.query.Query.resolve_lookup_value goes into the tuple elements to resolve lookups and then attempts to reconstitute the tuple with the resolved elements.\nWhen it attempts to construct the new tuple it preserves the type (the named tuple) but it passes a iterator to it's constructor.\nNamedTuples don't have the code path for copying an iterator, and so it errors on insufficient arguments.\nThe fix is to * expand the contents of the iterator into the constructor.\n", + "internal.retry_count.start": 1, + "internal.node_visit_count": 1, + "current.preamble": "Goal: Upgrading 2.2>3.0 causes named tuples used as arguments to __range to error.\nDescription\n\t\nI noticed this while upgrading a project from 2.2 to 3.0.\nThis project passes named 2-tuples as arguments to range queryset filters. This works fine on 2.2. On 3.0 it causes the following error: TypeError: __new__() missing 1 required positional argument: 'far'.\nThis happens because django.db.models.sql.query.Query.resolve_lookup_value goes into the tuple elements to resolve lookups and then attempts to reconstitute the tuple with the resolved elements.\nWhen it attempts to construct the new tuple it preserves the type (the named tuple) but it passes a iterator to it's constructor.\nNamedTuples don't have the code path for copying an iterator, and so it errors on insufficient arguments.\nThe fix is to * expand the contents of the iterator into the constructor.\n\n", + "thread.start.current_node": "setup", + "internal.thread_id": "start", + "command.stderr": "" + }, + "logs": [], + "node_outcomes": { + "start": { + "status": "success", + "duration_ms": 0 + }, + "setup": { + "status": "fail", + "context_updates": { + "command.output": "fatal: destination path '.' already exists and is not an empty directory.\n", + "command.stderr": "" + }, + "failure": { + "message": "Script failed with exit code: 128\n\n## stdout\nfatal: destination path '.' already exists and is not an empty directory.\n", + "failure_class": "deterministic" + }, + "duration_ms": 224 + } + }, + "next_node_id": "solve", + "loop_failure_signatures": { + "setup|deterministic|script failed with exit code: ## stdout fatal: destination path '.' already exists and is not an empty directory.": 1 + }, + "node_visits": { + "setup": 1, + "start": 1 + } +} \ No newline at end of file diff --git a/nodes/setup/script_invocation.json b/nodes/setup/script_invocation.json new file mode 100644 index 000000000..29bb03470 --- /dev/null +++ b/nodes/setup/script_invocation.json @@ -0,0 +1,5 @@ +{ + "command": "git clone https://github.com/django/django.git . && git checkout 755dbf39fcdc491fe9b588358303e259c7750be4 && python -m pip install -e .", + "language": "shell", + "timeout_ms": null +} \ No newline at end of file diff --git a/nodes/setup/script_timing.json b/nodes/setup/script_timing.json new file mode 100644 index 000000000..afe721aa1 --- /dev/null +++ b/nodes/setup/script_timing.json @@ -0,0 +1,5 @@ +{ + "duration_ms": 224, + "exit_code": 128, + "timed_out": false +} \ No newline at end of file diff --git a/nodes/setup/status.json b/nodes/setup/status.json new file mode 100644 index 000000000..f8a6bfaa1 --- /dev/null +++ b/nodes/setup/status.json @@ -0,0 +1,6 @@ +{ + "status": "fail", + "notes": null, + "failure_reason": "Script failed with exit code: 128\n\n## stdout\nfatal: destination path '.' already exists and is not an empty directory.\n", + "timestamp": "2026-03-16T05:32:33.846516+00:00" +} \ No newline at end of file diff --git a/nodes/start/status.json b/nodes/start/status.json new file mode 100644 index 000000000..2d0f701f4 --- /dev/null +++ b/nodes/start/status.json @@ -0,0 +1,6 @@ +{ + "status": "success", + "notes": null, + "failure_reason": null, + "timestamp": "2026-03-16T05:32:33.621011+00:00" +} \ No newline at end of file