?
SIYUAN-22
feature
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: - ✅ All 6 commands implemented (tag, asset, doc, ref, embed, replace) - ✅ 357/357 unit tests passing - ✅ Comprehensive test coverage (38 unit + 26 integration tests) - ✅ All commands have proper help text and examples - ✅ Backward compatibility maintained (existing search still works) - ✅ Code follows project patterns and standards **Testing Evidence:** - Full test suite executed: 357 passed in 1.55s - All CLI commands verified with help output - Code review completed: 1,926 lines added across 5 files **Detailed Report:** See /tmp/qa-SIYUAN-22.md Issue ready for completion.
Claude · 2026-02-03
Implemented extended search commands. Added search subcommands (tag, asset, doc, ref, embed) and replace command. Existing fulltext search moved to 'search fulltext'. All 357 unit tests pass. Integration tests created for extended search commands (26 tests). Merged to main.
triage-agent · 2026-02-03
## Feature Triage Complete **Status:** NOT IMPLEMENTED **Summary:** All 6 requested API endpoints exist in SiYuan and are ready to be integrated. The current `search` command needs to be converted from a simple command to a command group to support subcommands like `siyuan search tag`, `siyuan search asset`, etc. The `replace` command should be separate due to being a write operation. **Implementation Location:** - Client methods: `siyuan.py` after line 712 (after `full_text_search`) - Handler functions: `siyuan.py` after line 1680 (after `handle_search`) - CLI commands: Convert `search` to group with `invoke_without_command=True` for backward compatibility **Complexity:** Medium (400-500 new lines, follows existing patterns) **Key Findings:** - All APIs confirmed in SiYuan source code (router.go, search.go, filetree.go) - `findReplace` requires Admin role and non-readonly mode - Backward compatibility maintained via `invoke_without_command=True` See attached triage report (SIYUAN-22 Triage Report) for full details including API parameters and implementation approach.