|
25 | 25 | * - The ADMITTED leg is the negative control a lazy fix loses: the request |
26 | 26 | * must still be served, from ITS definition — the driver sees the request's |
27 | 27 | * object, not the shared cube's. |
28 | | - * - A `public: false` cube keeps its authored definition in the registry. |
29 | | - * Nothing on this tree reads `public` yet, so "stays hidden from meta" is |
30 | | - * not expressible here; what this pins is the precondition that leg needs: |
31 | | - * the entry a visibility filter would read is still the author's. |
| 28 | + * - A `public: false` cube keeps its authored definition in the registry, and |
| 29 | + * stays hidden: `getMeta` omits it (`cube-visibility.ts`), so the observer's |
| 30 | + * discovery snapshot — taken before and after — never lists it, and the |
| 31 | + * entry the visibility filter reads is still the author's. |
32 | 32 | * - CONTROL: a dataset registered at construction (`datasets`, the boot door) |
33 | 33 | * still serves by name, and a request under its name leaves its compiled |
34 | 34 | * scope — the definition-level `filter` the shared query applies — intact. |
@@ -140,7 +140,8 @@ describe.each(STRATEGY_PATHS)('queryDataset leaves the shared registries alone |
140 | 140 | it('observer baseline: the authored cube and the saved dataset serve by name, on their own objects', async () => { |
141 | 141 | const h = makeService(capabilities); |
142 | 142 | const { meta, driven } = await observe(h); |
143 | | - expect(meta.map((c) => c.name).sort()).toEqual(['hidden_summary', 'open_summary', 'saved_summary']); |
| 143 | + // `hidden_summary` declares `public: false`, so discovery omits it. |
| 144 | + expect(meta.map((c) => c.name).sort()).toEqual(['open_summary', 'saved_summary']); |
144 | 145 | expect(driven.map((c) => c.object)).toEqual(['open_obj', 'open_obj']); |
145 | 146 | // The saved dataset's definition-level filter reaches the driver — the |
146 | 147 | // compiled scope this card must leave in place. |
|
0 commit comments