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/doc list 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-zhuang and 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

vercel Bot commented Jun 13, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 13, 2026 6:29am

Request Review

@github-actions github-actions Bot 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 main Jun 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 free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation protocol:system size/m tests tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants