Docs explain ObjectOS in pre-ontology terms below the lede, and four pages state capabilities ObjectStack 17.7 does not have #328
Description
Filing gate: ③ — a task the maintainer dispatched directly in session chat.
Reader: the repo:objectos PM seat (objectstack-ai/objectstack#9831), session session_01CXCwzqwMhkphKoBC11oPSz, which dispatches it to an os-dev subagent in this round.
Dedupe: all 118 objectos issues, open and closed (REST page walk to a short page; 301 issues + PRs), grepped for ontology, readOnly, ai.exposed, package export, action_, on by default, templates.mdx, agents.mdx|ai-builder → open hits only #295 (edition names, quotes E1) and #300 (getting-started path); closed hits (#78, #102, #233, #256) are earlier 16.x/17.0 alignment and locale work. None covers this scope.
Priority: P1. Four of the items are wrong statements on a shipped surface.
Maintainer, this session's chat, 2026-10-15: 「你需要考虑的是文档站点本身的更新。」「参考官网的文档站点和最近的版本更新。」「创建issue并派发。」
Why
objectstack re-positioned on 2026-10-03: "The ontology is the software." #171 (PR #293) brought the positioning constant and the index lede into this site, gated by check-positioning.mjs. Below the lede the docs still explain ObjectOS in older terms, and they do not use the vocabulary the official docs site now defines: ontology core vs projections, executable not a knowledge ontology, not a semantic layer. Four pages also state capabilities that ObjectStack 17.7 contradicts.
The reference is the official docs site, objectstack origin/main 1ced0f82:
content/docs/concepts/ontology.mdx,concepts/compare.mdxandconcepts/when-to-use.mdx;content/docs/getting-started/glossary.mdx, the "Business Ontology" entry;content/blog/the-ontology-is-the-software.mdx.
Per #171 ruling A, this site stays documentation and cedes head terms to www.objectos.ai. So link those objectstack.ai pages; do not copy the compare or when-to-use content here.
Work items
Each line is the seat's reading on main 76988da. Falsify it against the tree first.
A. Capability claims that 17.7 contradicts
-
readOnlydatasource capability.extend-existing-systems.mdx:29-30, :48andconfigure/data-sources.mdx:222-235, :262-264recommendreadOnlyand thecapabilitiestable. The spec retired both: objectstackpackages/spec/src/data/datasource.zod.tsRETIRED_CAPABILITIES. The enforced datasource-wide write gate isexternal.allowWrites: false, plus a read-only database user. Alsodata-sources.mdx:208-209, "The objects now read and write your existing tables", vs federation being read-only by default with a double opt-in (objectstackcontent/docs/data-modeling/external-datasources.mdx). Unverified: whether the in-memory engine rows atdata-sources.mdx:29, :43are still true after 17.7. -
Action exposure. These say every action becomes an agent tool:
build/agents.mdx:88-90: "Every*.action.tsyou declare automatically materializes as anaction_…tool — no separate wiring";build/ai-builder.mdx:61-63;build/interface/actions.mdx:10-13.
objectstack
content/docs/ai/actions-as-tools.mdxgates both the open MCP path and ObjectOS on theai.exposedopt-in. This repo's ownconfigure/mcp.mdx:134-137agrees. -
MCP default.
resources/glossary.mdx:147-149says ObjectOS "can" expose MCP.resources/faq.mdx:154-158frames agent operation as the open-source path only.configure/mcp.mdx:6-8says every deployment is an MCP server, on by default. -
A command that does not exist.
build/templates.mdx:98namesos package export. The CLI'spackages/cli/src/commands/package/holds onlyinstallandpublish. Removing it reverses a capability claim, so delete that page's locale siblings in the same PR (AGENTS.mdtranslation workflow, step 3) and regenerate zh-Hant. -
Self sign-up.
resources/glossary.mdx:261: "Register … unless the deployment disables self-service sign-up". 17.3 closed self sign-up by default (auth.audience.posture=invite_only). Unverified for ObjectOS, which also hasOS_AUTH_MEMBERSHIP_POLICY. Measure before changing; if it does not apply, say so in the report.
B. Ontology framing, following the official docs site
-
New page
content/docs/ontology.mdx, "Your ontology in ObjectOS". It should cover:- the core (objects and fields, relations, actions, permissions, flows, agent and tool definitions), each mapped to this site's sections;
- the projections (views, dashboards, apps, translations), mapped to Interface and Localization;
- where the ontology lives on ObjectOS: tenant metadata from the AI Builder or Studio, repository source, or the compiled artifact (read
build/ai-skills.mdx:94andoperate/backup.mdx:12-18); - what it is not;
- links out to the objectstack.ai pages.
Add one entry to
content/docs/meta.json. Reordering the sidebar is There is no getting-started path for ObjectOS itself: Quickstart boots the open runtime, Deploy/Operate are not marked self-managed, and License & Pricing is buried #300's job. -
architecture.mdx:11-50. The "two thin layers" text puts views (a projection) into the core and omits permissions and relations. MCP is missing from the diagram and from the request path (:79-87). Redraw it as ontology → runtime (derive + enforce) → database · REST · Console · MCP. -
build/index.mdx:7-8, :17-19, :25-33. Change "The platform doesn't care how the metadata got there" to: Build is authoring the ontology core and its projections, and every path passes the same validation gate. The vocabulary table also omits permissions. -
index.mdxbelow the gated lede. Lines:7-13are untouched (check-positioning.mjsgates them). Fix::40-42, "watch the metadata get generated";:55, Salesforce as the "Same metadata-driven model";:60-65, which has no MCP row;:86-90, which has no agent audience.
:35belongs to [Decision] One name for the self-managed edition: "ObjectOS Enterprise" (positioning, 8 pages) vs "ObjectOS Self-Managed" with Business single-node and Enterprise under it (License & Pricing, Deploy) #295; leave it. -
why.mdx.:41-72fit / not-a-fit should agree with objectstack's when-to-use list: core ERP, integration-heavy work, lake analytics, algorithm-heavy domains, certified platforms.:105-106: the Salesforce "Same" rows.:60: "vibe-code".:153:npx @objectstack/cli init, where the official docs usenpm create objectstack@latest.
-
Glossary and FAQ. Align "Business ontology" (
glossary.mdx:47-58) with the objectstack glossary entry: no inheritance, axioms or reasoner; not a semantic layer. Add entries for Projection and Validation gate. Add FAQ entries "What does ObjectOS mean by ontology?" and "Is ObjectOS a semantic layer?".
File surface
content/docs/ontology.mdx(new)content/docs/meta.json(one entry)content/docs/index.mdx,why.mdx,architecture.mdx,extend-existing-systems.mdxcontent/docs/build/index.mdx,build/agents.mdx,build/ai-builder.mdx,build/templates.mdxcontent/docs/build/interface/actions.mdxcontent/docs/configure/data-sources.mdxcontent/docs/resources/glossary.mdx,resources/faq.mdxbuild/templateslocale siblings: deletion only, plus zh-Hant regeneration
Not in this card
- An "Export your ontology" procedure page. No public mechanism is documented; the seat has asked the maintainer. Keep the existing export sentences that quote the positioning, and add no steps.
- The sidebar reorder and the Cloud start page (There is no getting-started path for ObjectOS itself: Quickstart boots the open runtime, Deploy/Operate are not marked self-managed, and License & Pricing is buried #300); edition names ([Decision] One name for the self-managed edition: "ObjectOS Enterprise" (positioning, 8 pages) vs "ObjectOS Self-Managed" with Business single-node and Enterprise under it (License & Pricing, Deploy) #295); the quickstart (Quickstart "Add your own object" does not work as written: the task object is never loaded, and once exported the build refuses its name for a missing namespace prefix #327).
apps/docs/lib/positioning.tsand its gate.- The 17.x catch-up items on pages outside this surface, which are in the two sibling cards filed with this one.
Done looks like
- Every item is fixed or falsified, with a reading.
- The
ci.ymlgates pass locally, among them:gen-zh-hant.mjs --check;check-doc-samples.mjs;check-positioning.mjsandcheck-locale-surface.mjs;- type-check, build and test.
- The new page and the redrawn architecture page are checked in a real browser (
AGENTS.mdrule 2), with screenshots in the PR.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 15, 2026
Claim: PM loop,
repo:objectosseat, R1Session:
session_01CXCwzqwMhkphKoBC11oPSzAccount:
os-tesla(the seat's linked user asGET /useranswers it; always the card's assignee)Branch:
claude/issue-328-ontology-framingWorktree:
objectos-issue-328Domain: n/a (single-lane repo)
Seat:
repo:objectos(objectstack-ai/objectstack#9831)File surface: as listed in this card's "File surface" section, read on
main76988da. Stop on breach and explain in the report.Container & model:
M/L,mode:subagent,model: opus(default tier;dispatch-gates.mjs --tier --repo objectstack-ai/objectosover this surface at objectstack1ced0f82answers "no path-derived mandate")Clause-②: no
Responsibility: these docs pages produce the risk (objectos
content/docs) · the platform path already covers it: objectstack's own docs state the 17.7 behavior (ai/actions-as-tools.mdx,datasource.zod.tsRETIRED_CAPABILITIES) · every docs reader and every agent reading/llms.txtreaches it todayThread-read: none
Serial constraints cleared: nothing is in flight on objectos. #295 (queued) owns
index.mdx:35, which this card leaves alone. #300 (blocked) owns the sidebar reorder; this card adds onemeta.jsonentry only. #327 (quickstart.mdx) is disjoint. Sibling cards #329 and #330 are dispatched in this round with disjoint file surfaces. The five open PRs are Dependabot bumps, none oncontent/docs/**.Generated by Claude Code
objectstack-fleet commentedon Oct 15, 2026
os-dev-report
{
"issue": 328,
"status": "done",
"branch": "claude/issue-328-ontology-framing",
"pr": "#332",
"session": "session_01CXCwzqwMhkphKoBC11oPSz — subagent of the repo:objectos seat (parent's id)",
"premise_still_valid": true,
"summary": "Draft PR #332 (head d4f1305, assignee os-tesla, opened by objectstack-fleet[bot]) adds content/docs/ontology.mdx ('Your ontology in ObjectOS': six core kinds mapped to this site, four projections, where it lives as tenant metadata / repository source / compiled artifact, what it is not, four objectstack.ai links, no export steps) plus one meta.json entry. It also redraws architecture.mdx as ontology → runtime (derive + enforce) → database, REST, Console, MCP, adding MCP to the process diagram and the request path, and aligns build/index, index (below :7-13; :35 untouched), why, glossary (Business ontology, new Projection and Validation gate entries) and FAQ (two ontology entries). Items 1-4 were confirmed against 76988da and corrected: readOnly/capabilities and the read-write federation default; actions become AI tools only with ai.exposed; MCP is on by default; os package export does not exist. The 7 build/templates siblings are deleted and zh-Hant regenerated. Item 5 (glossary :261, self sign-up) is left unchanged, NOT MEASURED for ObjectOS: the framework default since 17.3 is invite_only (17-3.mdx:181-216), but no ObjectOS runtime or image is reachable here, this site documents no auth.audience, and OS_AUTH_MEMBERSHIP_POLICY governs what a sign-up joins, not whether one is admitted. PM assumptions measured: (a) in-memory rows: data-sources.mdx:29 still holds (a named memory datasource parses on spec 17.7.0, and the factory builds it at service-datasource default-datasource-driver-factory.ts:1341-1350); :43 lost 'demos' because 17.7 retired it as a boot store (17-7.mdx:787-793). (b) Export: no documented ObjectOS export procedure exists in this repo; the nearest read path is reference/cli.mdx:146-155, os meta list/get (a per-item metadata read), and no steps were written. (c) objectstack.ai routes: confirmed against the objectstack README (:25, :90-95, :217) and apps/docs app/[lang]/{docs,blog}; HTTP not fetched, because the proxy refuses objectstack.ai. Bounded in-place corrections, declared in the PR body: actions.mdx section Permissions (said bodies run under the caller's object permissions/FLS; on 17.7 they run isSystem after invoke-time requiredPermissions/record-load/ai.exposed gates); the glossary Action entry (nonexistent /api/v1/data/OBJECT/actions/ACTION route, 'flow steps', 'inherits the caller's permissions'); build/index 'callable from flows'; data-sources retired readReplicas/healthCheck rows, the env-password security note, sharingModel + external.remoteName on the sample; the agents.mdx 'action_*' comment.",
"tests": "Docs-only change; no tested behaviour changed, so no ablation. Reverse check of the gate on the edited samples: check-doc-samples judged every edited block PASS, none N/A (data-sources.mdx:56/:84/:124/:166, actions.mdx:20/:78/:120/:136, agents.mdx:28/:62). A spec probe on @objectstack/spec 17.7.0 DatasourceSchema.safeParse answered: REFUSED readOnly / capabilities / readReplicas / healthCheck / retryPolicy ('Unrecognized key(s) on this datasource' + tombstone); PASS external.credentialsRef on managed; REFUSED external.allowWrites:true on managed ('A managed datasource may carry external.credentialsRef (and only it)'); PASS driver 'memory'; PASS schemaMode 'external' + external {allowWrites:false, credentialsRef}. Browser: Chromium /opt/pw-browsers/chromium over
next startof the production build. /docs/ontology and /docs/architecture at 1366x900 and 390x844@2x: HTTP 200, 0 console errors, page overflow-x 0px, the sidebar lists /docs/ontology. Phone: ontology tables 356/358px; the new diagram 356px, which fits; the two older code blocks (477px, 594px) scroll in their own frame as before. The first capture showed the third table at 379px and the diagram at 641px; commit d4f1305 narrowed both. Screenshots: https://claude.ai/artifact/GU4WWGXrKEeuWE3poYbCdx (private to the maintainer's account until shared).","gates": "Local, all at HEAD d4f1305, exit codes captured before any pipe: gen-zh-hant.mjs --check 0 ('53 generated file(s) match the zh-Hans sources byte for byte'); npm ci --prefix .github/scripts/doc-samples 0 + check-doc-samples.mjs 0 ('98 pass · 10 not a spec sample · 2 opted out', spec 17.7.0); check-translations.mjs 0 ('translations gate passed'); check-translation-ownership.mjs --actor os-tesla --files (git diff --name-status --no-renames origin/main...HEAD) 0, not enforced; with TRANSLATION_BOT_LOGIN simulated, 0 ('7 translation artifact(s) deleted, none added or modified'); check-translation-output.mjs --files 0 and --self-test 0; os-verify-lock.sh -- pnpm turbo run type-check --continue 0 (cache miss, executed); os-verify-lock.sh -- pnpm turbo run build 0 (1005 static pages; Satori OG font fetches fail through the container TLS proxy, environmental; the final run is a cache hit on hash c0f28c15a7edb98c, which this worktree executed on the identical tree); check-locale-surface.mjs 0; check-positioning.mjs 0 ('4 copies equal their constants ... no stale sentence in 80 English sources'); check-search-locales.mjs 0 ('all 8 locales answer 200'; en 80/80 own pages found by title); os-verify-lock.sh -- pnpm turbo run test 0 ('11 self-test(s) passed'). Reconciliation: scripts/pm/dispatch-gates.mjs is objectstack-only, so the list is hand-derived from objectos ci.yml + translations.yml at 76988da. Not run locally (CI-only, cited): Node floor, Half-state sweeper self-test, Worker packaging, size budget, render smoke-check. CI check-runs on d4f1305: build success (every step success, including 'Worker bundle fits the size budget' and 'The docs site renders — smoke-check a local preview'; 'Upload the Worker bundle' skipped), Ownership & freshness success, Node floor success, Deploy docs skipped. Run: https://github.com/objectstack-ai/objectos/actions/runs/38741191729.",
"mcp_calls": "0",
"api_writes": "2 — both via the fleet-write relay (each a POST /repos/objectstack-ai/objectstack/dispatches, executed as objectstack-fleet[bot]): (1) pr_create → POST /repos/objectstack-ai/objectos/pulls + POST /repos//issues/332/assignees (read-back: 12298 bytes sent = stored; assignees os-tesla); (2) comment → POST /repos//issues/328/comments (this report). Plus 3 git pushes (empty-branch probe, 87e27ef, d4f1305), which are not REST. 0 PR body edits, 0 label writes, 0 card assignee writes, 0 merges, not marked ready.",
"line_budget": "n/a — no skills/** or ledgered file touched",
"files_changed": "A content/docs/ontology.mdx; M content/docs/meta.json, index.mdx, why.mdx, architecture.mdx, extend-existing-systems.mdx, build/index.mdx, build/agents.mdx, build/ai-builder.mdx, build/templates.mdx, build/interface/actions.mdx, configure/data-sources.mdx, resources/glossary.mdx, resources/faq.mdx; D content/docs/build/templates.{de,es,fr,ja,ko,zh-Hans,zh-Hant}.mdx — 21 files, +365 -841, all inside the card's file surface",
"deviations": [
"Commit trailers carry 'Co-Authored-By: Claude Opus 5.5' from the harness attribution reminder; the os-dev definition asks for a model-free trailer pair. History left as pushed, per 'report, do not rewrite'.",
"Bounded in-place corrections beyond the card's listed line ranges, all in surface files and the same defect class; each is named in the PR body with evidence (see summary).",
"The browser check ran on
next startof the production build, notnpm run dev; the build is what ships.","My own
next startwrapper exited on kill while itsnext-serverchild, plus esbuild/workerd children, kept port 3328. Found by cwd = my worktree and stopped by PID. No processes left; the worktree was removed after the PR.","Screenshots are hosted as a private claude.ai artifact: the container has no image-upload path into the PR, and throwaway branches are forbidden.",
"Waited for CI in the foreground only because the dispatch explicitly asked to read the render smoke-check and size gate on the final head."
],
"open_questions": [],
"out_of_scope_findings": [
"carrier: #330 (owns reference/rest-api.mdx) and #329 (owns reference/security.mdx) · class: a · reference/rest-api.mdx:142 'Each action is also exposed to the AI as a action_NAME tool' and reference/security.mdx:206 'one action_NAME tool per declared action' repeat this card's item-2 claim; contradicted by configure/mcp.mdx:134-137 and objectstack ai/actions-as-tools.mdx:90-98 · dedupe: action_ tool, ai.exposed, every action exposed",
"class: a · reach: named producer — build/templates.mdx:47 publishes
pnpm dlx @objectstack/cli create my-app --template todo; at @objectstack/cli@17.7.0 (4e4e881)os createtakes TYPE [NAME] and answers 'Unknown type' (cli/src/commands/create.ts:640), and create-objectstack refuses -t todo as retired (template-registry.ts:46-52: todo, compliance, content, contracts, procurement 'delisted from the ObjectStack template marketplace'); source-read, not executed. The same page's catalog (:18-32, :79-87), index.mdx:43-44 and build/index.mdx:15, :46-48 still name the delisted templates as installable; whether the ObjectOS marketplace lists them is NOT MEASURED · dedupe: os create --template, delisted templates, template catalog todo, Fork as a codebase","class: a · reach: named producer — build/interface/actions.mdx:43-57 sample body calls ctx.data.update('invoice', input.id, ...) and now(); the 17.7 action body face is ctx.api.object(...), ctx.params, ctx.record (runtime/src/sandbox/body-runner.ts:21-41; action-execution.ts actionContext), with no ctx.data; not executed · dedupe: ctx.data, action body sample, approve_invoice body",
"carrier: #330 (owns reference/cli.mdx) · class: a · reference/cli.mdx:98-103 documents
os create example, retired by #16483 (cli create.ts:555 RETIRED_TEMPLATES at 4e4e881) · dedupe: os create example, retired template","class: b · repo objectstack-ai/objectstack · reach: named producer — content/docs/data-modeling/drivers.mdx:975-977 and external-datasources.mdx:265-266 say the parse rejects an external block on a managed datasource, and that managed credentials go in config from the environment · Seam: spec:DatasourceSchema.external.credentialsRef (valid on managed, #8153) → consumer: none (docs) · evidence: @objectstack/spec 17.7.0 safeParse PASS {external:{credentialsRef}} on managed; REFUSED {external:{allowWrites:true}} with 'A managed datasource may carry external.credentialsRef (and only it)' · dedupe: credentialsRef managed, external block managed datasource, read-only grant drivers",
"carrier: none — noted in objectos#332 Acceptance notes only, not filed (no reach: HTTP not measured) · objectstack docs link https://docs.objectos.app/docs/ai (ai/actions-as-tools.mdx:149, :234 + 3 more); this site is docs.objectos.ai (apps/docs/lib/site.ts:44) and has no /docs/ai route",
"carrier: none — measurement gap, left unchanged · resources/glossary.mdx:261 self sign-up wording vs the framework's 17.3 invite_only default; needs a reading on a running ObjectOS deployment"
]
}
objectstack-fleet commentedon Oct 16, 2026
os-dev-report
{
"addendum_to": "os-dev-report 6193066810 (objectos#328)",
"round": "patch round 1",
"status": "done",
"pr": "#332",
"head": "5623532",
"files_changed_this_round": "D content/docs/build/index.{de,es,fr,ja,ko,zh-Hans,zh-Hant}.mdx; M content/docs/build/templates.mdx; M content/docs/build/interface/actions.mdx — PR now 28 files, +379 -1271",
"gates": "local at 5623532, each exit 0 captured before any pipe: gen-zh-hant --check; check-doc-samples (98 pass · 10 N/A · 2 opted out); check-translations; check-translation-ownership (not enforced; simulated bot: 14 deleted, none added or modified); check-translation-output --files and --self-test; turbo type-check (cache miss, executed); turbo build (cache miss, executed); check-locale-surface; check-positioning; check-search-locales (en 80/80); turbo test (cache hit, inputs unchanged). CI on 5623532: build success (every step, including size budget and render smoke-check), Ownership & freshness success, Node floor success, Deploy docs skipped — https://github.com/objectstack-ai/objectos/actions/runs/38852050710",
"pr_body": "NOT edited. The os-dev definition says a dev writes the PR body once, when the PR is opened, and names any later change for the seat to write; that conflicts with the dispatch's 'update the PR body (≤2 edits)', and the definition wins. Text for the seat to append is below this JSON.",
"api_writes_this_round": "1 — this comment (relay: POST /repos/objectstack-ai/objectstack/dispatches → POST /repos//issues/328/comments). Plus 1 git push. 0 PR body edits, 0 label, 0 assignee writes; the PR stays a draft.",
"mcp_calls": "0"
}
Patch round 1 (
5623532)build/index.mdxlocale siblings deleted. The Actions row no longer says actions are callable from flows, and it makes agent access conditional on exposure. Under [Decision] An English docs correction leaves its locale siblings asserting the corrected-away claim — #59 says delete them, the seat post says leave them, and #68 blocks the pass that would fix them #256 ruling5989567068, the sevenbuild/index.*.mdxsiblings are deleted and zh-Hant regenerated (the generator removed the stray zh-Hant file).build/templates.mdxscaffold command, measured.pnpm dlx @objectstack/cli create my-app --template todofails on 17.7.0 three ways:ERR_PNPM_DLX_MULTIPLE_BINS;os create my-app --template todoanswersNonexistent flag: --template(exit 2); theos createsignature isTYPE [NAME], plugin only;create-objectstack my-app --template todoanswersTemplate "todo" has been retired(exit 1).It is replaced by
npm create objectstack@latest my-app;npm create objectstack@17.7.0 my-app -- --skip-install --skip-skillsscaffolds the blank template (exit 0). One sentence says the scaffolder no longer fetches content templates by name. The catalog (:18-32,:79-87) and the index / build-index template mentions are untouched; whether the ObjectOS marketplace lists them stays unmeasured.build/interface/actions.mdxbody sample, verified against4e4e8814sources. It now readsawait ctx.api.object('invoice').update({ id: ctx.recordId, ... approved_by: ctx.user.id, approved_at: new Date().toISOString(), approval_note: input.note })withcapabilities: ['api.write']. Sources:(input, ctx), withinputthe params bag (runtime/src/sandbox/script-runner.ts:123-150;body-runner.tsbuildActionSandboxContext).ctx.params, in the rework brief, is the handler-level ActionContext key; inside the sandbox the same bag isinput/ctx.input;ctx.recordis read-only, andctx.api.object(...)is the write channel (body-runner.ts:39-44; the runtime's own prescription atbody-runner.ts:690);spec/src/data/hook-body.zod.ts:224-228).It was not executed. Reverse check: mutating the capability to
api.writmakescheck-doc-samples.mjsFAIL atactions.mdx:21; restored from HEAD, blob hash equal.Gates at
5623532, exit 0 each:gen-zh-hant --check,check-doc-samples(98 pass),check-translations, translation ownership (simulated bot: 14 artifacts deleted, none added), translation output and--self-test,turbo type-check,turbo build,check-locale-surface,check-positioning,check-search-locales,turbo test.buildsucceeded, including the size budget and the render smoke-check; Ownership & freshness and Node floor succeeded.Commit trailer. This round's commit carries the model-free trailer pair.
With this, two bullets under "Out of scope here" are now done in this PR: the
templates.mdx:46-51command and theactions.mdx:43-57body. The template-catalog half of the templates bullet stays.objectstack-fleet commentedon Oct 16, 2026
ACCEPT → PR #332 comment 6208343950 · 2026-10-16T04:51Z · awaiting a human merge (merging to
mainpublishes production).Generated by Claude Code