Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,15 @@ evidence gap that holds delivery qualification, not a passing skip. Keep code
volume a cost: refactors should localize the next change, test and rollback,
not introduce unused production structure.

Performance qualification follows the [default-provider rule](docs/development/testing-and-quality.md#default-provider-performance-qualification--默认-provider-性能资格).
The current default local authority is SQLite: its real-path performance gates
qualify default delivery. A File-only performance miss must be disclosed but
does not block that SQLite qualification. Explicit File performance work still
qualifies File separately. Keep correctness, durability, authority, recovery and
data-integrity checks for every affected supported backend, including File and
the required real PostgreSQL suite. Preserve historical failures and frozen
experiment criteria; changing the qualification scope is not a historical pass.

### Bounded Future-Facing Refactoring

During development and before approving or merging, apply the
Expand Down
16 changes: 13 additions & 3 deletions docs/architecture/rfcs/typescript-control-plane-migration-v0.md
Original file line number Diff line number Diff line change
Expand Up @@ -2256,6 +2256,15 @@ matched durability baseline rather than the 2 ms kernel budget. A miss, or a
tail regression hidden by a faster microbenchmark, is an owner review gate and
cannot be silently relaxed.

Default delivery applies these performance gates to the shipped default profile,
currently SQLite for new local Goals. File performance is separate: disclose a
File-only miss without blocking an otherwise qualified default SQLite delivery.
Explicit File performance claims still require File qualification. Correctness,
durability, authority, data integrity and recovery remain required for every
affected supported backend. Declare the profile in existing review evidence;
preserve historical failures and frozen experiment criteria when a maintainer
changes the qualification scope. See the [validation rule](../../development/testing-and-quality.md#default-provider-performance-qualification--默认-provider-性能资格).

## 7. Install, upgrade, and rollback

The migration must not ask users to manage a service. The Python-transition
Expand Down Expand Up @@ -2388,9 +2397,10 @@ exact diagnostic floors for wait, fallback and replan readers. One Goal-context
reduction shares fresh counts with its nested helpers, while standalone calls
remain fresh. Python retains fact/result codecs and original row identity;
there is no persisted cache, new packet field or changed execution authority.
The same real File/SQLite entrypoints must qualify functional parity and the
original full-CLI cost gate together. Fewer crossings alone do not explain a
whole-CLI tail regression or complete writer/backup/default-provider retirement.
The same real File/SQLite entrypoints must qualify functional parity; full-CLI
performance follows the default SQLite profile and explicit additional targets
in §6. Fewer crossings alone do not explain a whole-CLI tail regression or
complete writer/backup/default-provider retirement.

Fresh public-boundary scanning retains its specialized Python regex / Host IO
owner. Characterization covers all eleven `splitlines`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1659,6 +1659,12 @@ transaction 要和 matched durability baseline 比较,而不是套用 2 ms ker
不达标,或用更快的 microbenchmark 隐藏 tail regression,都是 owner review gate,
不能静默放宽。

默认交付将上述性能门槛用于实际发布的默认 profile,当前新建本地 Goal 为 SQLite。
File 性能单独判断:仅 File 未达标须披露,但不阻塞其它条件已合格的默认 SQLite
交付;明确宣称 File 性能结果仍须取得 File 资格。受影响支持后端的正确性、持久化、
authority、数据完整性和恢复要求保持。在既有评审证据声明 profile;维护者修订资格
范围时保留历史失败和冻结实验标准,见[验证规则](../../development/testing-and-quality.md#default-provider-performance-qualification--默认-provider-性能资格)。

## 7. 安装、升级与回滚

迁移不能要求用户管理服务。Python 过渡版本要求 Node.js 22.18.0 或更新版本,
Expand Down Expand Up @@ -1749,6 +1755,10 @@ TS 摘要批次;Python 保留旧格式解码、公开字段筛选及渲染。
查询命中情况覆盖。见[语义及回滚](../../reference/todo-work-counts.md)。这是 T3/L5 的
共享读取边界推进,不替代 D2/D3 或 provider 默认切换。

上述共享读取边界仍须通过真实 File/SQLite 入口的功能等价验证;完整 CLI 性能
按 §6 的默认 SQLite profile 及明确附加目标判断。减少 crossing 不能替代尾延迟
解释,也不代表 writer/备份/默认 provider 退役已完成。

fresh 公共边界扫描继续归现有专门 Python regex/Host IO owner。
Characterization 已覆盖全部十一种 `splitlines` 分隔符、Unicode regex 折叠、
casefold 扩展的假阳性、逐规则命中顺序、凭据引用、公共主机例外及字面量元字符;
Expand Down
42 changes: 42 additions & 0 deletions docs/development/testing-and-quality.md
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,48 @@ hold delivery.
workflow 会在临时实例上运行该 ladder row 与 service admission 套件,因此这条路径在
CI 与本地都会保持验证。没有安全的真实环境则暂停交付。

#### Default-Provider Performance Qualification / 默认 Provider 性能资格

Default delivery qualifies the shipped default execution/storage profile. New
local Goals currently default to SQLite through the existing
[`goal_storage` configuration owner](../../loopx/capabilities/machine_configuration/goal_storage.py).
Apply the owning RFC's unchanged performance limits to the real SQLite caller,
complete workload and immutable base/head. A passing File result cannot replace
a failing SQLite result; a File-only performance miss does not veto an otherwise
qualified default SQLite delivery.

The profile distinction applies to performance qualification. Correctness,
durability, permissions, data integrity, migration/recovery and supported-caller
compatibility remain mandatory on every affected backend. In particular, this
does not waive the real PostgreSQL requirement above, or permit a shared-runtime
regression that affects SQLite. A PR explicitly targeting File performance,
changing a provider default, or claiming another profile must qualify that
profile before claiming its result.

Declare the profile in the existing PR/review validation matrix and CQR evidence;
do not add a separate approval workflow. Keep measured File regressions visible
as nonblocking performance risks for default SQLite delivery, with their actual
values, source and limits. They are not passing checks. When the maintainer
revises a previously declared profile, record a new scoped qualification and
the reason; retain the original failed observation and its original criteria.
This rule changes neither performance thresholds nor frozen benchmark/scoring,
resource, deadline or promotion contracts.

默认交付按实际发布的默认执行/存储 profile 取得性能资格;当前新建本地 Goal
由既有 `goal_storage` owner 默认选择 SQLite。对真实 SQLite 入口、完整负载及
不可变 base/head 使用所属 RFC 的原性能门槛。File 通过不能替代 SQLite 失败;
仅 File 性能未达标,不阻塞其它条件均合格的默认 SQLite 交付。

这一区分只适用于性能资格。受影响后端的正确性、持久化、权限、数据完整性、
迁移/恢复及支持调用方兼容性仍必须验证;上面的真实 PostgreSQL 要求和影响
SQLite 的共享运行时回归仍是门禁。明确优化 File、改变默认 provider 或宣称其它
profile 的 PR,仍须验证相应 profile,才能宣称该结果。

在既有 PR/评审验证矩阵和 CQR 证据中说明 profile,不新增审批流程。File 的
性能失败按实际数值、版本和门槛披露,作为默认 SQLite 交付的非阻塞性能风险,
不能写成通过。维护者修订既定 profile 时,保留原标准及失败,另记有明确原因的
新范围资格;性能阈值及冻结 benchmark/评分、资源、时限和晋升合同均不改变。

When one semantic owner fronts multiple authority providers, use a three-arm
refactor comparison: the immutable legacy baseline, the file provider, and a
real PostgreSQL provider. All three arms must start from the same
Expand Down
Loading