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
[Decision] TypeScript's legacy node10 resolution resolves no subpath on 15 published packages: declare node10 unsupported, or mirror exports into typesVersions? #26208
Filing gate: ② a maintainer-only decision. It sets which consumer setups the published packages support. Filed by domain:devx seat 2 (#20163) · os-steve · session session_01Q4MDXRbEJCNdPAP4SiXwp9. ⛔ Not a claim.
Reader who acts. The maintainer chooses. The domain:devx seat dispatches the chosen letter.
A consumer whose tsconfig uses moduleResolution: "node" (node10) cannot import any subpath of these packages. The root entry still resolves through types.
Director seat, summon #51 continuation (ledger objectstack#12708). Presented to the maintainer in batch #401 as item 1 of 5 (with #26149, batch #400's open item, re-presented beside it at the maintainer's word 「按照总监决裁格式详细写」). Seat increment (re-verified on origin/maincdd4eea9; the card's own analysis is not restated):
Human floor: 对外承诺 — which consumer setups the published packages support — so the letter is the maintainer's. The card has no facets block; the seat's reading on the four axes: ① one declaration of each subpath (exports) stays the only one — a typesVersions mirror is a second copy that drifts and needs its own gate (④ 新增门禁默认否); ② no consumer has reported a node10 miss; TypeScript 5 projects and this repository's own templates resolve with bundler / node16; ③ a documented refusal is loud (the consumer reads one sentence), a mirror that drifts is silent; ④ A adds nothing.
Facets read: same direction; the seat agrees with A (one docs paragraph plus a README line per affected package: node10 unsupported, use node16 / nodenext / bundler). Workload: devx · 1 docs PR, no governed path.
Prior rulings read: typesVersions · moduleResolution · node10 → the docs line only; ADR none; thread: none.
Ruling: batch #401 item 2 · letter A · maintainer 「同意」 2026-10-26T17:25Z
Recorded by the director seat (summon #51 continuation, session_01KrKXQVvgYk2AJ4VkqMobyb, ledger objectstack#12708). The maintainer answered batch #401 with 「同意」 — every seat letter. Brief 6420278132. Letter A: TypeScript's legacy node10 module resolution is declared unsupported for the published @objectstack/* packages — consumers use moduleResolution: node16, nodenext or bundler (the shape content/docs/plugins/development.mdx:46 already shows). One docs paragraph (the consumer setup page) plus one line in each of the 15 affected packages' README; no typesVersions mirror, no new check (④ 新增门禁默认否; one declaration of each subpath stays the only one). Not B.
Workload of the chosen letter (card column): devx · 1 docs PR, no governed path.
Execution: needs-user-decision → pm:queue in this act (domain:devx, p3). Ruling-ref: names this comment; Clause-②: no, Metadata-protocol: none. The PR cites the attw reading on PR #26198 (report 6419735271) as its evidence.
Claim: PM loop round 8 · 2026-10-27T00:44Z
Session: session_01Q4MDXRbEJCNdPAP4SiXwp9 (devx seat 2) · card thread cmsg_01FdL1XeUyvVNxLreh3F4Qi941YjangeAFXEgevqVv4bY9
Account: os-steve
Branch: claude/project-thread-upgscu (the harness-pinned branch of the card thread; it names no issue, so this claim is the identity record; amended on spawn)
Worktree: objectstack-issue-26208
Domain: domain:devx
Seat: domain:devx#2 (seat post #20163)
File surface: ruled letter A (6422810199): one docs paragraph on the consumer-setup page (the dev finds the page that tells consumers how to configure TypeScript; content/docs/plugins/development.mdx:46 already shows moduleResolution: "bundler") stating that TypeScript's legacy node10 resolution is unsupported for the published @objectstack/* packages and naming node16, nodenext or bundler; one line in the README of each of the 15 packages the card lists (spec, cli, connector-imap, core, create-objectstack, lint, metadata, metadata-core, objectql, platform-objects, plugin-auth, plugin-webhooks, service-cluster, service-datasource, types); one root .changeset/ patch for the packages whose shipped README changes. ⛔ No typesVersions, no exports change, no new check (④ 新增门禁默认否); ⛔ no ui/ path (stop on breach; explain in the report)
Container & model: S, mode:thread, model: default tier (TIER_DEFAULT, from dispatch-gates --tier: no path-derived mandate), effort: medium
Clause-②: no
Metadata-protocol: none
Responsibility: n/a — filed by this seat from the #26198 attw report; ruled letter A, maintainer 「同意」 2026-10-26T17:25Z
Thread-read: 6422810199
Premise: no packages/*/package.json declares typesVersions, and the 15 packages still expose subpath exports (the dev re-reads the list on main; #26321 and #26352 changed metadata-core, service-cluster and cli since the attw run)
Serial constraints cleared: #26352 (cli README) and #26321 (three export maps) are merged; no open PR touches these READMEs
Claim: PM loop round 1 · 2026-10-27T00:44Z
Session: session_011GEU2fao9E7fipNbUZo9RL (devx seat 3; the dev is an in-session subagent, same session, identified by the branch)
Account: os-justin
Branch: claude/issue-26208-node10-unsupported
Worktree: objectstack-issue-26208
Domain: domain:devx
Seat: domain:devx#3 (seat post #26373)
File surface: one consumer-setup docs page under content/docs/ that is not under content/docs/getting-started/**, plus README.md of the 15 packages the attw reading names (packages/spec, packages/cli, packages/connectors/connector-imap, packages/core, packages/create-objectstack, packages/lint, packages/metadata, packages/metadata-core, packages/objectql, packages/platform-objects, packages/plugins/plugin-auth, packages/plugins/plugin-webhooks, packages/services/service-cluster, packages/services/service-datasource, packages/types), and one .changeset/26208-*.md only if the repo's changeset rules require one for README-only edits in published packages. ⛔ content/docs/getting-started/**, the root README.md, CONTRIBUTING.md (held by #26088) and any package.json (stop on breach; explain in the report)
Container & model: S docs card, mode:subagent, model: floor tier (dispatch-gates --tier at 6390fe52: no path-derived mandate), effort: medium
Clause-②: no
Metadata-protocol: none
Responsibility: n/a — not a defect card
Ruling-ref: 6422810199 (letter A: node10 declared unsupported; one docs paragraph + one README line per affected package; no typesVersions, no new check)
Thread-read: 6422810199
Premise: holds (read at 6390fe5: no docs page states node10 support or non-support; content/docs/plugins/development.mdx:46 shows "moduleResolution": "bundler"; all 15 READMEs exist; only packages/types/README.md mentions moduleResolution/node10 at all, 1 line, which the dev re-reads)
Serial constraints cleared: #26088 (devx seat 2, in flight) holds README.md, CONTRIBUTING.md, content/docs/getting-started/**, which are excluded above; open PRs #26337 and #26244 touch content/docs/getting-started/quick-reference.mdx, also excluded. No open PR and no in-flight domain:devx claim names a packages/*/README.md.
Seat 2's claim 6430866829 is earlier than this seat's claim 6430867629 (3 s apart), so seat 2 holds the card, and seat 3's claim is withdrawn. Seat 3's own label write had put pm:dispatched on the card and assigned os-justin. This stroke swaps the assignee to os-steve, matching seat 2's Account: line; the labels stay as seat 2's claim needs them.
Readings handed over (taken 2026-10-27T00:42Z at origin/main6390fe5, so the winner need not rescan):
All 15 packages' README.md exist. Paths: packages/{spec,cli,core,create-objectstack,lint,metadata,metadata-core,objectql,platform-objects,types}, packages/connectors/connector-imap, packages/plugins/{plugin-auth,plugin-webhooks}, packages/services/{service-cluster,service-datasource}.
node10|moduleResolution appears in exactly one of the 15 READMEs: packages/types/README.md, 1 line. No content/docs page states node10 support either way; content/docs/plugins/development.mdx:46 shows "moduleResolution": "bundler".
{
"issue": 26208,
"status": "done",
"branch": "claude/project-thread-upgscu",
"pr": "https://github.com/objectstack-ai/objectstack/pull/26378",
"session": "session_01ADHkmRdDB2C42HgHcE5Vrt",
"premise_still_valid": true,
"summary": "Ruled letter A (6422810199) landed as one docs PR. content/docs/plugins/development.mdx gains a 'Module resolution' paragraph under its tsconfig step (node10 unsupported; use bundler, node16 or nodenext), and each of the 15 packages' README gains one identical line linking to that anchor. Root changeset: one patch for the 15 packages, since each README ships in files[]. Premise re-read on origin/main 6390fe52: all 15 still expose subpath exports (none dropped after #26321/#26352), 0 package.json declares typesVersions, and these 15 are exactly the non-private packages with subpath exports.",
"tests": "docs and README only; no package test or typecheck owed. Acceptance gates at 894bdb38: pnpm check:published-readme-links exit 0 (567 links, 159 files, 0 root-relative, 17 anchors verified); pnpm check:published-readme-exports exit 0 (built tree); pnpm check:doc-anchors exit 0 (598 fragments); pnpm check:doc-authoring exit 0. No ablation: docs change.",
"gates": "dispatch-gates --repo objectstack-ai/objectstack at 894bdb38: 92 derived, 92 run, 0 NOT-MEASURED (DERIVED zero, all exit 0). check-engine-split-ratio --days 90 (exit 2) and check-plugin-teardown-shape --self-test (exit 3) first refused on the shallow clone, exit 0 after deepening. Build-reading families ran after a locked turbo build of ./packages/** (VERDICT command-exit 0). check:published-readme-exports recorded as outside the derivation. lychee (check-links.yml) not run locally: read from PR check-runs, in_progress at report time.",
"line_budget": "+60 / -0 across 17 files (16 docs/README lines plus a 26-line changeset)",
"files_changed": [".changeset/26208-node10-resolution-unsupported.md", "content/docs/plugins/development.mdx", "packages/{spec,cli,core,create-objectstack,lint,metadata,metadata-core,objectql,platform-objects,types}/README.md", "packages/connectors/connector-imap/README.md", "packages/plugins/{plugin-auth,plugin-webhooks}/README.md", "packages/services/{service-cluster,service-datasource}/README.md"],
"deviations": ["Docs page is content/docs/plugins/development.mdx, not getting-started/**: no getting-started page covers TypeScript setup, and that tree is held by open work (seat-3 hand-over 6430890935).", "No PR subscription or CI wait, per os-dev; CI convergence is the seat's."],
"dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
"mcp_calls": "4 — issue_read x3 (get, get_comments x2), pull_request_read x1 (get); no write tool",
"api_writes": "2 — pr_create via fleet-write relay (POST pulls, #26378, read back identical, assignee os-steve); this os-dev-report comment via post-stamped. git push is not a REST write.",
"open_questions": [],
"out_of_scope_findings": []
}
devx seat 2 · review: ACCEPT → PR #26378 (Fixes #26208) on head 894bdb38. CI green on that head (42 success, 8 skipped, 0 other); not governed (check-governed-merges: tier null).
Landing: ready + auto-merge. The changeset nit (the "root entry" clause does not fit create-objectstack) stays as is; not worth a CI cycle.
devx seat 2 · released: PR #26378 merged as 3b480e0c, and its +/- lines on main match the reviewed head 894bdb38 in all 17 files (the guide paragraph, 15 READMEs, the changeset). The card closed on Fixes. pm:dispatched comes off. Seat 3's hand-over readings on this card (yield at 6430825199's round) were used.
Activity
objectstack-fleet commentedon Oct 26, 2026
Brief-claimed-by: session_01KrKXQVvgYk2AJ4VkqMobyb · batch #401 · 2026-10-26T15:42Z
Director seat, summon #51 continuation (ledger objectstack#12708). Presented to the maintainer in batch #401 as item 1 of 5 (with #26149, batch #400's open item, re-presented beside it at the maintainer's word 「按照总监决裁格式详细写」). Seat increment (re-verified on
origin/maincdd4eea9; the card's own analysis is not restated):typesVersionsin anypackages/*/package.json(0 files); the published docs already tell plugin authorsmoduleResolution: "bundler"(content/docs/plugins/development.mdx:46); PR chore(packages): publishing metadata for the 73 published packages — per-format types, sideEffects, publishConfig, and 18 missing READMEs #26198 (the attw run that produced the finding) is open.exports) stays the only one — atypesVersionsmirror is a second copy that drifts and needs its own gate (④ 新增门禁默认否); ② no consumer has reported a node10 miss; TypeScript 5 projects and this repository's own templates resolve withbundler/node16; ③ a documented refusal is loud (the consumer reads one sentence), a mirror that drifts is silent; ④ A adds nothing.Prior rulings read:
typesVersions·moduleResolution·node10→ the docs line only; ADR none; thread: none.objectstack-fleet commentedon Oct 26, 2026
Ruling: batch #401 item 2 · letter A · maintainer 「同意」 2026-10-26T17:25Z
Recorded by the director seat (summon #51 continuation,
session_01KrKXQVvgYk2AJ4VkqMobyb, ledger objectstack#12708). The maintainer answered batch #401 with 「同意」 — every seat letter. Brief 6420278132. Letter A: TypeScript's legacynode10module resolution is declared unsupported for the published@objectstack/*packages — consumers usemoduleResolution: node16,nodenextorbundler(the shapecontent/docs/plugins/development.mdx:46already shows). One docs paragraph (the consumer setup page) plus one line in each of the 15 affected packages' README; notypesVersionsmirror, no new check (④ 新增门禁默认否; one declaration of each subpath stays the only one). Not B.Workload of the chosen letter (card column): devx · 1 docs PR, no governed path.
Execution:
needs-user-decision→pm:queuein this act (domain:devx, p3).Ruling-ref:names this comment;Clause-②: no,Metadata-protocol: none. The PR cites the attw reading on PR #26198 (report 6419735271) as its evidence.objectstack-fleet commentedon Oct 27, 2026
Claim: PM loop round 8 · 2026-10-27T00:44Z
Session:
session_01Q4MDXRbEJCNdPAP4SiXwp9(devx seat 2) · card threadcmsg_01FdL1XeUyvVNxLreh3F4Qi941YjangeAFXEgevqVv4bY9Account:
os-steveBranch:
claude/project-thread-upgscu(the harness-pinned branch of the card thread; it names no issue, so this claim is the identity record; amended on spawn)Worktree:
objectstack-issue-26208Domain:
domain:devxSeat:
domain:devx#2(seat post #20163)File surface: ruled letter A (6422810199): one docs paragraph on the consumer-setup page (the dev finds the page that tells consumers how to configure TypeScript;
content/docs/plugins/development.mdx:46already showsmoduleResolution: "bundler") stating that TypeScript's legacynode10resolution is unsupported for the published@objectstack/*packages and namingnode16,nodenextorbundler; one line in the README of each of the 15 packages the card lists (spec, cli, connector-imap, core, create-objectstack, lint, metadata, metadata-core, objectql, platform-objects, plugin-auth, plugin-webhooks, service-cluster, service-datasource, types); one root.changeset/patch for the packages whose shipped README changes. ⛔ NotypesVersions, noexportschange, no new check (④ 新增门禁默认否); ⛔ noui/path (stop on breach; explain in the report)Container & model: S,
mode:thread,model: default tier (TIER_DEFAULT, from dispatch-gates --tier: no path-derived mandate),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: n/a — filed by this seat from the #26198 attw report; ruled letter A, maintainer 「同意」 2026-10-26T17:25Z
Thread-read: 6422810199
Premise: no
packages/*/package.jsondeclarestypesVersions, and the 15 packages still expose subpathexports(the dev re-reads the list onmain; #26321 and #26352 changed metadata-core, service-cluster and cli since the attw run)Serial constraints cleared: #26352 (cli README) and #26321 (three export maps) are merged; no open PR touches these READMEs
Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
Claim: PM loop round 1 · 2026-10-27T00:44Z
Session:
session_011GEU2fao9E7fipNbUZo9RL(devx seat 3; the dev is an in-session subagent, same session, identified by the branch)Account:
os-justinBranch:
claude/issue-26208-node10-unsupportedWorktree:
objectstack-issue-26208Domain:
domain:devxSeat:
domain:devx#3(seat post #26373)File surface: one consumer-setup docs page under
content/docs/that is not undercontent/docs/getting-started/**, plusREADME.mdof the 15 packages the attw reading names (packages/spec,packages/cli,packages/connectors/connector-imap,packages/core,packages/create-objectstack,packages/lint,packages/metadata,packages/metadata-core,packages/objectql,packages/platform-objects,packages/plugins/plugin-auth,packages/plugins/plugin-webhooks,packages/services/service-cluster,packages/services/service-datasource,packages/types), and one.changeset/26208-*.mdonly if the repo's changeset rules require one for README-only edits in published packages. ⛔content/docs/getting-started/**, the rootREADME.md,CONTRIBUTING.md(held by #26088) and anypackage.json(stop on breach; explain in the report)Container & model:
S docs card,mode:subagent,model: floor tier (dispatch-gates --tier at 6390fe52: no path-derived mandate),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: n/a — not a defect card
Ruling-ref: 6422810199 (letter A: node10 declared unsupported; one docs paragraph + one README line per affected package; no
typesVersions, no new check)Thread-read: 6422810199
Premise: holds (read at 6390fe5: no docs page states node10 support or non-support;
content/docs/plugins/development.mdx:46shows"moduleResolution": "bundler"; all 15 READMEs exist; onlypackages/types/README.mdmentionsmoduleResolution/node10at all, 1 line, which the dev re-reads)Serial constraints cleared: #26088 (devx seat 2, in flight) holds
README.md,CONTRIBUTING.md,content/docs/getting-started/**, which are excluded above; open PRs #26337 and #26244 touchcontent/docs/getting-started/quick-reference.mdx, also excluded. No open PR and no in-flightdomain:devxclaim names apackages/*/README.md.objectstack-fleet commentedon Oct 27, 2026
already claimed — yielding · devx seat 3 (#26373) ·
session_011GEU2fao9E7fipNbUZo9RL· 2026-10-27T00:46ZSeat 2's claim 6430866829 is earlier than this seat's claim 6430867629 (3 s apart), so seat 2 holds the card, and seat 3's claim is withdrawn. Seat 3's own label write had put
pm:dispatchedon the card and assignedos-justin. This stroke swaps the assignee toos-steve, matching seat 2'sAccount:line; the labels stay as seat 2's claim needs them.Readings handed over (taken 2026-10-27T00:42Z at
origin/main6390fe5, so the winner need not rescan):README.mdexist. Paths:packages/{spec,cli,core,create-objectstack,lint,metadata,metadata-core,objectql,platform-objects,types},packages/connectors/connector-imap,packages/plugins/{plugin-auth,plugin-webhooks},packages/services/{service-cluster,service-datasource}.node10|moduleResolutionappears in exactly one of the 15 READMEs:packages/types/README.md, 1 line. Nocontent/docspage states node10 support either way;content/docs/plugins/development.mdx:46shows"moduleResolution": "bundler".content/docs/getting-started/**and the rootREADME.md; open PRs feat!: ownership queues and assignment rules (ADR-0142 phase 2) #26337 and feat(spec,metadata-protocol,service-storage,runtime,cli)!: a seed record can carry a file the package ships, seedFile(path) #26244 touchcontent/docs/getting-started/quick-reference.mdx. A consumer-setup paragraph placed undergetting-started/collides with all three.objectstack-fleet commentedon Oct 27, 2026
os-dev-report
{ "issue": 26208, "status": "done", "branch": "claude/project-thread-upgscu", "pr": "https://github.com/objectstack-ai/objectstack/pull/26378", "session": "session_01ADHkmRdDB2C42HgHcE5Vrt", "premise_still_valid": true, "summary": "Ruled letter A (6422810199) landed as one docs PR. content/docs/plugins/development.mdx gains a 'Module resolution' paragraph under its tsconfig step (node10 unsupported; use bundler, node16 or nodenext), and each of the 15 packages' README gains one identical line linking to that anchor. Root changeset: one patch for the 15 packages, since each README ships in files[]. Premise re-read on origin/main 6390fe52: all 15 still expose subpath exports (none dropped after #26321/#26352), 0 package.json declares typesVersions, and these 15 are exactly the non-private packages with subpath exports.", "tests": "docs and README only; no package test or typecheck owed. Acceptance gates at 894bdb38: pnpm check:published-readme-links exit 0 (567 links, 159 files, 0 root-relative, 17 anchors verified); pnpm check:published-readme-exports exit 0 (built tree); pnpm check:doc-anchors exit 0 (598 fragments); pnpm check:doc-authoring exit 0. No ablation: docs change.", "gates": "dispatch-gates --repo objectstack-ai/objectstack at 894bdb38: 92 derived, 92 run, 0 NOT-MEASURED (DERIVED zero, all exit 0). check-engine-split-ratio --days 90 (exit 2) and check-plugin-teardown-shape --self-test (exit 3) first refused on the shallow clone, exit 0 after deepening. Build-reading families ran after a locked turbo build of ./packages/** (VERDICT command-exit 0). check:published-readme-exports recorded as outside the derivation. lychee (check-links.yml) not run locally: read from PR check-runs, in_progress at report time.", "line_budget": "+60 / -0 across 17 files (16 docs/README lines plus a 26-line changeset)", "files_changed": [".changeset/26208-node10-resolution-unsupported.md", "content/docs/plugins/development.mdx", "packages/{spec,cli,core,create-objectstack,lint,metadata,metadata-core,objectql,platform-objects,types}/README.md", "packages/connectors/connector-imap/README.md", "packages/plugins/{plugin-auth,plugin-webhooks}/README.md", "packages/services/{service-cluster,service-datasource}/README.md"], "deviations": ["Docs page is content/docs/plugins/development.mdx, not getting-started/**: no getting-started page covers TypeScript setup, and that tree is held by open work (seat-3 hand-over 6430890935).", "No PR subscription or CI wait, per os-dev; CI convergence is the seat's."], "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "mcp_calls": "4 — issue_read x3 (get, get_comments x2), pull_request_read x1 (get); no write tool", "api_writes": "2 — pr_create via fleet-write relay (POST pulls, #26378, read back identical, assignee os-steve); this os-dev-report comment via post-stamped. git push is not a REST write.", "open_questions": [], "out_of_scope_findings": [] }Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
devx seat 2 · review: ACCEPT → PR #26378 (
Fixes #26208) on head894bdb38. CI green on that head (42 success, 8 skipped, 0 other); not governed (check-governed-merges: tier null).Landing: ready + auto-merge. The changeset nit (the "root entry" clause does not fit
create-objectstack) stays as is; not worth a CI cycle.Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
devx seat 2 · released: PR #26378 merged as
3b480e0c, and its +/- lines onmainmatch the reviewed head894bdb38in all 17 files (the guide paragraph, 15 READMEs, the changeset). The card closed onFixes.pm:dispatchedcomes off. Seat 3's hand-over readings on this card (yield at 6430825199's round) were used.Generated by Claude Code