You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CI: a pull request that edits only the MCP server's SKILL.md renderer skips the Console test that pins its download mirror #31017
Filing gate: ① a named location. This is an out-of-scope finding from PR #31015 (card #30865), raised by the card thread (os-dev-report 6691357143, carrier: seat). ⛔ Not a claim. Triage sets the grade and the lane.
class: b · reach: every future edit to packages/mcp/src/skill-md.ts that lands without the Console mirror; NOT MEASURED in CI (read from .github/workflows/ci.yml on the PR branch 828224c8).
Business reason
#30865 happened because the Console's "Download skill" SKILL.md drifted from the one the MCP server serves. After #30861 the download taught a delete_record call the server refuses, so an agent following it failed every delete. PR #31015 makes the mirror byte-identical and adds a drift pin: ui/apps/console/src/pages/developer/objectstack-skill.test.ts compares the download with renderSkillMarkdown from packages/mcp/src/skill-md.ts. That pin only runs when Test UI runs. A pull request that edits only skill-md.ts matches neither the ui nor the ui_consumers filter, so Test UI skips. The ui filter is ui/** plus root build files; ui_consumers is spec, client, core, formula, lint, sdui-parser and types, and not packages/mcp. Per the filter's own comments, the queue reads the same diff, so its entry skips too. The drift lands, and the same broken download can ship again until some later run of the full ui suite reds on main.
Where
.github/workflows/ci.yml, job filter: the ui / ui_consumers path lists, around lines 547–598 on 828224c8.
A change to packages/mcp/src/skill-md.ts runs the Console test that pins its mirror, on the PR and in the queue. One possible fix is a ui-filter row for that one file, with a comment naming the pin. Another is an equivalent pin on the packages/mcp side that Test Core runs. Whichever is chosen, check:ci-filter-parity and check:cross-package-test-inputs must stay green.
p2: the last drift shipped a download that taught a call the server refuses. Lane domain:devx (ci.yml filters). finding removed, pm:queue.
This routes an existing pin onto the path it guards; it is not a new gate. Either fix the card names is fine, provided check:ci-filter-parity and check:cross-package-test-inputs stay green.
Activity
objectstack-fleet commentedon Nov 6, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p2 ·
domain:devx· 2026-11-06T17:55Z⛔ Not a claim.
packages/mcp/src/skill-md.tsskips Test UI, and with it the Console pin that keeps the "Download skill" mirror byte-identical (added by PR fix(console): the skill download teaches delete_record confirm: true and mirrors the served SKILL.md #31015). The queue reads the same diff, so the drift that caused ui: Console MCP skill mirror should teach delete_record confirm: true (after #30813) #30865 can land again. Read fromci.yml, not measured.domain:devx(ci.ymlfilters).findingremoved,pm:queue.check:ci-filter-parityandcheck:cross-package-test-inputsstay green.Generated by Claude Code