类 ara::exec::ExecutionClient
[SWS_EM_02001] Upstream: RS_EM_00103 , RS_AP_00154 , RS_AP_00150
class ExecutionClient final {...};
The ara::exec::ExecutionClient API provides the functionality for a Process to report its Execution State to the Execution Management.
Header-Datei #include "ara/exec/execution_client.h" Forwarding-Header #include "ara/exec/exec_fwd.h" Scope namespace ara::exec
用户指南人工智能生成 允许进程向 Execution Management 报告其执行状态并拦截 SIGTERM 信号。
AI 生成
未审核
模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 9986c3a4c7c5
来源
未决问题(1)
摘要 详细
允许进程向 Execution Management 报告其执行状态并拦截 SIGTERM 信号。
类 ara::exec::ExecutionClient 用于应用程序进程向 Execution Management 具有约束力地报告其内部执行状态([SWS_EM_02003] )。在初始化时,它还负责拦截 SIGTERM 信号,并将其转发给后台线程中的自定义终止 Handler([SWS_EM_02562] )。作为仅移动(Move-only)对象,该实例将其生命周期与信号处理严格绑定,并在销毁时恢复先前的信号状态。调用方必须确保注册的回调在整个实例生命周期内保持可调用状态。
更多 ›
上下文
类 ara::exec::ExecutionClient 用于 Adaptive Platform 上的进程向 Execution Management 报告其内部执行状态([SWS_EM_02003] )。它充当正在运行的应用程序与中央进程管理之间的标准化接口。除了转发状态转换外,该实例还负责处理操作系统信号 SIGTERM([SWS_EM_02562] 、[SWS_EM_02002] )。在信号到达时,它会在单独的后台线程中执行用户定义的回调,以便应用程序进行有序终止([SWS_EM_02562] )。解释:当请求终止执行单元时,操作系统或 Execution Management 可能会将信号 SIGTERM 发送给进程。 问题 Q-51eee947d01ae8b4 (未决)
ExecutionClientKontext
app
Applikationsprozess
client
ara::exec::ExecutionClient
app->client
Initialisierung & Statusmeldung
client->app
Aufruf terminationHandler
em
Execution Management
client->em
状态传输 (IPC)
os
Betriebssystem (Signale)
os->client
SIGTERM
上下文图:应用程序进程、ExecutionClient、Execution Management 与信号机制之间的交互。来源:[SWS_EM_02003] 、[SWS_EM_02562] 、[SWS_EM_02002] 。
生命周期
ara::exec::ExecutionClient 的实例化可以选择通过静态工厂方法 Create([SWS_EM_02562] )或常规构造函数([SWS_EM_02560] )进行。虽然 Create 是异常安全的(noexcept)并将结果封装在 ara::core::Result 中返回([SWS_EM_02562] ),但常规构造函数声明为 noexcept(false)([SWS_EM_02560] )。这两种创建路径都需要一个可调用的 std::function<void()> 回调作为参数(terminationHandler)。该回调必须在 ExecutionClient 实例的整个生命周期内保持有效且可调用([SWS_EM_02562] 、[SWS_EM_02560] )。
在所有权方面,该类被设计为仅移动(Move-only):拷贝构造函数([SWS_EM_02563] )和拷贝赋值运算符([SWS_EM_02564] )已被显式删除(delete)。实例的转移只能通过移动构造函数([SWS_EM_02580] )和移动赋值运算符([SWS_EM_02581] )进行,这两者均是异常安全的(noexcept),但不是线程安全的。工厂方法 Create 和构造函数本身被视为线程安全的([SWS_EM_02562] 、[SWS_EM_02560] )。
析构函数 ~ExecutionClient() 定义为 noexcept([SWS_EM_02002] )且不是线程安全的。在销毁实例时,对信号 SIGTERM 的责任将被重新移交:析构函数将 SIGTERM 的信号 Handler 重置为实例化之前处于活动状态的原始状态([SWS_EM_02002] )。
使用路径
常规流程分为初始化、状态传输和有序终止:
创建: 在进程运行时间开始时,通过 Create 初始化实例,并传入终止 Handler([SWS_EM_02562] )。通常,该 Handler 会设置标志或向同步原语发出信号,以解除正在运行的线程的阻塞。
状态报告: 一旦进程就绪,它就会通过 ReportExecutionState 向 Execution Management 报告其执行状态([SWS_EM_02003] )。该调用是线程安全的,可以从不同的工作线程中发起。
信号接收与终止: 如果在运行期间到达 SIGTERM 信号,ExecutionClient 会在后台线程中异步激活所保存的 terminationHandler([SWS_EM_02562] )。进程有序完成未决任务。
销毁: 离开作用域时,析构函数恢复原始信号配置([SWS_EM_02002] )。
状态报告与终止的典型流程 Applikation ExecutionClient Execution Management Create(terminationHandler) Result<ExecutionClient> ReportExecutionState(kRunning) 发送状态报告 接收确认 Result<void> Use Case: 信号接收与终止 Empfang von SIGTERM terminationHandler() (Hintergrund-Thread) Geordnetes Beenden ~ExecutionClient() 重置 SIGTERM 处理程序
时序图:从创建、状态报告到信号驱动终止的流程。来源:[SWS_EM_02562] 、[SWS_EM_02003] 、[SWS_EM_02002] 。
错误场景
使用 ExecutionClient 时,不同的错误情况由来自 ara::exec::ExecErrc 的错误代码覆盖:
ara::exec::ExecErrc::kInvalidArgument:如果传入的 terminationHandler 对象不包含可调用函数,则在通过 Create([SWS_EM_02562] )或常规构造函数([SWS_EM_02560] )实例化时发生。系统应用回滚语义;若要修复,必须传入有效的 Callable。
ara::exec::ExecErrc::kNoCommunication:在应用程序进程与 Execution Management 之间存在通信错误时(例如未确认消息接收),无论在创建([SWS_EM_02562] 、[SWS_EM_02560] )还是在 ReportExecutionState([SWS_EM_02003] )时都可能发生。此处不适用回滚语义;作为恢复措施,应重新尝试调用。
ara::exec::ExecErrc::kInvalidTransition:如果请求了不允许的状态转换,例如重新报告已处于活动状态的状态(如 kRunning),则由 ReportExecutionState([SWS_EM_02003] )返回。由于该状态已被报告,因此无需重新传输(回滚语义)。
本指南基于 AUTOSAR Adaptive Platform 针对 exec 模块的规范(Release R25-11)。
分组依据 类别 历史
成员图 类图 Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
G
nara__exec__ExecutionClient880
ExecutionClient
+ ExecutionClient()
+ operator=()
+ ~ExecutionClient()
+ Create()
+ ReportExecutionState()
详细视图 此版本没有元素数据
构造函数和析构函数 Regular constructor for ExecutionClient.
重载 ExecutionClient 3 方法 Named constructor for ExecutionClient.
Interface for a Process to report its internal state to Execution Management.
运算符 Suppress default copy assignment for ExecutionClient.
重载 = 2
点击条目以查看其关系。
基类 派生类 使用 被使用于 继承 自此版本起移除 用于 此类中无关联 函数 AI 评注 打开类页面 无法加载类页面。 调整顺序 调整宽度 调整大纲宽度 章节 阅读时间 SWS 引用 图表 放回中间 调整顺序或拖到标题栏 取消停靠 – 在内容中显示 移到中间栏 作为标签停靠到标题栏 元素 AI 模型 打开审计档案 档案 打开简短版本 打开中等版本 打开完整版本 恢复默认视图 已恢复默认视图 撤销 关闭详细视图 签名 基本信息 值 截至所选版本的最后一次更改 之后的下一次更改 单击:选择版本 无法放在此处:拖到标题栏可停靠,拖到中间栏可取消停靠。 新增 已更改 未更改 已移除 未包含 更改 内容无变化 首次出现于 移除于 没有可用的版本数据。 正在加载版本数据 … 文本 此版本未收录措辞 悬停或单击单元格:与所选版本比较 · 单击版本标题:选择版本 选择版本 属性 版本 元素 只有一个版本有措辞 PDF 中存在,原文尚未导入 首次采集原文 自 {rel} 起未更改 版本颜色 最早版本 最新版本
方法文档
static ara::core::Result < ExecutionClient > Create (std::function < void()> terminationHandler) noexcept;
Named constructor for ExecutionClient.
用户指南
AI 生成
未审核
模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 7c2e1f5f03e8
来源
未决问题(1)
静态函数 Create 用作实例化 ara::exec::ExecutionClient 的具名构造函数(Named Constructor)[SWS_EM_02562] 。调用时传递回调 terminationHandler(类型为 std::function<void()>),该回调在 SIGTERM 信号到达时在后台线程中并发执行 [SWS_EM_02562] 。通常,此回调会设置全局标志或唤醒被阻塞的线程,以启动有序终止(graceful termination)。调用方必须确保该处理程序在 ExecutionClient 实例的整个生命周期内保持可调用状态,在通过 std::bind 绑定到对象实例时尤其必须注意这一点 [SWS_EM_02562] 。
作为返回值,该函数提供一个 ara::core::Result<ExecutionClient>,其中包含创建的实例或错误码 [SWS_EM_02562] 。如果创建失败,定义了两种特定错误:
ara::exec::ExecErrc::kInvalidArgument:传入的 terminationHandler 不包含可调用的函数(回滚语义;通过传递有效的 Callable 来解决)[SWS_EM_02562] 。
ara::exec::ExecErrc::kNoCommunication:发生了通信错误(无回滚语义;通过重试来解决)[SWS_EM_02562] 。
该函数被声明为 noexcept,被视为 Exception-safe 以及 Thread-safe,并且可以在内部调用开发者定义的构造函数 [SWS_EM_02562] 。解释:该调用想必通常在进程的早期初始化阶段进行,以便在主工作负载开始之前及时建立信号处理。 问题 Q-555aea895feb2123 (未决) 这种带有回调注册的具名构造函数模式与通过其自身的 Create 函数创建 StateClient 相对应 [SWS_EM_02276] 。
此文本由 AI 系统基于规范数据生成。
Header-Datei #include "ara/exec/execution_client.h" Scope class ara::exec::ExecutionClient Exception-Sicherheit exception safe Thread-Sicherheit thread-safe
Parameter (in)
Parameter Beschreibung terminationHandler Callback which is called if ExecutionClient receives SIGTERM signal. The callback is executed in a background thread. A typical implementation of this callback will set a global flag (and potentially unblock other threads) to perform a graceful termination. Lifetime: it is expected that terminationHandler remains callable, during entire lifetime of the ExecutionClient instance. This is especially important if, terminationHandler is bound to an instance of a class (e.g. using std::bind).
Rückgabewert
Typ Beschreibung ara::core::Result <ExecutionClient >a result that contains either a ExecutionClient object or an error.
Fehler
Hinweise: This named constructor may call a constructor defined by the developer.
Status: valid/unmigrated
Version: rel:R25-11#446bd257
Versionshistorie & Revisions (1 transition, 4 revision)
Current State valid/unmigrated
Reason mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign 2026-08-13-status-backfill
Active Version AUTOSAR/AP/record/SWS_EM_02562@rel:R25-11#446bd257
Point-in-Time History:
Release:
R25-11 (Current / Active) R23-11 R24-11 R20-11 R19-11
View Snapshot
Recorded Revisions (4):
R25-11 rel:R25-11#b09af1042026-09-30 Inspect R23-11 rel:R23-11#10b43bed2026-10-14 Inspect R24-11 rel:R24-11#7ed2aeda2026-10-14 Inspect R25-11 rel:R25-11#446bd2572026-10-14 active Inspect
Historical Snapshot:
× Back to current
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
Date Actor Transition Reason / Rationale Campaign
2026-08-13 tool none → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record 2026-08-13-status-backfill
ExecutionClient (std::function < void()> terminationHandler) noexcept(false);
Regular constructor for ExecutionClient.
Header-Datei #include "ara/exec/execution_client.h" Scope class ara::exec::ExecutionClient Exception-Sicherheit not exception safe Thread-Sicherheit thread-safe
Parameter (in)
Parameter Beschreibung terminationHandler Callback which is called if ExecutionClient receives SIGTERM signal. The callback is executed in a background thread. A typical implementation of this callback will set a global flag (and potentially unblock other threads) to perform a graceful termination. Lifetime: it is expected that terminationHandler remains callable, during entire lifetime of the ExecutionClient instance. This is especially important if, terminationHandler is bound to an instance of a class (e.g. using std::bind).
Fehler
Status: valid/unmigrated
Version: rel:R25-11#b496b6c8
Versionshistorie & Revisions (1 transition, 4 revision)
Current State valid/unmigrated
Reason mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign 2026-08-13-status-backfill
Active Version AUTOSAR/AP/record/SWS_EM_02560@rel:R25-11#b496b6c8
Point-in-Time History:
Release:
R25-11 (Current / Active) R23-11 R24-11 R20-11 R19-11
View Snapshot
Recorded Revisions (4):
R25-11 rel:R25-11#4d2e754f2026-09-30 Inspect R23-11 rel:R23-11#5f898e7b2026-10-14 Inspect R24-11 rel:R24-11#852973d12026-10-14 Inspect R25-11 rel:R25-11#b496b6c82026-10-14 active Inspect
Historical Snapshot:
× Back to current
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
Date Actor Transition Reason / Rationale Campaign
2026-08-13 tool none → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record 2026-08-13-status-backfill
ExecutionClient (const ExecutionClient &)=delete;
Suppress default copy construction for ExecutionClient.
Status: valid/unmigrated
Version: rel:R25-11#48d008ff
Versionshistorie & Revisions (1 transition, 4 revision)
Current State valid/unmigrated
Reason mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign 2026-08-13-status-backfill
Active Version AUTOSAR/AP/record/SWS_EM_02563@rel:R25-11#48d008ff
Point-in-Time History:
Release:
R25-11 (Current / Active) R23-11 R24-11 R20-11 R19-11
View Snapshot
Recorded Revisions (4):
R25-11 rel:R25-11#3bf6579d2026-09-30 Inspect R23-11 rel:R23-11#0855bb1f2026-10-14 Inspect R24-11 rel:R24-11#48d008ff2026-10-14 Inspect R25-11 rel:R25-11#48d008ff2026-10-14 active Inspect
Historical Snapshot:
× Back to current
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
Date Actor Transition Reason / Rationale Campaign
2026-08-13 tool none → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record 2026-08-13-status-backfill
ExecutionClient (ExecutionClient &&rval) noexcept;
Intentional use of move constructor for ExecutionClient.
Header-Datei #include "ara/exec/execution_client.h" Scope class ara::exec::ExecutionClient Exception-Sicherheit exception safe Thread-Sicherheit not thread-safe
Parameter (in)
Parameter Beschreibung rval reference to move
Status: valid/unmigrated
Version: rel:R25-11#69808ed1
Versionshistorie & Revisions (1 transition, 4 revision)
Current State valid/unmigrated
Reason mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign 2026-08-13-status-backfill
Active Version AUTOSAR/AP/record/SWS_EM_02580@rel:R25-11#69808ed1
Point-in-Time History:
Release:
R25-11 (Current / Active) R23-11 R24-11 R20-11 R19-11
View Snapshot
Recorded Revisions (4):
R25-11 rel:R25-11#9705a7202026-09-30 Inspect R23-11 rel:R23-11#bfc33dca2026-10-14 Inspect R24-11 rel:R24-11#b1c8ead12026-10-14 Inspect R25-11 rel:R25-11#69808ed12026-10-14 active Inspect
Historical Snapshot:
× Back to current
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
Date Actor Transition Reason / Rationale Campaign
2026-08-13 tool none → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record 2026-08-13-status-backfill
ara::core::Result < void > ReportExecutionState (ExecutionState state) noexcept;
Interface for a Process to report its internal state to Execution Management.
用户指南
AI 生成
未审核
模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: c69ddc321631
来源
未决问题(1)
本使用说明基于 AUTOSAR Adaptive R25-11 规范自动生成。
实现者指南即将推出(复杂度 I1)
Header-Datei #include "ara/exec/execution_client.h" Scope class ara::exec::ExecutionClient Exception-Sicherheit exception safe Thread-Sicherheit thread-safe
Parameter (in)
Parameter Beschreibung state Value representing the current Process state, that should be reported.
Rückgabewert
Fehler
Fehlercode Beschreibung ara::exec::ExecErrc::kNoCommunication no_rollback_semantics Communication error between Application and Execution Management, e.g. unable to get confirmation that report was received. Recovery: try again ara::exec::ExecErrc::kInvalidTransition rollback_semantics Invalid transition request (e.g. to Running when already in Running state). Recovery: Already reported kRunning, no need to do it again
Status: valid/unmigrated
Version: rel:R25-11#8dd3f4fb
Versionshistorie & Revisions (1 transition, 8 revision)
Current State valid/unmigrated
Reason mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign 2026-08-13-status-backfill
Active Version AUTOSAR/AP/record/SWS_EM_02003@rel:R25-11#8dd3f4fb
Point-in-Time History:
Release:
R25-11 (Current / Active) R19-11 R20-11 R21-11 R22-11 R23-11 R24-11
View Snapshot
Recorded Revisions (8):
R25-11 rel:R25-11#70c6d4fc2026-09-30 Inspect R19-11 rel:R19-11#6ec8f2a12026-10-14 Inspect R20-11 rel:R20-11#7128c8e92026-10-14 Inspect R21-11 rel:R21-11#acde35792026-10-14 Inspect R22-11 rel:R22-11#7a61d6522026-10-14 Inspect R23-11 rel:R23-11#9f4cfa0a2026-10-14 Inspect R24-11 rel:R24-11#9fdbf0442026-10-14 Inspect R25-11 rel:R25-11#8dd3f4fb2026-10-14 active Inspect
Historical Snapshot:
× Back to current
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
Date Actor Transition Reason / Rationale Campaign
2026-08-13 tool none → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record 2026-08-13-status-backfill
ExecutionClient & operator= (const ExecutionClient &)=delete;
Suppress default copy assignment for ExecutionClient.
Status: valid/unmigrated
Version: rel:R25-11#0e69a4c3
Versionshistorie & Revisions (1 transition, 4 revision)
Current State valid/unmigrated
Reason mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign 2026-08-13-status-backfill
Active Version AUTOSAR/AP/record/SWS_EM_02564@rel:R25-11#0e69a4c3
Point-in-Time History:
Release:
R25-11 (Current / Active) R23-11 R24-11 R20-11 R19-11
View Snapshot
Recorded Revisions (4):
R25-11 rel:R25-11#5fd8c8d72026-09-30 Inspect R23-11 rel:R23-11#95edc0282026-10-14 Inspect R24-11 rel:R24-11#0e69a4c32026-10-14 Inspect R25-11 rel:R25-11#0e69a4c32026-10-14 active Inspect
Historical Snapshot:
× Back to current
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
Date Actor Transition Reason / Rationale Campaign
2026-08-13 tool none → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record 2026-08-13-status-backfill
ExecutionClient & operator= (ExecutionClient &&rval) noexcept;
Intentional use of move assignment for ExecutionClient.
Header-Datei #include "ara/exec/execution_client.h" Scope class ara::exec::ExecutionClient Exception-Sicherheit exception safe Thread-Sicherheit not thread-safe
Parameter (in)
Parameter Beschreibung rval reference to move
Rückgabewert
Status: valid/unmigrated
Version: rel:R25-11#d50ab3a7
Versionshistorie & Revisions (1 transition, 4 revision)
Current State valid/unmigrated
Reason mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign 2026-08-13-status-backfill
Active Version AUTOSAR/AP/record/SWS_EM_02581@rel:R25-11#d50ab3a7
Point-in-Time History:
Release:
R25-11 (Current / Active) R23-11 R24-11 R20-11 R19-11
View Snapshot
Recorded Revisions (4):
R25-11 rel:R25-11#8bd067d32026-09-30 Inspect R23-11 rel:R23-11#6f06c4d02026-10-14 Inspect R24-11 rel:R24-11#1f7e972e2026-10-14 Inspect R25-11 rel:R25-11#d50ab3a72026-10-14 active Inspect
Historical Snapshot:
× Back to current
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
Date Actor Transition Reason / Rationale Campaign
2026-08-13 tool none → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record 2026-08-13-status-backfill
~ExecutionClient () noexcept;
Header-Datei #include "ara/exec/execution_client.h" Scope class ara::exec::ExecutionClient Exception-Sicherheit exception safe Thread-Sicherheit not thread-safe
Hinweise: Since ExecutionClient overtake the responsibility for handling SIGTERM signal, it should reset SIGTERM handler back to its original value, when destructor is called.
Status: valid/unmigrated
Version: rel:R25-11#237e9e13
Versionshistorie & Revisions (1 transition, 8 revision)
Current State valid/unmigrated
Reason mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign 2026-08-13-status-backfill
Active Version AUTOSAR/AP/record/SWS_EM_02002@rel:R25-11#237e9e13
Point-in-Time History:
Release:
R25-11 (Current / Active) R19-11 R20-11 R21-11 R22-11 R23-11 R24-11
View Snapshot
Recorded Revisions (8):
R25-11 rel:R25-11#83a6d1fb2026-09-30 Inspect R19-11 rel:R19-11#0b0868932026-10-14 Inspect R20-11 rel:R20-11#5fafdb7e2026-10-14 Inspect R21-11 rel:R21-11#9edc69f82026-10-14 Inspect R22-11 rel:R22-11#017254c22026-10-14 Inspect R23-11 rel:R23-11#cd930a1f2026-10-14 Inspect R24-11 rel:R24-11#a36d0a662026-10-14 Inspect R25-11 rel:R25-11#237e9e132026-10-14 active Inspect
Historical Snapshot:
× Back to current
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
Date Actor Transition Reason / Rationale Campaign
2026-08-13 tool none → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record 2026-08-13-status-backfill
gemini-3.8-flash-low· 2026-10-13 · 德文原文