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
Original file line number Diff line number Diff line change
Expand Up @@ -2664,6 +2664,14 @@ The original direction remains; execution cards expand these stages rather than

#### Durability execution cards

Capability-gap consumers now share the TS requirement/resolution owner across
legacy and canonical inputs, including quota's Monitor capability partition.
The old Python missing-set and owner/repair decision builders are removed;
source adaptation and read-only candidate ordering remain. This is T3 read-policy
consolidation with disclosed resolution-priority/empty-source/identity corrections,
not capability enablement, a durable permission receipt or D1–D3 qualification.
The existing permanent Markdown projection and cutover holds remain unchanged.

The T3 decision-dependency read policy now shares one TS owner for scope coverage,
exact links and consistency diagnostics. Explicit gate recipients are independent
of claim attribution; conflicting exact targets request repair rather than grant
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2139,6 +2139,12 @@ T3 decision-dependency 读取策略现由同一 TS owner 解释 scope coverage

**D1 — 资格化永久投影交付,可与 T1/T2 重叠推进。**

能力缺口 consumer 在 legacy/canonical 输入上共用 TS requirement/resolution owner,
包括 quota 的 Monitor 能力分流。删除 Python missing-set 与 owner/repair 决策 builder,
保留来源适配和只读候选排序。这是披露修复优先级、空来源和 identity 修正的 T3 读取
规则收拢,不是能力启用、持久权限回执或 D1–D3 资格化。永久 Markdown 投影与 cutover
门禁不变。

T2 的无 lease 原生 Monitor 观察与独立后继现由同一 canonical CAS/receipt 提交;
route planner 本身仍不授予权限。CLI 将已提交回执交给既有 journal/outbox renderer,
展示失败标为 pending,不回滚提交、不重新生成后继;quota 继续消费同一 v0 业务回执
Expand Down
14 changes: 14 additions & 0 deletions docs/architecture/rfcs/typescript-control-plane-migration-v0.md
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,20 @@ delivery. This does not finish all T2 commands or authorize whole-Goal promotion

**T3 — close remaining structured consumers, then remove their old reads.**

Capability resolution now shares `agents/capability_gate.ts`: missing prerequisites,
repair outputs, owner/agent resolution and blocked-Todo bindings have one typed
owner. Quota planning v1 passes normalized requirements, not Python-computed
missing lists; Monitor partitioning invokes the same rule in-process. The public
gate uses one batch; exact-target recovery callers retain a bounded value-only
cached bridge to that rule, not a second implementation. Python keeps legacy
codecs, candidate source/eligibility and the shared profile/rank adapter.
Disclosed corrections: a shared resolution binding names the highest-priority
blocked Todo, display variants deduplicate by Todo identity, and an authoritative
empty backlog never revives stale first-item diagnostics. Target capabilities
remain repair outputs, not permission or installed capabilities. No new provider,
source inventory, enablement or promotion is introduced; compact candidate-source
limits and the remaining T3 consumers still require their own closure.

Quota's scope/claim consumer now composes selection, bounded visibility and the
existing resume planner in one `todo.quota_planning.project` call per source.
`quota_selection.ts` replaces the Python claim-visibility module and the separate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,15 @@ summary 对候选关系批量调用,避免每对 Todo 一次 RPC;legacy comp
状态快照 parity。T3 仍需处理旧 action-token fallback 路由及从压缩 summary 重建诊断的
消费者,不把它们列为已迁移;不宣称 T1/T2、全部 T3 或持久化/promotion 完成。

能力缺口与修复路由现由 `agents/capability_gate.ts` 统一解释执行前提、修复产出、
owner/Agent 责任和受阻 Todo 绑定。Quota planning v1 传归一化的要求,而不是 Python
算好的 missing;Monitor 分流在 TS 进程内复用同一规则。公共 gate 一次批处理,精确目标
恢复调用保留有界、只缓存归一化值的桥接,不保留第二套判断。Python 继续负责 legacy
codec、候选来源/资格和共享 profile/rank 适配。明确修正:共享缺口绑定最高优先级受阻
Todo,同一 Todo 的不同展示不重复计算,权威空 backlog 不再复活陈旧 first-item。
target capability 是修复产出,不是安装或授权。没有新 provider/inventory/enablement/
promotion;压缩候选来源的上限和其余 T3 consumer 仍需分别闭合。

列表过滤现改用 `compact_evaluated_todo_group`,不再用仅活动项重算 resume。
初始解析/canonical 读取仍通过 TS owner 在完整来源上求值;过滤要求匹配的已求值
条件,不能把归档中的已完成依赖变成丢失。共享合成 fixture 增补“有 scope 无 outcome”
Expand Down
26 changes: 26 additions & 0 deletions docs/reference/protocols/agent-management-projection-v0.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,32 @@ The row may be rendered as a "task" card for operator familiarity, but API and
state names should keep `todo` terminology to avoid implying a second runtime
model.

### Capability prerequisites and repair outputs

The read-only capability gate distinguishes `required_capabilities` (execution
prerequisites) from `target_capabilities` (what a repair task aims to provide).
A target is not its own prerequisite, but declaring it neither enables it nor
grants credentials, production access, write scope, a claim or a lease. A task
repairing `network` can therefore be runnable while another task requiring
`network` stays blocked until availability is observed.

`agents/capability_gate.ts` owns missing-set evaluation, resolution responsibility
and impacted-Todo bindings. Unknown missing capabilities retain Agent repair
routing; `credentials` and `production_access` retain owner routing. Other runnable
work remains available when one candidate is blocked. A shared capability binding
uses the highest-priority affected Todo rather than whichever display row appears
first, while preserving all affected Todo IDs. Display variants of one ID do not
become separate tasks. An explicitly empty evaluated backlog is authoritative;
the older first-item source is used only when the backlog field is absent.

Quota's v1 planning request carries normalized requirement facts, so the same TS
rule partitions due Monitors without per-Todo RPCs or trusting stale precomputed
missing lists. Candidate source/eligibility and profile ranking remain adapters;
this does not claim complete-inventory selection or change Monitor due/writeback
and deferred-replan rules. Use `quota should-run --include-detail agent-todos` to
inspect the existing full capability-gate detail; the default CLI keeps its
compact representation. No configuration, UI control or storage migration is added.

## Handoff Notes

Inter-agent handoff should appear as a typed note attached to existing todo,
Expand Down
Loading
Loading