Files
Jyotisha/docs/tasks/PROGRESS-rectification-midnight-date-anchor-20260920.md
T
jesse-ux b85c4a686a
Independent Staging Quality Gate / validate (push) Successful in 13m27s
Independent Staging Quality Gate / publish (push) Failing after 1h0m1s
fix(rectification): anchor candidate windows to civil dates across midnight
Carry explicit local date intervals instead of inferring the day from clock
order. Cluster width, delivery, adoption, and reports keep the actual civil
date; adopted date is stored separately from the reported birth_date.

Algorithm identity is scoring-9 / spec-v5. Scoring weights, confirmation
thresholds, and Skill version are unchanged. Isolated Linux final-3 gates
passed; four pre-existing Python failures remain. This is not a production
release.
2026-09-21 02:55:00 +08:00

29 KiB
Raw Blame History

PROGRESS · 跨午夜日期锚点与分段跨度(2026-09-20)

基线与边界

  • 实际基线 3be740f84d12b098b27b88105a88b5e2d8dd0ead,指定工作树开工干净;任务书基线的后代。
  • 核心代理整合日期窗口/D1/D2/报告与记录;D4 代理独占采用迁移及外围同源读取;transition 代理独占 transition 构建/符号查找/相关专用测试,交回后核心整合消费端。均在指定工作树执行,不 commit/push;主会话负责预检、基线全量/build、独立验收。
  • D1/D2/D3 已批准,后续真实用户 D4 明确授权跨日采用及向后兼容新迁移(20000/30000);覆盖原本轮不改 DB 的限制,仅限任务所需。旧迁移不改,历史不猜补。不改分数/权重/阈值、Skill、workflow。历史结果不重标、不删除。
  • 请求 candidate_intervals[{start_at,end_at}] 明确本地日历日期。候选 window_index 是稠密采样序号,window_offset_minutes 是相对首段起点的真实分钟,segment_index 区分声明的不连续段;candidate_date 保留实际日期。粗采样不以序号差冒充分钟,分段不以 min/max 填平。

T1 修前红测(实现前实跑)

套件 pass fail 事实
Python test_rectification_midnight_date_anchor.py 3 3 申报中心落次日、late_night 含次日、跨午夜簇倒序
TS rectification-midnight-date-anchor.test.ts 0 3 请求无日期字段、credible union 钟点 min/max、plateau 1≠3

原始日志位于本工作树 artifacts/midnight-date-anchor/red-python.txt、red-frontend.txt。核心失败输出:

assert datetime(2000, 6, 15, 0, 10) in moments  # 实际从申报日23:55开始
Extra items in the left set: '2000-06-16'
At index 0 diff: ['00:00', '23:58', '23:59'] != ['23:58', '23:59', '00:00']
request candidate_intervals: actual undefined
credible union: actual ['00:00','23:59'], expected ['23:58','00:00']
plateau: 1 !== 3

前端首次仅是依赖缺失(zod),不计为业务红测;在本树建立 node_modules junction 只读复用主仓依赖后,重跑得上述真实断言失败。未安装或修改共享依赖。Windows symlink 缺权限,使用目录 junction;不用于 build。

开工核对

  • 已完整读 AGENTS/CLAUDE、前端 AGENTS/DESIGN/VOICE、日期任务、研究定论§6、错误台账;按模块/接口/午夜词检索并完整读 BUG-098/981/982/983/984/985。
  • 旧防复发仍存在:981 候选日期 helper;984 readV9EngineScoringIdentity 完整 pair 与写入前 assertV9ResultWritable;985 同机 native/legacy 严格字节比较。098 枚举兼容未覆盖日期锚点/后续宽度,故不能代替本轮回归。
  • 主会话预检:remote verified,fragment/adapters ok,focused 23 pass / 1 fail;失败为既有 .workbuddy 镜像路径断言,不伪造路径、不修改测试。
  • 主会话公开 health:web/API 均 8d0359fc62d525e2b7c1e5c7fe6df37f57833ad4,migration 20260920010000,status ok。仅证明前置部署,不代表本轮已部署或真人通过。
  • 实际 python 3.11.7,python3 launcher 不可用;Docker 29.8 可用。Linux完整基线由独立验收代理负责。

执行状态

项目 状态
T1 红测 已完成首批,边界用例随实现补充
T2 日期契约与 D1 本地实现,真实schema/动作/DB与首次HTTP opening测试已过;受控浏览器pending
T3 三处跨度与分段投影 本地实现及定向通过;最终全量待独立快照
T4 交付说明及异日采用安全 D4 迁移真实 DB43/43,实际日期/前一天/后一天交付与 native SSR 贯穿通过
同机公开 AA A/B、真实 golden 独立子进程三 AA × 七投影逐位相等;原生 golden 已重新生成
T5 最终记录及真人清单 已更新本地记录;真人/部署及最终门禁 pending

所有未实跑项均不计通过,不提前标 resolved。

定向收口证据(2026-09-20)

证据 实跑结果 日志(本树 artifacts/midnight-date-anchor 下)
Python 核心日期、transition、VedAstro、growth 四文件 68 pass,exit 0 final-python-targeted-68.txt
TS 日期15、transition、engine contract、range delivery、adopted date 五文件 + tsc 61 pass / 0 fail / 0 skip;tsc exit 0 final-frontend-targeted-61-tsc.txt
最终 D4 与窗口迁移(含widen/pending guard)标准真实 PostgreSQL 56 pass / 0 fail / 0 skip,exit 0 core-widen-db-final/database-tests-final-3.log;早期43/43仍留 dated-window-adoption-db-final.txt
三公开 AA 同机独立子进程 A/B 3×7 相等,numeric tolerance=0 delivery-native/independent-process-aa-ab.json、delivery-native-generation.txt
主会话独立 VedAstro + growth 21/21 主会话原始日志
固定 VedAstro1.23.26 基线 quick0,Python891/1skip、前端3588、lint0error/119warning、首页Static;宽glob296pass/4既有fail 主会话 fixed126 原始证据,不替代实现门禁

精确收口命令(cwd 为本树或 frontend):

  • python -m pytest tests/test_rectification_midnight_date_anchor.py tests/test_rectification_dated_transitions.py tests/test_rectification_v5_vedastro_validation.py tests/test_api_server_growth_contract.py -q,exit0。
  • node node_modules/tsx/dist/cli.mjs --test tests/rectification-midnight-date-anchor.test.ts tests/rectification-dated-transitions.test.ts tests/rectification-v9-engine-contract.test.ts tests/rectification-range-delivery-20260907.test.ts tests/adopted-birth-date.test.ts,exit0;随后 node node_modules/typescript/bin/tsc --noEmit --incremental false,exit0。
  • python scripts/research/midnight_date_anchor_regression.py --baseline <独立基线树> --output artifacts/midnight-date-anchor/delivery-native --golden --golden-path frontend/tests/fixtures/rectification-midnight-date-anchor.delivery.native.json,exit0。旧 native/final.native 保留过程证据并纳入源码快照(无当前测试消费者;native仍是生成器默认目标,open(x)防覆盖),不删除或伪作最终响应;最终贯穿测试读取delivery.native。所有fixture原生生成,未手改响应。生成器 open(x) 不覆盖旧证据。

身份为 scoring-9;显式区间 calculation-spec-v5,缺字段 legacy 保留 v4 硬 hash。首次 green-python-targeted.txt 实为 81pass/3fail(legacy spec误变),不得当作绿日志;修复 explicit-only v5 后重跑已过,旧日志保留。首版 same-process A/B 有裸模块缓存风险,只引用 independent-process 证据。VedAstro 曾1.23.25→1.23.26漂移已记 ERR-107,不声称全程 pin。

D1 四层证据与限制

  1. 真实 expectedAnswerSchemaFor 首跑5绿4红,原因是新选项含 HH:MM 被原 serverOwnedChoiceCopy 禁止;只改中文钟点,未放宽过滤,原断言保留,随后9/9。
  2. applyRectificationChoice 的 A/B/C/skip 真实服务动作进 dated RPC,一次写入;fakeAccounting不是浏览器/真实DB。
  3. 标准 PostgreSQL 独立A/B/C/skip选择与reload pending=false;服务测试reload后不重问。首次HTTP opening→persisted focus独立1/1通过,真实300分钟窗、probe:block_scan.midnight_side ID,四选项消费真实persisted schema,不含次日;HTTP依赖隔离测试不等于受控真人。
  4. 真人浏览器缺受控登录态,BLOCKED;不能由前三层冒充通过。

红线与既有断言变更

文件 原值 新值 原因
account-api.test.ts birthTime: resolveAppliedAccountBirthTime(...) 源码断言 spread 同源返回,新增 activeDate/activeTimezoneOffset 断言 D4 同源 hydration,未删旧行为测试
consultation-route-service.test.ts select 仅 birth_date 与 time select 增 active_birth_date/active_birth_timezone_offset/active_birth_provenance D4 咨询 date/time/offset 读取
server-owned-birth-profile.test.ts ACCOUNT_BIRTH_SELECT 原字面量 增同三字段,其他保持 daily/synastry 共用服务端同源资料
test_rectification_v5_vedastro_validation.py 单一 happy-path dated false/true 参数化,新增真实候选日期断言 不增 handler/new 点,不变通过和 can_confirm=false 断言
rectification-engine-version-cross-midnight.test.ts live default/Python 源码也用历史 CURRENT=8;混合身份将旧无日期响应标为9/10 独立 LIVE_CURRENT=9,历史 CURRENT=8/PREVIOUS=7 与 golden 不改;新增8失效/9命中;9/10混合测试改用真实 dated delivery golden,10仅模拟滚动身份 本轮日期契约可靠升级;不能把历史 fixture 重标或将无日期响应冒充9
rectification-v9-case-service.test.ts deepEqual仅 start/end clocks 原clock与stage断言保留,expected显式增加实际日期;late_night同日两段与pending=true 新开案日期契约,不用被测helper生成expected,不放宽成subset断言
rectification-window-widen-20260907.test.ts stub/调用名为旧case_window RPC;返回仅clock dated_window RPC,stub返回日期区间且reload parser额外断言日期 对齐已批准RPC;原半径30、source、snapshotCurrent=false、不重写probe/inference断言全部保留;不代表生产跨日widen语义已过

三文件定向重跑55/55、tsc exit0,原日志 three-legacy-contract-tests-tsc-green.txt。前次54/55红日志 three-legacy-contract-tests-tsc.txt 保留:旧混合身份测试把算法8无日期响应标成9,触发日期覆盖校验;改用真实算法9 golden后通过。精确命令为 frontend 下 node node_modules/tsx/dist/cli.mjs --test tests/rectification-engine-version-cross-midnight.test.ts tests/rectification-v9-case-service.test.ts tests/rectification-window-widen-20260907.test.ts,随后 node node_modules/typescript/bin/tsc --noEmit --incremental false。

主会话阶段红线审计及最后限定复核 independent-redline-late-prefreeze-review.json:真实Home (app)/page states34/refs37/lines1826、API lines10931/methods218/new hits31均不变;无Skill/workflow/deploy/依赖声明/旧迁移diff;评分/权重/确认门未改,仅algorithm/spec日期身份升级。最终AA与全量仍待验。新文案已对照 VOICE,DESIGN 同批记录 chart-library 与 range-delivery 行为,无新状态/入口/动画。

限定收口与最终待验边界

  • 实现快照最终 quick、前端全量、lint、build与首屏gzip,由独立验收负责,不争抢 .next。
  • widen复核发现真实缺陷:旧30000只依baseline+新clock重算,丢持久绝对日期/已选side。新增真实DB红测后仅改本单30000:普通分钟基于持久日期扩窗;D1首次A/B/C/skip建立服务端 midnight_allowed_intervals,后续narrow保留允许集合,不把C缩单段误认选侧;请求无法满足side/containment/strict-width/max-width时整事务回滚,case/result全行(含时间戳与invalidation)不变。普通advance不物化pending=false。旧无allowed provenance不猜扩宽,保留原段。
  • DB→reload→request builder覆盖普通前日、A/B、C/skip与双段;另有真实SQL dossier/compute→scoreAndPersistCurrentEvidence→minute /score fetch捕获,断言stage=minute与同日两段;网络在捕获后故意400终止,仅证明请求链,不虚报真实engine执行或结果写入。首次HTTP opening链主会话独立1/1,真人仍pending。
  • widen定向DB已绿;标准套件首跑53/54(archive副本无.git导致git check-ignore环境红),隔离快照git init后前版55/55、exit0。最终限定复核又补pending guard:显式NULL拒绝;pending=true只能原区间不变,缩窄/选侧必须false。新负例真实红12pass/2fail(1业务+父汇总),guard后14/14;全case/result事务不变及不变true兼容都通过。最终SQL SHA256 a18e59ad1a9ca960eab0497e47f8a6107f6e171a4f0175928a21689835dce895,最后标准 npm run test:db 56/56、0fail/0skip、exit0,原日志 core-widen-db-final/database-tests-final-3.log 与 .exit;这是最终guard源码的标准DB绿,前版日志保留不替代。阶段快照从固定3be740f8 git archive保真实symlink,复制清单 core-widen-db-1-copy-manifest.txt,依赖在容器独立npm ci,无共享依赖修改。红日志 core-widen-db-1-attempt-1/red-widen-2.log 中7项业务失败+1项terminal fixture字段错误+父测试汇总失败,不把fixture错误冒充业务红;首修SQL列名歧义与fixture错误在 green-widen-1.log 实为红,修后 green-widen-2.log exit0。后续service捕获独立 green-widen-service.log exit0。
  • saved civil 独立模块/accept route/负例测试已收口,主会话独立4/4;legacy缺字段兼容。首次相对TSX配置路径导致子进程失败,绝对配置路径重跑绿,属于命令配置,不冒充业务红绿。
  • transition 代理限定三项已冻:clusterEquivalent日期等价与build-state metadata、collection active subset存活候选真实sign、Python lagna文案/TS parser/board绝对日期。Python20/20、TS81/81、tsc0、lint0,日志 subsets-*;新增真实native lagna fixture,旧golden与旧断言未改。DESIGN已记录完整civil日期与legacy HH:MM,无入口/颜色/状态增加。
  • 上游 dossier/compute 显式畸形 interval 已 fail closed。报告链限定只读复核涵盖consult/reports/worker/longform:effective date + 实际采用offset + dated intervals未发现可达缺陷;主会话sampler41/41含闰日5点与双段31点。此为源码链+定向证据,不是受控真人或最终全量。
  • 受控真人、生产迁移/部署/health 全部 pending;见 BLOCKED 与既有真人清单日期锚点补充。SQL boolean权限fixture不证明真实候选可确认。固定offset不等于IANA/DST修复。

统一冻结交接

核心、transition、D4及opening限定实现全部停写;本次交接包含文档冻结,HEAD仍为 3be740f84d12b098b27b88105a88b5e2d8dd0ead。最终核心定向70/70(core-final-targeted-70.txt),最后guard tsc/lint各exit0(pending-guard-final-tsc-lint.txt),标准DB56/56。独立runner内 docker ps -a 空,临时fixture已清理,DB runner释放给主会话统一快照验收。尚未完成的统一全量/build/gzip/最终AA以及受控真人/部署不因冻结变成通过。

新增交付清单23项(22代码/测试/native fixture + 本PROGRESS),原生native/final.native过程证据纳入快照且保持原样;artifacts日志、node_modules junction、.next不属于源码新增清单。未commit/push、未新建worktree、未改共享依赖。

final-1 后三项 Python 合同测试限定解冻(2026-09-21)

主会话 final-1 发现 Python 三个 glob 为338pass/11fail,其中原4、本轮新增7。本代理仅获准解冻下列3测试文件与本PROGRESS;其余生产、SQL、历史golden继续冻结,另4项validation integrity由其他代理处理,本代理未动。以下修正不是全量验收通过,完成定向后再次停写交回。

原值 新值 原因
tests/test_dasha_transition_proximity_cross_midnight.py 固定algorithm8、全局spec常量v4 current algorithm9、常量v5;无interval请求仍逐项验证legacy spec v4及基线固定SHA256 bfdee46405a38f2508a2071929b60d79d15a78ca0e1e81f6c7ffd1652e301a08;显式interval验证完整v5 spec与不同hash 日期契约合法升级不能误改legacy语义;固定hash由只读基线3be740f8实算,未用被测helper动态生成expected
tests/test_rectification_relative_support.py current algorithm8 仅current algorithm9及对应注释;policy3、proportional与全部数值断言原样 缓存身份升级,不是policy、prior或评分变更
tests/test_rectification_engine_memoization.py live receipt与历史8 golden直接同key集合比较 专用跨版本helper先精确校验4个新增metadata(dated-v1、原fixture同日12:00–12:02绝对interval、offset8、空timezone ID),旧UUID硬值保留,新UUID独立用hashlib/json/uuid5与固定algorithm9/policy3公式校验;仅这4字段与代表UUID作比较投影,其余receipt key集合及所有candidate score仍用原严格比较器;snapshot身份分别断言8/9,余字段也严格比较 历史golden不重标、不重生成;未知额外key不得被泛化metadata删除吞掉;新增7项真实引擎响应变异反向断言涵盖4 metadata、UUID、未知key与confirmation_allowed。原score+1e-2/time变异测试保留,浮点容差abs2e-3/rel5e-4不变

定向命令(cwd为本任务工作树,实际使用可用的 python,非Windows不可用的python3):

# 修改前原红:3 failed,exit1
python -m pytest tests/test_rectification_cross_midnight_gate.py::test_fixed_scoring_identity_is_exposed_without_changing_input_contract tests/test_rectification_engine_memoization.py::test_score_candidates_matches_baseline_golden tests/test_rectification_relative_support.py::RelativeSupportScaleTest::test_holdout_gate_keeps_proportional_default -q
# 最终绿:34 passed in 11.04s,exit0
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

原红保留 artifacts/midnight-date-anchor/final1-python-contract-red.txt;最终绿为 artifacts/midnight-date-anchor/final1-python-contract-green-final.txt(含命令与exit)。较早的 final1-python-contract-green.txt 也是exit0,但未包含最后新增snapshot余字段比较,以final日志为准。34项为bridge9 + memoization21 + relative_support4;只选bridge,不同时collect源文件,未重复计算9项。-o addopts=仅移除仓库默认quiet参数以显示准确汇总,不改测试断言或选择范围。

最终测试SHA256:

文件 SHA256
tests/test_dasha_transition_proximity_cross_midnight.py 8e38acb8fbc747906d89eadb4a429a8fbc085e34f638c342d1f9cad8e9a1f5b4
tests/test_rectification_engine_memoization.py d4f3fd4716d1c514ce443db979cd007c5a45ac0a38a7d65edb1170340c96ef97
tests/test_rectification_relative_support.py 068d20e52a9908e58012a261dd5bf9bc54c42d5fa7fa393f80fcbf7954181ade

历史 tests/golden/rectification_engine_memoization_v1.json 无git diff,SHA256仍为 6266e448d7dad204b264cbe8f9bcf4c36e02286794764a94edb9e2ce4d0e3015。本次没有运行全量、quick、DB或build,没有占用runner、改生产/历史golden/共享依赖、commit/push或新建worktree。主会话报告final-1同机Linux AA为21/21(3×7投影)逐位相同,排除新增metadata及identity IDs;此不等于整个response无变化,也不代替最终统一门禁或真人/部署验收。

独立复验拦截误加 snapshot 断言与限定纠正

上述 green-final 34pass仅为当时默认环境实测,不是跨环境闭环。主会话独立同范围 PYTHONUTF8=1 python 实测26pass/8fail,真实日志 artifacts/midnight-date-anchor/independent-python-contract-repair.txt 原样保留。8项均在本轮误加的整snapshot比较处、进入变异前失败,首差异为 candidate_feature_snapshot.feature_hash:历史 36190982db75d3c9fe7c584607f25342531049c3d751060075519dbbd68033db,独立环境实际 ebb4aeae08a4e643012de59d65882c01e8d8e501ba18c9fdcc0c2998b3a5e23e。这是验收测试误加跨进程绝对hash断言被独立复验拦截,不是生产回归。

只读复核两次均为同一Anaconda Python3.11.7、swisseph2.10.03,测试及scoring模块均从本工作树导入;改变UTF8模式可复现,但随后UTF8=0子进程也产生第三个hash,因此不能把UTF8本身断言为根因。两进程payload差异定位到 features[*].fingerprints.shadbala → static → 外层 feature_hash,该次score/receipt相同。生产 _feature_hash 对未量化结果做JSON SHA256;BUG-733/985已明确禁止跨进程固定浮点hash。原memo helper刻意仅比较candidate_scores/decision_receipt,原同进程缓存差分与反向测试均仍在。额外只读派生探针在未处理static payload后续变更时失败,不作为派生链已验证证据,也未据此修改生产或golden。

原值 新值 原因
本轮额外新增 _assert_tiered_equal 整个snapshot(只桥接algorithm8/9) 限定撤回这一个新增调用,加BUG-733/985注释;原helper、原score/time反向、原容差不动;算法8/9、4metadata、独立UUID公式及7新增反向仍全部保留 恢复原合同边界,避免对包含未量化浮点派生指纹的历史golden重引绝对hash不变量;不是删除既有断言、放宽评分门或修生产

获准仅再写memo测试与本PROGRESS,实际定向双跑:

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
# 34 passed in 11.35s,exit0
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
# 34 passed in 10.73s,exit0

日志分别为 artifacts/midnight-date-anchor/final1-python-contract-corrected-default.txt 与 final1-python-contract-corrected-utf8.txt,均含原命令与exit;以这两份为最终定向证据,先前红绿日志不覆盖。memo测试最终SHA256更新为 98808b8535f05f81d35a71de067928f762a6aae9fe9e8a2d9c44528f04c6b508,上表d4f3为被独立复验拦截的中间版;另外两个测试SHA不变,历史golden SHA仍为 6266e448d7dad204b264cbe8f9bcf4c36e02286794764a94edb9e2ce4d0e3015。再次停写交回,未写其他文件,统一全量/quick仍由主会话负责。

Grok 接续(2026-09-21)

唯一写入执行者按 TASK-rectification-midnight-final-grok-20260921.md 串行完成 T1–T5。不重做已闭合功能。HEAD 仍为 3be740f84d12b098b27b88105a88b5e2d8dd0ead。未 commit/push/deploy,未改分数/权重/确认阈值、Skill、workflow、依赖或权限。旧 freeze/report/golden/archive 原字节保留。final-1 失败日志与过程红日志不覆盖。

T1 三合同测试独立复验

接手 SHA 与交接一致:memo 98808b8535f05f81d35a71de067928f762a6aae9fe9e8a2d9c44528f04c6b508;PROGRESS 当时 1c0d81d7e78da93e2b060d4095112245ea3123508fe64b693c0c3691afc485ab;历史 golden 6266e448d7dad204b264cbe8f9bcf4c36e02286794764a94edb9e2ce4d0e3015。

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
# 34 passed in 10.84s,EXIT_CODE=0

独占新日志 artifacts/midnight-date-anchor/independent-python-contract-reverify-grok-20260921.txt。原 independent-python-contract-repair.txt 与两份 corrected 日志保留。

T2 扩展身份最小补齐与派生脚本审核

PRODUCTION_FILES 增补本轮 candidate_window.py、decision_policy.py、refinement_packet.py、api_service.py。legacy12 算法与旧 freeze 未改。reported_offset_sweep 复用 implementation_identity(),未改其源码。current contract / 新报告 / 归档 / 派生脚本不进入 identity。

新增 test_midnight_date_anchor_modules_remain_in_extended_identity(不依赖 freeze 文件),1 passed。派生脚本独立审源码:校验 report.frozen_record==freeze、freeze_record 身份、freeze≤start≤finish、20/900 完整计数、非独立/禁调参、六 runtime 键值类型、historical metrics 与 unfrozen diagnostic、previous 链、原子替换与非自引用。脚本 SHA 仍为 c4d06bc82c7e64cf4c9a53401f126b24caa3e11225f8d8d0be9e7399a31e4dbc,未改脚本。旧五份归档 hash 与交接清单逐字节一致。

文件 原值 新值 原因
tests/test_sealed_holdout_contract_freshness.py PRODUCTION_FILES 最小集 scoring_service.py + dasha_transition_proximity.py ⊆ PRODUCTION_FILES 原断言保留;新增四模块必含、与 legacy12 不相交、禁止 contract/新报告/history/artifacts 进入 identity 防本轮日期/回执模块再次遗漏扩展身份;不是放宽 freeze 校验

身份名单停写后再 freeze。evaluator scripts/research/sealed_holdout_rerun.py SHA 5d26d782648bbef42b5dcfe603ef2cbe697b317df6000f7c9c3fa0272504b027。

T3 生成快照真实 freeze 与 20/900

生成包 scratch/.../generate-bundle-1:30 个当时已存在的新增路径(含 6 份 history 与本任务单),不含未生成报告。sourceTar e3507fc4b903646f9bdeb16f1490d8d7119da90fb516177b57a1bb4476cffd6f,sourceIndexModified=false。restore /work/implementation-final-2 保真 0 差,未改 implementation-final-1。派生脚本单独复制到 /work/tools,SHA 仍为 c4d06bc8…。

首次 sealed --freeze 相对路径 print(relative_to(ROOT)) 失败,但 exclusive-create 已写出完整 freeze;失败日志保留于 /work/artifacts/generate-freeze-1。该 freeze 通过 verify_frozen_record,未覆盖。续跑 generate-freeze-2 使用绝对 freeze-path。

步骤 exit 秒 SHA256
sealed freeze(保留) 写成功 / print 1 0.112 9b9bb4b9093a9987e84f04f50b3291ceca23691f89b1d5800c81652aec13824e
sealed json 0 2.878 05458f29215d9784623f1b05f09ef590915caf46a87947f0af31dcae85808620
offset freeze 0 0.101 73848f421b133f53578dd0e0713f24fbb38a2bcf3b27609398b1ba98dbfc224c
offset json 0 325.993 093d50953d7772f037401b99517b8dcaf2a1b20aa3e8ae2e692d83c6510dd02f

sealed 20/20、excluded=[]、freeze≤start≤finish、official_valid_independent_blind=false、status=blocked_independent_blind_evidence。offset 20 cases / 900 cells / 完整网格。环境前后不变,productionPinEquivalent=false,history 归档字节不变。派生脚本 validate 后 --apply,current contract SHA 731628a411b91761af4c3df8198de94b9d78edd9e25d5ae618eec23e11d8b9e0。六 runtime 键与 metrics_produced_by / current_tree_unfrozen_diagnostic 相对旧 contract 同类型同值:status=not_ready,confirmation_coverage_rate=0.0,top_1_rate=0.15。四证据与获批 contract 经 scratch generate-delivery-1 独占回写工作树,输入输出 SHA 一致;旧归档 contract 仍 ac81307dd3581db1e687a31100babe71cd5122781d6e5208789b5f68fb02a520。

T4 新最终快照全门

最终包 scratch/.../final-bundle-3:34 新增(30+4 证据),92 既有 artifact 白名单,baselineRetained 4856,sourceTar cb7ad822d2d2a16282b121d2a02964a14912d1bdb81e6b2f2c52f84511359e3a,sourceIndexModified=false。restore /work/implementation-final-3 保真 0 差;身份文件与生成快照逐字节相同。独立 npm ci,无复用 .next。

项目 结果 日志
tsc 0 错误 容器 implementation-final-3/frontend-tsc.log
lint 0 error / 119 既有 warning frontend-lint.log
前端 3649 pass / 0 fail / 0 skip frontend-tests.log
真实 DB 56 pass / 0 fail / 0 skip database-tests.log
build 首页 Static ○ / gzip 日志 staticHome=true
JS gzip 630727 vs 基线 626849,+0.619% independent-final-3-gzip.json
CSS gzip 39496,不变 同上
Python 广域 352 pass / 4 fail:4 既存 + 0 新增 python-glob.log;对照 independent-final-3-python-failure-comparison.json
quick Quality gate passed python-quick.log
三公开 AA 3×7=21/21 同机独立进程,tolerance=0 independent-final-3-aa-ab.json;排除新增日期 metadata 与身份 ID,不声称整响应字节相等
环境 与 fixed126 基线一致;productionPinEquivalent=false independent-final-3-integrity.json

四既存失败逐断言对照基线 glob XML:

  1. test_long_real_conversation_reaches_vedastro_after_local_range_is_narrow:actual 04:16 单分钟,expected 05:07–05:08,与基线同类。
  2. test_selector_changes_do_not_change_legacy_or_v5_score_bytes:actual e20199f79f42…8edf8 vs expected 23171c47b974…e9d8f,与基线哈希相同。
  3. test_v3_development_result_stays_shadow_only:assert 1 == 0,与基线相同。
  4. test_frozen_implementation_hash_matches_manifest:类别既存,expected 仍 153fea0f69d4…528aa;actual 由基线 f642651ef4de…cb477 变为 6c655b8073de…d2220。不能称该失败字节一致。

final-1 的 338/11 与过程红日志保留,不改写成通过。容器完整产物在宿主 scratch implementation-final-3/。

结论(不发布)

项 判定
隔离 Linux 最终门(tsc/lint/前端/DB/build/gzip/quick/AA/0 新增 Python 失败) 通过
四既存 Python 失败 未通过(基线同类;第 4 项 actual hash 已变)
受控真人 / 登录浏览器 环境缺口,见 BLOCKED 与既有 testing 清单
部署 / staging health 未做;BUG-982/983 仍 investigating
commit / push 未做

改动范围:扩展身份四模块入 PRODUCTION_FILES、最小身份回归、真实新 freeze/20/900/派生 contract、文档与本进度。生产评分常数与确认门未改。停止。