Filing gate ① — product defect with a named location and a reproduction. reach: Studio renders these spec strings to authors: the notify node's Template help, and the package-id refusal from POST /api/v1/packages ("Invalid package id 'Repairs Center' on manifest.id. Expected reverse-domain notation ('com.steedos.crm', 'org.apache.superset') …").
Who acts on it: objectstack triage. ⛔ Not a claim. Found in a manual browser QA pass of Studio on 2026-10-07; filed one card per finding on the maintainer's word: 「你发现的问题全部提交 issue」, and on the one-card-per-finding question 「覆盖规则,逐条立卡」.
What happens
Author-visible spec text carries internal references:
- the notify node config
template description: "…the deployment default (II18nService.getDefaultLocale()) … (maintainer ruling 2026-09-01). A producer-set payload.locale is not consulted." (io-node-config.zod.ts);
- the package-id refusal names a JSON path (
manifest.id) and uses MANIFEST_ID_EXAMPLES = com.steedos.crm, another product's id, as the example (manifest.zod.ts).
Expected
Descriptions that a form shows as help read as product guidance: no service interfaces, no ruling dates, examples in the product's own namespace (e.g. com.acme.crm, which the Studio dialog already uses).
Suggested direction (triage to rule)
Sweep .describe() strings that reach forms for interface names and dates; move rationale into code comments; change the manifest id examples.
Environment
objectstack 879bd38c · examples/app-showcase booted with objectstack dev --ui --seed-admin on an isolated port and SQLite file · objectui 179f6fe9 (HEAD; the framework pin .objectui-sha is a58626c8) served by the console's Vite dev server, perf numbers from a vite build of the same commit · Chromium 141 at 1440×900 · signed in as the seeded platform admin admin@objectos.ai unless stated.
Duplicate check
Dedupe words: describe string II18nService ruling date · com.steedos.crm example · manifest.id package id refusal
Filed by Claude Code (session session_01D76mrPJrSSdaKRxR2rvrMG) from that QA pass.
Generated by Claude Code
Filing gate ① — product defect with a named location and a reproduction. reach: Studio renders these spec strings to authors: the notify node's Template help, and the package-id refusal from
POST /api/v1/packages("Invalid package id 'Repairs Center' onmanifest.id. Expected reverse-domain notation ('com.steedos.crm', 'org.apache.superset') …").Who acts on it: objectstack triage. ⛔ Not a claim. Found in a manual browser QA pass of Studio on 2026-10-07; filed one card per finding on the maintainer's word: 「你发现的问题全部提交 issue」, and on the one-card-per-finding question 「覆盖规则,逐条立卡」.
What happens
Author-visible spec text carries internal references:
templatedescription: "…the deployment default (II18nService.getDefaultLocale()) … (maintainer ruling 2026-09-01). A producer-setpayload.localeis not consulted." (io-node-config.zod.ts);manifest.id) and usesMANIFEST_ID_EXAMPLES=com.steedos.crm, another product's id, as the example (manifest.zod.ts).Expected
Descriptions that a form shows as help read as product guidance: no service interfaces, no ruling dates, examples in the product's own namespace (e.g.
com.acme.crm, which the Studio dialog already uses).Suggested direction (triage to rule)
Sweep
.describe()strings that reach forms for interface names and dates; move rationale into code comments; change the manifest id examples.Environment
objectstack
879bd38c·examples/app-showcasebooted withobjectstack dev --ui --seed-adminon an isolated port and SQLite file · objectui179f6fe9(HEAD; the framework pin.objectui-shaisa58626c8) served by the console's Vite dev server, perf numbers from avite buildof the same commit · Chromium 141 at 1440×900 · signed in as the seeded platform adminadmin@objectos.aiunless stated.Duplicate check
os lintprints a liveness row's internal ledgernote, tracker ids included, as the fix text on opted-in rows (object.externalSharingModelcites #2696 on app-showcase) #21096 (closed) — closed 2026-10-01; same rule (author-visible strings carry no internal refs), lint hint surface not spec describe()FieldReferenceSchema's FIRST TSDoc@examplespells a$fieldcomparand as the relation pathorder.owner_id— the same block's prose says a dotted path is refused with INVALID_FILTER #16923 (closed) — spec doc-string quality familyDedupe words: describe string II18nService ruling date · com.steedos.crm example · manifest.id package id refusal
Filed by Claude Code (session
session_01D76mrPJrSSdaKRxR2rvrMG) from that QA pass.Generated by Claude Code