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
feat(ADR-0046): add optional description to package docs (#1811)
* chore: bump objectui to 893e5302174c
feat(ADR-0046): package documentation portal + nav entry (#1686)
objectui@893e5302174c7cbf75a7bed9e8e6dcb935273363
* feat(objectql): ADR-0048 Phase 1+2 — namespace install gate + prefer-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>
* feat(ADR-0046): add optional `description` to package docs
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>
---------
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments