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.
29 KiB
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,migration20260920010000,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 四层证据与限制
- 真实
expectedAnswerSchemaFor首跑5绿4红,原因是新选项含 HH:MM 被原serverOwnedChoiceCopy禁止;只改中文钟点,未放宽过滤,原断言保留,随后9/9。 applyRectificationChoice的 A/B/C/skip 真实服务动作进 dated RPC,一次写入;fakeAccounting不是浏览器/真实DB。- 标准 PostgreSQL 独立A/B/C/skip选择与reload pending=false;服务测试reload后不重问。首次HTTP opening→persisted focus独立1/1通过,真实300分钟窗、
probe:block_scan.midnight_sideID,四选项消费真实persisted schema,不含次日;HTTP依赖隔离测试不等于受控真人。 - 真人浏览器缺受控登录态,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
/scorefetch捕获,断言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:db56/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.logexit0。后续service捕获独立green-widen-service.logexit0。 - 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:
test_long_real_conversation_reaches_vedastro_after_local_range_is_narrow:actual04:16单分钟,expected05:07–05:08,与基线同类。test_selector_changes_do_not_change_legacy_or_v5_score_bytes:actuale20199f79f42…8edf8vs expected23171c47b974…e9d8f,与基线哈希相同。test_v3_development_result_stays_shadow_only:assert 1 == 0,与基线相同。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、文档与本进度。生产评分常数与确认门未改。停止。