Files
MemRelay/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/curated/ArtVeris Development – Current Tasks (development workspace).md
T

189 lines
11 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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: ArtVeris Development – Current Tasks (development workspace)
type: curated
permalink: main/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/curated/art-veris-development-current-tasks-development-workspace
stable_id: 98ef0fde-27fa-4f45-9037-9fe294499a49
scope: project
project_id: d44c219a-0b31-4de1-b160-323eb34a4c6a
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: tasks
revision: 1
source_memory_ids:
- 2939ce96-a6f6-418a-9a70-568980dbdc2a
- 2fafa191-d208-41e4-9f7b-ce5a633c886b
- 3efd0adf-f91b-4d78-b163-5365c257d6d4
- 46eb1720-910a-4e4e-b56b-b6ac43b0cec1
- 67a86e88-a750-4cd8-9650-c1b7cfbf22b9
- 6b129c78-a412-41e9-af9f-63ab071e03d9
- 76e12a12-446a-4d96-bb49-2534930a5d56
- 7737eaaf-441e-476e-aea0-42a4d13ae245
- 7e83a02d-9eb6-4e97-9f23-102f34ae8b1e
- 92e5c8d9-c4ef-4ab7-99ac-1b81f3228b59
- a9739d28-4318-492e-bad3-53e9ea2769a8
- ada12b65-afa2-415e-98b3-2a24ff57feb9
- ae318134-8651-4563-bc22-491c51f87af4
- b7e0eb44-e38f-40a3-8736-3a7a9de84818
- beb81aaa-8e86-4af7-a6c8-d35f7682d330
- d5bb7f58-99bb-4381-ac98-300cceb128fe
- dc70f54c-8e29-4834-a5c1-a63bc9ac9e68
- dcdbeb7d-dd75-4294-8853-872491043db1
- dd093dd7-71be-46a2-bcb1-4a87c3d4b9ab
- dd22c710-2822-4515-a28c-ead99162caac
- e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46
source_checkpoint_ids:
- 4f5c2b7f-d115-46c2-87be-80c8605ccbdb
- d45ff9ab-e2f4-4de8-8ccb-389754c1e3a4
source_file_ids:
- 07583531-4b5a-4826-ad88-be4c3f16ba9d
- 2749e8f9-a45f-43b0-a818-143ae532db24
- 2977cf7c-7494-4b28-a8c6-2fbc6261c810
- 4e728912-7bd0-455c-ac3a-e35189c26e37
- 8f5b3f27-3ed1-4bf1-97ef-cb130f238161
source_git_commit: d7c6368
source_git_commits:
- d7c6368
source_agent_sync_ids:
- artveris-curation-2026-09-03-migration
model_connection: Sub2API
model_name: git-restore
source_count: 42
source_revisions: {}
source_dispositions:
processed: 42
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids: []
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences:
- statement: '提交遵循 type: 中文描述 的 commit 格式,分支策略为 dev(长期开发) 与 main(生产)。'
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- memory:6b129c78-a412-41e9-af9f-63ab071e03d9
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 生产部署采用单一 .env 配置文件,业务可调参数存于 system_setting 表;其他配置文件被忽略。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- memory:b7e0eb44-e38f-40a3-8736-3a7a9de84818
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 本地开发约束:使用 PNPM 10.28.0、Node ≥ 20.11.1,使用 scripts/dev.py,构建或升级前必须停止 nest
进程。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- memory:e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 代码提交前需清理临时文件、日志、密码文件,并更新对应的 MemRelay 记忆条目。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- memory:6b129c78-a412-41e9-af9f-63ab071e03d9
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
source_cursor: 359
source_hash: 06340ad0d2d916308bcf502ff22c22461eeb2afaaeea56df8687dae4fdb0f11d
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: null
created_at: '2026-09-03T04:21:25.595127+00:00'
updated_at: '2026-09-23T15:06:56.313279+00:00'
tags:
- development
- tasks
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
---
# 📋 任务清单(截至 2026‑09‑03)
以下任务基于最近的迁移、部署、以及技术决策记录整理。所有条目均已在 **MemRelay** 中对应的源记录中列出,可通过 `source_ids` 追溯。任务按状态分组,便于在本轮开发冲刺中快速定位阻塞点。
---
## ✅ 已完成任务
| 编号 | 任务描述 | 关联来源 |
|------|----------|----------|
| T1 | 将项目所有记忆(规则、事实、决策、经验、检查点)迁移至 MemRelay,删除本地 `aidocs/` 并加入 `.gitignore`。 | [d44c219a‑0b31‑4de1‑b160‑323eb34a4c6a](#) / [4f5c2b7f‑d115‑46c2‑87be‑80c8605ccbdb](#) |
| T2 | 修复生产服务器上 PM2 未自动启动的问题,并在 Baota 环境中完成 `pm2 startup` / `pm2 save`。 | [4f5c2b7f‑d115‑46c2‑87be‑80c8605ccbdb](#) |
| T3 | 完成 Tianhe 链接入决策(方案 B),实现 **upload → publish → confirm** 流程,且不在链上存储媒体或摘要。 | [dd22c710‑2822‑4515‑a28c‑ead99162caac](#) |
| T4 | 实现 12 位数字 `shortCode` 生成规则,保证全局唯一且不超过 1 M/天的生成上限。 | [7e83a02d‑9eb6‑4e97‑9f23‑102f34ae8b1e](#) |
| T5 | 建立“一码一件”模型(Artwork → Batch → TraceCode),并完成对应 Prisma migration `20260715000000_init`。 | [7e83a02d‑9eb6‑4e97‑9f23‑102f34ae8b1e](#) |
| T6 | 编写并上线一键远程升级脚本 `scripts/upgrade‑remote.ps1`(备份 DB → 停止 PM2 → 执行 upgrade.sh → 重启 → 健康检查)。 | [d5bb7f58‑99bb‑4381‑ac98‑300cceb128fe](#) |
| T7 | 完成 **出库 ZIP 导入契约**,包含 10 k 行、64 列、100 MB 限制及 100 002 中央目录条目安全阈值。 | [76e12a12‑446a‑4d96‑bb49‑2534930a5d56](#) |
| T8 | 通过 `flock` 为所有 SSH‑MCP 远程脚本加锁,防止重复启动导致的表冲突与 NUL 日志。 | [8a861a5f‑35c3‑4f95‑bd5b‑6b2297888f56](#) |
| T9 | 统一全局开发原则(KISS & YAGNI)并写入全局偏好文档。 | [bf88c265‑4749‑4c50‑85bc‑4bae25298cd5](#) |
| T10 | 在 CI 中加入 **credential‑first** 检查:所有登录/SSH/DB/API 前先查询 Vaultwarden。 | [105b328f‑4bda‑4641‑90a7‑7282ef156316](#) |
---
## 🚧 待完成任务(阻塞项)
| 编号 | 任务描述 | 需求/阻塞原因 | 关联来源 |
|------|----------|----------------|----------|
| P1 | 将 `aidocs‑cleanup` 与 **PM2‑fix** 两个提交合并至 `main` 并推送至 Gitea/GitHub。 | 需要项目负责人确认后合并。 | [d45ff9ab‑e2f4‑4de8‑8ccb‑389754c1e3a4](#) |
| P2 | 执行生产环境 **Tianhe 链钱包重新注册**、切换至正式 `AppID/AppKey`,并完成全链路验证。 | 需在 staging 完全通过后方可在生产执行。 | [d5bb7f58‑99bb‑4381‑ac98‑300cceb128fe](#) |
| P3 | 合并 **admin bundle 代码分块**(`manualChunks`)到主分支并发布新版本。 | 已在 `dev/qa-polish` 分支完成,需要 QA 验收。 | [4e728912‑7bd0‑455c‑ac3a‑e35189c26e37](#) |
| P4 | 完成 **用户 Key 显示硬化**(在 UI 中遮蔽后仍可通过审计日志查看),并通过安全审计。 | 代码已在同一分支实现,等待安全团队确认。 | [4e728912‑7bd0‑455c‑ac3a‑e35189c26e37](#) |
| P5 | 再次评审 **AI curation / Git sync** 的启用策略(当前全局规则禁用)。如业务需要,可在全局规则 `3f91189b‑11a1‑45bb‑8357‑4f413dc1609d` 中放行。 | 决策待业务方提出需求。 | [3f91189b‑11a1‑45bb‑8357‑4f413dc1609d](#) |
| P6 | 确认生产 **Backup‑restore** 流程(版本 2.0.0)在紧急恢复场景下能够完整恢复 DB、存储及清单。 | 需要一次完整的演练。 | [76e12a12‑446a‑4d96‑bb49‑2534930a5d56](#) |
---
## 📌 关键偏好(本工作区)
以下偏好直接影响任务的执行方式,均标记为 **scenario** 级别且适用于 **development** 工作区。
| 编号 | 偏好声明 | 来源 | 级别 | 备注 |
|------|----------|------|------|------|
| P‑01 | 开发应遵循 **KISS & YAGNI** 原则,复用已有框架,避免投机抽象。 | memory:bf88c265‑4749‑4c50‑85bc‑4bae25298cd5 | scenario | 与全局偏好一致,但限制在本工作区使用。 |
| P‑02 | 所有凭证在使用前必须先在 **Vaultwarden** 中查询;新增或变更的凭证只在密码库保存,记忆中仅记录名称/用途。 | memory:105b328f‑4bda‑4641‑90a7‑7282ef156316 | scenario | 参照全局规则,但限定本工作区。 |
| P‑03 | 项目记忆仅保存在 **MemRelay**,本地 `aidocs/` 仅用于临时导出后立即删除。 | memory:1194be51‑ee29‑47e1‑8957‑ec2888007db6 | scenario | 与全局规则保持一致。 |
| P‑04 | 默认沟通语言为 **中文**(包括代码注释、文档、提交信息)。 | memory:7429c22e‑50ff‑458a‑97c0‑423c679904c7 | scenario | 与全局偏好相同。 |
| P‑05 | 禁用 **AI 驱动的记忆同步与 Git 自动化**,仅在显式开启时才启用。 | memory:3f91189b‑11a1‑45bb‑8357‑4f413dc1609d | scenario | 维持当前关闭状态。 |
| P‑06 | 开发、提交遵循 **type: 中文描述** 的 commit 格式,分支策略为 `dev`(长期开发) 与 `main`(生产)。 | memory:6b129c78‑a412‑41e9‑af9f‑63ab071e03d9 | scenario | 与全局约定保持一致。 |
| P‑07 | 生产部署采用单一 `.env` 配置文件,所有业务可调参数存于 `system_setting` 表;其他配置文件被忽略。 | memory:b7e0eb44‑e38f‑40a3‑8736‑3a7a9de84818 | scenario | 支持“一键升级”脚本的前提。 |
| P‑08 | 本地开发约束:使用 PNPM 10.28.0、Node ≥ 20.11.1,使用 `scripts/dev.py`,在构建或升级前必须停止 `nest` 进程。 | memory:e1b8d25d‑f638‑4fbe‑8a8d‑0eda8f2d7d46 | scenario | 防止文件被锁定导致构建失败。 |
| P‑09 | 代码提交前需 **清理临时文件、日志、密码文件**,并更新对应的 MemRelay 记忆条目。 | memory:6b129c78‑a412‑41e9‑af9f‑63ab071e03d9 | scenario | 与全局清理原则对应。 |
---
## 🗂️ 参考来源(source_ids)
- **迁移与记忆**:`d44c219a‑0b31‑4de1‑b160‑323eb34a4c6a`, `4f5c2b7f‑d115‑46c2‑87be‑80c8605ccbdb`, `dd093dd7‑71be‑46a2‑bcb1‑4a87c3d4b9ab`
- **技术决策与实现**:`ae318134‑8651‑4563‑bc22‑491c51f87af4`, `dd22c710‑2822‑4515‑a28c‑ead99162caac`, `3efd0adf‑f91b‑4d78‑b163‑5365c257d6d4`, `46eb1720‑910a‑4e4e‑b56b‑b6ac43b0cec1`, `d5bb7f58‑99bb‑4381‑ac98‑300cceb128fe`, `b7e0eb44‑e38f‑40a3‑8736‑3a7a9de84818`, `dcdbeb7d‑dd75‑4294‑8853‑872491043db1`, `7e83a02d‑9eb6‑4e97‑9f23‑102f34ae8b1e`, `a9739d28‑4318‑492e‑bad3‑53e9ea2769a8`, `dc70f54c‑8e29‑4834‑a5c1‑a63bc9ac9e68`, `e1b8d25d‑f638‑4fbe‑8a8d‑0eda8f2d7d46`, `6b129c78‑a412‑41e9‑af9f‑63ab071e03d9`
- **全局偏好与规则**:`7429c22e‑50ff‑458a‑97c0‑423c679904c7`, `ff34c6eb‑6bba‑41e5‑9e43‑ff80941fa823`, `bf88c265‑4749‑4c50‑85bc‑4bae25298cd5`, `3f91189b‑11a1‑45bb‑8357‑4f413dc1609d`, `105b328f‑4bda‑4641‑90a7‑7282ef156316`, `1194be51‑ee29‑47e1‑8957‑ec2888007db6`
- **SSH‑MCP 关键经验**:`8a861a5f‑35c3‑4f95‑bd5b‑6b2297888f56`
- **其它**:`d45ff9ab‑e2f4‑4de8‑8ccb‑389754c1e3a4`, `4e728912‑7bd0‑455c‑ac3a‑e35189c26e37`
---
*以上任务、偏好与来源均直接摘自 MemRelay 提供的证据,未进行任何推断或新增信息。*