Agentic loops for the Sift research tool. Generated by Loopy (Forward-Future/loop-library).
Category: Research Operations Use when: Keeping the research index fresh with new content from RSS feeds Last tested: 2026-07-06 Test result: PASS (9 pages fetched, 18 skipped, 4 errors)
Poll RSS feeds for new research content, fetch and index new articles. After each fetch, verify the page stored successfully. Stop when all feeds processed or max-per-feed reached. Report stats.
Run
sift ingest --max-per-feed 10. After completion, runsift statsand report: feeds checked, pages fetched, pages skipped, errors. If errors > 0, list which feeds failed.
- feeds_checked > 0
- pages_fetched reported
- stats command succeeds
- Success: All feeds processed
- Blocked: Network errors or feed unavailability
Recommended: Every 4 hours via schtasks
schtasks /create /tn "Sift\FeedIngest" /tr "python -m sift ingest --max-per-feed 10" /sc hourly /mo 4 /f
Category: Knowledge Capture Use when: Turning a research question into wiki-ready synthesis with sources Last tested: 2026-07-06 Test result: PASS (saved to ~/llm-wiki/raw/queries/loopy-ai-agent-workflows.md, 2 sources, 6718 bytes)
Answer a research question with AI synthesis and save to wiki. After saving, verify the file exists at ~/llm-wiki/raw/queries/.md and contains the answer with sources. Stop when saved successfully.
Run
sift ask "<query>" --wikiwith the research question. Verify the output shows "[Wiki: saved to ...]" and the file exists. Report the file path and source count.
- Wiki saved message appears
- File exists at ~/llm-wiki/raw/queries/.md
- File contains answer and sources
- Success: File saved with sources
- Blocked: No results found or synthesis error
sift ask "Loopy AI agent workflows" --wiki --limit 5
# Result: 2 sources, 6718 bytes savedCategory: Discovery Use when: Recursive research that discovers content by following links from search results Last tested: 2026-07-06 Test result: PASS (pulse_id=55, 15 pages found, depth=2)
Run recursive web research on a topic. After each depth level, check pages found. Continue while pages_found < max_pages and depth < target. Stop and report: pulse_id, pages_found, total_depth.
Run
sift pulse "<topic>" --depth 2 --max-pages 30. Report the pulse_id and pages_found. If pages_found < 5, suggest a broader query.
- pulse_id assigned
- pages_found > 0
- total_depth recorded
- Success: Target pages found at requested depth
- Blocked: No search results or fetch failures
sift pulse "Loopy AI agent workflows" --depth 2 --max-pages 15
# Result: pulse_id=55, 15 pages foundCategory: Observability Use when: Checking index health and growth
Report current index statistics. Run
sift statsand capture: total_pages, feed_pages, pulse_pages, feeds_tracked, total_pulses, newest_page.
total_pages: 861
feed_pages: 0
pulse_pages: 647
feeds_tracked: 17
total_pulses: 55
newest_page: 2026-07-06 12:09:41
Combine loops for complete research-to-wiki pipeline:
- Ingest - Run feed ingestion to ensure fresh content
- Pulse - Run deep research on new topic (if index doesn't have it)
- Ask - Synthesize answer with
--wikiflag - Stats - Verify index growth
# Full cycle example
sift ingest --max-per-feed 10
sift pulse "transformer architecture 2026" --depth 2 --max-pages 20
sift ask "Latest transformer architecture advances" --wiki --limit 5
sift stats- Rate limiting: Built into feeds (1s between fetches) and pulse (0.5s between page fetches)
- API keys: Required for
sift ask(OPENCODE_GO_API_KEY or AUXILIARY_APPROVAL_API_KEY) - Storage: SQLite database at ~/.sift/sift.db (auto-created)
- Wiki output: Saved to ~/llm-wiki/raw/queries/ (auto-created)
Loops generated by Loopy v1.0 - Forward Future Tested on sift v0.1.0