[ISSUE #15345] Return skill front matter in list response#15508
[ISSUE #15345] Return skill front matter in list response#15508jay666mnj wants to merge 4 commits into
Conversation
|
Thanks for your this PR. 🙏 感谢您提交的PR。 🙏 |
|
已补充文档 PR:文档 PR 链接为docs: update skill list front matter response by jay666mnj · Pull Request #1130 · nacos-group/nacos-group.github.io
原始邮件
发件人:github-actions[bot] ***@***.***>
发件时间:2026年7月14日 23:05
收件人:alibaba/nacos ***@***.***>
抄送:yijie zhao ***@***.***>, Author ***@***.***>
主题:Re: [alibaba/nacos] [ISSUE #15345] Return skill front matter in list response (PR #15508)
github-actions[bot] left a comment (alibaba/nacos#15508)
Thanks for your this PR. 🙏
Please check again for your PR changes whether contains any usage/api/configuration change such as Add new API , Add new configuration, Change default value of configuration.
If so, please add or update documents(markdown type) in docs/next/ for repository nacos-group/nacos-group.github.io
感谢您提交的PR。 🙏
请再次查看您的PR内容,确认是否包含任何使用方式/API/配置参数的变更,如:新增API、新增配置参数、修改默认配置等操作。
如果是,请确保在提交之前,在仓库nacos-group/nacos-group.github.io中的docs/next/目录下添加或更新文档(markdown格式)。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you authored the thread.
|
KomachiSion
left a comment
There was a problem hiding this comment.
I don't think current implementation is good design.
If we query for a big page, the original list query only query the resource table and handle it.
But after the change, each skill will query two more: one version and query all skill data to get the frontmatter. which cost so many and get a small frontmatter.
I suggest to redesign for this before you do coding.
be14f5a to
94ae27a
Compare
|
Thanks for pointing this out. I have redesigned the implementation and updated the PR.
The list query no longer performs extra version or storage queries for each skill. Instead, the SKILL.md front matter is parsed and cached into ai_resource.ext when a skill draft is created or updated.
The list API now reads frontMatter directly from meta.ext, so it avoids the N+1 query issue in the previous implementation.
I have also synced with the latest develop branch and resolved the conflicts.
Verified with:
./mvnw.cmd --% -pl api,ai -am -Dtest=SkillOperationServiceImplTest#testListSkillsSuccessfully -Dsurefire.failIfNoSpecifiedTests=false -DskipITs test
Result: Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
原始邮件
发件人:杨翊 SionYang ***@***.***>
发件时间:2026年7月15日 10:04
收件人:alibaba/nacos ***@***.***>
抄送:yijie zhao ***@***.***>, Author ***@***.***>
主题:Re: [alibaba/nacos] [ISSUE #15345] Return skill front matter in list response (PR #15508)
@KomachiSion requested changes on this pull request.
I don't think current implementation is good design.
If we query for a big page, the original list query only query the resource table and handle it.
But after the change, each skill will query two more: one version and query all skill data to get the frontmatter. which cost so many and get a small frontmatter.
I suggest to redesign for this before you do coding.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you authored the thread.
|
|
Thanks for redesigning the implementation. Reading front matter directly from However, the cached data lifecycle is not complete yet:
I suggest storing the corresponding Please also add lifecycle and large-page tests that verify:
Additionally, the current PR fails |
|
Thanks for the detailed review. I have updated the implementation according to your suggestions. The list API still reads frontMatter only from ai_resource.ext and does not perform per-item version-table or storage queries. I added frontMatterVersion into ext and refreshed the cached display metadata during lifecycle transitions, including publish, force publish, draft deletion, redraft, and bootstrap. Draft create/update with an existing latest version no longer exposes unpublished front matter. For legacy skills without cached frontMatter, the list API may return frontMatter = null until a later lifecycle transition or bootstrap repair, and it will not do lazy per-item backfill in the list path. I also changed bumpMetaDescriptionAndExt to fail explicitly when CAS retries are exhausted, added lifecycle/large-page/legacy/bootstrap tests, updated the skill spec and Admin/Console OpenAPI IT scenarios, and fixed the SkillSummary spotless issue. |
|
Thanks for the update. The list hot path now avoids per-item version/storage queries, and the display-version lifecycle is improved. However, there are still several blockers:
Please restart the whole display-version calculation on CAS conflict, or update the lifecycle state and corresponding cache atomically. The list path can also compare
I also ran the complete related unit tests:
Please also update the Admin/Console API scenario matrices and coverage registry for the changed response contract, and clean up the unrelated whitespace churn and corrupted So I prefer to discuss full solution before you do PR. We can discuss in issue first. Can you submit one design plan spec into issue first, we disscuss it first. |
What is the purpose of the change
Fixes #15345
Support returning front matter parsed from SKILL.md in the skill list response, so the console can display metadata such as alias and other custom fields.
Brief changelog
frontMattertoSkillSummary.Verifying this change
git diff --checkmvn -pl ai -am "-Dtest=SkillOperationServiceImplTest#testListSkillsSuccessfully" "-Dsurefire.failIfNoSpecifiedTests=false" testResult:
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0.