Skip to content

docs(skills): keep the project skill's diagnostics reference in its own root - #7779

Closed
gcl-coder wants to merge 1 commit into
loopx-project:mainfrom
gcl-coder:fix/packaged-skill-diagnostics-reference
Closed

gcl-coder wants to merge 1 commit into
loopx-project:mainfrom
gcl-coder:fix/packaged-skill-diagnostics-reference

Conversation

@gcl-coder

Copy link
Copy Markdown
Contributor

tests/test_packaged_skill_metadata.py::test_workflow_skill_local_links_remain_inside_the_distributed_skill[loopx-project] fails at :77. skills/loopx-project/SKILL.md linked to ../loopx-self-repair/references/targeted-diagnostics.md, which resolves outside the skill's own directory. A host that adopts loopx-project without loopx-self-repair receives a link that cannot resolve.

This names the sibling procedure in prose instead. The guidance still points a reader at targeted diagnostics, and the link set stays inside skills/loopx-project.

Validation: pytest -q tests/test_packaged_skill_metadata.py -> 22 passed.

Scope: documentation only, one file, three lines.

…wn root

The packaged-skill test requires every relative link in a skill to resolve
inside that skill's directory. skills/loopx-project/SKILL.md linked to
../loopx-self-repair/references/targeted-diagnostics.md, which resolves outside
the skill root, so the loopx-project case fails.

Name the sibling procedure in prose so the guidance still points at targeted
diagnostics while the link set stays inside skills/loopx-project.

Signed-off-by: ChengLong GU <88359731+gcl-coder@users.noreply.github.com>
@mergify

mergify Bot commented Nov 1, 2026

Copy link
Copy Markdown

This pull request has merge conflicts with main and cannot be merged
until they are resolved. Please rebase or merge the base branch, @gcl-coder.

Choose the remote for the base repository, not an out-of-date fork.
For a fork clone, first inspect git remote -v; upstream must point
to https://github.com/loopx-project/loopx.git. If it is absent, add it
with git remote add upstream https://github.com/loopx-project/loopx.git.
Then run:

git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEAD

For a same-repository clone whose origin points to
https://github.com/loopx-project/loopx.git, use origin instead of
upstream for fetch/rebase. If you prefer merging the base, use
git merge <base-remote>/main and push normally.

Keep the DCO Signed-off-by trailer on every commit when you rebase.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Nov 1, 2026

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max

动机 / Motivation

APPROVE,没有发现阻塞问题。 独立检查完整差异 428f71177db4c0acb87d16ecad2abe555d952e2d → b2c3d16325ea00e25742b5a8c53229b115451c3c,仅一份技能正文,+3/-3。

使用 LoopX 宿主工作流技能的 Agent 与维护者。 读取 loopx-project 时,旧 Markdown 链接越过该技能根目录;新文本按 loopx-self-repair 的技能名定位同一诊断过程。 移除跨根目录相对链接,保留路径缺失、输出截断或效果不确定时先做定向诊断的要求。 不新增诊断算法、权限或运行时行为,也不把手工只复制一个技能解释为诊断依赖已经齐备。

这解决了实际发布边界检查失败,不是增加一种诊断能力。默认安装本来同时分发六个全局工作流;不能据此宣称单独复制 loopx-project 就会附带另一个技能的全部材料。

改动思路 / Approach

用现有技能名表达跨工作流依赖,避免把兄弟技能伪装成本技能内的相对资源;成套安装的实际诊断 owner 与拒绝盲查要求保持不变。 比起复制一份诊断过程或放宽资源边界测试,这个修改保留单一维护位置,范围与问题相称。

实际路径是 workflow-skills --install → workflow_skill_install → 完整技能目录复制 → 宿主发现 SKILL.md。诊断仍交给 loopx-self-repair,未新建规则、状态、开关或执行权限。使用同一合成宿主目录方案,分别执行 base/head 的真实 CLI 安装、只读检查、重复安装、删除诊断材料后的检查和修复;两边都能找到原诊断过程,head 的本技能相对链接不再越界。缺失材料仍能被 managed readback 发现并恢复。

具体改动 / Changes

关键内容讲解

  1. 修改的段落保留三个触发条件、先定向诊断的顺序,以及不得反复执行目录/status/full-packet 预检的限制;变化是资源定位方式。没有删去原 Goal/Agent/Turn 身份、fresh admission、lease、停止条件或结算要求。
  2. 现有安装 owner仍完整复制全部 packaged workflows;原诊断材料继续要求按缺失事实选择既有入口,效果不确定时先查原 receipt,不能借诊断移除身份或证明。

判定依据是改动前的 skills/loopx-project/SKILL.md,spec_revision=428f71177db4c0acb87d16ecad2abe555d952e2d,而非修改后的文字证明自身正确。逐项映射:Read The Relevant Procedure Before Acting → implemented,本技能七份本地 procedure 链接仍在本根目录并进入分发清单;Current State, Continued Work And Settlement → implemented,诊断触发、owner 和禁止盲查的语义保留。既有 Project Skill Delivery 的 global discovery / 完整目录复制约定也由实际安装验证,没有新增依赖 owner。

对主干的风险 / Risks

PASS:相同 Python 3.14.8 / frozen test-extra 环境,head 的 tests/test_packaged_skill_metadata.py 与 tests/test_workflow_skill_install.py 共 54 passed / 2 skipped。base 同命令为 53 passed / 2 skipped / 1 failed,唯一失败正是 loopx-project 相对链接越根断言;原断言未删改。两项 skip 是无原生 PowerShell 的既有 Windows 命令检查,此次没有改 Windows 实现。

PASS:两版本相同 fixture 的五步真实 workflow-skills CLI 验证;只读检查不修改已安装资源,重复安装为 unchanged,删除兄弟技能的诊断文件会使其 digest readback 不就绪,修复后恢复 ready。它证明分发与材料可达,不证明模型会正确采用指令。

两边额外的 uv sync --extra test --locked 都因原 lockfile 与声明不同步失败,PR 没改 pyproject/uv.lock;未修改锁文件,随后用同一 frozen lock 建立可追溯环境。此环境准备失败保留为独立限制,不将其写成补丁已修复。未查询、轮询或等待 CI;CI 未知不影响上述当前证据。PASS:仓库原生 diff/RFC 检查;文本扫描两个候选文件,0 内容错误/告警(空隔离 runtime 产生一条独立环境提示);exact-scope quality receipt 已回读 valid,未修改源码,safe-fix 为 0。标准 premerge 四项直接检查通过、没有自动选定 canary;前述 54 项测试和真实 CLI 对照另行覆盖实际改动。

我的整体评价 / Verdict

problem_context=goal_achieved:此边界修复了已复现的发布材料定位问题。long_horizon 保持,user_experience 在技能发现/诊断定位上改善;没有测量或宣称长程成本收益。正文逐条比较及实际安装输出支持 observable_semantics=equivalent,不是只凭测试数量作出判断。保留现有跨技能诊断 owner 已足够,不需要复制过程、增加 wrapper 或另建兼容版本;没有新的 opt-in、共享 vocabulary、机器强制义务或权限。

仅修改 Agent 读取的 SKILL.md,没有页面、布局或首屏变化;验证对象是宿主安装和读取路径。 未运行真实模型验证理解,也未升级当前宿主;手工只复制 loopx-project 时仍须另行取得 loopx-self-repair。

English verdict: APPROVE — b2c3d16; the installed diagnostic route is preserved while the out-of-root relative link is removed.

@loopx-agent

Copy link
Copy Markdown
Collaborator

Current main already contains this fix in dfba27d02, which loads loopx-self-repair through installed skill discovery and keeps the diagnostics reference inside the distributed skill. The packaged-skill metadata suite passes 22/22 on current main. Rebasing this branch produces no independent diff, so closing as superseded rather than creating a redundant merge.

@loopx-agent loopx-agent closed this Nov 1, 2026

@songoow songoow left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent; GPT-6 Astra Pro; OpenAI; self_reported.

动机 / Motivation

原三行修复正确,但审查期间已被合并的 #7772 覆盖,建议关闭为 superseded。没有发现新的源码缺陷。

从已安装 LoopX 技能读取诊断指引的 Agent 与维护这些安装包的用户。

遇到缺失路径、截断或未知效果时,旧正文给出越出当前技能目录的相对链接;修改后按已有技能名称发现恢复程序,保留当前捕获与权限刷新顺序。

原补丁的资源边界修复已由实际CLI对照验证;发表前源代码核对确认同一修复已交付到当前主干。

本审查不把文件就绪解释为模型遵从,也不宣称原生平台、完整版本发布或外部运行时已完成验收。

改动思路 / Approach

原安装器继续拥有复制、漂移检查、重复安装和卸载,原 self-repair 文档继续拥有诊断程序。这次在已有正文里修复发现路径,避免复制同一份诊断规则。安装不增加写入、执行、调度或外部发送权限。我比较了不修改、复制资源、复用原技能三个选择;复用既有 owner 的改动最小,也不会增加未来同步负担。#7772 与 #7779 对这一段存在重叠,最新主干已经通过 #7772 保留更明确的“先加载技能,再读取资源”段落。继续合入本PR的等效措辞没有剩余交付目标。

具体改动 / Changes

关键内容讲解

准确审查提交:b2c3d16325ea00e25742b5a8c53229b115451c3c。比较基线:697c8ff3fe0686c38c81e2a051eac245a8747024。核心位置是 诊断段落。本次只有一个三行段落变化。原Markdown链接向上越过本技能根目录;新文字保留targeted-diagnostics及所属loopx-self-repair名称。其前后的同一次捕获复用、批量输出预算、依赖操作顺序、权限刷新和未知效果恢复语义均保留。技能安装器、范围marker、诊断文件与Core代码完全不变。

规范依据:loopx/capabilities/project_skill_delivery/README.md,固定 spec_revision:697c8ff3fe0686c38c81e2a051eac245a8747024。没有使用本PR改写后的规范反向证明实现。

  • Lifecycle:复制完整技能目录,安装读回和卸载保持原生命周期。 disposition=implemented。
  • Authority Boundary:技能交付只改变发现能力,不授予领域权限。 disposition=implemented。
  • Default Discovery And Explicit Project Copies:既有global技能与显式project copy保持各自发现范围。 disposition=implemented。

实际 CLI 在两版本的独立空 Host 中分别完成预览、安装、独立读回、重复安装和卸载,全部退出0。安装正文逐字等于对应 Git blob;原恢复资源 SHA256 均为 a866606c8d439d5d8eb9f4f4d0d739479c113d8aa7a05e61f294dfa72e44be1d。旧版本的跨根链接被独立解析发现,新版本没有该越界资源引用。

对主干的风险 / Risks

发表前已重新读取 #7779 的准确head仍为 b2c3d16325ea00e25742b5a8c53229b115451c3c;#7772已合并到当前主干 a4a0fad889d91cba0d945ce658788bdb76ba351e,直接读回确认同一处跨根链接已消除。GitHub当前报告mergeable=false/dirty,但不建议单纯为消除冲突rebase;当前阻断理由是修复目标已经交付。

PASS:准确头 packaged metadata:22 passed;同一资源断言在基线为1 failed/1 passed;实际CLI两版本各完成5阶段安装生命周期。 这些是本轮实际运行的独立检查;未把作者先前更大的测试数字记作本轮运行。对指令的反例是只删掉坏链接而丢失原恢复义务,因而除了链接测试,还读取了真实安装正文并逐条比较触发条件、捕获复用、权限刷新和避免重复预检的语句。它们没有被弱化。

远端CI做了一次准确提交读取,仍有待运行检查;#7772还观察到checks及chat-bundle-browser1失败,其原因保留为未归因。代码判断由上述当前不变量证据支撑,不能据此称CI全绿或可以立即合并。没有运行付费模型,未验证模型是否遵从文本,也没有资格化原生Windows或整个正式版本。回滚不需要状态迁移。重叠段落的整合属于两个PR之间的维护事项,不构成这一准确head的源码缺陷。

我的整体评价 / Verdict

没有发现这三行修改的新增源码缺陷。原22个定向测试、原基线与准确head的真实五阶段CLI旅程均保持有效,未被改记为最新main的执行结果。当前交付判断为off_goal:最新主干a4a0fad889d91cba0d945ce658788bdb76ba351e已通过#7772消除跨技能根目录链接,且明确先加载self-repair再读资源;本PR无独立剩余修复目标。 建议将#7779关闭为superseded;无需仅为消除冲突rebase,也不要求新增实现或测试。本轮不代作者关闭PR。

long_horizon=preserved,原停止、恢复与权限规则未改变;当前主干已交付同等修复,user_experience=preserved,此PR没有新的可验证用户结果。这是当前交付必要性的判断,不是把正确的原修复认定成代码回归。检查的是安装后的 Markdown 指令与资源发现路径,没有 App 页面结构、布局或控件变化;不要求界面截图。 模型实际遵从、原生 Windows 与正式发布页面渲染未在本轮验证。

English verdict: REQUEST_CHANGES — superseded by merged #7772; recommend closing #7779 without additional implementation or tests.

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

Labels

needs-rebase Mergify: the pull request has merge conflicts with its base branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants