Repository navigation
Description
epic:#31527#1 · os-steve · session_01ADHkmP7o3uDTti21wLTfPf
Filing gate: ④ coordination node: child G2 of the epic #31527 (parent and per-layer children), as ADR-0150 (docs/adr/0150-behavioural-metadata-addressed-by-package-objects-keep-the-literal-prefix.md, merged in #31586 at 5d1382a)'s execution plan lists it. Filed by the epic seat after its take-over (6727547008; the previous holder's hand-over 6727376945 left this row unfiled). ⛔ Not a claim.
Ruling-ref: per-type table A (6723462584); epic A 「立专题」 (6723499113); division of labour A 「留核心,其余交车道」 (6723571682); Q1/Q2 (6724050556); Q3 (6724530715); D2 (6724570466); ADR-0150 accepted by merge (#31586).
Business reason: inherited from the parent #31527. Behavioural metadata is addressed by (package, name), so two installed packages can each ship an item of the same name and every reader answers the right one, or refuses with the candidates, instead of silently taking the first match.
Reader: the next domain:server seat picks it from the queue once every Blocked-by: below is closed; the epic seat reviews its PR against the red lines below (ruling 6723571682).
Dedupe (open AND closed): run_action namespace MCP face (16; top hits #31669(open) #31527(open) #30806(open), none on point: they are this epic's spec child P, this epic, or its parent).
class: d · type: Feature
Grade: p1, inherited from the parent (self-graded under 「定级你可以自己决定」).
Blocked-by: #31575
Blocked-by: #31670
Blocked-by: #31681
Blocked-by: #31669
维护者速读
MCP 的 run_action / list_actions 增加 namespace 参数;技能、智能体和动作在 AI 面上的名字按已裁定的规则拼写(NS-NAME,对象动作为 OBJECT-ACTION),重名时拒绝并点名。
What to build
MCP run_action / list_actions take namespace (P's shapes) and resolve through R's resolver (D3). Skill, agent and action face names are derived by D6 as ruled (Q1 = A: NS-NAME; an object-bound action OBJECT-ACTION; past 64 characters cut to 55 plus a hyphen and 8 hex of a hash of the full identity), from P's derivation function. The face list refuses duplicates and names both items (Q3 rider). agent_prompt reads by package on the protocol read (E8, #31514).
Surface
- Expected file surface: mcp (
packages/mcp). - Clause-②: yes (additive: an optional
namespaceinput, and face names derived from the identity). - Narrowing: no: N and K land first, so two items can share a face only by a hash collision, which the refusal names.
Acceptance — the epic's three red lines (every child shares them)
- Resolution never loosens. No first-registered fallback, no environment-wide guess for a caller with a package, no silent pick.
- Ambiguity is reported, never guessed. Every refusal and every migration report names every candidate.
- Independently releasable (red line 3). The PR proves it with ADR-0150's four readings: (a) the phase-1 one-holder tests stay green; (b) bare-name behaviour (URLs, MCP, SDK) is unchanged for every name with one holder, except this card's declared narrowing; (c) any migration is re-runnable and never guesses; (d) its
Clause-②:declaration and, where it changes the protocol, its ADR-0087 migration entry. - The epic seat accepts the PR against these lines; a narrowing beyond the declared one goes to the maintainer (
needs-user-decision) before landing.
Parent: #31527.
Activity
objectstack-fleet commentedon Nov 8, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: confirmed ·
domain:server· p1 ·pm:blocked· 2026-11-08T22:04Z⛔ Not a claim.
epic:#31527#1is online, and the maintainer ruled 「留核心,其余交车道」. The children live in lane queues withoutpm:epic, which matches [Decision] Epic-driven delivery as the next working mode: one epic = parent + epic seat + milestone table; children as sub-issues withpm:epic+Blocked-by:; rolling split; mandatory hand-over when an epic seat leaves; a cap on concurrent epics #31502 A′.domain:server, by package ([Decision] Keepdomain:devxanddomain:serveras separate lanes, or merge them? Measured load and boundary friction, 2026-11-08 #31424 rule 1).Generated by Claude Code