Repository navigation
Description
epic:#3600#1 · hotlong · session_01Q4EjjPXwX1YfHyKJUh4agu
Filing-gate category: ② maintainer-directed task. Maintainer, verbatim (Claude Code session, 2026-11-06), answering the seat's proposals (the card code field and the demo + code namespace; gallery apps prefix every item name, not only objects): 「同意,裸名的问题立决策卡」. Epic: objectstack-ai/cloud#3600.
Blocked-by: #30770
(Serial: both edit docs/qa/scenarios/crm_account_with_contacts.json.)
Problem
The runner (#30746, merged) reads cards namespace-relative against whatever namespace the scaffold declares, so a scored build's names differ between runs and machines, and nothing stops a build from shipping bare non-object names that collide when two gallery apps share an environment. The gallery needs stable, readable, collision-free names.
Ask
- Card field
code: 2–8 lowercase letters, no underscore, unique across all cards. The loader refuses a missing, malformed or duplicate code. Add it to every card underdocs/qa/scenarios/, including cards the devx mid-tier lane lands meanwhile (Scenario library: mid-tier card — 订单到收款 order-to-cash (8–10 问数 + 4–6 write operations, row-scoped personas) #30477, Scenario library: mid-tier card — 请假与假期余额 leave & balances (8–10 问数 + 4–6 write operations, row-scoped personas) #30479, Scenario library: mid-tier card — 资产全生命周期 asset lifecycle (8–10 问数 + 4–6 write operations, row-scoped personas) #30481: coordinate withdomain:devx#1throughNotify: serial). - Namespace
demo+code(e.g.democrm): the runner scaffolds every project with it, in scratch and template modes, and the gallery exporter (Scenario library T8: export verified scenario apps to a new gallery repository — source, run record, auto screenshots and the 8–10 问数 transcripts, rebuilt per release #30349) uses the same namespace. - Every item name carries the namespace prefix, not only objects: the build prompt states the rule, and the scorer reports a bare non-object item name as a Build finding (named per item), so a gallery candidate with one fails the Build half.
- Keep the namespace-relative reading (ruling A on Scenario library T3/T4: local Claude Code runner — Build, Run (问数 + operations per persona over the app's MCP), Iterate — writing run records, zero cloud-billed tokens #30292) for card object names; it now always resolves against
demo<code>.
Out of scope: install-time re-namespacing (framework card filed with this one) and the platform-wide bare-name question (decision card).
Reader: the epic PM of objectstack-ai/cloud#3600 dispatches it after #30770 lands.
Generated by Claude Code
Activity
objectstack-fleet commentedon Nov 6, 2026
epic:#3600#1 · hotlong · session_01Q4EjjPXwX1YfHyKJUh4agu
Handed to the
domain:devxlane. Maintainer, verbatim (Claude Code session, 2026-11-06): 「能交给车队开发的你不要自己开发」.pm:epicis removed so the lane seat claims it from the queue; the epic PM no longer dispatches it. State stayspm:blockedonBlocked-by: #30770; when that card closes, it moves topm:queue(the epic PM sendsNotify: unblocked). The epic PM still answers rulings and cross-repo questions on objectstack-ai/cloud#3600.objectstack-fleet commentedon Nov 6, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p1 kept ·
domain:devx·pm:blocked· 2026-11-06T04:58Z⛔ Not a claim.
demo<code>namespace. A scenario-library card, p1 as filed.Generated by Claude Code
objectstack-fleet commentedon Nov 6, 2026
epic:#3600#1 · hotlong · session_01Q4EjjPXwX1YfHyKJUh4agu
Blocked-by: #30770closed (PR #30801 merged as974209d6).pm:blocked→pm:queuefor thedomain:devxlane.objectstack-fleet commentedon Nov 6, 2026
domain:devx#1 · os-elon-musk · session_016WV4cymvo9YoyLwKCXXBNw
Claim: PM loop round 6
Session:
session_016WV4cymvo9YoyLwKCXXBNwAccount:
os-elon-muskBranch:
claude/project-thread-qy6pqp(the card thread's platform-assigned branch; a measured platform exception toclaude/issue-<n>-<slug>) · card thread sessionsession_016WV4cyKDwJet4nwPKBn5KPWorktree:
objectstack-issue-30795Domain:
domain:devxSeat:
domain:devx#1File surface:
packages/qa/scenarios/src/schema.tsandsrc/loader.ts(thecodefield and its refusals),src/runner/namespace.ts/project.ts/prompts.ts(thedemo<code>namespace and the build prompt's prefix rule),src/score/**(a bare non-object item name as a Build finding), their tests, and thecodeline in every card underdocs/qa/scenarios/.Container & model:
M,mode:thread,model: default tier,effort: xhigh(p1)Clause-②: no — a devx instrument (
@objectstack/scenariosis private, "not a protocol"); no platform door changes.Metadata-protocol: none
Responsibility: n/a — maintainer-directed task (「同意,裸名的问题立决策卡」), handed to this lane by the epic PM (comment 6676503726).
Thread-read: 6677572495
Premise: holds —
Blocked-by: #30770closed (PR #30801 merged as974209d6); the runner (#30746, merged) still reads cards namespace-relative against the scaffold's own namespace.Serial constraints cleared: no open PR touches
packages/qa/scenarios/**ordocs/qa/scenarios/**(checked 2026-11-06T05:19Z). #30802 (claimed by devx seat 3, claim 6677601301) edits the loader and three cards: this card lands AFTER #30802 and merges main before its PR. The mid-tier cards #30477 / #30479 / #30481 named in the body have all landed, so there is noNotify: serialto send.