This experiment uses an Obsidian .base file to describe database-like views over the sandbox’s own notes. Its filter selects Markdown files, formulas calculate area, relative modification time and tag count, and four views request two tables, a list and cards. The native fixture produces its own HTML page; the Markdown explanation is a different route and is not itself evidence that the fixture was rendered.
Exact configuration from /home/loca/dev/quartz-sandbox/sandbox/engine/quartz.config.yaml, lines 176–181:
- source: "@quartz-community/bases-page"
enabled: true
options:
defaultViewType: table
linkResolution: shortest
order: 50linkResolution: shortest matches the real crawl-links setting markdownLinkResolution: shortest at line 116. The page-type override below is copied from lines 404–407 of the same configuration, nested under layout.byPageType:
bases:
exclude:
- table-of-contents
- reader-modeThe actual native fixture /home/loca/dev/quartz-sandbox/sandbox/vault/experiments/sandbox-notes.base, lines 1–66, is reproduced unchanged in full rather than combining shortened fragments into a fabricated example:
filters:
and:
- file.ext == "md"
formulas:
area: |
if(file.inFolder("experiments"), "experiment",
if(file.inFolder("config"), "configuration",
if(file.inFolder("plugins"), "plugins", "entry")))
updated: file.mtime.relative()
tag_count: file.tags.length()
properties:
title:
displayName: Page
note.description:
displayName: Description
formula.area:
displayName: Area
formula.updated:
displayName: Updated
formula.tag_count:
displayName: Tags
views:
- type: table
name: Every sandbox page
groupBy:
property: formula.area
direction: ASC
order:
- file.name
- title
- formula.area
- formula.updated
sort:
- property: formula.area
direction: ASC
- property: file.name
direction: ASC
columnSize:
file.name: 240
note.title: 280
formula.area: 150
- type: table
name: Experiments only
filters:
and:
- file.inFolder("experiments")
order:
- file.name
- title
- formula.tag_count
- formula.updated
sort:
- property: file.name
direction: ASC
- type: list
name: Recently updated
order:
- file.name
- formula.updated
limit: 10
- type: cards
name: Cards
order:
- title
- formula.area
limit: 24The source explanation at /home/loca/dev/quartz-sandbox/sandbox/vault/experiments/bases-native-page.md describes build-time formula evaluation and materialized view HTML rather than browser-side live queries. The literal view name Recently updated is not a measured ordering guarantee: that view has a ten-item limit but no explicit sort in this fixture. The recorded marker check does not evaluate the formula cells, row ordering or limits.
What the rendered output proves
The prior capture in /home/loca/dev/quartz-sandbox/evidence/2026-09-15-quartz-migration-f1fd35c3/sandbox-experiments.json classifies this experiment as Native Bases page. Its proof_route is /experiments/sandbox-notes.base.html, corresponding to the live generated Bases page. Its exact proof_markers are bases_table: 2 and bases_tabs: 1.
The browser capture records title sandbox-notes — Quartz Sandbox, 74600 bytes, and those two table markers plus one tab-container marker. It also records graph_container: 1, global_graph_container: 1, explorer_content: 1, nav_files_container: 1, search_button: 1, and search_container: 1. These distinguish emitted native page content and surrounding site chrome; they do not count four successful tab interactions.
The separate explanatory page, at /experiments/bases-native-page.html, was captured with title Native Bases Pages — Quartz Sandbox, 48382 bytes, reading_stats: 1, reading_words: "327", and reading_minutes: "2". Its prose and code examples are not a replacement for the .base.html proof route.
These are prior Chrome DOM captures against dist-1789511778 on the temporary loopback origin http://127.0.0.1:51963, not fresh checks of the public URLs. The receipt records Chrome exit 0 for all 22 captured routes, all_routes_raw_wikilinks: 0 and all_routes_internal_broken_class: 0. DOM presence does not establish tab switching, correct sorting, cell-link navigation, card/list usability, or JavaScript-disabled behavior. The source explanation says unlisted notes are excluded from Bases views; the receipt does not include a dedicated Bases-row absence assertion, so that is not claimed here as a measured result. Likewise, the layout exclusions are configuration, not separately counted absence assertions.
Safe for the shared engine?
Recorded assessment: safe_for_shared_engine: false.
Receipt reason, verbatim:
The expression engine and four build-time view renderers add build cost and a second link-resolution surface.
This is a recorded assessment, not deployment authority. Even a true verdict does NOT authorize a shared-engine change: any requirement to change /home/loca/dev/quartz/quartz must be reported as a BLOCKER, not an action. This experiment remains isolated rather than adding the expression engine, view renderers or layout overrides to the engine serving 51 wikis.
Try it in the sandbox
The sandbox-only rebuild command is:
cd /home/loca/dev/quartz-sandbox/sandbox && ./build.shThe real wrapper /home/loca/dev/quartz-sandbox/sandbox/build.sh pins the isolated engine to commit 3dff48b5df6d84c9544a5ae19c8f2cbb01dc44e5 and rejects an engine outside the sandbox project. It takes a nonblocking .build.lock, runs npm run install-plugins BEFORE bootstrap-cli.mjs build, and passes --directory pointing to sandbox/vault and --output pointing to a fresh timestamped sandbox/dist-<epoch>. It checks that index.html exists before atomically swapping current. The origin sees the new release on the next request without a restart. The wrapper uses umask 022 and retains the new release plus two prior timestamped releases.
Recorded runtime invocation from sandbox-runtime.json, reference only:
PATH=/usr/bin:/bin PORT=51947 SANDBOX_ROOT=/home/loca/dev/quartz-sandbox/sandbox/current NODE_ENV=production /usr/bin/node /home/loca/dev/quartz-sandbox/sandbox/serve.mjsThe production service already owns port 51947. Do NOT start a second process or restart the service. The runtime receipt records an earlier manual-origin exercise; it is not an instruction to recreate that process. No sandbox rebuild or service change was performed to author this documentation.