From f82c9af121ef308105737ad210509f3c7b4ae7ef Mon Sep 17 00:00:00 2001 From: Tom Softreck Date: Mon, 14 Sep 2026 07:57:16 +0200 Subject: [PATCH] [ticket-004] build: remove pfix auto-repair configuration pfix was configured with auto_apply = true, auto_install_deps = true and create_backups = false, and its automatic repairs overwrote development changes. Remove the [tool.pfix] tables and every pfix requirement. The parsed TOML differs from the base only by the removed pfix entries. uv.lock is regenerated with uv 0.12.13 without changing any other package version. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_014hezCdF29Azzf6AaAfEVcw --- project/ticket-004/README.md | 19 +++++++++++++++++++ project/ticket-004/intent.json | 17 +++++++++++++++++ pyproject.toml | 17 ----------------- uv.lock | 7 +------ 4 files changed, 37 insertions(+), 23 deletions(-) create mode 100644 project/ticket-004/README.md create mode 100644 project/ticket-004/intent.json diff --git a/project/ticket-004/README.md b/project/ticket-004/README.md new file mode 100644 index 0000000..26e576a --- /dev/null +++ b/project/ticket-004/README.md @@ -0,0 +1,19 @@ +# ticket-004: Remove pfix auto-repair from the project + +- **Status**: IN_PROGRESS +- **Workflow state**: EDIT + +SESSION_EXECUTION_AUTHORIZATION: on 2026-09-13 the user requested that pfix be +removed from Semcod projects or deactivated, because its automatic repairs +overwrite development changes. + +AC-01: No tracked `pyproject.toml` declares a `[tool.pfix]` table or a `pfix` +requirement (runtime, optional, group or tool environment). +AC-02: The parsed TOML differs from the base only by the removed pfix entries. +AC-03: A tracked `uv.lock` is regenerated so it no longer records a direct pfix +requirement of this project. +AC-04: Source code, tests and generated documentation projections are unchanged. + +Canonical fleet evidence: +`subactor/docs/architecture/analysis/semcod-library-quality.md`. +This ticket does not establish full new-project adoption. diff --git a/project/ticket-004/intent.json b/project/ticket-004/intent.json new file mode 100644 index 0000000..66b10f5 --- /dev/null +++ b/project/ticket-004/intent.json @@ -0,0 +1,17 @@ +{ + "ticket": "ticket-004", + "summary": "Remove pfix auto-repair configuration and dependency declarations", + "allowedPaths": [ + "pyproject.toml", + "uv.lock", + "project/ticket-004/**" + ], + "forbiddenPaths": [ + ".env", + "src/**", + "tests/**", + ".github/workflows/**" + ], + "authorization": "SESSION_EXECUTION_AUTHORIZATION", + "outcome": "pfix is no longer configured, installed or locked by this project; no runtime behavior change." +} diff --git a/pyproject.toml b/pyproject.toml index 24be634..0195c0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,7 +54,6 @@ dev = [ "build>=1.0", "twine>=5.0", "costs>=0.1.20", - "pfix>=0.1.60", ] all = ["code2docs[llm,git,watch,mkdocs]"] @@ -88,22 +87,6 @@ include = ["code2docs*"] [tool.setuptools.package-data] code2docs = ["templates/*.j2"] -[tool.pfix] -# Self-healing Python configuration -model = "openrouter/qwen/qwen3-coder-next" -auto_apply = true -auto_install_deps = true -auto_restart = false -max_retries = 3 -create_backups = false -git_auto_commit = false - -[tool.pfix.runtime_todo] -enabled = true -todo_file = "TODO.md" -min_severity = "low" -deduplicate = true - [tool.costs] # AI Cost tracking configuration badge = true diff --git a/uv.lock b/uv.lock index 613c3db..b48fc2c 100644 --- a/uv.lock +++ b/uv.lock @@ -460,7 +460,7 @@ name = "cffi" version = "2.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pycparser", marker = "implementation_name != 'PyPy'" }, + { name = "pycparser", marker = "implementation_name != 'PyPy' or sys_platform != 'linux'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/57/5f/ff100cae70ebe9d8df1c01a00e510e45d9adb5c1fdda84791b199141de97/cffi-2.1.0.tar.gz", hash = "sha256:efc1cdd798b1aaf39b4610bba7aad28c9bea9b910f25c784ccf9ec1fa719d1f9", size = 531036, upload-time = "2026-07-06T21:34:30.382Z" } wheels = [ @@ -704,7 +704,6 @@ dev = [ { name = "build" }, { name = "costs" }, { name = "mypy" }, - { name = "pfix" }, { name = "pytest" }, { name = "pytest-cov" }, { name = "ruff" }, @@ -744,7 +743,6 @@ requires-dist = [ { name = "mkdocs", marker = "extra == 'mkdocs'", specifier = ">=1.5" }, { name = "mkdocs-material", marker = "extra == 'mkdocs'", specifier = ">=9.0" }, { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.0" }, - { name = "pfix", marker = "extra == 'dev'", specifier = ">=0.1.60" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=7.0" }, { name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=4.0" }, { name = "python-dotenv", marker = "extra == 'llm'", specifier = ">=1.0" }, @@ -2542,9 +2540,6 @@ wheels = [ name = "mistune" version = "3.3.4" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, -] sdist = { url = "https://files.pythonhosted.org/packages/7b/92/328a294a6de83bacb95bed01f04e0eaff4e3616ee359fc821a5dfc539b02/mistune-3.3.4.tar.gz", hash = "sha256:58b5c96d6fcb61190dfe5fae498d2b2065f99cf61e9649418fd54cf1ada86dfe", size = 121426, upload-time = "2026-07-22T05:22:30.89Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/77/e4/288365afae98953bc01de09f686f40d8ee84578135aa7767d5d4e60b5278/mistune-3.3.4-py3-none-any.whl", hash = "sha256:ee015381e955e370962968befe1d729ab60fafb6a715ac6751763fbce38c8d4a", size = 66862, upload-time = "2026-07-22T05:22:29.419Z" },