Skip to content

Commit 1f312fd

Browse files
docs(readme): link the essay, the compare page, the when-to-use page and the deck (#22955)
Fixes #22952 Clause-②: no Three additions to `README.md`; no other file, and nothing else in the file. Diff: 8 insertions, 1 deletion. The one modified line is the "Read why" line: its text stays the same and it gets a second link. ## What changed 1. **Entry line under the demo.** Inside the centred block that holds the GIF, after the "Watch: ObjectStack in 90 Seconds" line: a line break, then one more `sub` line. It holds three links separated by the caption's own `&nbsp;·&nbsp;`: "Why it exists" (the essay), "How it compares" (the compare page) and "When to use it" (the when-to-use page). 2. **Two pointer sentences closing "What we mean by ontology".** They go in a new paragraph after the existing one, which is byte-identical. "How it compares" sets ObjectStack beside knowledge ontologies, semantic layers, operational ontologies, metadata platforms, and AI code generation. "When to use it" says where it fits today and where it does not. Both sentences restate the target pages' own frontmatter descriptions, with no new claim, number or superlative. 3. **The deck beside "Read why".** In the "You own it" quote block, the same line now reads "Read why · the talk as a deck (PDF)", and the second link goes to the PDF. All four destinations are absolute URLs, like the README's other site links: - https://objectstack.ai/blog/the-ontology-is-the-software - https://objectstack.ai/docs/concepts/compare - https://objectstack.ai/docs/concepts/when-to-use - https://objectstack.ai/decks/the-ontology-is-the-software.pdf ## The targets exist on main Measured at base `51b43a8d`: - `content/docs/concepts/compare.mdx` and `content/docs/concepts/when-to-use.mdx` are present (`git cat-file -e`). The docs-site resolver that `check:published-readme-links` uses (`pageCandidates` from `scripts/check-docs-redirects.mjs`) maps `/docs/concepts/compare` and `/docs/concepts/when-to-use` to those two files. The negative control `/docs/concepts/no-such-page-control` maps to no page. Both pages are listed in `content/docs/concepts/meta.json`. - `content/blog/the-ontology-is-the-software.mdx` is present, and the README already linked its URL ("Read why"). - `apps/docs/public/decks/the-ontology-is-the-software.pdf` is present, and the essay already links the same absolute URL. GitHub's own rendering of the branch README carries the new anchors. The read was `GET /repos/objectstack-ai/objectstack/readme` at this branch with the html media type, so the sanitizer is included. Anchor counts: compare 2, when-to-use 2, essay 2 (the existing "Read why" plus the new entry line), deck 1. The `sub` line renders with its three links. Control: the same read against `main` carries 0 compare anchors. ## Gates `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derived 9 gates from the merge base (1 path: `README.md`). Every one ran at `6fec6e55`, with the exit code captured before any pipe: | command | exit | gate's own verdict | |---|---|---| | `node scripts/check-closing-keyword-parity.mjs` | 0 | OK (3 parsers agree on all 9 keywords) | | `node scripts/check-closing-keyword-parity.mjs --self-test` | 0 | 40 assertions, 5 mutations driven to red | | `node scripts/check-comment-mask-corpus.mjs` | 0 | 8819 files, 0 disagree, 0 unparseable | | `pnpm check:doc-anchors` | 0 | 484 internal fragment links all resolve | | `pnpm check:driver-memory-census` | 0 | OK | | `pnpm check:gitlink-declared` | 0 | OK, 0 gitlinks | | `pnpm check:nul-bytes` | 0 | OK, no raw ASCII control bytes | | `pnpm check:refd-timer-probe` | 0 | OK | | `pnpm check:watch-hint-literal` | 0 | 72 declarations, all admitted | | `pnpm check:published-readme-links` | 0 | 226 links across 102 published markdown files; 144/144 relative targets found | `dispatch-gates --ran` reconciliation: 9 derived, 9 run, 0 NOT-MEASURED, 0 UNRUN. This is a derived zero: all 9 recorded an exit code. `check:published-readme-links` is outside the derivation and was run because the dispatch named it. See the first acceptance note for what its green covers. No build or test: the diff touches no package. ## Acceptance notes - **`check:published-readme-links` green tells us nothing about this diff.** The root `README.md` is not among the 102 published markdown files the gate reads: the root package is private, and no package ships the root README. The gate does resolve absolute `objectstack.ai/docs` URLs against `content/docs`, but only inside that population. That is why the resolver measurement above was taken directly. The card's "leaves absolute URLs alone" holds for the network (the gate never requests a URL), not for docs-site resolution. - **Nothing in CI resolves the root README's absolute docs-site links.** The `check-links.yml` lychee lane globs `README.md` but runs `--offline`, which leaves absolute URLs out as well. If the compare page or the when-to-use page were renamed, these links would point at a 404 with every gate green. This is an observation, not a current defect, so it is not filed. Carrier: none. - **No other open PR touches `README.md`.** All 18 open PRs were read file by file at the time of writing, and none touches it. The three `copilot/update-readme-*` heads on origin belong to PRs that are closed and merged; none is open. - **Changeset: none.** `packages/**` is untouched, and the README ships in no published package. Labelled `skip-changeset`. - **Not in this PR:** repository topics and the About line (settings-page values, the maintainer's clicks), the home page and the blog figures (separate cards). --- _Generated by [Claude Code](https://claude.ai/code/session_011hRnra93sK5Q2gTYYTbdJR)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent e23eccb commit 1f312fd

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

‎README.md‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
<sub><b>1</b> · One definition, and the app runs &nbsp;·&nbsp; <b>2</b> · An agent creates a record over MCP &nbsp;·&nbsp; <b>3</b> · A read-only identity is refused</sub>
2222
<br>
2323
<a href="https://youtu.be/CX_FlOoOtr0"><b>▶&nbsp; Watch: ObjectStack in 90 Seconds</b></a>
24+
<br>
25+
<sub><a href="https://objectstack.ai/blog/the-ontology-is-the-software">Why it exists</a> &nbsp;·&nbsp; <a href="https://objectstack.ai/docs/concepts/compare">How it compares</a> &nbsp;·&nbsp; <a href="https://objectstack.ai/docs/concepts/when-to-use">When to use it</a></sub>
2426
</p>
2527

2628
You build & ask with Claude Code or any coding agent: the agent writes the
@@ -88,6 +90,11 @@ runtime, as hooks, action bodies, CEL, and constrained JSX. The full account is
8890
[Business Ontology](https://objectstack.ai/docs/concepts/ontology); the short
8991
form is the [glossary entry](https://objectstack.ai/docs/getting-started/glossary#business-ontology).
9092

93+
[How it compares](https://objectstack.ai/docs/concepts/compare) sets ObjectStack
94+
beside knowledge ontologies, semantic layers, operational ontologies, metadata
95+
platforms, and AI code generation. [When to use it](https://objectstack.ai/docs/concepts/when-to-use)
96+
says where it fits today and where it does not.
97+
9198
## The runtime runs it
9299

93100
Point an agent at an empty repo and you get a one-off codebase: every screen
@@ -207,7 +214,7 @@ graph held inside a vendor's system.
207214
> The ontology is the software. Your objects, relations, actions, permissions,
208215
> flows, and agent and tool definitions are your business ontology — and the
209216
> definition layer of the AI era should be an open protocol you own.
210-
> [Read why](https://objectstack.ai/blog/the-ontology-is-the-software).
217+
> [Read why](https://objectstack.ai/blog/the-ontology-is-the-software) · [the talk as a deck (PDF)](https://objectstack.ai/decks/the-ontology-is-the-software.pdf).
211218
212219
## Ship it
213220

0 commit comments

Comments
 (0)