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
Bare-name phase 2: the namespace-prefix lint warns on every bare non-object name; first-party templates and examples adopt the prefix (ruling C on #30798) #30804
Filing-gate category: ② execution of a maintainer ruling. Decision #30798 ruled C, maintainer verbatim (Claude Code session, 2026-11-06): 「同意 c」: every package-authored metadata name carries its namespace, phased. Routing, verbatim: 「能交给车队开发的你不要自己开发」.
Phase 2 of 3 (lint, templates, examples). It can run in parallel with phase 1.
Problem
The existing naming/namespace-prefix rule (packages/cli/src/commands/lint.ts:319-326) flags only intra-package duplicates, and its message says "Distinct packages may reuse the same name freely; the namespace prefix is an optional convention, not a collision-avoidance requirement". That is now the opposite of the ruled contract. ADR-0048 §5's "[done] lint warns on non-prefixed app/page/dashboard/flow/action/report/dataset" is out of date.
Ask
Re-widen the rule to warn on every bare package-authored top-level name: every type except names derived from a prefixed object (fields, object extensions, container views <object>.<key>) and names already namespaced (translations <ns>_<locale>). Rewrite the message to state the contract and the rename.
Correct ADR-0048 §5's lint bullet in the same PR.
Prefix the names in the first-party templates and examples (examples/*, create-objectstack templates), so a new project starts compliant. Record the before/after count of bare names; it is the migration baseline phase 3 needs.
Out of scope: the published AI-authoring skills (sibling card, domain:skills), refusing at defineStack (phase 3), and the scenario cards (#30795).
Claim: PM loop round 5
Session: session_016WV4cymvo9YoyLwKCXXBNw
Account: os-elon-musk
Branch: claude/project-thread-uogs4i (the card thread's platform-assigned branch; a measured platform exception to claude/issue-<n>-<slug>) · card thread session session_016WV4cyadQ5Zhih2y1GNTQm
Worktree: objectstack-issue-30804
Domain: domain:devx
Seat: domain:devx#1
File surface: PR 1 covers packages/cli/src/commands/lint.ts (naming/namespace-prefix) with its tests, plus the one ADR-0048 §5 lint bullet in docs/adr/0048-cross-package-metadata-collision.md. PR 2 covers the metadata names in examples/* and packages/create-objectstack/src/templates/**, plus the tests and docs that spell those names. Not the published skills (#30805), not defineStack (#30806), not the scenario cards (#30795).
Container & model: M, mode:thread, model: default tier, effort: xhigh (p1). Two PRs: the rule first, then the renames, so the rename PR lands on a rule that already says the contract.
Clause-②: no — the rule stays severity: 'warning', and no door refuses anything new (refusal is phase 3, #30806).
Metadata-protocol: none
Responsibility: execution of maintainer ruling C on #30798 (「同意 c」), routed to the fleet (「能交给车队开发的你不要自己开发」).
Thread-read: none
Premise: holds — on origin/main, naming/namespace-prefix (packages/cli/src/commands/lint.ts ≈ L300–326) still warns only on intra-package duplicates, and its message still says "the namespace prefix is an optional convention".
Serial constraints cleared: no open PR touches packages/cli/src/commands/lint.ts or ADR-0048. Two open PRs touch neighbouring files that PR 2 must not edit until they land or must merge around: #30792 (create-objectstack/src/templates/AGENTS.md, blank/README.md) and #30552 (examples/app-showcase/e2e/global-setup.ts). Checked 2026-11-06T04:25Z. Phase 1 (#30803, domain:engine) runs in parallel by the card's own word.
Activity
objectstack-fleet commentedon Nov 6, 2026
domain:devx#1 · os-elon-musk · session_016WV4cymvo9YoyLwKCXXBNw
Claim: PM loop round 5
Session:
session_016WV4cymvo9YoyLwKCXXBNwAccount:
os-elon-muskBranch:
claude/project-thread-uogs4i(the card thread's platform-assigned branch; a measured platform exception toclaude/issue-<n>-<slug>) · card thread sessionsession_016WV4cyadQ5Zhih2y1GNTQmWorktree:
objectstack-issue-30804Domain:
domain:devxSeat:
domain:devx#1File surface: PR 1 covers
packages/cli/src/commands/lint.ts(naming/namespace-prefix) with its tests, plus the one ADR-0048 §5 lint bullet indocs/adr/0048-cross-package-metadata-collision.md. PR 2 covers the metadata names inexamples/*andpackages/create-objectstack/src/templates/**, plus the tests and docs that spell those names. Not the published skills (#30805), notdefineStack(#30806), not the scenario cards (#30795).Container & model:
M,mode:thread,model: default tier,effort: xhigh(p1). Two PRs: the rule first, then the renames, so the rename PR lands on a rule that already says the contract.Clause-②: no — the rule stays
severity: 'warning', and no door refuses anything new (refusal is phase 3, #30806).Metadata-protocol: none
Responsibility: execution of maintainer ruling C on #30798 (「同意 c」), routed to the fleet (「能交给车队开发的你不要自己开发」).
Thread-read: none
Premise: holds — on
origin/main,naming/namespace-prefix(packages/cli/src/commands/lint.ts≈ L300–326) still warns only on intra-package duplicates, and its message still says "the namespace prefix is an optional convention".Serial constraints cleared: no open PR touches
packages/cli/src/commands/lint.tsor ADR-0048. Two open PRs touch neighbouring files that PR 2 must not edit until they land or must merge around: #30792 (create-objectstack/src/templates/AGENTS.md,blank/README.md) and #30552 (examples/app-showcase/e2e/global-setup.ts). Checked 2026-11-06T04:25Z. Phase 1 (#30803,domain:engine) runs in parallel by the card's own word.