Update OpenClaw handoff with keyword governance
This commit is contained in:
@@ -88,6 +88,7 @@ Primary return fields:
|
|||||||
- `marked_read_count`
|
- `marked_read_count`
|
||||||
- `status_counts`
|
- `status_counts`
|
||||||
- `delivery_payload`
|
- `delivery_payload`
|
||||||
|
- `keyword_index`
|
||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
|
|
||||||
@@ -102,6 +103,11 @@ By default the pipeline writes only:
|
|||||||
- `outputs/freshrss/rerun/<run_id>/candidates/openclaw-delivery-payload.json`
|
- `outputs/freshrss/rerun/<run_id>/candidates/openclaw-delivery-payload.json`
|
||||||
- `outputs/freshrss/rerun/<run_id>/run-report.json`
|
- `outputs/freshrss/rerun/<run_id>/run-report.json`
|
||||||
|
|
||||||
|
It also updates local runtime keyword data:
|
||||||
|
|
||||||
|
- `data/term_index/daily/YYYY-MM-DD.json`
|
||||||
|
- `data/term_index/term_stats.json`
|
||||||
|
|
||||||
If `debug_artifacts=true`, the pipeline additionally writes per-item intermediate files.
|
If `debug_artifacts=true`, the pipeline additionally writes per-item intermediate files.
|
||||||
|
|
||||||
## Payload Specs
|
## Payload Specs
|
||||||
@@ -134,12 +140,44 @@ Behavior:
|
|||||||
|
|
||||||
This is intentional.
|
This is intentional.
|
||||||
|
|
||||||
|
## Keyword Cleanup Governance
|
||||||
|
|
||||||
|
This repository also includes a lightweight keyword-governance flow for downstream review.
|
||||||
|
|
||||||
|
Current pieces:
|
||||||
|
|
||||||
|
- runtime keyword stats
|
||||||
|
- `data/term_index/daily/YYYY-MM-DD.json`
|
||||||
|
- `data/term_index/term_stats.json`
|
||||||
|
- governance config
|
||||||
|
- `configs/term_cleanup_policy.json`
|
||||||
|
- `configs/term_watchlist.json`
|
||||||
|
- `configs/term_change_log.json`
|
||||||
|
- review bundle builder
|
||||||
|
- `skills/keyword-cleanup-review/scripts/build_review_bundle.py`
|
||||||
|
- accepted-suggestion writer
|
||||||
|
- `scripts/apply_term_suggestions.py`
|
||||||
|
|
||||||
|
Current status:
|
||||||
|
|
||||||
|
- OpenClaw can read the keyword review bundle as maintenance input
|
||||||
|
- accepted suggestions still require explicit human confirmation
|
||||||
|
- the repository can write accepted watch / alias / stopword / interest-keyword changes after confirmation
|
||||||
|
- this governance flow is not yet wired into a periodic scheduler inside the repository
|
||||||
|
|
||||||
|
Boundary:
|
||||||
|
|
||||||
|
- keyword cleanup is a maintenance flow, not the production RSS ingestion path
|
||||||
|
- the repository does not auto-apply cleanup suggestions without confirmation
|
||||||
|
- current keyword stats are built from the delivered candidate payload, not yet from a final `DailyDigest`
|
||||||
|
|
||||||
## Known Limitations
|
## Known Limitations
|
||||||
|
|
||||||
- Some sources put only partial content in RSS; those items may be skipped if RSS content is insufficient.
|
- Some sources put only partial content in RSS; those items may be skipped if RSS content is insufficient.
|
||||||
- WeChat articles often block direct crawling, but this pipeline now avoids that path for FreshRSS items and uses RSS-provided content when available.
|
- WeChat articles often block direct crawling, but this pipeline now avoids that path for FreshRSS items and uses RSS-provided content when available.
|
||||||
- Rule behavior is still conservative in some cases; many items may land in `review` depending on current rules.
|
- Rule behavior is still conservative in some cases; many items may land in `review` depending on current rules.
|
||||||
- Paywall heuristics may produce false positives for some Chinese text patterns.
|
- Paywall heuristics may produce false positives for some Chinese text patterns.
|
||||||
|
- Keyword cleanup governance is usable now, but periodic scheduling and before/after evaluation are not implemented yet.
|
||||||
|
|
||||||
## Files OpenClaw Should Read First
|
## Files OpenClaw Should Read First
|
||||||
|
|
||||||
@@ -149,7 +187,9 @@ Recommended reading order for a new maintainer:
|
|||||||
2. `docs/openclaw/openclaw-handoff.md`
|
2. `docs/openclaw/openclaw-handoff.md`
|
||||||
3. `docs/openclaw/openclaw-candidate-input-field-spec.md`
|
3. `docs/openclaw/openclaw-candidate-input-field-spec.md`
|
||||||
4. `docs/openclaw/openclaw-delivery-payload-spec.md`
|
4. `docs/openclaw/openclaw-delivery-payload-spec.md`
|
||||||
5. `docs/current/context-reset-brief.md`
|
5. `docs/design/daily-keyword-index-design.md`
|
||||||
|
6. `skills/keyword-cleanup-review/SKILL.md`
|
||||||
|
7. `docs/current/context-reset-brief.md`
|
||||||
|
|
||||||
## Current Recommendation
|
## Current Recommendation
|
||||||
|
|
||||||
@@ -161,3 +201,9 @@ The minimum you need to give OpenClaw is:
|
|||||||
- the MCP server startup command
|
- the MCP server startup command
|
||||||
- the required environment variables in the target environment
|
- the required environment variables in the target environment
|
||||||
- the instruction to call `run_freshrss_openclaw_pipeline`
|
- the instruction to call `run_freshrss_openclaw_pipeline`
|
||||||
|
|
||||||
|
If OpenClaw will also participate in keyword-governance review, additionally point it to:
|
||||||
|
|
||||||
|
- `docs/design/daily-keyword-index-design.md`
|
||||||
|
- `skills/keyword-cleanup-review/SKILL.md`
|
||||||
|
- `scripts/apply_term_suggestions.py`
|
||||||
Reference in New Issue
Block a user