Files
845ab5005e Implement the Knowledge Base Loader node (#25) (#69)
* feat(nodes): add the Knowledge Base Loader ComfyUI node (#25)

Add nodes/knowledge_base_loader_node.py: KnowledgeBaseLoaderNode, a thin adapter
that delegates to load_knowledge_base (MASTER_SPEC §20).

- Input path (STRING, default knowledge_base/) plus an optional reload (INT):
  bumping reload changes the inputs so ComfyUI re-executes the node -- an
  explicit manual reload with no automatic file watching.
- Outputs (knowledge_base, warnings, errors): the KNOWLEDGE_BASE for the Resolver
  node, or None with the surfaced SC0004 message and findings on failure. No
  compiler logic in the node.
- Registered as SceneCompilerKnowledgeBaseLoader ("Knowledge Base Loader").

Tests: metadata/inputs, successful load, SC0004 surfacing on an invalid KB,
reload input accepted, and registration.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* ci: run push only on main and add concurrency guard

Feature-branch CI now runs via the pull_request event only (push runs on main),
eliminating duplicate runs per PR; a concurrency group cancels superseded runs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: kunail0804 <kunail0804@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 13:31:26 +02:00

40 lines
845 B
YAML

name: CI
on:
push:
branches: [main]
pull_request:
# Only one CI run per ref; superseded runs are cancelled.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install project (with dev tools)
run: python -m pip install --upgrade pip && pip install -e ".[dev]"
- name: Lint (ruff)
run: ruff check .
- name: Format check (ruff)
run: ruff format --check .
- name: Run tests
run: pytest