Skip to content

feat(ADR-0046): add optional description to package docs - #1811

Merged
xuyushun441-sys merged 3 commits into
mainfrom
feat/adr-0046-doc-description
Jun 13, 2026
Merged

feat(ADR-0046): add optional description to package docs#1811
xuyushun441-sys merged 3 commits into
mainfrom
feat/adr-0046-doc-description

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

What

A doc can now carry a one-line description (frontmatter description:) — the natural minimal model: title / summary / body.

  • spec: DocSchema gains optional description.
  • cli: collect-docs reads description: from frontmatter (generalized the scalar extractor; title + description share it). Regression test added.
  • It rides in the GET /meta/doclist response (which omits content), so a docs portal shows summaries without fetching each body. Verified live: showcase /meta/doc returns description, hasContent:false.
  • Example docs (app-showcase, app-todo) carry descriptions.

Tags — decided + recorded, not built

Per the discussion, ADR-0046 now has a P3 design note for doc tags (deferred): tags are keys resolved through the platform's label-key → i18n mechanism (never display strings), with a small protocol core vocabulary plus namespace-prefixed package tags. Pure closed enum is too rigid, pure free-form fragments + has no i18n owner; the layered key model resolves both. Not a field to bolt on before there's doc volume to justify a discovery surface. description deliberately stops short of taxonomy (no i18n-keying burden).

Companion

The portal-side display (render the summary, drop the machine id from the reader-facing list) ships as a separate objectui PR.

🤖 Generated with Claude Code

os-zhuangand others added 3 commits June 13, 2026 10:14
feat(ADR-0046): package documentation portal + nav entry (#1686)
objectui@893e5302174c7cbf75a7bed9e8e6dcb935273363
…local resolution
Phase 1 — install-time namespace gate. `SchemaRegistry.installPackage` refuses
a package whose `manifest.namespace` is already owned by a DIFFERENT installed
package (new `NamespaceConflictError`), making explicit and early the constraint
the object/table layer already enforces implicitly (a duplicate
`CREATE TABLE <ns>_<obj>` fails at the DB). Same-package reinstall and shareable
platform namespaces (base/system/sys) are exempt; OS_METADATA_COLLISION=warn
downgrades to a warning.
Phase 2 — prefer-local (container-scoped) resolution. `getItem(type, name, ns?)`
resolves a bare name to the item owned by `ns`'s package before any
cross-package fallback, preserving ADR-0005 overlay precedence and remaining
backward compatible (param optional). `getApp` resolves prefer-local against its
own name (app.name ≡ namespace in v1). The per-item collision guard now narrows
to the cases prefer-local CANNOT disambiguate (shared/missing namespace), so two
DIFFERENT-namespace packages legitimately coexist on the same bare name — the
marketplace coexistence the revised ADR-0048 targets. Every existing collision
test still passes (namespace-less fixtures remain a hard error).
Tests: registry-namespace-install-gate.test.ts (7), registry-prefer-local-
resolution.test.ts (7). Full objectql suite green (600).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A doc can now carry a one-line `description` (frontmatter `description:`) —
title / summary / body, the natural minimal model.
- spec: DocSchema gains optional `description`.
- cli: collect-docs reads `description:` from frontmatter (generalized the
scalar extractor; title + description share it). Regression test added.
- It travels in GET /meta/doc list (content is omitted there), so the docs
portal shows summaries without fetching each body — verified live: showcase
/meta/doc returns description, hasContent:false.
- Example docs (app-showcase, app-todo) carry descriptions.
- ADR-0046: schema + a P3 design note for doc TAGS (deferred) — tags are
i18n-resolved keys, core protocol vocabulary + namespace-prefixed package
tags; not a field to bolt on early.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercelBot commented Jun 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJun 13, 2026 6:29am

Request Review

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation protocol:system tests tooling size/m labels Jun 13, 2026
@xuyushun441-sys
xuyushun441-sys merged commit 060467a into mainJun 13, 2026
12 checks passed
@xuyushun441-sys
xuyushun441-sys deleted the feat/adr-0046-doc-description branch June 13, 2026 06:37
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationprotocol:systemsize/mteststooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@xuyushun441-sys@os-zhuang