Repository navigation
feat(node): add execution-bound artifact reads - #80
Merged
Merged
Conversation
LPX-E5BD8
marked this pull request as ready for review
November 7, 2026 15:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
现有通用文件读取没有绑定执行记录与视图,也允许知识库需要的符号链接解析。本 PR 增加独立的
artifact.read接口:Node 在接受 session turn 的同一事务中记录 execution、view digest 和 workspace generation,读取时逐组件拒绝符号链接、拒绝硬链接和特殊文件、限制每块大小,并在文件变化时拒绝返回内容。旧执行与旧节点返回Unsupported,不会回退到fs.read。这是 Node 协议与读取基础。Hub 仍设置
artifact_view: None,没有启用产物读取;现有预览和知识库行为不变。grant 绑定 workspace 范围,不提供逐文件产出证明或不可变快照。后续接入必须由 Hub 完成读者与路径授权、产物版本绑定;view digest 不是访问令牌。本 PR 不表示主体隔离或 ST-59 整体完成。基于
ebe07333483545099d071afcf11561c4788d558a,单独移入固定提交963bfabe,无冲突且稳定 patch-id 相同。包含scan::opened_path两个平台实现的pub(crate)可见性调整;与 #78 相同的两处修改在集成时去重。验证:
python3.13 ops/cut-release.py lint通过。python3.13 scripts/check-public-boundary.py --strict通过,零违规。rustfmt --edition 2024 --check --config skip_children=true。git diff --check通过;静态审查覆盖执行绑定、生命周期撤销、路径边界及旧端拒绝。steve-core::tests::release_outcomefixture 为 leaky:a_health_check_rollback_after_restart_fails_the_release、a_pending_release_whose_script_is_gone_fails_after_a_restart、a_pending_release_times_out_after_30_minutes;未将它们计为零泄漏。本 PR 不包含发版或部署。