读写新鲜度闸(T-03;出处 Keelson ReadFreshness.cs + FileReadTable.cs,借鉴 coxswain seen.ss)。
已读表:真实路径 ⇒ 最近一次交给模型的内容 tag。宿主记,不让模型回传——模型的上下文 会被裁剪压缩,tag 交给它保管会丢。
⚠️ 登记点 = 凡把 tag 交给模型的地方(read_file 的 [路径#TAG] 头、写类工具回的「新的 TAG」),
一处都不能漏——漏一处就是「读过却说你没读过」。写成功之后也登记(模型知道自己写成了什么)。
表的来处:工作区的 :reads(缺省每个 workspace-tools 实例一张);:read-tracking? false ⇒ 没有表,
闸与登记全不做。
读写新鲜度闸(T-03;出处 Keelson `ReadFreshness.cs` + `FileReadTable.cs`,借鉴 coxswain `seen.ss`)。 已读表:真实路径 ⇒ 最近一次**交给模型**的内容 tag。**宿主记,不让模型回传**——模型的上下文 会被裁剪压缩,tag 交给它保管会丢。 ⚠️ 登记点 = 凡把 tag 交给模型的地方(`read_file` 的 `[路径#TAG]` 头、写类工具回的「新的 TAG」), 一处都不能漏——漏一处就是「读过却说你没读过」。写成功之后也登记(模型知道自己写成了什么)。 表的来处:工作区的 `:reads`(缺省每个 `workspace-tools` 实例一张);`:read-tracking? false` ⇒ 没有表, 闸与登记全不做。
(check table path current-tag)这次写得不得:current-tag 是文件现在的内容 tag。 ⇒ :fresh | :not-read | :changed(表为 nil ⇒ :fresh,即闸关着)。 ⚠️ 文件在不在不归这里判:新建不要求读过,由调用方跳过这道闸。
这次写得不得:current-tag 是文件**现在**的内容 tag。 ⇒ :fresh | :not-read | :changed(表为 nil ⇒ :fresh,即闸关着)。 ⚠️ 文件在不在不归这里判:新建不要求读过,由调用方跳过这道闸。
(check! table path shown current-tag)过闸;不过 ⇒ fail!(tools/freshness-not-read | tools/freshness-changed)。shown 是报错里给模型看的路径。
过闸;不过 ⇒ fail!(tools/freshness-not-read | tools/freshness-changed)。shown 是报错里给模型看的路径。
(note! table path tag)登记:path 此刻交给模型的是 tag 那份内容。表为 nil ⇒ 什么都不做。
登记:path 此刻交给模型的是 tag 那份内容。表为 nil ⇒ 什么都不做。
(read-table)新的已读表(宿主要按会话隔离时自己建一张,经 {:reads ..} 传给 workspace-tools)。
新的已读表(宿主要按会话隔离时自己建一张,经 `{:reads ..}` 传给 workspace-tools)。
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |