Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion packages/hermes-tlon-adapter/adapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -4993,7 +4993,10 @@ def register(ctx) -> None:
"and /tlon (version, status storage, status telemetry, status "
"binary — debug info). Point the owner at those commands when asked "
"rather than changing configuration yourself. "
"Use concise plain text and basic markdown."
"Use concise plain text and basic markdown. Never use LaTeX math "
"delimiters ($...$, $$...$$, \\(...\\), \\[...\\]) in note bodies "
"or message text — Tlon renders no math; write math as plain "
"text/Unicode or in code blocks."
+ _reaction_platform_hint(TlonConfig.from_env().reaction_level)
),
)
37 changes: 37 additions & 0 deletions packages/hermes-tlon-adapter/test_tlon_tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,43 @@ def register_platform(self, **kwargs):
self.assertIn("--parent <post-id>", platform_hint)
self.assertIn("posts delete heap/~host/name <post-id>", platform_hint)

def test_tool_description_includes_latex_guidance(self):
description = tlon_tool.TLON_TOOL_DESCRIPTION

self.assertIn("Never use LaTeX math delimiters", description)
self.assertIn("$$...$$", description)
self.assertIn("\\(...\\)", description)
self.assertIn("\\[...\\]", description)
self.assertIn("plain text/Unicode", description)
self.assertIn("code blocks", description)

class RecordingContext:
def __init__(self):
self.platform = None

def register_hook(self, *_args):
pass

def register_tool(self, **_kwargs):
pass

def register_skill(self, *_args, **_kwargs):
pass

def register_platform(self, **kwargs):
self.platform = kwargs

context = RecordingContext()
adapter_mod.register(context)
platform_hint = context.platform["platform_hint"]

self.assertIn("Never use LaTeX math delimiters", platform_hint)
self.assertIn("$$...$$", platform_hint)
self.assertIn("\\(...\\)", platform_hint)
self.assertIn("\\[...\\]", platform_hint)
self.assertIn("plain text/Unicode", platform_hint)
self.assertIn("code blocks", platform_hint)

def test_blocks_notebook(self):
args, error = tlon_tool.split_tlon_command('notebook diary/~zod/notes "Title"')
self.assertIsNone(error)
Expand Down
3 changes: 3 additions & 0 deletions packages/hermes-tlon-adapter/tlon_tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ class _DiaryMigrationNotificationRegistration:
"notes/~host/name nests). For notes bodies, use --body <file> "
"(note-create also accepts --markdown <file>); --stdin is blocked because "
"Hermes cannot pipe stdin into the CLI process. "
"Never use LaTeX math delimiters ($...$, $$...$$, \\(...\\), \\[...\\]) — "
"Tlon renders no math; write math as plain text/Unicode or in code "
"blocks. "
"%diary channels are deprecated and unsupported by this tool. Ask the "
"owner to type `/migrate <diary-nest>` to move one to %notes. Hermes "
"delivery uses `tlon posts send`, which refuses diary/ targets. "
Expand Down
1 change: 1 addition & 0 deletions packages/openclaw/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
onInternalDiagnosticEvent,
} from 'openclaw/plugin-sdk/diagnostic-runtime';

import { tlonPlugin } from './src/channel.js';

Check warning on line 11 in packages/openclaw/index.ts

View workflow job for this annotation

GitHub Actions / Bot Package Checks

'tlonPlugin' is defined but never used
import { publishContextLensEvent } from './src/context-lens-events.js';
import { registerContextLensRoutes } from './src/context-lens-routes.js';
import { initContextLensShipSync } from './src/context-lens-ship-sync.js';
Expand Down Expand Up @@ -42,7 +42,7 @@
import { resolveBridgeForCommand } from './src/monitor/command-auth.js';
import { isRouteDebugEnabled } from './src/monitor/session-routing.js';
import { handleOwnerListenCommand } from './src/owner-listen-command.js';
import { setTlonRuntime } from './src/runtime.js';

Check warning on line 45 in packages/openclaw/index.ts

View workflow job for this annotation

GitHub Actions / Bot Package Checks

'setTlonRuntime' is defined but never used
import { getSessionRole } from './src/session-roles.js';
import { parseTlonTarget } from './src/targets.js';
import {
Expand Down Expand Up @@ -972,6 +972,7 @@
'DO NOT use this tool to send messages — use the `message` tool instead. ' +
'%diary channels are deprecated and unsupported by this CLI tool; ask the owner to type `/migrate <diary-nest>` to move one to %notes. ' +
'OpenClaw message delivery still accepts diary/ targets, including writable archives. ' +
'Never use LaTeX math delimiters ($...$, $$...$$, \\(...\\), \\[...\\]) in note bodies — Tlon renders no math; write math as plain text/Unicode or in code blocks. ' +
Comment thread
patosullivan marked this conversation as resolved.
Outdated
"Examples: 'activity mentions --limit 10', 'channels groups', 'contacts self', 'groups list', 'notes list'",
parameters: {
type: 'object',
Expand Down
10 changes: 9 additions & 1 deletion packages/tlon-skill/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -476,13 +476,21 @@ explanatory error). Deprecated diary channels are unmanaged by the CLI except
through the owner-run `tlon notes migrate-plan <diary-nest>` and
`tlon notes migrate-apply <diary-nest> --yes` paths.

Message text supports Markdown lists, task lists, blockquotes, code, links, and ship mentions; raw HTML blocks and reference-style links are not supported.
Message text supports Markdown lists, task lists, blockquotes, code, links, and ship mentions; raw HTML blocks and reference-style links are not supported. Never use LaTeX math delimiters ($...$, $$...$$, \(...\), \[...\]) — Tlon renders no math; write math as plain text/Unicode or in code blocks.

### Notes

Manage %notes notebooks (Markdown-first). Notebooks are nests of the form
`notes/~host/name`; note bodies are plain Markdown (not Tlon Story).

Do not use LaTeX math delimiters (`$...$`, `$$...$$`, `\(...\)`, `\[...\]`) in
note bodies or message text. No Tlon surface renders math: the delimiters
display literally or get mangled (Markdown emphasis, mentions, and escaping can
corrupt the text inside and around them), and in a note body the backslashes in
`\(` and `\[` are silently eaten by Markdown escaping, so those delimiters
vanish. Write math as plain text/Unicode (`x²`, `E = mc²`, `θ ∈ [0, 2π)`) and
use code blocks or inline code for complex formulas.

```bash
tlon notes status # Check %notes reachability
tlon notes request 0vabc # Check a pending write request
Expand Down
2 changes: 1 addition & 1 deletion packages/tlon-skill/npm/darwin-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tloncorp/tlon-skill-darwin-arm64",
"version": "0.5.0",
"version": "0.5.1",
"description": "Tlon skill binary for macOS ARM64",
"os": [
"darwin"
Expand Down
2 changes: 1 addition & 1 deletion packages/tlon-skill/npm/darwin-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tloncorp/tlon-skill-darwin-x64",
"version": "0.5.0",
"version": "0.5.1",
"description": "Tlon skill binary for macOS x64",
"os": [
"darwin"
Expand Down
2 changes: 1 addition & 1 deletion packages/tlon-skill/npm/linux-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tloncorp/tlon-skill-linux-arm64",
"version": "0.5.0",
"version": "0.5.1",
"description": "Tlon skill binary for Linux arm64",
"os": [
"linux"
Expand Down
2 changes: 1 addition & 1 deletion packages/tlon-skill/npm/linux-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tloncorp/tlon-skill-linux-x64",
"version": "0.5.0",
"version": "0.5.1",
"description": "Tlon skill binary for Linux x64",
"os": [
"linux"
Expand Down
2 changes: 1 addition & 1 deletion packages/tlon-skill/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tloncorp/tlon-skill",
"version": "0.5.0",
"version": "0.5.1",
"description": "Tlon/Urbit skill for OpenClaw agents",
"type": "module",
"bin": {
Expand Down
3 changes: 3 additions & 0 deletions packages/tlon-skill/scripts/commands/notes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ Content sources (Markdown):
--markdown <file> Alias for --body
--stdin Read the note body from stdin

Note bodies are plain Markdown. LaTeX math delimiters ($...$, $$...$$,
\\(...\\), \\[...\\]) do not render; use plain text/Unicode or code blocks.

Examples:
tlon notes list
tlon notes request 0vabc
Expand Down
Loading