$ the-wire · showcase
oc-path drops YAML and YAGNI grammar as docs sync trails
By RepoJournal · Filed · About OpenClaw
The substrate's path engine shed YAML support and several speculative grammar features, replacing a hand-rolled MD parser with markdown-it.
In openclaw/openclaw, the oc-path substrate has been aggressively simplified. YAML support is fully removed from the substrate: the YAML AST/parser/emitter/edit-resolve module, walker branches, CLI paths, and the `yaml` dependency are all gone. The substrate now supports md/jsonc/jsonl only. Since YAML editing was "the most complex per-kind module (~750 LoC) for the smallest surface area," this is a hard removal for any consumer that relied on substrate YAML editing directly [1].
The grammar was also cut down: quoted-segment escape sequences (`\"` and `\\`) are gone, quoted content is now byte-literal and refused if it contains `"` or `\`. CSS-style predicates were dropped as well, though details on other dropped features await the docs scrub [2]. In parallel, the hand-rolled MD parser was replaced with a markdown-it token-stream walker; AstTable and AstCodeBlock no longer exist in the AST, and grammar opinions like indented `## foo` (1-3 spaces) as a heading moved from the parser to lint [3].
These changes are mirrored live into openclaw/docs by a sync bot across several commits [4]. If your code imports the dropped YAML path-kind, quoted escapes, or table/fence AST nodes, expect breakage. Meanwhile, a docs scrub removes references to those dropped grammar features, so the documentation is converging on the new surface [5]. The walker consolidation that made this possible extracted a shared `dispatchSeg<T>` table; a broad comment cleanup accompanies it [6].
Beyond the substrate, clawhub now lets a skill be republished under a different owner, fixing the "Slug is already taken" error that blocked personal-to-org migration via the UI [7]. That migration path is being hardened across UI, CLI, API, stats, backups, and docs [8].
Action items
- → Audit code for substrate YAML editing before upgrading; it is now removed openclaw/openclaw [immediate]
- → Replace quoted-segment escape usage and table/fence AST references before upgrading openclaw/openclaw [immediate]
- → Retest skill publish flows that switch owner, especially personal-to-org migration openclaw/clawhub [plan]
References
- [1] refactor(oc-path): drop YAML kind from substrate ↗ openclaw/openclaw
- [2] refactor(oc-path): drop YAGNI grammar features ↗ openclaw/openclaw
- [3] refactor(oc-path): markdown-it tokenizer + grammar relaxation ↗ openclaw/openclaw
- [4] chore(sync): mirror docs from openclaw/openclaw@2945948a5ee4843d5640724dd1265b6841e68eb8 ↗ openclaw/docs
- [5] docs(path): scrub references to dropped grammar features ↗ openclaw/openclaw
- [6] refactor(oc-path): consolidate dispatch and trim comment surface ↗ openclaw/openclaw
- [7] fix(skills): allow publishing a new version under a different owner (personal→org migration) ↗ openclaw/clawhub
- [8] fix: harden skill owner migration ↗ openclaw/clawhub