11 KiB
11 KiB
title, type, permalink, stable_id, scope, project_id, workspace_type, usage_profile_id, preference_context, document_type, revision, source_memory_ids, source_checkpoint_ids, source_file_ids, source_git_commit, source_git_commits, source_agent_sync_ids, model_connection, model_name, source_count, source_revisions, source_dispositions, cited_source_ids, job_cited_source_ids, conflicts, supersedes, preferences, source_cursor, source_hash, prompt_version, schema_version, curation_job_id, created_at, updated_at, tags, restored_from_commit
| title | type | permalink | stable_id | scope | project_id | workspace_type | usage_profile_id | preference_context | document_type | revision | source_memory_ids | source_checkpoint_ids | source_file_ids | source_git_commit | source_git_commits | source_agent_sync_ids | model_connection | model_name | source_count | source_revisions | source_dispositions | cited_source_ids | job_cited_source_ids | conflicts | supersedes | preferences | source_cursor | source_hash | prompt_version | schema_version | curation_job_id | created_at | updated_at | tags | restored_from_commit | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ArtVeris Development – Current Tasks (development workspace) | curated | main/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/curated/art-veris-development-current-tasks-development-workspace | 98ef0fde-27fa-4f45-9037-9fe294499a49 | project | d44c219a-0b31-4de1-b160-323eb34a4c6a | development | null | development | tasks | 1 |
|
|
|
d7c6368 |
|
|
Sub2API | git-restore | 42 |
|
|
359 | 06340ad0d2d916308bcf502ff22c22461eeb2afaaeea56df8687dae4fdb0f11d | 2026-08-12.3 | 3 | null | 2026-09-03T04:21:25.595127+00:00 | 2026-09-23T15:06:56.313279+00:00 |
|
6a6a895eaf |
📋 任务清单(截至 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 提供的证据,未进行任何推断或新增信息。