LightRAG/logs/2025-12-05-13-05-beastmode-fix-reset-status.md
2025-12-05 14:31:13 +08:00

1.7 KiB

Task Logs - Fix Reset Document Status Feature

Date: 2025-12-05 Mode: beastmode

Actions

  • Fixed bug in reset_document_status endpoint: changed attribute access (status_doc.content_summary) to dict key access (status_doc.get("content_summary", ""))
  • Cleared Python cache and reinstalled package with pip install -e .
  • Restarted LightRAG server to pick up changes
  • Verified endpoint registration via OpenAPI spec
  • Tested API endpoint with curl - successfully reset document from "failed" to "pending"
  • Rebuilt WebUI with bun run build

Decisions

  • Used .get() with default values for safe dict access to handle potentially missing keys
  • Kept existing endpoint design pattern consistent with other document routes

Changes Made

lightrag/api/routers/document_routes.py

  • Line 3280-3293: Changed from object attribute access to dict key access:
# Before (buggy):
"content_summary": current_status.content_summary,
"content_length": current_status.content_length,
...

# After (fixed):
"content_summary": current_status.get("content_summary", ""),
"content_length": current_status.get("content_length", 0),
...

Next Steps

  • Test the "Reset to Pending" button in the WebUI
  • Document the new API endpoint in API documentation
  • Consider adding rate limiting for reset endpoint

Lessons/Insights

  • PGDocStatusStorage.get_by_id() returns a dict, not a DocProcessingStatus object - important to check return types when working with storage adapters
  • Server needs package reinstall (pip install -e .) when router structure changes, not just cache clearing
  • OpenAPI spec is the source of truth for verifying endpoint registration