Skip to content

Expose current unconfirmed supporting material in native context reads - #7906

Merged
loopx-agent merged 12 commits into
mainfrom
codex/c1-current-capture-unread
Nov 3, 2026
Merged

loopx-agent merged 12 commits into
mainfrom
codex/c1-current-capture-unread

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

Problem And Result

Folded supporting material has a complete-source address, but current discovery does not enumerate its exact deferred fields. This native Progressive slice exposes an unconfirmed index bound to the current complete projection.json path and digest. Initial reads and file-backed warm deltas show the complete index, including when pointers are unchanged. A reader can recover the current material without an earlier packet.

Base: main. Prerequisite: #7871 at b93480d7a287f9e296d68e5925c8e2c095fdf2d0, included in this main-based branch. Relative to that prerequisite, this slice changes six paths: the existing progressive owner, generic codec, one focused test module and three documentation files. The nine-path main diff also contains the prerequisite; there is no feature-branch PR base.

Author Declaration And Scope

Written by: model_agent — Codex, OpenAI GPT-6 family.

The existing context_details owner supplies exact RFC 6901 pointers and current source identity. Coverage remains conservatively unconfirmed: a select, EOF or saved file does not acknowledge model-visible delivery or retention. read_before_dependent_work preserves the existing conditional read obligation; it creates no execution gate. The codec accepts optional navigation paths from its presentation owner instead of naming domain fields itself. Index and guidance overhead participate in the existing serialized-byte fallback guard.

The first-reader prerequisite retains the ordered decision-field inventory in TurnEnvelope. No new capability, configuration, provider, permission, ledger or scope heuristic is added. Activation defaults and off behavior remain unchanged. This does not deliver all-host Progressive defaults, trusted Host coverage observation, other omitted material or the complete C1/C2 program.

Acceptance And Validation

Validation source: 33da3aab2ea5f2ba662808f75a6b8c4ed2f48d37; final head cf520e9406ee8115c1ea9070d72fa1366686cbb3 merges target main 15aa574507971b03b81ad7988f844c257a113476 (only an unrelated settlement size fixture) and removes a trailing blank line from the new test. Runtime/documentation blobs, all seven cohort test ASTs and the imported CLI helper are unchanged. The unrelated settlement fixture was not rerun as part of this cohort.

Requirement / check Result
Current material survives previous read/no read and unchanged/updated/reordered states Six real native-projector/public-CLI cases pass. Initial reader shows the index; warm delta includes it literally. The earlier source/recovery files are then removed and complete current detail is used in a synthetic next artifact.
Cross-Agent supporting material and removals stay discoverable correctly Peer detail remains indexed; a seventh case rejects the removed predecessor route. No consumed/confirmed ledger is created.
Regression sensitivity The final seven-case module fails on the pre-change target at the first semantic assertion: missing unread_context_index. These are behavior failures, not setup failures.
Integration / real entrypoints Seven complete Python modules: 440 passed, 134.92s. Includes lifecycle, resume, common reader, explicit off, lost source/digest protection, numeric preservation, unknown schemas, scope/session isolation and full-cheaper fallback.
Unit / static Related TS suites 57 passed, 1 PostgreSQL skip; control-plane typecheck, Ruff, bilingual staged/head and whitespace checks pass. The actual semantic-vocabulary smoke passes with unchanged budgets, including execution_obligation.ts=1/1.
Real PostgreSQL Not qualified; no suitable integration environment was available. The skip is not a passing backend check.

Earlier 426 Python cases passed before the generic-codec parameter refinement and prerequisite merge. That source-bound result is retained separately from the final 440-case run. Tests reuse existing public synthetic factories; existing tests are preserved.

Component Cost And Unfinished Journey

Four isolated, source-pinned production-projector/public-reader invocations compare prerequisite b93480d7 with this head at 16,000B and 64,000B output ceilings. The same frozen synthetic complete capture is 35,495B in both arms. Cold, warm, lost-context recovery and post-compaction phases all recover equal required semantics and the same complete support-note tail. No models, scientific runs or active Goal state are used.

Phase Selected body before → after Same-capture reduction before → after Reader stdout increase
Cold / recovery / post-compaction 23,542 → 24,765B 33.6752% → 30.2296% +2,506B
Warm delta 4,182 → 5,133B 88.2181% → 85.5388% +2,234B

The index alone is 927B. Reader calls are unchanged: cold/recovery/post use four at 16KB or three at 64KB; warm uses three. The fixed workload reads the selected wire, then current criteria plus the detail route, then a supporting note. It intentionally measures all these components, including repeated metadata; it is not an optimal scheduling policy. Logical reader RPC parameter JSON increases by 1,223B; its result bytes are unchanged. These figures do not include total bridge traffic, framing, tokens, cached input, billing, latency, attention or accepted outcomes. This index adds discovery cost; no net saving is claimed.

A broader attempt through model_context_reference failed on both the prerequisite and this head at warm baseline descriptor publication (original reader reference changed). That negative result remains open under C1. The component comparison above excludes that wrapper and counts underlying capture navigation separately; it does not certify the opaque-reference or installed end-to-end journey. Natural model adoption, complete cold/warm/recovery cost, writer cutover and historical reader exit also remain open.

Delivery Boundary

This is a complete, reversible source proposal for current supporting-material discovery and direct native/common-reader transport. It is a bounded precursor, not installed delivery or C1 closeout. The existing conversation/CLI reader is the affected interaction; no frontend page or settings surface changes, so screenshots and preview are N/A. Maintainer review, exact-head readiness and merge authorization remain separate. No CI was queried or manually triggered, and no merge, install, release or default rollout was performed.

Self-check: inspected the complete prerequisite-relative and main diffs, retained obligations and off behavior, reviewed the actual caller and generic-codec boundary, preserved negative evidence, measured index overhead and checked the public boundary. All commits have DCO sign-offs; the English/Chinese RFC pair changes together. Raw evidence and operating context remain private.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…t-read

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

# Conflicts:
#	loopx/control_plane/quota/turn_envelope.ts
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…laims

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…slice

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
@mergify

mergify Bot commented Nov 2, 2026

Copy link
Copy Markdown

This pull request has merge conflicts with main and cannot be merged
until they are resolved. Please rebase or merge the base branch, @loopx-agent.

Choose the remote for the base repository, not an out-of-date fork.
For a fork clone, first inspect git remote -v; upstream must point
to https://github.com/loopx-project/loopx.git. If it is absent, add it
with git remote add upstream https://github.com/loopx-project/loopx.git.
Then run:

git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEAD

For a same-repository clone whose origin points to
https://github.com/loopx-project/loopx.git, use origin instead of
upstream for fetch/rebase. If you prefer merging the base, use
git merge <base-remote>/main and push normally.

Keep the DCO Signed-off-by trailer on every commit when you rebase.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Nov 2, 2026

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent | model=gpt-6.1-sol | provider=OpenAI | runtime_reported | reasoning_effort=max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机 / Motivation

需要在下一轮或丢失旧捕获后,从当前上下文找到尚未确认覆盖的支持材料并继续工作的 Agent。旧版虽然能按完整来源地址恢复材料,却没有列出当前被折叠字段的精确地址,warm delta 还可能要求旧包;新版在首读和文件 delta 中完整显示绑定当前来源的未确认索引,旧文件删除后仍能读回当前证据。真实 native projector 和公共 CLI 从当前完整来源恢复六个精确支持字段,重排和更新后的尾部证据进入实际合成产物;删除旧文件、错摘要和覆盖状态均按契约处理。不认证模型已阅读、记住或采纳,不建立已读账本;不交付全部 Host 默认值、C1/C2 或安装后端到端采用。 跨 Host 默认、可信模型覆盖、writer/reader 切换、包装器 warm 端到端路径及完整成本/结果仍未验证。

改动思路 / Approach

精确地址由现有 Progressive owner 从实际折叠字段派生,通用 codec 只接受需保留的导航路径,首读继续复用同一 selector;不增加领域读取器、权限 owner 或手工同步状态。当前 PR 是现有 native/common-reader 支持材料发现与直接读取的有界前置实现;其余 C1/C2、包装器 warm 路径和自然模型采用仍未资格化。现有入口已经能承载这个有界结果,复用最近owner比新建权威状态、领域reader或另一套schema更小。通用list/完整恢复继续可用;新增索引直接说明当前折叠字段,并为无旧包warm读取提供literal导航。它增加开销,不声称净效率收益。

具体改动 / Changes

完整审查精确 head cf520e9406ee8115c1ea9070d72fa1366686cbb3 相对实际共同基线 15aa574507971b03b81ad7988f844c257a113476 的九文件、+456/-99,包含 first-reader 前置增量,没有只审六文件后缀。 判断依据 spec_ref docs/reference/required-work-context.md,spec_revision 15aa574507971b03b81ad7988f844c257a113476。新RFC段落和实现不是彼此的独立证明,基于修改前reference检查原条件义务。

  • requiredNativeContext:仅从实际 deferred 字段派生当前源/摘要和精确 pointer;覆盖始终未确认,开销进入原字节守卫。

  • initialContextReadPointers:首读包含完整未确认索引,并按既有导航绑定展开建议成果;错配保留原详情入口。

  • encodeContextDelivery:通过 presentation owner 传入的导航路径,让文件 delta 保留完整当前索引;不创建领域规则或覆盖回执。

契约映射:

  • Required work context:保留原 Goal/要求/约束、当前来源和条件读取义务;支持材料从同一完整捕获可达。 implemented,见本轮真实公共入口、负例和独立读回。

  • Opt-in native reuse:完整来源复用与模型覆盖独立;off、作用域、恢复和原数值语义保留。 implemented,见本轮真实公共入口、负例和独立读回。

  • Selected capture details / 按需读取捕获详情:精确 pointer 与摘要绑定当前完整来源,失效拒绝不重新准入,EOF 不证明全量保留。 implemented,见本轮真实公共入口、负例和独立读回。

对主干的风险 / Risks

旧包删除、当前顺序变化、错摘要或已有选读 EOF 不能产生错误地址、错误继承或已确认覆盖。 本轮独立 native projector/public CLI 先固定相同完整fixture;base缺失精确当前索引,head cold/文件warm都提供当前源。删除旧required/source文件后,逐项恢复六个精确支持字段;重排更新后的末尾反证进入实际合成产物。错摘要仍拒绝,reader前后session原字节不变,不创建registry/runtime/消费账本,覆盖仍未确认。另在相同File/SQLite canonical fixture做base/head explicit-off公共查询,全payload仅归一化经验证观察时钟与无authority的observation event_id后相同,Task/lease/registry不变。360Python、81TS、typecheck、Ruff、标准premerge及双语RFC检查 PASS。

当前索引会增加字节,旧模型材料丢失的发现改善不能推断为token、账单或长期结果改善。作者披露的 model_context_reference warm路径“original reader reference changed”仍保留为未资格范围;本轮直接native/common-reader验证没有消除这个包装器缺口,也未重跑作者的完整组件成本实验或真实PostgreSQL。

本轮未查询、轮询或等待远端CI,没有live安装、Host切换、模型调用或合并。验证使用相同有效输入与独立语义 oracle,没有修改作者源码。

我的整体评价 / Verdict

APPROVE:未发现当前有界增量的新阻塞缺陷。 精确地址由现有 Progressive owner 从实际折叠字段派生,通用 codec 只接受需保留的导航路径,首读继续复用同一 selector;不增加领域读取器、权限 owner 或手工同步状态。当前 PR 是现有 native/common-reader 支持材料发现与直接读取的有界前置实现;其余 C1/C2、包装器 warm 路径和自然模型采用仍未资格化。跨 Host 默认、可信模型覆盖、writer/reader 切换、包装器 warm 端到端路径及完整成本/结果仍未验证。 后续由既有C1/C2 owner继续,不为本次已可用的内部前置实现另造任务。无图形页面或第一屏变化,视觉检查不适用;未验证安装Host、自然模型采纳和长期净收益。当前账号也是PR作者,以COMMENTED记录批准结论,不称作GitHub正式自批准;保留先前讨论和全部独立合并门。

English verdict: APPROVE — head cf520e9406ee8115c1ea9070d72fa1366686cbb3; bounded current-material discovery and direct-reader transport are verified, including lost predecessor and explicit-off parity. Wrapper warm-path, installed-host adoption and C1/C2 full-cost qualification remain open.

…ure-unread

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

# Conflicts:
#	docs/architecture/rfcs/controller-executor-unified-contract-v0.md
#	docs/architecture/rfcs/controller-executor-unified-contract-v0.zh-CN.md
#	docs/reference/required-work-context.md
#	loopx/control_plane/quota/progressive_context.ts
#	tests/control_plane/test_context_first_read.py
…ure-unread

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: actor_kind=model_agent; model=gemini-4-argon-high; provider=Google; reasoning_effort=high; declaration_source=runtime_reported

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机 / Motivation

在下一轮或丢失旧捕获后,Agent 需要从当前上下文找到尚未确认覆盖的支持材料并继续工作。旧版虽然能按完整来源地址恢复材料,但没有列出当前被折叠字段的精确地址,warm delta 还可能依赖旧包;本 PR 在首读(--initial-read)和文件 warm delta 中完整暴露绑定当前完整来源的 context_details.unread_context_index,使旧文件删除或支持材料重排后仍能通过精确指针读回当前证据。

改动思路 / Approach

由现有 TypeScript 控制面 Progressive owner(loopx/control_plane/quota/progressive_context.ts)从实际被折叠的支持字段派生当前 projection.json 路径、摘要与精确 RFC 6901 pointers,并在 initialContextReadPointers 与 encodeContextDelivery(loopx/control_plane/quota/context_delivery.ts)中保持该未确认索引完整可见;不新增领域读取器、权限 owner 或已读账本。本次同步最新 origin/main(3af951a91e97b73fe654f220b20f96d38dc42635),无损合并 #7914(首读完整分支合并)与 #7935(完整 current 偏好视图首读交付)。

具体改动 / Changes

关键内容讲解

unread_context_index 仅从实际被折叠的字段生成,开销计入既有的完整/折叠字节守卫;coverage_confirmed=false 保守表达缺乏可信模型可见覆盖见证,选读或 EOF 不会清除条目或建立第二套消费状态账本。

对主干的风险 / Risks

改动限定在 Progressive 折叠支持材料的索引暴露与 warm delta 导航保留,不改变默认开关或显式 off 路径。本地验证全部通过:

  • node --test tests/control_plane_ts/context_selection.test.ts(14 passed)
  • uv run --extra test python -m pytest tests/control_plane/test_context_unread_reachability.py tests/control_plane/test_context_first_read.py tests/control_plane/test_outcome_context_navigation_cli.py -q(52 passed)
  • uv run python scripts/check_rfc_bilingual.py --base origin/main --head HEAD(RFC bilingual diff check passed.)
  • uv run --extra test ruff check tests/control_plane/test_context_unread_reachability.py tests/control_plane/test_context_first_read.py tests/control_plane/test_outcome_context_navigation_cli.py(All checks passed)

语义与 CI 对齐

合并最新 origin/main 后,progressive_context.ts 与 test_context_first_read.py 同时满足 #7914(完整分支父节点合并)、#7935(完整 current 偏好视图)与本 PR 的 unread_context_index 契约,中英文 RFC 对照检查通过。

我的整体评价 / Verdict

该 PR 以最小控制面增量补齐了原生 Progressive 折叠支持材料在首读与文件 warm delta 中的精确当前源索引,解决了旧包缺失或材料重排时的按需恢复问题,与最新主干干净合流且验证完整,符合合并标准。

English verdict: APPROVE — Cleanly merged latest origin/main (3af951a91e97b73fe654f220b20f96d38dc42635), resolved RFC/reference/TS/test conflicts, and verified all TS, Python, Ruff, and bilingual RFC checks on exact head fbb72fef765a9fdd2b3f28a455b2ea0699ee6eeb.

@loopx-agent
loopx-agent merged commit 71fe25b into main Nov 3, 2026
7 of 9 checks passed
@loopx-agent
loopx-agent deleted the codex/c1-current-capture-unread branch November 3, 2026 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-rebase Mergify: the pull request has merge conflicts with its base branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant