feat(reference-curator): add --save-raw, --no-distill flags + OurSEO crawler integration

- Add --save-raw flag: saves intact crawled markdown in raw/ subdirectory
  alongside distilled content, with YAML frontmatter for traceability
- Add --no-distill flag: skip stages 4-5 (distiller + QA reviewer),
  pure archival mode for raw documentation capture
- Integrate OurSEO BaseAsyncClient + PageAnalyzer as seo-aiohttp backend:
  token-bucket rate limiting, semaphore concurrency, tenacity retries,
  full page metadata extraction (headings, links, schema, OG)
- New seo_crawler_adapter.py: crawl URLs, sitemaps, link discovery, manifests
  with progress tracking and resume support
- Update crawler selection: docs sites now default to seo-aiohttp
- Update crawl_config.yaml with seo-aiohttp routing rules
- Update pipeline orchestrator with flag resolution and skip paths
- Update README.md and USER-GUIDE.md with raw mode documentation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-12 23:26:50 +09:00
parent f215c11c32
commit b1c2dca080
11 changed files with 977 additions and 52 deletions

View File

@@ -193,6 +193,15 @@ Run the complete curation workflow with a single command:
# Fine-tuning dataset output
/reference-curator-pipeline "MCP servers" --export-format fine_tuning
# Save raw crawled content alongside distilled output
/reference-curator-pipeline "Claude Code best practices" --save-raw
# Pure archival — skip distillation, keep raw markdown only
/reference-curator-pipeline https://docs.anthropic.com --no-distill
# Full-depth archival
/reference-curator-pipeline https://legacy-docs.example.com --depth full --no-distill
```
**Pipeline Options:**
@@ -202,6 +211,8 @@ Run the complete curation workflow with a single command:
- `--threshold 0.85` - Approval threshold
- `--max-iterations 3` - Max QA loop iterations per document
- `--export-format project_files` - Output format (project_files, fine_tuning, jsonl)
- `--save-raw` - Also save intact raw crawled markdown in a `raw/` subdirectory
- `--no-distill` - Skip distillation and QA (pure archival). Implies `--save-raw`
---
@@ -313,6 +324,29 @@ mysql -h $MYSQL_HOST -u $MYSQL_USER -p"$MYSQL_PASSWORD" reference_library -e "
└── chain-of-thought.md
```
**Raw Archival (`--no-distill`):**
```
~/reference-library/exports/
└── topic-slug/
├── README.md
├── 00-page-name.raw.md # Intact crawled content
├── 01-page-name.raw.md
├── topic-slug-raw-complete.md # Combined raw bundle
└── manifest.json
```
**Distilled + Raw (`--save-raw`):**
```
~/reference-library/exports/
└── topic-slug/
├── INDEX.md
├── 00-page-name.md # Distilled
├── raw/
│ ├── 00-page-name.raw.md # Intact crawled
│ └── topic-slug-raw-complete.md
└── manifest.json
```
**For Fine-tuning (JSONL):**
```json
{"messages": [{"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]}