Files
MemRelay/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/Checkpoint 2026-09-20 02-02-18 UTC [68e7c94d84].md
T

50 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Checkpoint 2026-09-20 02:02:18 UTC [68e7c94d84]
type: checkpoint
permalink: main/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/checkpoint-2026-09-20-02-02-18-utc-68e7c94d84
stable_id: c3c14f75-1ed4-4e30-91e8-952031f256ba
scope: project
project_id: d44c219a-0b31-4de1-b160-323eb34a4c6a
memory_type: checkpoint
status: active
revision: 1
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
created_at: '2026-09-23T15:06:43.056651+00:00'
updated_at: '2026-09-23T15:06:43.056720+00:00'
tags:
- handoff
- certificate
- deployment
- authentication
---
# 证书模板和作者单选实现完成,发布暂因Git认证阻塞
## 用户目标和授权
用户要求清理线上旧升级备份;证书正文默认改为{{作品名称}} {{版本}},系统设置可配置字段模板、帮助点击弹出;作者显示用单选默认存证钱包地址,也可选作品作者姓名。用户明确要求完成后提交推送,再无损更新线上。延续原任务,不应因最新简短确认丢失部署目标。
## 已完成
- dev提交6669722c0081b8fde166556be23cddf69b440c36;本地main已快进同提交,当前停留main,工作区干净。远程dev/main仍c5c0168,尚未推送6669722。
- packages/shared/src/certificate-text.ts提供默认模板、字段白名单和纯文本渲染;支持作品名称/版本/追溯码/档案编号/作者。版本取作品模板label=版本对应键,实测当前键size。settings新增certificateTextTemplate与certificateAuthorMode默认WALLET,无数据库迁移。
- 作者选ARTWORK_ARTIST时仅在读取返回的官方证书URL中增加author显示参数,保留address/digest/txHash/原文/时间,空姓名回退钱包。支持已有证书下次查看,不重新生成。已检查官方test和production静态页面支持此参数并浏览器验证黄志伟显示。
- UI单选、文本多行框和点击才显示帮助已实测保存。测试库模板为默认值,作者选项已恢复WALLET。
- 全套36组294测试通过;生产builder构建通过;本地测试实物802593007615新出证正文“十二生肖莲花手工杯 一个装”,重复复用;切换作者姓名后仅author参数改变,其余参数与生成时间一致。
- 清理了上轮服务器/www/upgrade/artveris-c5c0168-20260920/backup约601MB及同轮回滚脚本/PM2临时信息,本机.deploy/production/备份已先核验SHA256且仍保留。未删除线上业务storage/backups和其他项目。
## Git阻塞
push origin dev返回Failed to authenticate user。已先查MemRelay密码库,唯一对应站点OAuth条目“Gitea git.asio.asia OAuth”的access和refresh均过期,API /user返回401,本机credential fill也无可用凭据。不要重复使用旧token。已通过异步问题请用户重新登录Git或更新密码库凭据,尚未收到完成回复。不要输出任何秘密。其他仓库专用账户不能未经确认替代。恢复后fetch比对远端,推送dev/main(如远端变动需正常整合,不force)。用户要求先推送后上线,暂未执行生产切换。
## 发布准备(已就绪、线上仍c5c0168)
- 本机目录.deploy/production-template/,源码快照source、包artveris-upgrade-6669722.tar.gz、manifest、脚本、日志、code-and-config.tar.gz、database-warm.sql.gz。
- 包SHA256 030b14c1cbe33f35fddcd396c00c88890802512a201328f7912866c1e0ce2c7c,来自已构建artveris-release:template镜像。377文件清单校验通过。
- 服务器目录/www/upgrade/artveris-6669722-20260920。prepare-release.sh已完成依赖预安装、Prisma generate、sharp/Prisma加载、7条既有迁移checksum验证、热备份代码配置及DB(新一轮备份,约108MB压缩)。本机已下载新备份。所有19 jobs SUCCESS,5701 proofs ONCHAIN。
- snapshot.cjs、cutover.sh已上传并通过语法验证;本轮脚本从上轮验证流程替换版本号和目录得到,运行前复核。尚未运行launch-cutover.sh(不存在cutover-complete和cutover.pid)。client.cnf是服务器暂存数据库连接文件,0600,正式校验后verify-release.sh会清理。若暂存长期搁置先清理后在切换前安全重建。
- SSH helper沿用.deploy/production/ssh_task.py(uv run --with paramiko),服务器地址/私钥由用户本会话提供、密码不写记忆。
## 继续步骤
1. 获取用户已恢复的Git认证,fetch、推送dev及main,校验远端一致,最后回dev。
2. 切换前再次只读核对线上任务(新增证书任务也要确认无处理中)和PM2,必要时重新热备份;执行.deploy/production-template/launch-cutover.sh将服务器cutover.sh后台运行,轮询cutover-status.sh。
3. 切换脚本会停server,最终DB/媒体一致性备份,交换已安装的新旧代码,migrate无新迁移,snapshot逐表原字段和文件校验,pm2 restart并save。错误自动恢复旧代码,保留数据。
4. verify-release.sh及final-status.sh验证公网、manifest、PM2和系统数据;新增只读核对模板默认值及作者模式,勿主动调用正式付费出证。
5. 下载本轮最终DB/媒体/哈希/前后快照,再对照和恢复测试。新备份是否清理应依据用户明确请求范围,用户本次清理指已完成上一轮,可向其报告本轮新备份保留。
6. 更新本轮报告和MemRelay最终检查点,说明部署真实结果,不声称Git或上线已完成。