Skip to content

chore(packages): LICENSE for the 14 published packages without one - #26260

Merged
objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-09e02s
Oct 26, 2026
Merged

objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-09e02s

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Steve · project thread

Fixes #26095

Clause-②: no
Metadata-protocol: none

The second half of #26095's publishing-metadata sweep. #26198 landed the publint/attw reading, the manifest repairs and the 18 missing READMEs; this PR adds the one thing it held back: a LICENSE in the 14 published packages that had none. It was split off because the 14 copies are 2,828 lines on their own and the two halves together crossed the 3,000-line threshold.

Why these 14 shipped no licence

npm packs a package's own LICENSE whatever its files whitelist says (scripts/check-published-files.mjs records that measurement in ALWAYS_PACKED), and nothing in scripts/ or .github/workflows/ copies the repository's root LICENSE into a package at publish time. So these 14 tarballs declared "license": "Apache-2.0" and carried no licence text:

@objectstack/account, @objectstack/console, @objectstack/lint, @objectstack/metadata-protocol, @objectstack/sdui-parser, @objectstack/service-datasource, @objectstack/service-messaging, @objectstack/setup, @objectstack/skills, @objectstack/studio, @objectstack/trigger-api, @objectstack/trigger-record-change, @objectstack/trigger-schedule, @objectstack/verify.

Each new file is a byte-for-byte copy of the root LICENSE — the same file, by hash, that the other 59 published packages already carry. No files entry changes: a LICENSE listed there would be an unregistered extra entry to check:published-files, and it is packed anyway.

After this PR, re-counted on origin/main at f2e70836: all 73 published packages outside ui/ ship both a LICENSE and a README.md.

Verification

Measured at head 03dee064 on origin/main f2e70836.

  • LICENSE census: 59 of 73 published packages carried a LICENSE before. After this PR, 73 of 73 carry one, and 73 of 73 carry a README.md. npm pack --dry-run on packages/console, one of the 14, now lists LICENSE (11.4 kB) next to README.md.
  • All 14 files have the same md5 as the root LICENSE.
  • turbo run build over all 73 published packages: 72 of 72 tasks successful. The 73rd package has no build task.
  • dispatch-gates --commands derived 61 families for this diff. The run record reconciles with --ran at 61 accounted: 60 run, 0 unrun, and all 60 exit 0.
  • One family is NOT MEASURED: check-plugin-teardown-shape.mjs --self-test. On a shallow clone it refuses its own prerequisite with exit 3, its reserved code. Its real scan, node scripts/check-plugin-teardown-shape.mjs, exits 0. CI has the full history.
  • Gates worth naming for this diff, all exit 0: check:published-files (confirms the 14 files lists didn't need to change), check-empty-changeset.mjs --base origin/main, check-changeset-no-major.mjs --base origin/main and check:changeset-gate-self-tests.

Changeset

One patch in .changeset/26095-license-files.md, naming the 14 packages whose tarball gains the file.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UH1DPuU5rAKoNbDzEyoEw6

Byte copies of the root LICENSE, the file the other 59 published packages
already carry. npm packs a package's own LICENSE regardless of `files`,
and no release script copies the root one in, so these 14 tarballs
shipped no licence text. Second half of the publishing-metadata sweep;
the manifests and READMEs landed separately.

Claude-Session: https://claude.ai/code/session_01UH1DPuU5rAKoNbDzEyoEw6
Co-authored-by: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added size/xl documentation Improvements or additions to documentation tooling labels Oct 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

⚠️ 14 changed file(s) yielded no anchor (packages/apps/account/LICENSE, packages/apps/setup/LICENSE, packages/apps/studio/LICENSE, …), so the pages documenting them are NOT COVERED by this run — this is not a clean bill of health for those files. Nothing else in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 14 changed package(s)).

What this run could not see
  • 14 changed file(s) yielded no anchor (packages/apps/account/LICENSE, packages/apps/setup/LICENSE, packages/apps/studio/LICENSE, …) — pages documenting those are invisible to this run
  • a page that states a rule by its inputs shares no identifier with the emitter that implements the rule, so an emitter-only diff cannot list it — not on this run and not on any run. Measured on fix(driver-sql): emit varchar(maxLength) for a text field a declared index keys on #11430: content/docs/protocol/objectql/types.mdx documents the text-family column mapping by the ObjectQL type names it maps FROM (text / textarea / html) while the diff changed createColumn; it went unlisted, and it was the page that diff falsified, in four places. No shared token exists to detect this on, so a rule your change carries has to be re-read by hand in the pages that restate it.
  • a key NAME is not a key, so the hand re-read the line above prescribes can land on the wrong schema. The same spelling is authorable on one governed type and a [REMOVED] tombstone on another for each of active, aria, joins, objects, template, tools and version (censused on [finding] tools is a key on BOTH AgentSchema (tombstoned, dead) and SkillSchema (live, cloud-attested), so a name-based search attributes skill examples to the agent key — it produced a false stop-the-line alarm on PR #19059 #19093 over the liveness ledger's governed types, top-level keys); nothing in a search result distinguishes the two, so a grep hit on a LIVE example reads as evidence about the DEAD key. Measured on fix(spec): the agent.tools liveness row says dead — it claimed live on a key the schema tombstoned #19059: content/docs/ai/agents.mdx was reported as contradicting the agent.tools tombstone over its tools: example at :161, which is inside the defineSkill({ block opened at :155 — the page was already correct. Settle ownership by PARSING the value against both schemas, never by the name: that literal PASSES SkillSchema, and as an AgentSchema it FAILS at tools with the tombstone prescription. ⛔ These names are not the whole class — a key retired through a .strict() guidance map leaves no tombstone in the walked shape and none of them here (tool.category, live as AIToolDefinition.category).

Coarse fallback — 42 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json 3d50a43bcb55053e0501d939b304242b41cfde19 → packageMentionDocs.

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对 · ACCEPT · devx seat 2 · 2026-10-26T17:36Z

Seat domain:devx#2 (#20163) · session_01Q4MDXRbEJCNdPAP4SiXwp9 · reviewed head 03dee064 · card #26095. This is PR ② of the two serial PRs; PR ① #26198 merged at 16:58Z. PR carries Fixes #26095.


Generated by Claude Code

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review October 26, 2026 18:02
@objectstack-fleet
objectstack-fleet Bot enabled auto-merge October 26, 2026 18:03
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Oct 26, 2026
Merged via the queue into main with commit 2409c9c Oct 26, 2026
48 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/project-thread-09e02s branch October 26, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/xl tooling

Projects

None yet

2 participants