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
Quickstart "Add your own object" does not work as written: the task object is never loaded, and once exported the build refuses its name for a missing namespace prefix #327
Filing gate: ① — a product defect with a named landing point and a reproduction.
Reader: the repo:objectos PM seat (objectstack-ai/objectstack#9831). It dispatches this card after PR #326 lands, because both touch content/docs/quickstart.mdx.
Dedupe: every objectos issue, open and closed (117), grepped for Add your own object, namespace prefix, my_app_task, Project layout and src/objects/index.ts → 0 hits. Semantic search over objectos for the same words → 0.
Priority: P1. This is the first edit a new developer makes on the page they start from, and as written it does not produce the object the page promises.
What the page says
content/docs/quickstart.mdx, section "Add your own object": edit src/objects/task.ts with an ObjectSchema.create({ name: 'task', … }), save, "and you immediately have" /api/v1/data/task, a Task view, permission rows and audit entries.
What happens
Measured by the dev on #141 (PR #326, report comment 6124049071, out-of-scope finding 2). The seat has not re-run it. The scaffold is a fresh os init my-app -t app --install, and the build is pnpm build (= objectstack compile).
With src/objects/task.ts written as published, the compile reports Data: 1 Objects 3 Fields. The task object is never loaded, because the scaffold collects objects through the src/objects/index.ts barrel. So /api/v1/data/task cannot exist.
After export { Task as task } from './task' is added to that barrel, the build exits 2 with: ✗ Object 'task' is missing the package namespace prefix. Rename it to 'my_app_task' (namespace = 'my_app')
The result is identical on @objectstack/cli17.5.0 (date-bounded control scaffold) and 17.7.0, so this is not a regression of the latest publish.
CI's Docs code samples parse gate passes this block (quickstart.mdx:237 PASS) because it checks that the sample parses, not that it loads.
Same section family, same file
"Project layout" lists only src/objects/ under src/. The 17.7.0 scaffold has eight barrels under src/: actions, apps, dashboards, flows, objects, picklists, skills and views. At 17.5.0 there were seven.
Done looks like
Following "Add your own object" literally, on the CLI latest at dispatch time, yields a loaded object and a working data endpoint. Measured: the compile counts it, and a boot answers the endpoint the page names.
The page's object name, its barrel step (if one is needed) and the endpoint path all agree with what the compile accepts. The namespace rule is stated the way the CLI states it.
The "Project layout" tree matches the scaffold at that version.
Every claim in the section's bullet list ("A Task view", "Permission rows in Setup", "Audit log entries") is either measured on that boot or removed. ⛔ None is carried forward unmeasured.
Surface
content/docs/quickstart.mdx only ("Add your own object" and "Project layout"). It has no locale siblings.
Claim: PM loop, repo:objectos seat, R1
Session: session_01CXCwzqwMhkphKoBC11oPSz
Account: os-tesla (the seat's linked user as GET /user answers it; always the card's assignee)
Branch: claude/issue-327-quickstart-own-object
Worktree: objectos-issue-327
Domain: n/a (single-lane repo)
Seat: repo:objectos (objectstack-ai/objectstack#9831)
File surface: content/docs/quickstart.mdx only ("Add your own object" and "Project layout"); no locale siblings. Stop on breach and explain in the report.
Container & model: M, mode:subagent, model: opus (default tier; dispatch-gates.mjs --tier --repo objectstack-ai/objectos answers "no path-derived mandate")
Clause-②: no
Responsibility: this docs page produces the risk (objectos content/docs/quickstart.mdx) · the platform path already covers it: the CLI's own namespace refusal names the fix (Rename it to 'my_app_task') · every new developer following the quickstart reaches it today
Thread-read: none
Serial constraints cleared: PR #326 (quickstart.mdx) merged as 76988da. #141 (pm:on-hold, same file) is not in flight. In-flight #328 and #330 do not touch quickstart.mdx, and PR #331 (#329) does not either. The five open PRs are Dependabot bumps, none on content/docs/**.
Seat note · 2026-10-16T04:38Z: the dev for this card stopped on the account usage limit before pushing anything; branch claude/issue-327-quickstart-own-object is still at 76988da. The claim 6193059682 stands. The same dev resumes when a batch slot frees; no second dev is dispatched.
{
"issue": 327,
"status": "done",
"branch": "claude/issue-327-quickstart-own-object",
"pr": "https://github.com/objectstack-ai/objectos/pull/336",
"session": "session_01CXCwzqwMhkphKoBC11oPSz — this run's harness-stamped id (Claude-Session trailer on each commit)",
"premise_still_valid": true,
"final_commit": "8cf78f7c1a7422691f350dcb2bed670190162bb1",
"summary": "All three numbered findings reproduced on @objectstack/cli 17.7.0 (npm latest; 53/53 @objectstack at 17.7.0). (1) The published task.ts compiles to 'Data: 1 Objects 3 Fields', and on a running pnpm dev GET /api/v1/data/task answers 404 OBJECT_NOT_FOUND. (2) The barrel export makes the build exit 2 on the namespace prefix. (3) The PM's unverified premise also holds: renamed to my_app_task without sharingModel, the build exits 1 (rule security-owd-unset). There was also no task.ts to edit, because the scaffold ships src/objects/my_app_item.object.ts. The section now creates src/objects/task.object.ts with name my_app_task and sharingModel 'private'. The barrel line, the same one 'objectstack generate object task' writes, is given inline because the doc-samples gate refuses a re-export ts block. The namespace rule is quoted as the CLI prints it, and the section adds a sign-in plus CRUD curl block, which was run verbatim. Each bullet was measured on a 17.7.0 boot and rewritten from it: endpoint /api/v1/data/my_app_task (401 without a session; POST, GET, PATCH and DELETE work, as do where, orderBy, limit and offset); the generated list, form and record page (unlinked, because the scaffold declares no app; reached at /_console/apps/setup/my_app_task); a Task row in the permission-set editor, per set, since Setup has no Roles; audit rows for create, update and delete under Setup, Audit Logs. 'No code generation / No restarting' became the measured sentence: the server restarts itself. Project layout lists the 8 barrels plus pnpm-workspace.yaml and .objectstack/. CI is fully green on the head, including the render smoke and the size budget.",
"tests": "Reproduction (scratchpad, never in a repo checkout). CLI 17.7.0 installed via npm under the verify lock; scaffold s1 = os init my-app -t app --install (2026-10-15, npm, 49 author-time rules). E1, published task.ts: pnpm build exit 0, 'Data: 1 Objects 3 Fields', artifact objects [my_app_item]. E2, plus barrel export: exit 2, refusal 'Object 'task' is missing the package namespace prefix. Rename it to 'my_app_task' (namespace = 'my_app').' E3, renamed, no sharingModel: exit 1, rule security-owd-unset. E4, plus sharingModel: exit 0, 'Data: 2 Objects 7 Fields'. Boot 1 (s1, pnpm dev, fresh HOME, env -i): published task.ts gave GET /api/v1/data/task 404; bad barrel gave the watcher's '✗ compile failed (2702ms)' with no reason; corrected file alone gave 404 my_app_task; the barrel line printed '✚ new object(s): my_app_task — table & seeds sync on restart' and GET returned 200. CRUD: POST 201 x3, PATCH 200, GET 200, DELETE 200; where/orderBy/limit/offset returned 1/2/1 rows as asked. sys_audit_log for my_app_task: create x3, update, delete. Browser (Playwright, /opt/pw-browsers/chromium): list, New form (Subject, Done, Due, Assignee) and record page at /_console/apps/setup/my_app_task; 4 app-neutral routes redirect to home; permission-set designer Task (my_app_task) row in 3/3 sets; Setup Audit Logs list shows the 5 task rows. Boot 2 (fresh scaffold s6, npm_config_before=2026-10-15T14:00Z because unbounded installs now fail, 53/53 at 17.7.0, src and config byte-identical to s1): page blocks extracted from the MDX (cmp-equal at head) and applied in order; same recompile, '✚ new object(s)' and restart lines; unauthenticated GET 401; the page's curl block run verbatim exit 0 (sign-in 200, create 201, list 200); pnpm build 'Data: 2 Objects 7 Fields' and pnpm validate passed; the stated click path Setup, Permission Sets, Member, Design in Studio shows the Task row; Audit Logs sidebar shows 4 task rows; bad name gave the watcher '✗ compile failed (2497ms)' while pnpm build printed the refusal (exit 2). Docs render: next start of the built site; Chromium at 1300 and 390 px: 0 page errors, 0 px horizontal overflow. Built en/docs/quickstart.html: my_app_task 16, 'Every object.name must be' 2, 'per role' 0, 'No code generation' 0. No ablation applies (docs only).",
"gates": [
{
"gate": "os-verify-lock + pnpm turbo run type-check --force --concurrency=2 --continue",
"sha": "8cf78f7",
"exit": 0,
"verdict": "VERDICT command-exit 0 · held 7s · Tasks: 1 successful, 1 total · Cached: 0 cached, 1 total"
},
{
"gate": "os-verify-lock + pnpm turbo run build --force --concurrency=2",
"sha": "8cf78f7",
"exit": 0,
"verdict": "VERDICT command-exit 0 · held 55s · Tasks: 1 successful, 1 total · Cached: 0 cached, 1 total"
},
{
"gate": "os-verify-lock + pnpm turbo run test --force --concurrency=2",
"sha": "8cf78f7",
"exit": 0,
"verdict": "✓ 11 self-test(s) passed · Cached: 0 cached, 1 total"
},
{
"gate": "os-verify-lock + npm ci --prefix .github/scripts/doc-samples --ignore-scripts --no-audit --no-fund",
"sha": "6180b71 (install; tree unchanged since)",
"exit": 0,
"verdict": "added 3 packages"
},
{
"gate": "node .github/scripts/check-doc-samples.mjs",
"sha": "8cf78f7",
"exit": 0,
"verdict": "✓ doc samples: every ts/js block on 79 English page(s) parses with @objectstack/spec 17.7.0 · 98 pass · 10 not a spec sample · 2 opted out (quickstart.mdx:244 PASS). On d551a66 it exited 1: FAIL quickstart.mdx:269 Unexpected token export (barrel block), fixed in 6180b71"
},
{
"gate": "node apps/docs/scripts/gen-zh-hant.mjs --check",
"sha": "8cf78f7",
"exit": 0,
"verdict": "✓ zh-Hant: 54 generated file(s) match the zh-Hans sources byte for byte."
},
{
"gate": "node .github/scripts/check-locale-surface.mjs",
"sha": "8cf78f7",
"exit": 0,
"verdict": "✓ every advertised URL has a source file and every source file is advertised; …"
},
{
"gate": "node .github/scripts/check-positioning.mjs",
"sha": "8cf78f7",
"exit": 0,
"verdict": "✓ positioning: 4 copies equal their constants; the brand is right in 659 pages and 2 llms bodies; no stale sentence in 79 English sources …"
},
{
"gate": "node .github/scripts/check-search-locales.mjs",
"sha": "8cf78f7",
"exit": 0,
"verdict": "✓ search locales: all 8 locales answer 200 …"
},
{
"gate": "node .github/scripts/check-translations.mjs",
"sha": "8cf78f7",
"exit": 0,
"verdict": "✓ translations gate passed"
},
{
"gate": "node .github/scripts/check-translation-output.mjs --self-test",
"sha": "8cf78f7",
"exit": 0,
"verdict": "✓ self-test: 29 rule case(s), 9 split case(s) and 5 derived-locale case(s) …"
},
{
"gate": "node .github/scripts/check-translation-ownership.mjs --actor 'objectstack-fleet[bot]' --files changed.txt (git diff --name-status --no-renames origin/main...HEAD = 'M content/docs/quickstart.mdx')",
"sha": "8cf78f7",
"exit": 0,
"verdict": "This PR touches 0 translation artifact(s) and 1 other file(s)."
},
{
"gate": "node .github/scripts/check-translation-output.mjs --files changed-output.txt",
"sha": "8cf78f7",
"exit": 0,
"verdict": "✓ translation output gate passed (213 pre-existing finding(s) reported)"
},
{
"gate": "control-byte scan grep -naP on quickstart.mdx and the PR body",
"sha": "8cf78f7",
"exit": 1,
"verdict": "no hits (grep exit 1)"
},
{
"gate": "CI check-run 'build' (116822515182, run 38854401129)",
"sha": "8cf78f7",
"exit": null,
"verdict": "completed success; steps: Docs code samples parse, zh-Hant, type-check, build, Locale surface, Positioning, Search, test, Package the Worker, Worker bundle fits the size budget, The docs site renders smoke-check — all success"
},
{
"gate": "CI check-run 'Node floor' (116822515377)",
"sha": "8cf78f7",
"exit": null,
"verdict": "completed success"
},
{
"gate": "CI check-run 'Ownership & freshness' (116822515181)",
"sha": "8cf78f7",
"exit": null,
"verdict": "completed success"
},
{
"gate": "CI check-run 'Deploy docs' (116823144770)",
"sha": "8cf78f7",
"exit": null,
"verdict": "completed skipped (pull request)"
}
],
"line_budget": "content/docs/quickstart.mdx: +62 / -14 (git diff --numstat 76988da 8cf78f7 = '62 14'); one file, no other path touched",
"files_changed": [
{
"path": "content/docs/quickstart.mdx",
"additions": 62,
"deletions": 14
}
],
"mcp_calls": "0 — no MCP GitHub tool called",
"api_writes": "3 REST writes through 2 fleet-write relay dispatches (POST /repos/objectstack-ai/objectstack/dispatches): POST /repos/objectstack-ai/objectos/pulls (draft #336), POST /repos/objectstack-ai/objectos/issues/336/assignees (os-tesla), POST /repos/objectstack-ai/objectos/issues/327/comments (this report). Plus git push x4 (empty-branch probe, 3 commits); 0 label, 0 card-assignee, 0 PR-body edits, 0 merges, not marked ready",
"deviations": [
"The dev-server boots ran outside the verify lock: a long-lived server holding the lock would starve the queue. Scaffolds, installs, every pnpm build or validate, and the turbo runs went through it.",
"The barrel line is inline code, not a ts block. The doc-samples gate refused the re-export block (FAIL :269, Unexpected token export) on d551a66.",
"Boot 2's scaffold was date-bounded (npm_config_before=2026-10-15T14:00Z): unbounded npm installs fail 3/3 today (out_of_scope_findings[1]). Its @objectstack tree is 53/53 at 17.7.0, and src and config are byte-identical to the unbounded 2026-10-15 scaffold.",
"Commit trailers are model-free (Co-Authored-By: Claude, plus a Claude-Session trailer), per the os-dev contract, which outranks the harness reminder's model-named line.",
"One sign-in response on boot 1 printed a throwaway local dev-server session token to the transcript. It is not an environment variable, and that server is stopped.",
"One Artifact publish call with an empty edits array was refused by input validation; nothing was published.",
"This run paused overnight on the account usage limit (seat note 6208204714) and resumed from the same worktree; origin/main was still 76988da on resume."
],
"open_questions": [],
"out_of_scope_findings": [
"class: a · reach: public door pnpm dev on a fresh 17.7.0 os init scaffold, saving an object the compile refuses. The watcher prints only '✗ compile failed (2702ms)' / '(2497ms)' with no reason (2/2 boots), while pnpm build on the same tree prints the refusal and exits 2 · evidence: objectstack compile writes the refusal to stdout (10 stdout lines including it, 0 stderr bytes); the watcher spawns compile with stdio ignore/ignore/pipe (objectstack 54770208 packages/cli/src/commands/dev.ts:931-938, read from source; main's print path for this refusal not measured). Lands in objectstack (packages/cli dev watcher or compile's error stream). The quickstart now tells readers to run pnpm build · dedupe words: compile failed no reason, objectstack dev watcher stderr, watch-recompile swallows error, dev.ts spawnSync compile stdio",
"class: a · reach: public door npx @objectstack/cli init my-app -t app --install, Path B's first command (CLI auto-picks npm under npx). Exit 2 'Project scaffolded, but dependency installation failed' after 'npm error Cannot read properties of null (reading 'edgesOut')' · evidence: 3/3 today (2026-10-16, npm 10.9.4, node 22.22.0), including one with an empty npm cache; arborist stack at build-ideal-tree.js #loadPeerSet right after fetching vitest's peer chain (jsdom, canvas); npm_config_before=2026-10-15T14:00Z and 14:40Z both succeed (522 packages); a 2026-10-15T13:22Z unbounded install succeeded. The trigger is a publish after 14:40Z, consistent with vitest 4.1.12 (14:51Z), the newest match for @objectstack/metadata-core 17.7.0's optional peer vitest ^4.0.0; not isolated further. Lands upstream (objectstack metadata-core's peer declaration, or npm), not objectos · dedupe words: edgesOut, loadPeerSet, os init install failed npm, metadata-core vitest peer, vitest 4.1.12",
"carrier: 承接者:无 · noted in PR #336 Acceptance notes, not filed · the scaffold .gitignore (node_modules/, dist/, *.tsbuildinfo) does not ignore .objectstack/, where pnpm dev writes its SQLite databases; objectstack main init.ts:1309 writes the same file",
"carrier: 承接者:无 · noted in PR #336 Acceptance notes, not filed · quickstart 'What's running' table (line 90) says Setup holds 'users, roles, …'; the 17.7.0 Setup sidebar lists Positions and Permission Sets and no Roles entry; outside this card's two sections",
"carrier: 承接者:无 · noted in PR #336 Acceptance notes, not filed · the doc-samples gate cannot judge a barrel re-export written as a ts block, so barrel lines go inline on doc pages"
]
}
Activity
objectstack-fleet commentedon Oct 15, 2026
Claim: PM loop,
repo:objectosseat, R1Session:
session_01CXCwzqwMhkphKoBC11oPSzAccount:
os-tesla(the seat's linked user asGET /useranswers it; always the card's assignee)Branch:
claude/issue-327-quickstart-own-objectWorktree:
objectos-issue-327Domain: n/a (single-lane repo)
Seat:
repo:objectos(objectstack-ai/objectstack#9831)File surface:
content/docs/quickstart.mdxonly ("Add your own object" and "Project layout"); no locale siblings. Stop on breach and explain in the report.Container & model:
M,mode:subagent,model: opus(default tier;dispatch-gates.mjs --tier --repo objectstack-ai/objectosanswers "no path-derived mandate")Clause-②: no
Responsibility: this docs page produces the risk (objectos
content/docs/quickstart.mdx) · the platform path already covers it: the CLI's own namespace refusal names the fix (Rename it to 'my_app_task') · every new developer following the quickstart reaches it todayThread-read: none
Serial constraints cleared: PR #326 (
quickstart.mdx) merged as76988da. #141 (pm:on-hold, same file) is not in flight. In-flight #328 and #330 do not touchquickstart.mdx, and PR #331 (#329) does not either. The five open PRs are Dependabot bumps, none oncontent/docs/**.Generated by Claude Code
objectstack-fleet commentedon Oct 16, 2026
Seat note · 2026-10-16T04:38Z: the dev for this card stopped on the account usage limit before pushing anything; branch
claude/issue-327-quickstart-own-objectis still at76988da. The claim6193059682stands. The same dev resumes when a batch slot frees; no second dev is dispatched.Generated by Claude Code
objectstack-fleet commentedon Oct 16, 2026
os-dev-report
{ "issue": 327, "status": "done", "branch": "claude/issue-327-quickstart-own-object", "pr": "https://github.com/objectstack-ai/objectos/pull/336", "session": "session_01CXCwzqwMhkphKoBC11oPSz — this run's harness-stamped id (Claude-Session trailer on each commit)", "premise_still_valid": true, "final_commit": "8cf78f7c1a7422691f350dcb2bed670190162bb1", "summary": "All three numbered findings reproduced on @objectstack/cli 17.7.0 (npm latest; 53/53 @objectstack at 17.7.0). (1) The published task.ts compiles to 'Data: 1 Objects 3 Fields', and on a running pnpm dev GET /api/v1/data/task answers 404 OBJECT_NOT_FOUND. (2) The barrel export makes the build exit 2 on the namespace prefix. (3) The PM's unverified premise also holds: renamed to my_app_task without sharingModel, the build exits 1 (rule security-owd-unset). There was also no task.ts to edit, because the scaffold ships src/objects/my_app_item.object.ts. The section now creates src/objects/task.object.ts with name my_app_task and sharingModel 'private'. The barrel line, the same one 'objectstack generate object task' writes, is given inline because the doc-samples gate refuses a re-export ts block. The namespace rule is quoted as the CLI prints it, and the section adds a sign-in plus CRUD curl block, which was run verbatim. Each bullet was measured on a 17.7.0 boot and rewritten from it: endpoint /api/v1/data/my_app_task (401 without a session; POST, GET, PATCH and DELETE work, as do where, orderBy, limit and offset); the generated list, form and record page (unlinked, because the scaffold declares no app; reached at /_console/apps/setup/my_app_task); a Task row in the permission-set editor, per set, since Setup has no Roles; audit rows for create, update and delete under Setup, Audit Logs. 'No code generation / No restarting' became the measured sentence: the server restarts itself. Project layout lists the 8 barrels plus pnpm-workspace.yaml and .objectstack/. CI is fully green on the head, including the render smoke and the size budget.", "tests": "Reproduction (scratchpad, never in a repo checkout). CLI 17.7.0 installed via npm under the verify lock; scaffold s1 = os init my-app -t app --install (2026-10-15, npm, 49 author-time rules). E1, published task.ts: pnpm build exit 0, 'Data: 1 Objects 3 Fields', artifact objects [my_app_item]. E2, plus barrel export: exit 2, refusal 'Object 'task' is missing the package namespace prefix. Rename it to 'my_app_task' (namespace = 'my_app').' E3, renamed, no sharingModel: exit 1, rule security-owd-unset. E4, plus sharingModel: exit 0, 'Data: 2 Objects 7 Fields'. Boot 1 (s1, pnpm dev, fresh HOME, env -i): published task.ts gave GET /api/v1/data/task 404; bad barrel gave the watcher's '✗ compile failed (2702ms)' with no reason; corrected file alone gave 404 my_app_task; the barrel line printed '✚ new object(s): my_app_task — table & seeds sync on restart' and GET returned 200. CRUD: POST 201 x3, PATCH 200, GET 200, DELETE 200; where/orderBy/limit/offset returned 1/2/1 rows as asked. sys_audit_log for my_app_task: create x3, update, delete. Browser (Playwright, /opt/pw-browsers/chromium): list, New form (Subject, Done, Due, Assignee) and record page at /_console/apps/setup/my_app_task; 4 app-neutral routes redirect to home; permission-set designer Task (my_app_task) row in 3/3 sets; Setup Audit Logs list shows the 5 task rows. Boot 2 (fresh scaffold s6, npm_config_before=2026-10-15T14:00Z because unbounded installs now fail, 53/53 at 17.7.0, src and config byte-identical to s1): page blocks extracted from the MDX (cmp-equal at head) and applied in order; same recompile, '✚ new object(s)' and restart lines; unauthenticated GET 401; the page's curl block run verbatim exit 0 (sign-in 200, create 201, list 200); pnpm build 'Data: 2 Objects 7 Fields' and pnpm validate passed; the stated click path Setup, Permission Sets, Member, Design in Studio shows the Task row; Audit Logs sidebar shows 4 task rows; bad name gave the watcher '✗ compile failed (2497ms)' while pnpm build printed the refusal (exit 2). Docs render: next start of the built site; Chromium at 1300 and 390 px: 0 page errors, 0 px horizontal overflow. Built en/docs/quickstart.html: my_app_task 16, 'Every object.name must be' 2, 'per role' 0, 'No code generation' 0. No ablation applies (docs only).", "gates": [ { "gate": "os-verify-lock + pnpm turbo run type-check --force --concurrency=2 --continue", "sha": "8cf78f7", "exit": 0, "verdict": "VERDICT command-exit 0 · held 7s · Tasks: 1 successful, 1 total · Cached: 0 cached, 1 total" }, { "gate": "os-verify-lock + pnpm turbo run build --force --concurrency=2", "sha": "8cf78f7", "exit": 0, "verdict": "VERDICT command-exit 0 · held 55s · Tasks: 1 successful, 1 total · Cached: 0 cached, 1 total" }, { "gate": "os-verify-lock + pnpm turbo run test --force --concurrency=2", "sha": "8cf78f7", "exit": 0, "verdict": "✓ 11 self-test(s) passed · Cached: 0 cached, 1 total" }, { "gate": "os-verify-lock + npm ci --prefix .github/scripts/doc-samples --ignore-scripts --no-audit --no-fund", "sha": "6180b71 (install; tree unchanged since)", "exit": 0, "verdict": "added 3 packages" }, { "gate": "node .github/scripts/check-doc-samples.mjs", "sha": "8cf78f7", "exit": 0, "verdict": "✓ doc samples: every ts/js block on 79 English page(s) parses with @objectstack/spec 17.7.0 · 98 pass · 10 not a spec sample · 2 opted out (quickstart.mdx:244 PASS). On d551a66 it exited 1: FAIL quickstart.mdx:269 Unexpected token export (barrel block), fixed in 6180b71" }, { "gate": "node apps/docs/scripts/gen-zh-hant.mjs --check", "sha": "8cf78f7", "exit": 0, "verdict": "✓ zh-Hant: 54 generated file(s) match the zh-Hans sources byte for byte." }, { "gate": "node .github/scripts/check-locale-surface.mjs", "sha": "8cf78f7", "exit": 0, "verdict": "✓ every advertised URL has a source file and every source file is advertised; …" }, { "gate": "node .github/scripts/check-positioning.mjs", "sha": "8cf78f7", "exit": 0, "verdict": "✓ positioning: 4 copies equal their constants; the brand is right in 659 pages and 2 llms bodies; no stale sentence in 79 English sources …" }, { "gate": "node .github/scripts/check-search-locales.mjs", "sha": "8cf78f7", "exit": 0, "verdict": "✓ search locales: all 8 locales answer 200 …" }, { "gate": "node .github/scripts/check-translations.mjs", "sha": "8cf78f7", "exit": 0, "verdict": "✓ translations gate passed" }, { "gate": "node .github/scripts/check-translation-output.mjs --self-test", "sha": "8cf78f7", "exit": 0, "verdict": "✓ self-test: 29 rule case(s), 9 split case(s) and 5 derived-locale case(s) …" }, { "gate": "node .github/scripts/check-translation-ownership.mjs --actor 'objectstack-fleet[bot]' --files changed.txt (git diff --name-status --no-renames origin/main...HEAD = 'M content/docs/quickstart.mdx')", "sha": "8cf78f7", "exit": 0, "verdict": "This PR touches 0 translation artifact(s) and 1 other file(s)." }, { "gate": "node .github/scripts/check-translation-output.mjs --files changed-output.txt", "sha": "8cf78f7", "exit": 0, "verdict": "✓ translation output gate passed (213 pre-existing finding(s) reported)" }, { "gate": "control-byte scan grep -naP on quickstart.mdx and the PR body", "sha": "8cf78f7", "exit": 1, "verdict": "no hits (grep exit 1)" }, { "gate": "CI check-run 'build' (116822515182, run 38854401129)", "sha": "8cf78f7", "exit": null, "verdict": "completed success; steps: Docs code samples parse, zh-Hant, type-check, build, Locale surface, Positioning, Search, test, Package the Worker, Worker bundle fits the size budget, The docs site renders smoke-check — all success" }, { "gate": "CI check-run 'Node floor' (116822515377)", "sha": "8cf78f7", "exit": null, "verdict": "completed success" }, { "gate": "CI check-run 'Ownership & freshness' (116822515181)", "sha": "8cf78f7", "exit": null, "verdict": "completed success" }, { "gate": "CI check-run 'Deploy docs' (116823144770)", "sha": "8cf78f7", "exit": null, "verdict": "completed skipped (pull request)" } ], "line_budget": "content/docs/quickstart.mdx: +62 / -14 (git diff --numstat 76988da 8cf78f7 = '62 14'); one file, no other path touched", "files_changed": [ { "path": "content/docs/quickstart.mdx", "additions": 62, "deletions": 14 } ], "mcp_calls": "0 — no MCP GitHub tool called", "api_writes": "3 REST writes through 2 fleet-write relay dispatches (POST /repos/objectstack-ai/objectstack/dispatches): POST /repos/objectstack-ai/objectos/pulls (draft #336), POST /repos/objectstack-ai/objectos/issues/336/assignees (os-tesla), POST /repos/objectstack-ai/objectos/issues/327/comments (this report). Plus git push x4 (empty-branch probe, 3 commits); 0 label, 0 card-assignee, 0 PR-body edits, 0 merges, not marked ready", "deviations": [ "The dev-server boots ran outside the verify lock: a long-lived server holding the lock would starve the queue. Scaffolds, installs, every pnpm build or validate, and the turbo runs went through it.", "The barrel line is inline code, not a ts block. The doc-samples gate refused the re-export block (FAIL :269, Unexpected token export) on d551a66.", "Boot 2's scaffold was date-bounded (npm_config_before=2026-10-15T14:00Z): unbounded npm installs fail 3/3 today (out_of_scope_findings[1]). Its @objectstack tree is 53/53 at 17.7.0, and src and config are byte-identical to the unbounded 2026-10-15 scaffold.", "Commit trailers are model-free (Co-Authored-By: Claude, plus a Claude-Session trailer), per the os-dev contract, which outranks the harness reminder's model-named line.", "One sign-in response on boot 1 printed a throwaway local dev-server session token to the transcript. It is not an environment variable, and that server is stopped.", "One Artifact publish call with an empty edits array was refused by input validation; nothing was published.", "This run paused overnight on the account usage limit (seat note 6208204714) and resumed from the same worktree; origin/main was still 76988da on resume." ], "open_questions": [], "out_of_scope_findings": [ "class: a · reach: public door pnpm dev on a fresh 17.7.0 os init scaffold, saving an object the compile refuses. The watcher prints only '✗ compile failed (2702ms)' / '(2497ms)' with no reason (2/2 boots), while pnpm build on the same tree prints the refusal and exits 2 · evidence: objectstack compile writes the refusal to stdout (10 stdout lines including it, 0 stderr bytes); the watcher spawns compile with stdio ignore/ignore/pipe (objectstack 54770208 packages/cli/src/commands/dev.ts:931-938, read from source; main's print path for this refusal not measured). Lands in objectstack (packages/cli dev watcher or compile's error stream). The quickstart now tells readers to run pnpm build · dedupe words: compile failed no reason, objectstack dev watcher stderr, watch-recompile swallows error, dev.ts spawnSync compile stdio", "class: a · reach: public door npx @objectstack/cli init my-app -t app --install, Path B's first command (CLI auto-picks npm under npx). Exit 2 'Project scaffolded, but dependency installation failed' after 'npm error Cannot read properties of null (reading 'edgesOut')' · evidence: 3/3 today (2026-10-16, npm 10.9.4, node 22.22.0), including one with an empty npm cache; arborist stack at build-ideal-tree.js #loadPeerSet right after fetching vitest's peer chain (jsdom, canvas); npm_config_before=2026-10-15T14:00Z and 14:40Z both succeed (522 packages); a 2026-10-15T13:22Z unbounded install succeeded. The trigger is a publish after 14:40Z, consistent with vitest 4.1.12 (14:51Z), the newest match for @objectstack/metadata-core 17.7.0's optional peer vitest ^4.0.0; not isolated further. Lands upstream (objectstack metadata-core's peer declaration, or npm), not objectos · dedupe words: edgesOut, loadPeerSet, os init install failed npm, metadata-core vitest peer, vitest 4.1.12", "carrier: 承接者:无 · noted in PR #336 Acceptance notes, not filed · the scaffold .gitignore (node_modules/, dist/, *.tsbuildinfo) does not ignore .objectstack/, where pnpm dev writes its SQLite databases; objectstack main init.ts:1309 writes the same file", "carrier: 承接者:无 · noted in PR #336 Acceptance notes, not filed · quickstart 'What's running' table (line 90) says Setup holds 'users, roles, …'; the 17.7.0 Setup sidebar lists Positions and Permission Sets and no Roles entry; outside this card's two sections", "carrier: 承接者:无 · noted in PR #336 Acceptance notes, not filed · the doc-samples gate cannot judge a barrel re-export written as a ts block, so barrel lines go inline on doc pages" ] }Generated by Claude Code
objectstack-fleet commentedon Oct 16, 2026
ACCEPT → PR #336 comment 6208655208 · 2026-10-16T05:18Z · awaiting a human merge (merging to
mainpublishes production).Generated by Claude Code