Skip to content

feat(openalice): 产物读取与运行结果来源 #121

Description

@1012839419a-alt

父任务:OpenAlice 产品体验复用 #116。原生父子关系未设置,以正文互链为准。

用户授权:按平台 PRD 推进已盘点能力,派给 Luna 实施,当前根任务负责独立验收。范围依据 docs/research/openalice-capability-gaps.md;上游固定 52b51f29809178594b7b57bf666133829368b7b4,源码位于 D:/projects/opencli-Razormind/.git/research/OpenAlice,只读。

目标:把真实已持久化的 Project/Workflow/Run 输出和已有 IntelligenceArtifact 接入统一、受授权的产物列表与正文读取,并让 Records 支持精确运行过滤。先复用现有对象和 trace/intelligence 输出,不另建影子存储。

依赖与状态:独立就绪。尽早向协调者返回现有存储映射与确定的 API/schema,供后续 UI 接入。

实施约束:建议 GET /api/v1/studio/workspaces/{workspace_id}/projects/{project_id}/artifacts 和 /artifacts/{artifact_id};以实际路由规范为准,先报告合同。结构至少含稳定 id/title/media_type/content_hash、workspace/project/workflow/run 和可选可信 conversation,详情正文受大小限制。避免把任意文件路径或外部 URL 当作读取权限。

验收:真实数据库集成测试证明:列表与正文来自实际保存数据;同项目不同运行隔离;跨 workspace/project/run 拒绝;缺失/超限明确返回;内容哈希及可信来源保留;不存在的 conversation 不编造;未授权调用不能读取正文。Records 运行过滤同时约束所属项目和工作流。

放置合同:

  • contractRepo: 2233admin/opencli-Razormind,本 Issue 标题必须为“feat(openalice): 产物读取与运行结果来源”。
  • executionRepo: 2233admin/opencli-Razormind。
  • worktree: D:/projects/opencli-openalice-artifacts-20260906;分支 codex/openalice-artifacts-20260906;初始源基线 08f0c9f(工作区代码的本地快照,未推送)。依赖任务开工时以协调者记录的整合基线替代。
  • ownedPaths: backend/api/v1/project_artifacts.py、backend/services/project_artifact_service.py、backend/schemas/project_artifact.py(均可新增);backend/api/v1/records.py、backend/services/record_service.py、backend/schemas/record.py;对应 tests/integration/test_project_artifacts.py、tests/unit/test_record_run_filter.py。路由注册由协调者接入;不改共享 init.py 和数据库迁移,确需 schema 变更先报告。
  • delivery: 当前协调任务的原生 Agent 交付消息,附本分支唯一提交 SHA、文件清单、测试命令/结果、失败/未运行/缺口与来源说明;不得自行推送/合并主分支或改变 Issue 状态。

共享约束:你不是唯一执行者。只在指定 worktree/ownedPaths 工作,不撤销他人改动;遇到依赖或权限模型意外复杂度向协调者报告,不扩范围。不得改浏览器账户功能和真实业务数据库/运行容器。读取仓库及 frontend AGENTS.md。优先复用现有依赖/模块;不把 OpenAlice 与本项目的 Workspace 当成同一领域对象。任何直接上游源码复制须先记录具体许可,不静默改仓库许可。

验收责任:执行者先自测,协调者复跑权限和完整用户链路;子任务完成不代表父任务完成。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions