本体协作平台
M 2 · R E V I E W

审核队列 · 1,415 条待审

出处硬校验:锚点须在 K0 命中;手填出处强制 inferred。批量通过:规则类直接入 rules.yaml(一个 commit); 定义类需人工归簇请单张过。

建模纪律 · 知识分类骨架(11 类)—— 判不准时点开对锚点

没通过实体四条的,不是扔掉,是归位。每类锚在不同的数据形态上——锚不对就是归错了。

知识分类骨架:两轴定住五个核心类型,下挂六个连接与派生类型横轴独立主体对附着于某主体,纵轴持续存在对瞬间发生,定位实体、属性、状态维、事件、动作;下方为关系、角色、枚举、流程、规则、指标。独立主体附着于某主体持续存在瞬间发生实体锚 · 一张实体表客户 · 账户 · 借据 · 账单属性锚 · 普通列额度 · 期限状态维锚 · 状态列管制码事件锚 · 一张流水表支用 · 还款 · 交易动作锚 · 触发事件并改状态冻结 · 解冻 · 核销连接与派生关系锚 · 外键 / 关联表借据 ↔ 账单角色锚 · 关联表角色列付款方 · 担保人枚举锚 · 码表 / 值域还款方式流程锚 · 多事件编排申请 → 清算 → 确认规则锚 · 规则库逾期 M2 冻结指标锚 · 聚合计算式逾期率 · 余额独立主体 · 自己占一份数据附着 · 挂在别人的列上连接与派生

速判:占一张实体表 → 实体;按时间追加流水 → 事件;某实体会流转的取值 → 状态维;静态描述值 → 属性; 一组可选值 → 枚举;连两个实体 → 关系;多事件编排 → 流程;「如果…就…」→ 规则;施加的操作 → 动作;算出来的量 → 指标。 全文见仓库 建模纪律.md「纪律 2」。

44/48上一页下一页
批量操作
#1293定义DOC-2026-023#p17prompt v201_名词表/nouns.yaml

locationReportScenes 为「需要上报位置的场景」数组(如 CASH_POSITION、FACE_SCANNING_POSITION 等),由后台下发控制哪些场景开启 GPS 上报,与 cashLoanSceneSwitch/openPaylaterScanFaceSwitch 配合使用。

"`locationReportScenes`(`setting.js:21`,state 初值 `[]`)为「需要上报位置的场景」数组"

实体判定四条(缺一即非实体 → 请退回,降级为属性/枚举/规则挂到所属实体):
#1294规则DOC-2026-023#p17prompt v203_关系与铁律/rules.yaml

位置上报逻辑先判断 locationReportScenes.includes(scene),即场景须在 locationReportScenes 数组内才继续上报。

"`report.js:67` 先判 `locationReportScenes.includes(scene)`"

#1295规则DOC-2026-023#p20prompt v203_关系与铁律/rules.yaml

PayLater 的功能可见性由三类不同来源的门控叠加决定,三者口径与责任方各不相同。

"PayLater 的功能可见性由三类不同来源的门控**叠加**决定,三者口径与责任方不同"

#1296规则DOC-2026-024#p3prompt v203_关系与铁律/rules.yaml

前端不直接发送 push 或邮件。

"前端不直接发 push/邮件"

#1297边界DOC-2026-024#p3prompt v203_关系与铁律/rules.yaml

触达分为三类:原生事件上报、邮件/OTP、还款/逾期提醒。

"触达分三类——"

#1298规则DOC-2026-024#p4prompt v203_关系与铁律/rules.yaml

原生事件上报由前端通过 reportToOutside 把事件上报给 Appsflyer / Insider / Firebase,再由宿主 Allo App 与营销平台 Insider 驱动原生 push 或营销触达。

"**原生事件上报**:前端通过 `reportToOutside` 把事件上报给 Appsflyer / Insider / Firebase,由宿主 Allo App 与营销平台(Insider)驱动原生 push / 营销触达"

#1299规则DOC-2026-024#p4prompt v203_关系与铁律/rules.yaml

邮件/OTP 由后端 API 下发,前端只触发接口并提示"已发送"。

"**邮件 / OTP**:由后端 API 下发,前端只触发接口并提示"已发送""

#1300规则DOC-2026-024#p4S03prompt v203_关系与铁律/rules.yaml

还款/逾期提醒为纯站内文案加 banner/popup,阈值在前端按账单页的 remainDays(dueDate 差值)与后端下发的 daysToDue/overdueTimes(首页)判定。

"**还款 / 逾期提醒**:纯站内文案 + banner/popup,阈值在前端按 `remainDays`(账单页 `dueDate` 差值)与后端下发的 `daysToDue` / `overdueTimes`(首页)判定"

#1301定义DOC-2026-024#p8prompt v201_名词表/nouns.yaml

reportToOutside 是触达的核心通道,把一个 event 同时上报给三家平台(Appsflyer、Insider、Firebase)。

"`reportToOutside` 是触达的核心通道,把一个 event 同时上报给三家平台"

实体判定四条(缺一即非实体 → 请退回,降级为属性/枚举/规则挂到所属实体):
#1302规则DOC-2026-024#p10prompt v203_关系与铁律/rules.yaml

三个底层上报方法均有 app_id === ALLO_APP_ID 门控,即仅对 ALLO 渠道上报。

"三个底层方法均有 `app_id === ALLO_APP_ID` 门控(`:145`/`:161`/`:178`),即**仅对 ALLO 渠道上报**"

#1303规则DOC-2026-024#p10prompt v203_关系与铁律/rules.yaml

前端本身不发送 push,只上报事件。

"前端本身不发 push,只"上报事件""

#1304状态DOC-2026-024#p12S01prompt v201_名词表/states.yaml

事件 REJECTED_PAYLATER_BUT_UPGRADED 表示 PayLater 被拒绝但升级为 Prime。

"`REJECTED_PAYLATER_BUT_UPGRADED` (:101) | PL 拒绝但升级为 Prime"

#1305动作条件DOC-2026-024#p15S01prompt v203_关系与铁律/rules.yaml

开户成功或补报时,reportOpenAccount 先查后端配置 amsEventReportConfig(moduleId=OPEN_ACCT)取 eventNameList,逐个 reportToOutside,并带 PL_Level/value/currency:'IDR'/user_id,再调 amsAccountOpenAcctEventMarkReported 标记已报。

"开户成功/补报时,先查后端配置 `amsEventReportConfig`(moduleId=`OPEN_ACCT`)取 `eventNameList`,逐个 `reportToOutside`"

#1306规则DOC-2026-024#p15S01prompt v203_关系与铁律/rules.yaml

开户成功上报的事件名由后端下发。

"事件名**由后端下发**"

#1307动作条件DOC-2026-024#p15S04prompt v203_关系与铁律/rules.yaml

提额/质押锁额成功时,reportLockAmount 以 eventName=limit_lock_amount_success 调用 reportToOutside,并带 user_id。

"质押成功时 `reportToOutside` eventName=`limit_lock_amount_success`,带 `user_id`"

#1308定义DOC-2026-024#p18S03prompt v201_名词表/nouns.yaml

账单页 remainDays 定义为 dueDate 与当前日期的天数差 dayjs(dueDate).diff(currentDate,'days')。

"`remainDays = dayjs(dueDate).diff(currentDate, 'days')`"

实体判定四条(缺一即非实体 → 请退回,降级为属性/枚举/规则挂到所属实体):
#1309动作条件DOC-2026-024#p18S03prompt v203_关系与铁律/rules.yaml

账单页 isOverDue 为真时展示文案 your_bill_is_n_days_overdue_please_repay_now。

"`isOverDue` → `your_bill_is_n_days_overdue_please_repay_now`"

#1310动作条件DOC-2026-024#p18S03prompt v203_关系与铁律/rules.yaml

账单页当 remainDays > 3 时文案为空,不提醒。

"`remainDays > 3` → 空(不提醒)"

#1311动作条件DOC-2026-024#p18S03prompt v203_关系与铁律/rules.yaml

账单页当 remainDays === 0 时展示文案 please_repay_today_to_avoid_late_fee。

"`remainDays === 0` → `please_repay_today_to_avoid_late_fee`"

#1312动作条件DOC-2026-024#p18S03prompt v203_关系与铁律/rules.yaml

账单页当 remainDays === 1 时展示文案 dont_forget_to_repay_within_one_days。

"`remainDays === 1` → `dont_forget_to_repay_within_one_days`"

#1313动作条件DOC-2026-024#p18S03prompt v203_关系与铁律/rules.yaml

账单页当 remainDays 为 2–3 天时展示文案 dont_forget_to_repay_within_n_days(带 n)。

"2–3 天 → `dont_forget_to_repay_within_n_days`(带 n)"

#1314动作条件DOC-2026-024#p19S03prompt v203_关系与铁律/rules.yaml

首页到期分支按后端 daysToDue 判定:===0 展示 please_repay_by_today_to_avoid_the_late_fee;===1 展示 dont_forget_to_repay_within_day_by;2–3 展示 dont_forget_to_repay_within_days_by;否则展示 your_bill_is_ready_repay_by_etc。

"到期分支(`:175`):`daysToDue===0` → `please_repay_by_today_to_avoid_the_late_fee`;`===1` → `dont_forget_to_repay_within_day_by`;`2–3` → `dont_forget_to_repay_within_"

#1315动作条件DOC-2026-024#p19S06prompt v203_关系与铁律/rules.yaml

首页逾期分支:overdueTimes===1 且 IN_DUE 展示 you_have_overdue_bill_etc;否则展示 your_bill_is_overdue_with_late_fee(带罚息 penaltyBal);overdueTimes>1 展示 you_have_overdue_bills_etc。

"逾期分支(`:214`):`overdueTimes===1` 且 `IN_DUE` → `you_have_overdue_bill_etc`;否则 `your_bill_is_overdue_with_late_fee`(带罚息 `penaltyBal`);`overdueTimes>1` → `you_have_"

#1316动作条件DOC-2026-024#p19S05prompt v203_关系与铁律/rules.yaml

首页逾期改造 banner showOverdueRestructureBanner 展示时显示文案 adjust_repay_overdue_desc 与 CTA adjust。

"逾期改造 banner `showOverdueRestructureBanner`(computed `:596`,模板 `:217`)→ `adjust_repay_overdue_desc` + CTA `adjust`"

#1317动作条件DOC-2026-024#p24prompt v203_关系与铁律/rules.yaml

用户提交新邮箱触发改绑邮箱,由后端发送邮件并前端弹出 toast。

"改绑邮箱 | 提交新邮箱 | 邮件(后端发)+ toast"

#1318状态DOC-2026-024#p24prompt v201_名词表/states.yaml

邮箱验证发信接口 amsCommonVerifyEmailAddress 返回码:00 表示邮件已发送,01 表示邮箱已验证。

"mock code `00`=已发/`01`=已验证"

#1319动作条件DOC-2026-024#p24S02prompt v203_关系与铁律/rules.yaml

取现确认时通过 WhatsApp 下发 OTP(渠道标识 GET_CASH_WHATSAPP),接口 coreTransNotifyOtp 返回 OTP_RESULT 1/2 作为回执。

"取现 WhatsApp OTP | 取现确认 | OTP(WhatsApp 下发)+ 回执 | `coreTransNotifyOtp`(`api.js:2630`,OTP_RESULT 1/2),渠道 `GET_CASH_WHATSAPP`"

#1320动作条件DOC-2026-024#p27S05prompt v203_关系与铁律/rules.yaml

当账单处于逾期(overdue)且可改造时,站内展示逾期改造 banner。

"逾期改造 banner | overdue 且可改造"

#1321动作条件DOC-2026-024#p27S05prompt v203_关系与铁律/rules.yaml

根据 negotiateRepaymentPlan.promiseResult 触发站内新还款计划弹窗(NewRepaymentPlanPopup)。

"新还款计划弹窗 | `negotiateRepaymentPlan.promiseResult` | 站内 popup"

#1322动作条件DOC-2026-024#p27S02prompt v203_关系与铁律/rules.yaml

取现流程返回时触发站内取现挽留弹窗(InvestigationPopup)。

"取现挽留弹窗 | 取现返回 | 站内 popup"