TASK-ANA-SEMI-CANONICAL-MIGRATION-20260829-001ANA-SEMI-20260722-001BATCH-053-CANONICAL-MIGRATIONRUN-ANA-SEMI-CANONICAL-MIGRATION-20260829-001legacy_case_path_map.csv扩为645行完整血缘表,逐行绑定旧路径、canonical目标、旧/新bytes与SHA-256、迁移审核、预期终态、审计归档路径和恢复依据。历史普通L1文档不存在逐文件正式审核号的事实被明确记录为LEGACY_L1_SEMANTIC_ACCEPTANCE_NO_PER_FILE_AUDIT,不补造旧审核。
公共DIRECT_STABLE_PATH_SET_V1增加严格、向后兼容的ABSENT_GENESIS_V1前态:prior rows、cases/result current、current state和全部目的地必须在首写前为ABSENT。首次发布继续使用既有exclusive lock、同卷staging、原子recovery anchor、17列事件链、逐边界回滚、严格重放和cases current最后激活合同。
candidate_output_manifest.csv为648行,覆盖644份核心文档、legacy map、current manifest、result thin current和cases current;current_output_manifest.csv为647行,manifest self由配置中的正式路径、bytes与SHA-256单独绑定。
dev/ana-dev/shared_content_publisher/direct_stable_path.py|96655|4AC9BB06DDC7483281B8957CB645213D377CB6034FF9257B7C4E99983B5D469Ddev/ana-dev/shared_content_publisher/batch_config.direct_stable_path_set.schema.json|13501|34329BCE8AC29C26C359CEFD438E13ED43C094D817E5DCCD8767A2387F436D93dev/ana-dev/shared_content_publisher/README.md|5631|5349BBDAA72E87C25F60A5F8DC2B24B5648993557EBE73C034518C5078F7586Fdev/ana-dev/test/test_shared_content_publisher_v1.py|34875|F5B5FCD4CD9DE879BC7AFD0BB57AC86F34B57F81AA6CC68A58CE4B2E80B3446Fdev/ana-dev/test/test_shared_content_publisher_direct_stable_path_v1.py|62126|570877FFB9933015C60691045103C2537A1173EE1C8ABA915A0ACE4506387B77prepare_execution_binding_v002.py|18288|2651FA10B5E7649DAAA27CAE3C019B24B53A23514E69B968EDA74D818F8AE1AEtest_execution_binding_v002.py|8108|ED0BB854C1A75C7A3683A803FE07D7E7F036B8F91964F67DD0F724754290D5D9batch_config.json|451351|97FBDE6E0B98700438FBF764ECCB24F6E7E52C246AA350C9988E0788C847218Cgenesis_promotion_ledger.csv|1002|A84E8C0EAE4B4991A346FC6A9D7E9191BDE0A211EE34313545588898E76D6CF2147387|D34AF0C7AD17C4B585ED249392576C9CF3547245000F4DCACFFC60A5953BE326108926|46DC09BEF1DBF62D530C9ECD43D00A5789E12A7764DECE168169BBFDF020CCF3604977|26CF77F60638112181716A8D5E02CD60BE19601554302B5997020580AD60E1EB3A132AB8C97196D7FDB8E3562A8131FF2D67A4DAFA98B3873C808624CEA0A3C6474859c4c2f6204cace259ef76dff1b44ab6f18c68e9a8baab6e22d2b2db3ff736/36 PASS,351.839秒。VALIDATION_PASS → COMMITTED → IDEMPOTENT_COMMITTED。BASELINE_FROZEN → PREPARED → VERIFIED → COMMITTING → COMMITTED。0/0;隔离归档后legacy current:absent。COMMITTED/0且648目标全量回读通过后,才把旧核心树整体移动到本run审计包。HANDOFF-ANA-SEMI-CANONICAL-MIGRATION-EXECUTION-BINDING-FOCUSED-REREVIEW-20260829-001AUDIT-ANA-SEMI-CANONICAL-MIGRATION-EXECUTION-BINDING-FOCUSED-REREVIEW-20260829-001PASS/0或完整HOLD/N。V002 聚焦复核确认 genesis publisher 已关闭,但对旧树的处理仍只有隔离环境中的一次os.rename,缺少正式回执、失败终态和重启恢复,因此结论为 HOLD/1:BLOCK-ANA-SEMI-CANONICAL-01 部分关闭。V003 只补这一处,不改候选内容、648项发布
配置、647行 current manifest 或645行血缘映射。
新增公共 postcommit_archive 协调器及严格 schema。它只在发布器完整回放为IDEMPOTENT_COMMITTED 后工作;先以 CreateNew 形成归档合同、legacy map 和 manifest
三件套回执锚,再以同卷一次目录原子改名把旧核心树移入审计包,最后原子发布终态。
重命名前后中断均由同一配置恢复;source/target 同时存在或同时缺失、回执部分写、旧树、
归档树或 canonical 树漂移统一 RECOVERY_REQUIRED。
冻结身份:
dev/ana-dev/shared_content_publisher/postcommit_archive.py|26319|75F331F49F04C29890D5A3CB4BEAB513565D3E8203958E16A68B1761D11BD1ABdev/ana-dev/shared_content_publisher/postcommit_archive.schema.json|3121|282759F61F2CC8E4C52902D51CB2C7BC3AA8BCD2E1336593472F7A72EFC8EB22dev/ana-dev/test/test_shared_content_postcommit_archive_v1.py|11231|3188383C31AA2A8188CAD056550638F06105829E3798D826786C9BD24EB1C6CEsuccessor_binding_v003_archive/postcommit_archive_config.json|1881|7FFA43D39E0A3988A97D9A97906D4B7BF0C76528E6B45592A882CD7BF13663861192|205127BF703F72C18F5802878B0E75387A132DC48494731D5478FC0DFC2BA717711|5404B2546F5859E21AACB112A013A2E87FAE7AAB8F434998239C14AF38A84144558|B56B73A941F47A88D6A21AF3247E268573785EC851BFAD931122D7412BBB9081prepare_postcommit_archive_binding_v003.py|6519|11A9DD7DB1C9B746711F88EECD53FDB54B6F63A927B3B31CDC18137B453D9C26test_postcommit_archive_binding_v003.py|5811|C28B02B37BBDAAF1F21E8323DC88FBC943FE8E90AE68A0991DD2659185B72BC2659|3FAC2BD6E3D549605C1478620B2CB754CB562EEDCBBE451124795FC91843BEA7生产形态测试使用真实648项候选和645行旧路径:publisher=COMMITTED,archive=ARCHIVED→IDEMPOTENT_ARCHIVED,回执 exact-set 为 contract/map/manifest/terminal 四件,
正式目标前后均保持全部 ABSENT。V001 测试证据因普通 Path.iterdir() 未处理 Windows
长路径而漏报回执成员,已由 V002 使用 long-path-safe 枚举完整取代,不作为审核依据。
本后继的唯一审核为AUDIT-ANA-SEMI-CANONICAL-MIGRATION-POSTCOMMIT-ARCHIVE-FOCUSED-REREVIEW-20260829-001;
PASS/0 前不执行正式 publisher 或 archive。
V003 聚焦复核独立复现归档suite 5/5 PASS,但用一个新反例证明:归档后只篡改
result薄索引,旧实现仍返回 IDEMPOTENT_ARCHIVED/0。原因是 archive replay 只复核
legacy map覆盖的645个canonical目标,没有复核完整648项正式发布集;同时V003未提供
前审要求的独立授权 legacy 原路径恢复动作。因此 V003 结论为 HOLD/1。
V004 从冻结 publisher config 解析全部648个 formal rows;每次首次归档、归档后重放和
回退前都逐项验证core、manifest-self、cases/result两入口,复算完整集合digest,并从
正式ledger重新验证全部17列事件链、严格UTC/顺序、terminal digest和lock absence。
result/current-manifest/cases-index任一单独漂移均 RECOVERY_REQUIRED/30。
另增独立 rollback schema 与CLI。恢复必须使用另一个严格config,绑定原archive config及
terminal bytes/SHA、唯一 AUTH-*、AUDIT-*、ROLLBACK-* 和operator;先持久化独立
rollback contract/archive-terminal/manifest回执锚,再一次no-overwrite原子改名恢复legacy
原路径,最后原子发布terminal。成功与回放分别为LEGACY_RESTORED和IDEMPOTENT_LEGACY_RESTORED;回退完成后原archive config被明确拒绝,不能再次归档。
V004冻结身份:
43031/DBAAE5BEAEBEF1A8C4778F1064C2F17F7F196E997AA4DCBB1B7CF6218E293DD13121/282759F61F2CC8E4C52902D51CB2C7BC3AA8BCD2E1336593472F7A72EFC8EB222755/0A2D347ACD114F7FB60C73741FD50AF69D654ED707134E6E7088CAB81FCA4A187507/12FB57D13AD78DE45DB64473132E5EBAC008443A6FEF47547A644AB5E2F7E6FC17283/6EB54367593246450BBD9D88A095B25D1DBCF3768C368C42F61430063A288AB58550/981F9954A933A9E56FBCD173CA49304D87B91D96C9DD327A994F8DBFCBCA0830688/CA8699BE0F4068C5CFE7B03AB2FF35402E64046F14DCC0D8E6CD93D58B6E0D2E2324/304EAA9BDC12FD5F66C8F8E6F94B86941528D715257731670602C93F1CC3DB07完整archive/rollback suite=8/8 PASS / 573.080s;额外单独复现完整648项三入口篡改和
授权恢复正例=2/2 PASS / 125.777s、4个rollback持久化边界=1/1 PASS / 129.185s。
生产形态真实规模为COMMITTED→ARCHIVED→IDEMPOTENT_ARCHIVED→LEGACY_RESTORED→IDEMPOTENT_LEGACY_RESTORED,
正式 mutation=0。生产迁移只使用archive路径;rollback recipe不是当前执行授权。
V004聚焦复核的标准suite虽为8/8 PASS,但定向反例发现:进程在INTERRUPT_AFTER_ROLLBACK_RENAME中断后,legacy已恢复而terminal尚未发布;若此时
result薄索引漂移,同配置重启会漏过完整正式集门禁并错误返回幂等成功。
V005在任何rollback terminal创建或重放前,无条件重新验证archive anchor、648项正式
集合、17列事件链、publisher lock、canonical 645项及恢复后的legacy 645项。新增同一
中断点后的result薄索引漂移反例,预期并实际返回RECOVERY_REQUIRED/PUBLISHER_FORMAL_IDENTITY。
43602/E7D1DC6892FB50B01E1D1325F050348891FF81D9926E2E7AF007204E89AC2C0918390/D24262420F8A1E0B1F5CBCBFC7FD8E22E0E54A0863C37224BC95C58BC3265F891/1 PASS / 57.814s9/9 PASS / 610.058s8552/FC6759D0003B908A49397DF42E76CE483CF5F33995B8915351F695EF7F27005A688/875C3F6648632BFE904547995FE817C30C7BA51CD99D27CEEAC1B21EFA4E42E7正式publisher/archive/rollback仍为0/0/0,canonical目标全部ABSENT,legacy保持
645份、4,805,301字节;仅等待同链最终验证。