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" },