SP-Zugriffsweg explizit (access: api/snapshot, #133) und follow_up_at-Korrektur (dueWithTime/dueDay, #135)
CI / verify (push) Successful in 50s
Release / release (push) Successful in 36s

Files changed:
- CHANGES.md
- INSTALL.md
- VERSION
- tools/CONTRACT.md
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/new_page.py
- tools/chemenu/commands/review_cmd.py
- tools/chemenu/review.py
- tools/chemenu/tasks/__init__.py
- tools/chemenu/tasks/config.py
- tools/chemenu/tasks/protocol.py
- tools/chemenu/tasks/superproductivity.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_review.py
- tools/chemenu/tests/test_superproductivity.py
- tools/chemenu/tests/test_tasks_config.py
This commit is contained in:
torben committed 2026-09-20 20:52:05 +02:00
1 parent 3c1d4cb028
commit e07d1ca42a
17 files changed
+1112 -239

No files matched your search

+11 -1
View File
@@ -27,7 +27,7 @@ from chemenu import config, kb_scan
from chemenu.errors import ValidationError
from chemenu.tasks import build_reader
from chemenu.tasks import config as tasks_config
from chemenu.tasks.protocol import OpenItems, normalize_project_name
from chemenu.tasks.protocol import OpenItems, ReadSource, normalize_project_name
CHECK_STALLED = "stalled"
CHECK_WAITING_OVERDUE = "waiting_overdue"
@@ -61,6 +61,7 @@ class ReviewReport:
checks_run: tuple[str, ...]
checks_skipped: tuple[tuple[str, str], ...] # (check, reason)
kb_project_count: int
source: Optional[ReadSource]
@property
def complete(self) -> bool:
@@ -128,6 +129,14 @@ def run_review(root: Path, *, today: Optional[date] = None) -> ReviewReport:
reader = build_reader(cfg)
kb_projects = _load_kb_projects(Path(root) / "kb")
try:
source: Optional[ReadSource] = reader.source()
except ValidationError:
# The same read that would answer this has already failed, or is
# about to below - `source` degrading to `None` here is no worse
# than the check it would have described also being skipped.
source = None
findings: list[Finding] = []
checks_run: list[str] = []
checks_skipped: list[tuple[str, str]] = []
@@ -248,4 +257,5 @@ def run_review(root: Path, *, today: Optional[date] = None) -> ReviewReport:
checks_run=tuple(checks_run),
checks_skipped=tuple(checks_skipped),
kb_project_count=len(kb_projects),
source=source,
)