rfcs: define source snapshot integration shape - #1388
Conversation
|
cc @PsiACE 如果duplicate的话可以close TencentDB-Agent-Memory 把 hash 变化视为重新拉取并 ingest 最新值的信号,保留旧 source 原文不是它的主要 contract。它没有做 rfc 内提到的 保留的 immutable snapshot 所以感觉这里有点说法 |
|
This RFC is quite good. However, there are some aspects where I suggest further optimization could be made: 1. RFC process and document structureIn both RFC files (lines 1–7):
The document would also be easier to review if it followed the repository RFC template more closely, with separate Guide-level explanation, Reference-level contract, Drawbacks, Prior art, Unresolved questions, and Future possibilities sections. The PR currently says 2. Logical identity and exact evidence identityIn the English Motivation and Source head/snapshot sections (lines 32–87; Chinese lines 29–76), the description of the current The current reference is exact for an accepted immutable Source row: I think the RFC should define the final identities explicitly. For example:
Scope ownership, observation ID composition and conflict rules, head selection, and the exact reference type are part of the public and persisted contract. They should not remain open questions after the RFC is approved. 3.
|
Sorry for I had not realized that #1240 had already moved into implementation and that PsiACE had an existing WIP branch. My intention with #1388 was to write a from-scratch RFC to clarify the problem and establish a baseline before changing the public Source model or API, so the overlap was unintentional. After reviewing PsiACE’s RFC and implementation, I’m prepared to treat that branch as the current implementation baseline and align this RFC with its core decisions around One additional scope clarification follows from this review: I will treat PsiACE’s branch as the current implementation baseline, while keeping #1388 as the contract baseline. #1388 is intended to define how an external object Source—using GitHub/Linear-like systems as motivating examples, not committed provider targets—is represented and accepted by PowerContext. It is not a GitHub/Linear integration plan and does not define a general Connector framework. Provider discovery, synchronization, credentials, retries, checkpoints, and provider-specific deletion handling remain Connector responsibilities, consistent with the boundaries stated in #1240. For the remaining RFC pass, I plan to make the following invariants explicit:
The OpenDAL text-file path can serve as a bounded validation integration, but it is not intended to make files, GitHub, or Linear normative Source types. 我之前没有注意到 #1240 已经进入实现阶段,也没有注意到 PsiACE 已经有一条 WIP 分支。这次提交 #1388 的初衷,是从零开始写一份 RFC,在修改公共 Source 模型和 API 之前把问题与设计基线重新说明清楚,因此和现有分支产生重叠并非有意。看过 PsiACE 的 RFC 和实现后,我接受这条已开发分支作为当前实现基线,后续会围绕它对齐 这次讨论还带来一个范围上的澄清:我会把 PsiACE 的分支视为当前实现基线,同时把 #1388 保留为契约基线。#1388 旨在定义外部对象型 Source 如何被 PowerContext 表示和接收;GitHub/Linear-like 系统只是动机案例,并不是承诺实现的 provider。它不是 GitHub/Linear 集成方案,也不定义通用 Connector framework。Provider discovery、同步、凭证、重试、checkpoint 以及 provider-specific deletion handling 仍属于 Connector 职责,这与 #1240 中定义的边界一致。 RFC 剩余部分会明确以下不变量:
OpenDAL 文本文件路径可以作为一个 bounded validation integration,但不会因此把文件、GitHub 或 Linear 固化成规范性的 Source 类型。 |
|
After comparing TencentDB-Agent-Memory’s Source handling with the current Source Definition and observation model, my conclusion is that they address adjacent but different layers. TencentDB-Agent-Memory primarily models the current state of an acquisition and ingestion resource. Its I especially support the following decisions in the current design:
The TencentDB-Agent-Memory research therefore supports the acquisition/provenance separation, provider-revision metadata, hashing, incremental detection, and operational audit aspects of the design. It also clarifies the additional requirement PowerContext has: a changed current Source must not replace evidence already referenced by an Artifact. I would like to keep the following as focused follow-up questions rather than change the current RFC baseline:
These questions are adjacent implementation and contract follow-ups, not proposed changes to the current normative model. The current #1388 RFC should be read as a synthesis rather than a competing Source design. Its normative Source Definition, 中文将 TencentDB-Agent-Memory 的 Source 处理方式与当前 Source Definition 和 observation 模型对比后,我的结论是:两者解决的是相邻但不同层次的问题。 TencentDB-Agent-Memory 主要建模 acquisition 和 ingestion 资源的当前状态。它的 我特别认同当前设计中的以下决定:
因此,TencentDB-Agent-Memory 调研支持当前设计中 acquisition/provenance 分离、provider revision metadata、hash、增量检测和运维审计等部分。同时,它也进一步说明了 PowerContext 的额外要求:当前 Source 变化后,已经被 Artifact 引用的证据不能被替换。 我希望将以下内容保留为聚焦的 follow-up 问题,而不是修改当前 RFC 基线:
这些问题属于相邻的实现和契约 follow-up,不是对当前规范模型的修改建议。 当前 #1388 RFC 应被理解为一份综合结果,而不是与现有设计竞争的另一套 Source 模型。其规范性的 Source Definition、 |
如果duplicate的话可以close
Which issue or RFC does this PR close?
Part of #1240 #1363.
Rationale for this change
External Sources such as GitHub issues, Notion pages, Slack messages, and Linear issues may change over time.
PowerContext needs to support the latest Source value for ongoing search and ingestion, while preserving the exact source text that was used to produce an Artifact. The current Source model treats
(scope_id, source_type, source_id)as one immutable payload, so it cannot represent a mutable Source head together with retained historical snapshots.This RFC defines the proposed boundary before changing the public Source model, persistence schema, or API.
What changes are included in this PR?
ContentSourceas one concrete captured-text Source rather than a universal provider model.ISourceFetcherandSourceFetcherRegistry;No runtime code, OpenAPI schema, or database migration is included in this PR.
Are there any user-facing changes?
No released user-facing behavior changes are included.
This is a proposed design RFC only. The RFC intentionally leaves the final public field names, persistence migration, retention policy, and OpenAPI changes for a follow-up implementation after review.
How was this change tested?
make docs-testgit diff --checkAI usage statement
This PR was prepared with OpenAI Codex using GPT-5.6, with repository inspection, GitHub issue review, and TencentDB-Agent-Memory source research performed by the AI assistant. Final design decisions and submission remain subject to maintainer review.
验证已通过: