docs(base): disambiguate filter DSL & value shape to cut Base retry loops#1879
docs(base): disambiguate filter DSL & value shape to cut Base retry loops#1879Neseria wants to merge 2 commits into
Conversation
Eval traces show the Base filter/view chain loses time to avoidable
error->lookup->retry loops:
- record/view --filter-json (tuple [[f,op,v]]) gets confused with
+data-query's object filters ({field_name,operator,value}) -> 800010701
- scalar fields (text/number) get array-wrapped values -> 800010507
- agents guess a field is select from its name, or guess enum values in
Chinese when stored values are English -> 0 hits then retry
Add a top-of-doc section to the tuple-DSL SSOT (value shape by field type,
check field type first, don't confuse with data-query, use real stored
values), a reciprocal warning in data-query, and two recovery rows in
SKILL.md. Flag-level details (--limit vs --page-size) are left to command
--help per the skill's stated design.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…rfit examples Address review feedback on the first pass: - remove the added top-level '## 0 …先读' section — it duplicated §3 (per-type value rules) and §7 (易错点), and its examples (状态=="Open", 工时>=3.5) overfit the eval case and even clashed with §3's own 状态-as-select example. - instead sharpen what already exists: §7 names the shared commands and the data-query object shape to avoid; §6 gets one process rule (confirm field type / real values first); all example-free and principle-based. - revert the data-query.md note (wrong direction; the confusion is fixed at the record/view tuple-DSL SSOT). - slim the SKILL.md recovery rows to terse, message-keyed, reference-pointing entries matching the table's style.
|
|
背景
竞品评测(lark-cli vs DWS)中,Base 业务域「筛选/视图」链路耗时约为 DWS 的 2 倍,主因是可避免的
报错 → 查文档/‑‑help → 重试循环(真实 Trace 复现):+record-list --filter-json的 tuple 形状[[f,op,v]]与+data-query的对象型 filters{field_name,operator,value}混淆 →800010701 Request validation failedtext/number等标量字段的筛选值被包成数组 →800010507 Only string values状态/优先级猜成select,或用中文枚举值(高)而真实值是英文(High)→ 0 命中后重试改动
lark-base-view-set-filter.md:新增顶部「## 0 选对筛选 DSL 与 value 形状」——标量/数组按字段真实 type 选择、先查字段类型、与+data-query区分、用真实存储值;强化「易错点」。lark-base-data-query.md:坑点增加与 record/view 筛选形状互斥的反向提示。SKILL.md:常见恢复增加800010701/800010507两条恢复项;skill 版本1.2.2 → 1.2.3。Flag 级细节(如
--limitvs--page-size)按 skill 既定设计交由命令--help承接,未写入 skill。验证
==)成功。800010701/800010507循环。go test ./internal/qualitygate/skillscan/...通过。