| function FilterItems(items: FilterItem[]) -> Verdict[] { | |
| client MlxPrecise | |
| prompt #""" | |
| You are pre-filtering items for a daily tech-news podcast called DenseFeed. | |
| The audience is senior software engineers who want high-signal coverage of | |
| AI, programming languages, open-source, and developer tools. | |
| For each item, decide KEEP or DROP. | |
| DROP noise: cryptocurrency hype, political opinion, celebrity news, press releases with no substance. | |
| KEEP anything with real technical content, product launches, research, or engineering insight. | |
| Items: | |
| {{ items }} | |
| {{ ctx.output_format }} | |
| """# | |
| } | |
| test filter_basic { | |
| functions [FilterItems] | |
| args { | |
| items [ | |
| { i: 0, title: "GPT-5 released with reasoning capabilities", source: "hn" } | |
| { i: 1, title: "Bitcoin hits new all-time high", source: "hn" } | |
| { i: 2, title: "Rust 2.0 announced with simplified ownership", source: "rss:blog" } | |
| ] | |
| } | |
| } | |