Repository navigation
fix(reports): separate fixed-window outcomes from current state - #7708
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; model=gpt-6.1-sol; provider=OpenAI; declaration_source=runtime_reported; reasoning_effort=max.
Request changes conclusion (author-owned PR; GitHub blocks formal self-review).
动机 / Motivation
在管家组合日报或单项目周期报告里,报告作者会同时读到固定窗口的投递记录与收集时的任务状态。例如09:00统计结束、某任务10:00才完成、11:00采集时已是done;旧组合路径未明确要求把这项后续变化分开,新请求明确保留窗口、历史、后续变化和未知时间。
本次可验证的改善是两种新请求都会收到相同的时间归属及内容密度要求,原冻结请求和正文继续原样读取。本PR不实现事实语义校验、订阅编辑、调度重放或真实内容质量验收。真实模型是否照做、安装采用、自然到期及原会话全文送达仍未由本差异验收。
改动思路 / Approach
两条既有请求构造路径共享三个写作条件,继续由现有报告作者解释证据;窗口、权限、冻结校验和投递仍各归原owner,没有第二套状态或执行器。当前PR只改变新请求的写作要求,并说明冻结输入兼容和真实质量验收的边界。我比较了不改、只修改单个工作区规则,以及修改所有报告共用构造器三个方案。前者留下组合路径的明确性缺口;工作区规则无法覆盖通用调用;最后一个方案会把日历字段假设带给非日历报告。复用现有来源装配层的两个调用点,边界更小,也没有额外的人工作业或确认步骤。
具体改动 / Changes
关键代码讲解
prepare_private_report保留原窗口、授权范围及来源校验,新请求才追加共享条件并重新计算既有摘要;已经冻结的请求先验证并直接返回。prepare_session_report继续只读取原Goal,保留actor和窗口关联。它复用同一组写作条件,原有来源、完成、独立验收及实际送达的区别仍在。report_prompt沿用现有字段消费完整写作合同,作者、冻结验证和回传的职责没有变化。此次未修改两个renderer或增加新状态、CLI与调度器。
独立规格基线是 docs/product/periodic-reports.md#daily-portfolio-report,revision 2f544f969236f5dbbe858720108c41d07be60a6c,先读其原有固定窗口、证据和回传要求,再核对新增解释段。DR-window:implemented,固定窗口及采集时状态的要求进入两种新请求。DR-evidence:implemented,保留当前/相关已完成任务、具体成果、量化对比、反证和负责人下一步。DR-original-delivery:deferred,仍由既有周期报告工作完成真实质量、安装与自然原路送达验收;本PR没有将配置或生成当作送达。
对主干的风险 / Risks
未发现已证实的阻塞代码缺陷。最强反例是:作者看见正确要求仍可能错误归属时间,所以契约发出成功不能证明模型理解。两条来源路径以同一组合成输入比较,原source、facts、窗口、授权和目的地不变,旧请求与已有生成逐字节保留;相同作者正文在新旧路径得到相同完整正文摘要。独立条件检查在旧组合请求上失败、在两个新请求上通过;移除采集时间条件后经原prepare入口再次失败,覆盖了发出要求的回归敏感性。
58项冻结报告回归通过。标准预合并六项直接检查通过,11项选中检查全部执行,其中10项通过,examples/semantic-vocabulary-drift-smoke.py超过原120秒限制。尚无不可变base与该head的同命令归因,当前必需失败标为unresolved,不能以“可能无关”通过。最小下一步是在原预算下解决或独立归因此检查,保留原失败;不为本差异盲改其他机制或抬高时限。未轮询CI。
我的整体评价 / Verdict
这是可独立回退的 justified_increment:对长程接续而言,旧冻结状态与后续读取保持原样;对使用流程而言,没有增加配置、导航、确认或恢复轮次。新请求的写作合同分别增加631/489个UTF-8字节,没有新增模型调用,实际费用与内容收益未测。共享三个条件减少两处维护分歧,现有持久格式兼容分支有真实旧工件消费者,应保留。
private_generation.py 的请求构造和 docs/product/periodic-reports.md 的解释文字发生变化,renderer、配置入口与对话阅读器没有差异,因此不涉及页面呈现验收。本轮未测真实模型内容、当前安装版本或自然定时报告的阅读体验。语义变化只在既有写作要求字段内,没有创建共享状态词汇;实际模型遵从与业务回传仍待原有验收。由于当前必需预合并检查尚未获资格,本次结论是REQUEST_CHANGES,保留提案,不合并或安装。
English verdict: REQUEST_CHANGES. The request-contract increment is justified; required semantic-vocabulary validation timed out at its unchanged 120-second limit without base/head attribution.
Goal And Delivered Outcome
Portfolio reports combine window-filtered delivery evidence with current Task and handoff observations. Their authoring requirements did not explicitly prevent a later completed Task from being described as a period outcome. New portfolio and local-Session requests now share that distinction, retain concrete results and quantified comparisons, and ask for the responsible owner's next action without repeating shared limitations.
This is a bounded authoring-contract increment. It does not add a semantic validator or establish that a model follows the requirements.
Author Declaration
docs/product/periodic-reports.mdat base2f544f969236f5dbbe858720108c41d07be60a6c.Scope And Continuation
Only new editorial requests change. Existing requests return through their original frozen path. The scheduler, actor, source collector, validators, rendering and publication owners are unchanged. The shared requirements replace overlapping caller prose rather than adding another authoring owner.
Natural model-quality evaluation and scheduled delivery remain with the ongoing managed periodic-report work. This change is independently reversible at the request-construction boundary. No installation or natural-delivery success is claimed.
Validation
e6298042411855a6c10cc814d311385aa83ccc7c.python -m pytest -q tests/capabilities/test_periodic_report_private_generation.py: 58 passed.examples/semantic-vocabulary-drift-smoke.pyexceeded its original 120-second limit. Base/head causality is unqualified, so merge remains held. No timeout increase or waiver.Frontend / Visual Evidence
Type And Area
Boundary Checklist