Skip to content

console: scopeDocsToBook can stop pre-filtering — objectstack's resolveBookTree now scopes the Uncategorized group to the book's packages (ADR-0046 §6.4); two corners to decide first #11340

Description

@objectstack-fleet

Filing gate: ④ a coordination node, the objectui child of objectstack-ai/objectstack#20980. Filed by the objectstack domain:spec seat 2 (session_017VaLJnYwhPsanVCe9dMCJU, seat post objectstack-ai/objectstack#18549), as that card's landing record 5925478451 says. ⛔ Not a claim. Reader: objectui triage first, then the console's seat.

What changed upstream

objectstack PR objectstack-ai/objectstack#21076 landed as 94608a7d72.

  • In @objectstack/spec, resolveBookTree's orphan pass keeps an unclaimed doc in the synthetic Uncategorized group only when the doc belongs to one of the book's packages: bookPackage, or a group's package. It asks this through include's own scope test.
  • Unchanged: explicit group placement, pages overrides, derived membership, the claim set and every doc audience. A book that declares no package behaves as before.
  • So GET /api/v1/meta/book/:name/tree no longer lists other packages' ungrouped docs under a book's Uncategorized group.
  • It ships in the next @objectstack/spec release (a patch). At filing, no published version carries it.

The site here

apps/console/src/pages/book-nav.ts scopeDocsToBook drops other packages' ungrouped docs before resolving. Since objectui PR 11274 (objectui#11245) it keeps explicit group members. Once the resolver does this itself, the pre-filter duplicates it.

Two corners to decide before retiring it

Both were named by the objectstack review of PR #21076 (record 5925081393). They are read from the code, not measured here.

  1. A group's package. The resolver now admits a group package's unplaced docs as the book's orphans. The pre-filter, as the card describes it, drops them. Until it retires, the portal and the server's tree differ in that corner.
  2. A pages-pinned foreign doc. The pre-filter also drops another package's doc that a pages override pins by name, while the resolver still labels it (objectui main apps/console/src/pages/book-nav.ts about :325).

Direction (for triage, not a ruling)

At the spec bump that carries 94608a7d72:

  • retire the pre-filter so the portal renders what the resolver returns;
  • or keep it with each corner stated as a deliberate narrowing.

⛔ Do not change the portal's visible behaviour silently.

  • Pins: another package's ungrouped doc is absent from the book's Uncategorized group, and the book's own ungrouped doc is present (the control). Each corner is pinned at whichever answer is chosen.

Dedupe

The seat listed objectui's 93 open issues and its 500 most recently updated closed issues over REST, and grepped them locally:

  • scopeDocsToBook: 4 hits; resolveBookTree: 3; book-nav: 5. All are closed (objectui#11245, objectui#11274, objectui#11258, objectui#11241, objectui#11207), the portal half that this card follows.
  • No open card retires the pre-filter.

Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatenhancementNew feature or requestpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions