# TASK · 日期锚点最终验收接续(Grok / 2026-09-21) > 状态:Grok 已串行执行 T1–T5,待产品验收。未 commit/push/deploy。既有 Claude 实现/审计/验收代理均已暂停;本单接管现有工作树,不重做已闭合功能。 ## 1. 基线、位置与决策 - 唯一实现目录:`G:/Ferti/Jyotisha/.worktrees/rectification-midnight-date-anchor-20260920` - 分支:`codex/rectification-midnight-date-anchor-20260920` - 固定比较基线:`3be740f84d12b098b27b88105a88b5e2d8dd0ead`。现有大量未提交修改都是本轮交接成果,不清理、不重置、不切分支;远端后来前进不改变本轮固定基线。 - 原任务:`docs/tasks/TASK-rectification-midnight-date-anchor-20260920.md`。 - 继续使用原进度:`docs/tasks/PROGRESS-rectification-midnight-date-anchor-20260920.md`。 - 用户此前已批准隔离 Linux/Docker 验收、跨日候选采用持久化及兼容迁移;此次仅换执行方,不新增产品范围。不 commit/push/deploy,不提升 main,不改 workflow/DNS/依赖/权限。 - 当前剩余工作是测试契约收口、新冻结验证证据、最终全门与记录。生产功能原则上继续冻结;发现新的实质缺陷先留证并报告,不顺手扩改。 ## 2. 事故实证与根因 final-1 完整不可变快照结果(原日志见第6节): | 项目 | 已有结果 | |---|---:| | tsc / lint | 0错误 / 0错误、119既有warning | | 前端 | 3649通过、0失败 | | 真实DB | 56通过、0失败 | | build首页 | Static | | JS gzip | 629588 vs基线626849,+0.437% | | CSS gzip | 39496,不变 | | Python广域 | 338通过、11失败:4既存 + 7新增 | | quick | 尚未跑 | | 诊断性AA同机独立进程 | 3案例×7投影=21/21相等,零容差 | **整体验收尚未通过**,不能以部分通过替代最终门。 7个新增失败分两类: 1. 三个算法/回执测试仍指向算法8,当前是9。已最小修改,历史golden不动;实现者报告最终34/34,接手方尚须独立复验。 2. 四个validation integrity测试正确拒绝历史freeze。旧freeze生成于BUG-981的2026-09-20 04:56:54/55 UTC,早于本任务。不是final-1停写之后生产源码又漂移。需当前源码新freeze + 真实20-case/900-cell重跑,不能改旧hash消红。 最后只读审计另发现:`scripts/research/sealed_holdout_rerun.py::PRODUCTION_FILES` 为显式集合,遗漏本轮 `candidate_window.py`、`decision_policy.py`、`refinement_packet.py`、`api_service.py`。前两类实际日期/静态上下文路径及生产receipt/窗口语义应进入新扩展身份;`reported_offset_sweep`复用此名单。须在新freeze前补齐,旧legacy12身份算法不重写。该补项尚未落盘,先核符号再最小实施。 ## 3. 硬红线 - 读本树AGENTS.md/CLAUDE.md;每次git操作先`git status -sb`。禁止stash/reset/rebase/切脏分支;不动主检出或其它会话。 - 不调分数常量/权重/确认阈值,不bump Skill,不重标/删除历史结果,不覆盖原申报birth_date。 - 旧freeze/report/golden/archive/manifest原字节保留。当前contract可更新,但只能由新真实报告确定性派生,不手填hash或指标。 - 六个runtime contract键值和类型不变;`not_ready`、coverage=0、非独立盲测、禁止调参/发布指标/唯一分钟声明等边界不变。 - 不削弱mismatch断言或校验顺序,不删extended identity,不把当前源码追认进旧报告。 - 不新增跨机/跨进程浮点固定hash断言,遵守BUG-733/985。分数同机A/B零容差;历史golden原容差/离散断言保留。 - 不读凭据、不借账号、不接生产数据,不暴露端口、密钥或用户资料。无登录/真人环境写BLOCKED与测试清单。 - 不碰别的容器、不global prune;仅复用本单隔离资源。失败原日志保留,blocked不写通过。 - 一位Grok串行执行,避免多代理泛审;只读必要文件,不重开已闭合功能。 ## 4. 执行任务(严格顺序) ### T1 · 核实接手断点,复验3测试 最终修正涉及: - `tests/test_dasha_transition_proximity_cross_midnight.py`:算法9/常量spec5,legacy请求spec4及固定输入hash保留。 - `tests/test_rectification_relative_support.py`:只更新算法9,policy/proportional/数值不改。 - `tests/test_rectification_engine_memoization.py`:旧golden8不变;四个dated metadata精确验证、独立UUID公式、剩余scores/receipt原比较器、7变异负例。 过程误加整snapshot固定golden比较,被Claude独立26pass/8fail拦截;已撤回这项新加断言,未削弱原比较器。默认与PYTHONUTF8=1最终各34pass是实现者报告,尚非独立结果。原失败日志保留:`artifacts/midnight-date-anchor/independent-python-contract-repair.txt`。 接手SHA:memo `98808b8535f05f81d35a71de067928f762a6aae9fe9e8a2d9c44528f04c6b508`;PROGRESS `1c0d81d7e78da93e2b060d4095112245ea3123508fe64b693c0c3691afc485ab`;历史golden `6266e448d7dad204b264cbe8f9bcf4c36e02286794764a94edb9e2ce4d0e3015`。 复验: ```bash PYTHONUTF8=1 python -m pytest -o addopts= tests/test_rectification_cross_midnight_gate.py tests/test_rectification_engine_memoization.py tests/test_rectification_relative_support.py -q ``` 保存新的独占日志,不覆盖过程记录。 ### T2 · 完成新冻结准备(尚未运行评测) 已落盘: - 两研究脚本FREEZE/REPORT指向`*_midnight_anchor_2026_09_21`新唯一路径。 - `frontend/tests/rectification-confirmation-gate.test.ts`两处当前report指针同步,其他断言不变;Python消费者导入常量无需改逻辑。 - `docs/research/history/rectification_pre_midnight_anchor_2026_09_21/`:旧current contract + 两套旧freeze/report共5份原字节及manifest,已经独占归档。 - 一次性确定性派生步骤:`artifacts/midnight-date-anchor/scratch/derive_current_holdout_contract.py`。 - 精确路径/hash交接:`artifacts/midnight-date-anchor/evidence-pointer-migration-hashes.json`。 待做: 1. 核实PRODUCTION_FILES遗漏,将上述4个本轮生产模块纳入新扩展身份;不改旧freeze/legacy12;加最小回归防新模块再次遗漏,记录既有断言若有变化的三栏。 2. **独立审查派生脚本后才运行**。Claude主会话尚未审这份脚本。必须验证新report.frozen_record==freeze、当前freeze_record身份一致、freeze≤start≤finish、完整20/900计数、非独立/禁调参、旧contract在替换前未被别人修改、六runtime键值类型不变、历史metrics与unfrozen diagnostic不变、旧previous链保留、原子替换;不只相信脚本注释。 3. current contract/新报告/归档/派生步骤不应进入被其自身签名的identity,防自引用。 4. 所有身份文件停写后再freeze;改路径常量或身份名单都会改变evaluator/research hash,绝不能先freeze后改。 验收:最小diff、所有旧归档hash一致;新4份报告仍无伪造占位文件;评分生产文件不因验收改动。 ### T3 · 固定Linux环境真实生成新证据 先建立全新生成快照,保真源码,不能修改`implementation-final-1`。现有pack工具和白名单见第6节。生成快照只列当时存在的明确新增文件,不把未生成报告伪列进去。 在快照根同受控fixed126 Python环境执行: ```bash python scripts/research/sealed_holdout_rerun.py --freeze --freeze-path docs/research/sealed_holdout_rerun_midnight_anchor_2026_09_21.freeze.json python scripts/research/sealed_holdout_rerun.py --json --freeze-path docs/research/sealed_holdout_rerun_midnight_anchor_2026_09_21.freeze.json python scripts/research/reported_offset_sweep.py --freeze --freeze-path docs/research/reported_offset_midnight_anchor_2026_09_21.freeze.json python scripts/research/reported_offset_sweep.py --json --freeze-path docs/research/reported_offset_midnight_anchor_2026_09_21.freeze.json ``` 两正常运行的stdout分别独占创建对应不含`.freeze`的`.json`文件,stderr另存。使用`open('x')`或noclobber,禁止普通覆盖重定向。freeze内部已exclusive-create。失败产物保留,重试用新的唯一名称并在freeze前统一指针,不能覆盖旧尝试。 sealed规模20cases、offset900cells,上次约3秒/400秒,仅本地公开数据与CPU,无网络/模型/用户凭据。记录argv/exit/time、完整计数、前后identity与环境,验证历史字节不变。 派生脚本原SHA `c4d06bc82c7e64cf4c9a53401f126b24caa3e11225f8d8d0be9e7399a31e4dbc`,若审计修正须记录新SHA。优先单独复制到`/work/tools`运行并记SHA,不为它放开整个artifacts/scratch打包规则: ```bash python /work/tools/derive_current_holdout_contract.py --root /work/<新的生成快照> # 验证成功后,同命令加 --apply,原子更新该快照current contract ``` 核实实际脚本接口,以已读源码为准。current contract只从真实新报告派生。将4新证据及获批contract原字节回取新scratch delivery目录,再精确落实现树,校验输入输出SHA。 ### T4 · 新最终快照与全门 重新统一冻结并打新包;原23新增清单已不够:需要实际新增全集、6份history、4新证据、本任务单/测试等,每项精确路径SHA,不通配放行、不stage源码、不复用旧manifest。92既有artifact必须来自原baseline archive原字节;未改旧hash。 新最终快照的全部身份文件必须与生成快照逐字节相同,新报告SHA等于真实输出。重新独立npm ci,不复用.next。运行: - tsc、lint、完整frontend test、build Static、首页gzip±2%。 - 标准真实`npm run test:db`,0fail/0skip。 - 同final-1三个Python glob,新增失败必须0,四既存失败逐断言与基线对照。 - 完整`python scripts/run_quality_gate.py --profile quick`,不可跳过。 - 原生golden/3公开AA同机独立进程比较;7投影21/21零容差,不声称含算法ID/新增metadata的全响应字节相等。 - frozen integrity/confirmation门与旧archive保护测试。 - 环境freeze与SDK前后不漂移,与fixed126基线一致。仍标`productionPinEquivalent=false`。 四既存失败: 1. active_rectification_api long_real_conversation winning_segment(actual04:16单分钟,expected05:07–05:08)。 2. active_rectification_selector legacy/v5 score bytes固定hash。 3. minute_rectification_development v3 improved(actual1 expected0)。 4. minute_rectification_holdout_validator historical implementation manifest mismatch:类别既存,但实际当前hash会变,不能称字节一致。 ### T5 · 记录与交回 更新原PROGRESS、BUG-982/983记录及必要BLOCKED/testing清单、tasks索引。原final-1失败和各过程红日志保留,不抹成通过。BUG无部署证据仍investigating,不宣称resolved。 结论只需简短表格:通过/未通过/环境缺口、日志路径、改动范围、未commit/push/deploy。停止而不是自动发布。无需反复向Claude汇报每个命令;遇真正阻塞才提示用户。 ## 5. 让步顺序 1. 保身份/历史字节/确认门安全,不能靠改hash或断言换绿。 2. 复用既有隔离资源与脚本,避免泛审、重新跑已闭合功能的手工探针。 3. 不够条件时写blocked;quick和真实DB不可省略为已通过。 4. 生产功能新缺陷、权限拒绝、需改依赖等超出接续范围时留证停下;不借别的代理绕权限。 ## 6. 环境与证据定位 宿主scratch(不是主仓工作目录): `G:/Ferti/Jyotisha/scratch/rectification-midnight-date-anchor-baseline-20260920/` - 容器`midnight-anchor-runner`、`midnight-anchor-docker`;当前空闲。 - runner镜像`rectification-midnight-baseline-runner:20260920`。 - /work/baseline固定基线,/work/implementation-final-1旧最终失败快照不可覆盖。 - /work/tools/run-python-fixed-environment.py;/work/tools/vedastro-runtime-constraint.txt,`vedastro==1.23.26`。 - PIP_CONSTRAINT、PIP_NO_INDEX=1、PIP_DISABLE_PIP_VERSION_CHECK=1、JYOTISH_SKIP_LOCAL_ENV=1、NEXT_TELEMETRY_DISABLED=1,沿既有脚本传,不改项目依赖。 - Node22.23.2、Python3.13.15;固定126是隔离控制,不能冒称生产pin一致。 - 私有DinD DOCKER_HOST tcp://127.0.0.1:2375在runner网络内;无host socket/公开端口,不改资源边界。 - scratch `prepare-final-snapshot.py`、`baseline-artifact-whitelist.json`、`final-bundle-2/source-manifest.json`、`final-bundle-2/bundle-integrity.json`。 - scratch `implementation-final-1/{results.json,python-glob.log,python-glob.xml,integrity-result.json}`。 - scratch `diagnostic-aa-final-1/comparison/independent-process-aa-ab.json`。 - worktree `artifacts/midnight-date-anchor/independent-final-1-result.json`、`independent-review-checklist.json`、`independent-production-freeze-continuity.json`、`evidence-pointer-migration-hashes.json`。 主会话曾核1218份生产文件相对final-1零变化;研究pointer/测试/文档不在该比较内。接续identity清单变化不能伪作评分逻辑变化。 ## 7. 开工前置与BUG编号 先`git status -sb`核指定分支,读AGENTS与原PROGRESS最后相关段落;本轮首次fetch/pre_work已完成,证据在原进度。不要为了重走初始化重建/重置脏worktree。若执行额外git命令仍每次先status;若需复跑预检使用已核可用Python并记录,不修既存.workbuddy环境失败。 按符号检索BUG-733/981/982/983/985及frozen identity历史,不通读巨大BUG_HISTORY。BUG-982/983沿用;本单不预分配新号,确需新增先核当前最大编号。前端测试变更遵守frontend/AGENTS.md、DESIGN/VOICE必读规则。