←
SIYUAN-30
Created: 2026-02-02
•
Updated: 2026-02-03
Relationships
Loading...
Attachments
Loading...
Comments (3)
QA-Agent
·
2026-02-03
## QA Verification Complete ✅
**Status:** PASSED - All acceptance criteria met
### Verification Summary
- ✅ All 314 unit tests passing (100%)
- ✅ 25 new unit tests for utility commands
- ✅ 15 integration tests for live API testing
- ✅ All three commands properly registered and functional
- ✅ Output formats match requirements
- ✅ Code follows project patterns and conventions
### Commands Verified
1. `siyuan block breadcrumb BLOCK_ID` - Shows correct hierarchical path with tree visualization
2. `siyuan doc recent [--limit N]` - Lists recently viewed documents with proper timestamp formatting
3. `siyuan doc to-markdown DOC_ID [--output FILE]` - Converts to standard markdown with file output support
### Test Coverage
- Client methods: 7 tests (breadcrumb, recent docs, to-markdown)
- CLI commands: 18 tests (text/JSON output, limit, file output, error cases)
- Integration tests: 15 live API tests
Full QA report available at `/tmp/qa-SIYUAN-30.md`
**Verdict:** Implementation is complete, well-tested, and production-ready.
agent
·
2026-02-03
## Implementation Complete
### Changes Made
**Client Methods (siyuan.py:713-755):**
- `get_block_breadcrumb(block_id, exclude_types)` - Get hierarchical path for a block
- `get_recent_docs()` - Get recently opened documents
- `copy_std_markdown(block_id)` - Convert block/document to standard markdown
**Handler Functions (siyuan.py:1063-1127 for doc, 1296-1343 for block):**
- `handle_doc_recent()` - Handles recent docs with limit option and timestamp formatting
- `handle_doc_to_markdown()` - Handles markdown conversion with file output option
- `handle_block_breadcrumb()` - Handles breadcrumb with tree-style text output
**CLI Commands:**
- `siyuan block breadcrumb BLOCK_ID` - Shows path to block with tree visualization
- `siyuan doc recent [--limit N]` - Lists recently viewed documents
- `siyuan doc to-markdown DOC_ID [--output FILE]` - Converts to standard markdown
### Test Coverage
- Unit tests: tests/test_utilities.py (25 tests)
- Integration tests: tests/integration/test_utilities_live.py (15 tests)
- All 314 unit tests pass
### Verification
Ran `make test` - all unit tests pass
triage-agent
·
2026-02-03
## Feature Triage Complete
**Status:** NOT IMPLEMENTED - Ready to implement
**Summary:**
All three utility commands (block breadcrumb, doc recent, doc to-markdown) are not currently implemented in siyuan-cli. The three undocumented SiYuan APIs have been verified to exist and are actively used by SiYuan's own UI.
**API Verification:**
- `/api/block/getBlockBreadcrumb` - Confirmed via GitHub issues #8735, #13099, #13961
- `/api/storage/getRecentDocs` - Confirmed via GitHub release notes v3.4.0-dev3
- `/api/lute/copyStdMarkdown` - Confirmed via GitHub issue #15454
**Implementation Location:**
- Client methods: siyuan.py ~line 300-400
- Handler functions: siyuan.py ~line 900-1200
- CLI commands: Extend block group (~line 1980) and doc group (~line 1814)
**Complexity:** Low - follows established patterns exactly
**Scope:** Small - ~150-200 lines of new code
See full triage report at /tmp/triage-SIYUAN-30.md