diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 9a11db8..fe56186 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -8,6 +8,7 @@ For longer narratives, see link:changelog-details/[changelog-details/] (when pre == Timeline +* 2026-09-27 -- Themed Mermaid manifests: bind `#my-svg .label` to `color.text.primary` for dark-mode edge labels; regenerated four diagram SVG pairs (unblocks openshellorg/docs hub `diagram-audit`). * 2026-09-27 -- xref:entrypoint-dispatch.adoc[Shell pains]: human-facing rewrite (concrete Node pin scene before jargon; stable URL); nav and in-repo link labels updated. * 2026-09-27 -- xref:webview-run-surface.adoc[Webview run surface]: architecture page (display vs transport via `layout.html` + `ops.jsonl`), companion demo under `demos/webview-run-surface/`, cross-links from Tool Runs and command channels. * 2026-09-08 -- Kept the four OpenShell-native diagrams under local deterministic Mermaid generation. Synchronized all twelve PlayTime standalone-adaptive and host artifacts from canonical Scriptbook commit `9753437`, preserved their fixed originals, removed duplicate PlayTime source ownership, and added pinned checksum, XML, safety, accessibility, and light/dark validation. diff --git a/docs/modules/ROOT/images/declaration-without-dispatch.host.svg b/docs/modules/ROOT/images/declaration-without-dispatch.host.svg index 174ee5c..74331eb 100644 --- a/docs/modules/ROOT/images/declaration-without-dispatch.host.svg +++ b/docs/modules/ROOT/images/declaration-without-dispatch.host.svg @@ -1 +1 @@ -Declaration without dispatchA launcher declares a version but starts the unverified command already on PATH.ignoredengines / .node-versionWrong major on PATHUser / IDE / CICompile / load nativeaddonABI crashRebuild folklore / installnvm \ No newline at end of file +Declaration without dispatchA launcher declares a version but starts the unverified command already on PATH.ignoredengines / .node-versionWrong major on PATHUser / IDE / CICompile / load nativeaddonABI crashRebuild folklore / installnvm \ No newline at end of file diff --git a/docs/modules/ROOT/images/declaration-without-dispatch.svg b/docs/modules/ROOT/images/declaration-without-dispatch.svg index 37b25eb..cae9db1 100644 --- a/docs/modules/ROOT/images/declaration-without-dispatch.svg +++ b/docs/modules/ROOT/images/declaration-without-dispatch.svg @@ -1 +1 @@ -Declaration without dispatchA launcher declares a version but starts the unverified command already on PATH.ignoredengines / .node-versionWrong major on PATHUser / IDE / CICompile / load nativeaddonABI crashRebuild folklore / installnvm \ No newline at end of file +Declaration without dispatchA launcher declares a version but starts the unverified command already on PATH.ignoredengines / .node-versionWrong major on PATHUser / IDE / CICompile / load nativeaddonABI crashRebuild folklore / installnvm \ No newline at end of file diff --git a/docs/modules/ROOT/images/honest-entrypoint-dispatch.host.svg b/docs/modules/ROOT/images/honest-entrypoint-dispatch.host.svg index 949bd3d..5d3eaf1 100644 --- a/docs/modules/ROOT/images/honest-entrypoint-dispatch.host.svg +++ b/docs/modules/ROOT/images/honest-entrypoint-dispatch.host.svg @@ -1 +1 @@ -Honest entrypoint dispatchThe entrypoint resolves, installs, verifies, and re-executes the requested tool version.Correct majorVersion cache / adapterProject pinEntrypoint (wrong major)User / IDE / CICorrect majorVersion cache / adapterProject pinEntrypoint (wrong major)User / IDE / CIalt[pin unsatisfied][pin satisfied]Global default unchangedinvoke commandread engines / .node-versioninstall if missingreadyre-exec same argv (this tree only)run commandrun command \ No newline at end of file +Honest entrypoint dispatchThe entrypoint resolves, installs, verifies, and re-executes the requested tool version.Correct majorVersion cache / adapterProject pinEntrypoint (wrong major)User / IDE / CICorrect majorVersion cache / adapterProject pinEntrypoint (wrong major)User / IDE / CIalt[pin unsatisfied][pin satisfied]Global default unchangedinvoke commandread engines / .node-versioninstall if missingreadyre-exec same argv (this tree only)run commandrun command \ No newline at end of file diff --git a/docs/modules/ROOT/images/honest-entrypoint-dispatch.svg b/docs/modules/ROOT/images/honest-entrypoint-dispatch.svg index d42f994..10754aa 100644 --- a/docs/modules/ROOT/images/honest-entrypoint-dispatch.svg +++ b/docs/modules/ROOT/images/honest-entrypoint-dispatch.svg @@ -1 +1 @@ -Honest entrypoint dispatchThe entrypoint resolves, installs, verifies, and re-executes the requested tool version.Correct majorVersion cache / adapterProject pinEntrypoint (wrong major)User / IDE / CICorrect majorVersion cache / adapterProject pinEntrypoint (wrong major)User / IDE / CIalt[pin unsatisfied][pin satisfied]Global default unchangedinvoke commandread engines / .node-versioninstall if missingreadyre-exec same argv (this tree only)run commandrun command \ No newline at end of file +Honest entrypoint dispatchThe entrypoint resolves, installs, verifies, and re-executes the requested tool version.Correct majorVersion cache / adapterProject pinEntrypoint (wrong major)User / IDE / CICorrect majorVersion cache / adapterProject pinEntrypoint (wrong major)User / IDE / CIalt[pin unsatisfied][pin satisfied]Global default unchangedinvoke commandread engines / .node-versioninstall if missingreadyre-exec same argv (this tree only)run commandrun command \ No newline at end of file diff --git a/docs/modules/ROOT/images/sibling-ownership.host.svg b/docs/modules/ROOT/images/sibling-ownership.host.svg index 975e5eb..33acd1c 100644 --- a/docs/modules/ROOT/images/sibling-ownership.host.svg +++ b/docs/modules/ROOT/images/sibling-ownership.host.svg @@ -1 +1 @@ -Sibling project ownershipDevCentr owns lifecycle policy while OpenShellOrg owns honest entrypoint dispatch.DevCentr: ToolchainManagementPattern / Protocol / TCoP /TCFPin / health / repair /upgradeLifecycle ownershipOpenShellOrg: EntrypointDispatchResolve / install / re-execShell / CLI processboundaryInvocation honesty \ No newline at end of file +Sibling project ownershipDevCentr owns lifecycle policy while OpenShellOrg owns honest entrypoint dispatch.DevCentr: ToolchainManagementPattern / Protocol / TCoP /TCFPin / health / repair /upgradeLifecycle ownershipOpenShellOrg: EntrypointDispatchResolve / install / re-execShell / CLI processboundaryInvocation honesty \ No newline at end of file diff --git a/docs/modules/ROOT/images/sibling-ownership.svg b/docs/modules/ROOT/images/sibling-ownership.svg index a7f5897..0d6f98e 100644 --- a/docs/modules/ROOT/images/sibling-ownership.svg +++ b/docs/modules/ROOT/images/sibling-ownership.svg @@ -1 +1 @@ -Sibling project ownershipDevCentr owns lifecycle policy while OpenShellOrg owns honest entrypoint dispatch.DevCentr: ToolchainManagementPattern / Protocol / TCoP /TCFPin / health / repair /upgradeLifecycle ownershipOpenShellOrg: EntrypointDispatchResolve / install / re-execShell / CLI processboundaryInvocation honesty \ No newline at end of file +Sibling project ownershipDevCentr owns lifecycle policy while OpenShellOrg owns honest entrypoint dispatch.DevCentr: ToolchainManagementPattern / Protocol / TCoP /TCFPin / health / repair /upgradeLifecycle ownershipOpenShellOrg: EntrypointDispatchResolve / install / re-execShell / CLI processboundaryInvocation honesty \ No newline at end of file diff --git a/docs/modules/ROOT/images/toolchain-architecture.host.svg b/docs/modules/ROOT/images/toolchain-architecture.host.svg index 626e911..c1c79e9 100644 --- a/docs/modules/ROOT/images/toolchain-architecture.host.svg +++ b/docs/modules/ROOT/images/toolchain-architecture.host.svg @@ -1 +1 @@ -Toolchain architectureThe official entrypoint owns pin resolution, installation, re-execution, and lifecycle handoff.left aloneActors: Dev / IDE / CIProject declares engines /pin fileOfficial entrypoint resolvesproject pinInstall if neededRe-execHealth / repair / upgradeCorrect runtime / SDK forthis treeMachine default staysunchangedProject / app \ No newline at end of file +Toolchain architectureThe official entrypoint owns pin resolution, installation, re-execution, and lifecycle handoff.left aloneActors: Dev / IDE / CIProject declares engines /pin fileOfficial entrypointresolves project pinInstall if neededRe-execHealth / repair / upgradeCorrect runtime / SDK forthis treeMachine default staysunchangedProject / app \ No newline at end of file diff --git a/docs/modules/ROOT/images/toolchain-architecture.svg b/docs/modules/ROOT/images/toolchain-architecture.svg index 0eae438..25ba9b5 100644 --- a/docs/modules/ROOT/images/toolchain-architecture.svg +++ b/docs/modules/ROOT/images/toolchain-architecture.svg @@ -1 +1 @@ -Toolchain architectureThe official entrypoint owns pin resolution, installation, re-execution, and lifecycle handoff.left aloneActors: Dev / IDE / CIProject declares engines /pin fileOfficial entrypoint resolvesproject pinInstall if neededRe-execHealth / repair / upgradeCorrect runtime / SDK forthis treeMachine default staysunchangedProject / app \ No newline at end of file +Toolchain architectureThe official entrypoint owns pin resolution, installation, re-execution, and lifecycle handoff.left aloneActors: Dev / IDE / CIProject declares engines /pin fileOfficial entrypointresolves project pinInstall if neededRe-execHealth / repair / upgradeCorrect runtime / SDK forthis treeMachine default staysunchangedProject / app \ No newline at end of file diff --git a/docs/modules/ROOT/partials/diagrams/declaration-without-dispatch.theme.json b/docs/modules/ROOT/partials/diagrams/declaration-without-dispatch.theme.json index 5211277..feace08 100644 --- a/docs/modules/ROOT/partials/diagrams/declaration-without-dispatch.theme.json +++ b/docs/modules/ROOT/partials/diagrams/declaration-without-dispatch.theme.json @@ -33,6 +33,7 @@ }, "bindings": [ { "kind": "stylesheet", "selector": "#my-svg", "property": "fill", "token": "color.text.primary" }, + { "kind": "stylesheet", "selector": "#my-svg .label", "property": "color", "token": "color.text.primary" }, { "kind": "stylesheet", "selector": "#my-svg .label text", "property": "fill", "token": "color.text.primary" }, { "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "fill", "token": "color.surface.primary" }, { "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "stroke", "token": "color.border.primary" }, diff --git a/docs/modules/ROOT/partials/diagrams/honest-entrypoint-dispatch.theme.json b/docs/modules/ROOT/partials/diagrams/honest-entrypoint-dispatch.theme.json index a109d62..b633097 100644 --- a/docs/modules/ROOT/partials/diagrams/honest-entrypoint-dispatch.theme.json +++ b/docs/modules/ROOT/partials/diagrams/honest-entrypoint-dispatch.theme.json @@ -10,6 +10,7 @@ }, "bindings": [ { "kind": "stylesheet", "selector": "#my-svg", "property": "fill", "token": "color.text.primary" }, + { "kind": "stylesheet", "selector": "#my-svg .label", "property": "color", "token": "color.text.primary" }, { "kind": "stylesheet", "selector": "#my-svg .actor", "property": "fill", "token": "color.surface.primary" }, { "kind": "stylesheet", "selector": "#my-svg .actor", "property": "stroke", "token": "color.border.primary" }, { "kind": "stylesheet", "selector": "#my-svg text.actor>tspan", "property": "fill", "token": "color.text.primary" }, diff --git a/docs/modules/ROOT/partials/diagrams/sibling-ownership.theme.json b/docs/modules/ROOT/partials/diagrams/sibling-ownership.theme.json index 377e488..8838127 100644 --- a/docs/modules/ROOT/partials/diagrams/sibling-ownership.theme.json +++ b/docs/modules/ROOT/partials/diagrams/sibling-ownership.theme.json @@ -32,6 +32,7 @@ }, "bindings": [ { "kind": "stylesheet", "selector": "#my-svg", "property": "fill", "token": "color.text.primary" }, + { "kind": "stylesheet", "selector": "#my-svg .label", "property": "color", "token": "color.text.primary" }, { "kind": "stylesheet", "selector": "#my-svg .label text", "property": "fill", "token": "color.text.primary" }, { "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "fill", "token": "color.surface.primary" }, { "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "stroke", "token": "color.border.primary" }, diff --git a/docs/modules/ROOT/partials/diagrams/toolchain-architecture.theme.json b/docs/modules/ROOT/partials/diagrams/toolchain-architecture.theme.json index dd31562..9290b36 100644 --- a/docs/modules/ROOT/partials/diagrams/toolchain-architecture.theme.json +++ b/docs/modules/ROOT/partials/diagrams/toolchain-architecture.theme.json @@ -32,6 +32,7 @@ }, "bindings": [ { "kind": "stylesheet", "selector": "#my-svg", "property": "fill", "token": "color.text.primary" }, + { "kind": "stylesheet", "selector": "#my-svg .label", "property": "color", "token": "color.text.primary" }, { "kind": "stylesheet", "selector": "#my-svg .label text", "property": "fill", "token": "color.text.primary" }, { "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "fill", "token": "color.surface.primary" }, { "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "stroke", "token": "color.border.primary" },