chore(002): mark all tasks done; fix archived ADR relative links (T050-T052)
All tasks [x] complete. Fixed logging-modernisation archived epic ADR paths (../../ → ../../../ to account for archive/ subdirectory). beacon doctor --strict: 34/34 pass, 0 failures. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
01ba88c496
commit
4e764b9d63
@@ -15,8 +15,8 @@ _None._
|
||||
- specs/001-standardise-logging/
|
||||
## ADRs
|
||||
|
||||
- [ADR-001](../../ADRs/ADR-001-stdlib-logging-over-console-libraries.md) — stdlib logging over colored console libraries
|
||||
- [ADR-002](../../ADRs/ADR-002-nullhandler-pattern-for-library-loggers.md) — NullHandler pattern for library loggers
|
||||
- [ADR-001](../../../ADRs/ADR-001-stdlib-logging-over-console-libraries.md) — stdlib logging over colored console libraries
|
||||
- [ADR-002](../../../ADRs/ADR-002-nullhandler-pattern-for-library-loggers.md) — NullHandler pattern for library loggers
|
||||
|
||||
## Success criteria
|
||||
- [x] `logger.setLevel(logging.DEBUG)` removed from all modules; log level controlled entirely by the host (ComfyUI or the user's logging config)
|
||||
|
||||
+17
-17
@@ -16,8 +16,8 @@
|
||||
|
||||
**Purpose**: Scaffold the test file and BDD feature files before any implementation.
|
||||
|
||||
- [ ] T001 Create `tests/test_packaging.py` with the module skeleton (imports, helpers) and one `pass` placeholder per test function — no assertions yet
|
||||
- [ ] T002 Create BDD feature files in `specs/002-manager-compatible-install-requirements-txt-and-custom-node-list-registration/features/` (one per US) from the Gherkin scenarios in spec.md
|
||||
- [x] T001 Create `tests/test_packaging.py` with the module skeleton (imports, helpers) and one `pass` placeholder per test function — no assertions yet
|
||||
- [x] T002 Create BDD feature files in `specs/002-manager-compatible-install-requirements-txt-and-custom-node-list-registration/features/` (one per US) from the Gherkin scenarios in spec.md
|
||||
|
||||
---
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
|
||||
### User Story 1 — TDD pairs
|
||||
|
||||
- [ ] T010-T [US1] Write FAILING test in `tests/test_packaging.py` asserting `requirements.txt` exists, contains `jinja2>=3.1.6`, does not contain `colorama`/`termcolor`/`rich`/`.`, and every package listed is present in `pyproject.toml [project.dependencies]` (red)
|
||||
- [ ] T010-I [US1] Replace `requirements.txt` with hand-authored content: header comment explaining authoring policy + `jinja2>=3.1.6` so T010-T passes (green)
|
||||
- [ ] T011-T [US1] Write FAILING test in `tests/test_packaging.py` asserting `aiohttp` appears in `pyproject.toml [project.dependencies]` (not only in `[dependency-groups]`) (red)
|
||||
- [ ] T011-I [US1] Move `aiohttp>=3.9.0` from `[dependency-groups] dev` to `[project.dependencies]` in `pyproject.toml`; run `uv sync` so T011-T passes (green)
|
||||
- [x] T010-T [US1] Write FAILING test in `tests/test_packaging.py` asserting `requirements.txt` exists, contains `jinja2>=3.1.6`, does not contain `colorama`/`termcolor`/`rich`/`.`, and every package listed is present in `pyproject.toml [project.dependencies]` (red)
|
||||
- [x] T010-I [US1] Replace `requirements.txt` with hand-authored content: header comment explaining authoring policy + `jinja2>=3.1.6` so T010-T passes (green)
|
||||
- [x] T011-T [US1] Write FAILING test in `tests/test_packaging.py` asserting `aiohttp` appears in `pyproject.toml [project.dependencies]` (not only in `[dependency-groups]`) (red)
|
||||
- [x] T011-I [US1] Move `aiohttp>=3.9.0` from `[dependency-groups] dev` to `[project.dependencies]` in `pyproject.toml`; run `uv sync` so T011-T passes (green)
|
||||
|
||||
**Checkpoint**: `uv run pytest tests/test_packaging.py::TestRequirementsTxt` green.
|
||||
|
||||
@@ -48,8 +48,8 @@
|
||||
|
||||
### User Story 2 — TDD pairs
|
||||
|
||||
- [ ] T020-T [US2] Write FAILING test in `tests/test_packaging.py` asserting `comfy-manager-entry.json` at the repo root does not exist yet (or has wrong/missing fields) — this will go GREEN once T020-I creates it correctly (red)
|
||||
- [ ] T020-I [US2] Create `comfy-manager-entry.json` at the repo root with the correct Manager schema: `author`, `title`, `reference`, `files`, `install_type: "git-clone"`, `description`, `nodename` list matching `NODE_CLASS_MAPPINGS` display names — so T020-T passes (green)
|
||||
- [x] T020-T [US2] Write FAILING test in `tests/test_packaging.py` asserting `comfy-manager-entry.json` at the repo root does not exist yet (or has wrong/missing fields) — this will go GREEN once T020-I creates it correctly (red)
|
||||
- [x] T020-I [US2] Create `comfy-manager-entry.json` at the repo root with the correct Manager schema: `author`, `title`, `reference`, `files`, `install_type: "git-clone"`, `description`, `nodename` list matching `NODE_CLASS_MAPPINGS` display names — so T020-T passes (green)
|
||||
|
||||
**Manual step** (not a task pair — requires human action after merge):
|
||||
- Submit a PR to `ltdrdata/ComfyUI-Manager` adding the `comfy-manager-entry.json` content to `custom-node-list.json`. Reference the live `main` branch; confirm `requirements.txt` fix is on `main` first.
|
||||
@@ -66,8 +66,8 @@
|
||||
|
||||
### User Story 3 — TDD pairs
|
||||
|
||||
- [ ] T030-T [US3] Write FAILING test in `tests/test_packaging.py` asserting that the `@description` field in `__init__.py` does not contain the strings `"model memory"`, `"Model Unloader"`, or any other reference to non-existent nodes (red)
|
||||
- [ ] T030-I [US3] Update `@description` in root `__init__.py` to: `"Quality of life ComfyUI nodes: dynamic string formatting with Python f-strings or Jinja2 templates, seed-controlled random input selection, and workflow circuit-breaker for conditional queue interruption."` so T030-T passes (green)
|
||||
- [x] T030-T [US3] Write FAILING test in `tests/test_packaging.py` asserting that the `@description` field in `__init__.py` does not contain the strings `"model memory"`, `"Model Unloader"`, or any other reference to non-existent nodes (red)
|
||||
- [x] T030-I [US3] Update `@description` in root `__init__.py` to: `"Quality of life ComfyUI nodes: dynamic string formatting with Python f-strings or Jinja2 templates, seed-controlled random input selection, and workflow circuit-breaker for conditional queue interruption."` so T030-T passes (green)
|
||||
|
||||
**Checkpoint**: `uv run pytest tests/test_packaging.py::TestMetadata` green.
|
||||
|
||||
@@ -81,10 +81,10 @@
|
||||
|
||||
### User Story 4 — TDD pairs
|
||||
|
||||
- [ ] T040-T [US4] Write FAILING test in `tests/test_packaging.py` asserting `docker-compose.yml` exists at the repo root and has a `comfyui` service with a `ports` mapping including `8188` (red)
|
||||
- [ ] T040-I [US4] Create `docker-compose.yml` at the repo root: single `comfyui` service, `python:3.11-slim` base, installs ComfyUI CPU-only (`torch` CPU wheel), symlinks `comfydv` into `custom_nodes/`, runs `pip install -r requirements.txt`, starts `python main.py --cpu --listen 0.0.0.0`, exposes port 8188; create accompanying `docker/Dockerfile` so T040-T passes (green)
|
||||
- [ ] T041-T [US4] Write test asserting `docker/Dockerfile` exists and `FROM python:3.11` is the base (so we can verify the GPU-free constraint in CI) (red)
|
||||
- [ ] T041-I [US4] Create `docker/Dockerfile` with CPU-only ComfyUI install so T041-T passes (green)
|
||||
- [x] T040-T [US4] Write FAILING test in `tests/test_packaging.py` asserting `docker-compose.yml` exists at the repo root and has a `comfyui` service with a `ports` mapping including `8188` (red)
|
||||
- [x] T040-I [US4] Create `docker-compose.yml` at the repo root: single `comfyui` service, `python:3.11-slim` base, installs ComfyUI CPU-only (`torch` CPU wheel), symlinks `comfydv` into `custom_nodes/`, runs `pip install -r requirements.txt`, starts `python main.py --cpu --listen 0.0.0.0`, exposes port 8188; create accompanying `docker/Dockerfile` so T040-T passes (green)
|
||||
- [x] T041-T [US4] Write test asserting `docker/Dockerfile` exists and `FROM python:3.11` is the base (so we can verify the GPU-free constraint in CI) (red)
|
||||
- [x] T041-I [US4] Create `docker/Dockerfile` with CPU-only ComfyUI install so T041-T passes (green)
|
||||
|
||||
**Checkpoint**: `uv run pytest tests/test_packaging.py::TestDockerCompose` green. Manual smoke: `docker compose up --build` and inspect logs for `"Loaded custom nodes from comfydv"`.
|
||||
|
||||
@@ -92,9 +92,9 @@
|
||||
|
||||
## Phase 6: Polish & Quality Gates
|
||||
|
||||
- [ ] T050 Run `uv run ruff check --fix && uv run ruff format` on `tests/test_packaging.py` and confirm clean
|
||||
- [ ] T051 Run `uv run pytest` and confirm all tests pass (existing 11 + new packaging tests)
|
||||
- [ ] T052 Run `beacon doctor --strict` and confirm 0 failures
|
||||
- [x] T050 Run `uv run ruff check --fix && uv run ruff format` on `tests/test_packaging.py` and confirm clean
|
||||
- [x] T051 Run `uv run pytest` and confirm all tests pass (existing 11 + new packaging tests)
|
||||
- [x] T052 Run `beacon doctor --strict` and confirm 0 failures
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user