test(harmony): ★★ appearance-defaults 上设备 ⇒ 落盘键真的带账号段,并结算出 STATIC_ONLY
到期前提(设备可用)已成立 ⇒ 这条欠账必须当场还,而不是继续躺在 STATIC_ONLY 的点名范围里(与 harmony-admin 那次同一处置)。 新增设备判据(test 8): 拉起应用 → find 定位真实的 agentmail_appearance 落盘位置(不写死路径: haps 层级会变,两处都见过)→ cat 出 XML → 从**落盘的键**里取账号段, 断言非空且像个 id。 ★ 为什么不从 /me 拿账号再比对键:那样掺进了"当前登录的是谁", 验的就不是"键里有账号"了。键本身是唯一可靠的观察点。 红绿已在真机(MRDI-W00)上验过,且验的是**该补的洞**: 把设备上的键改成 key="appearance." ⇒ 本条红("账号段是空的 ⇒ 全局键退化,换账号会串味"),而原有的静态判据 2 **仍然绿** —— 正好证明静态层看不见这个形状,这层是必需的。 ★★ 顺带修一个**真假红**(本条自己撞到的):平板息屏后再跑时, launchOurApp 返回 false,原来那句硬 assert 直接红 —— 而设备锁着 跟外观缓存毫无关系,且只有人能解(10106102,developer mode 不能自动解锁)。改为走"忙"那条路:K 轮内礼貌跳过、连续超 K 轮 仍变红(并说清"先分清是锁屏还是真坏了"),不许无界礼貌。 判据去红一个与自己无关、且无人能自动修复的环境状态,会把到期闸的 名声搞坏——真出事时没人当真。 结算:移出 STATIC_ONLY,登记进 SETTLED_FROM_STATIC(闸 ii 要出示行为层 绿跑记录 .tmp/harmony-behavioral-ran.json,本机已留下 appearance-cache-key-on-device)。 真机实测:# pass 8 # fail 0
This commit is contained in:
@ -1396,7 +1396,20 @@ const STATIC_ONLY = [
|
||||
['test/harmony-appearance.test.mjs', '壁纸/令牌/遮罩渲染:观感与运行期换肤要设备', 'device'],
|
||||
['test/harmony-logic.test.mjs', '页面状态机与文案:`.ets` 状态要跑起来才算数', 'device'],
|
||||
['test/cross-client-theme.test.mjs', '跨端令牌与玻璃分工:`.ets` 那半除悬浮球外仍未上设备(悬浮球已钉住「声明不等于渲染」这一类)', 'device'],
|
||||
['test/appearance-defaults.test.mjs', '默认值契约里 `.ets` 那半:运行时行为要设备', 'device'],
|
||||
/*
|
||||
* ★★ 2026-09-19 **移除** `appearance-defaults` 这条。
|
||||
*
|
||||
* 它当初的理由是「默认值契约里 `.ets` 那半:运行时行为要设备」,而设备现已可用
|
||||
* ⇒ 前提成立,欠账必须当场还。它已升级为设备判据:
|
||||
* 「设备上改外观后,落盘的偏好键**真的**带着账号段」——
|
||||
* 自己拉起应用、用 find 定位真实的 preferences 文件、cat 出 XML,
|
||||
* 从**落盘的键**里取账号段并断言非空且像个 id。
|
||||
* (红绿已在真机上验过:把设备上的键改成 `key="appearance."` ⇒ 该条红,
|
||||
* 而原有的静态判据 2 **仍然绿** —— 正好说明这一层补的是哪个洞。)
|
||||
*
|
||||
* ⇒ 与 `harmony-admin` 同理:留在这里会让欠账余额虚高。余额是给"还欠着的"记账的。
|
||||
* ⚠️ 移除 ≠ 判据消失:它仍在套件里,只是改由行为层管辖,并由闸 (ii) 要求出示绿跑记录。
|
||||
*/
|
||||
// P4c 同批的两条:判的是 `.ets` 里的页面/组件,本机没有设备也没有模拟器
|
||||
/*
|
||||
* ★★ 2026-09-19 **移除** `harmony-admin` 这条(它在这里待了很久)。
|
||||
@ -1848,6 +1861,8 @@ const SETTLED_FROM_STATIC = [
|
||||
// 形状:['判据文件', '行为记录里的 key(noteBehavioralRan 的那个字符串)', '行为条在哪', '到期前提探针']
|
||||
['test/harmony-nav.test.mjs', 'harmony-nav/底栏可点项',
|
||||
'test/harmony-nav.test.mjs 的「★ 行为(设备):底栏真渲染了可点的导航项」', 'device'],
|
||||
['test/appearance-defaults.test.mjs', 'appearance-cache-key-on-device',
|
||||
'test/appearance-defaults.test.mjs 的「★ 设备:外观缓存**真的**按账号落了盘(不是只看着像)」', 'device'],
|
||||
];
|
||||
let unsettled = [];
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user