feat(engine): workflow-engine skeleton — kernel/domain rings, gateway harness, typecheck gate#383
Open
leeovery wants to merge 3 commits into
Open
feat(engine): workflow-engine skeleton — kernel/domain rings, gateway harness, typecheck gate#383leeovery wants to merge 3 commits into
leeovery wants to merge 3 commits into
Conversation
…entions
New self-contained workflow-render skill. Generic layout primitives
(render.cjs): fillTo/wrap/wrapWithPrefix core (the single home of the
gutter-budget math), signpost + box, and renderTree — a recursive
{ title, body?, children? } tree owning branch glyphs, the continuous │
gutter, and wrap-with-gutter-budget (the original overflow bug is
structurally impossible). Domain composition in conventions.cjs
(title/tag/derivedFrom/discoveryGlyph/titlecase). Library + CLI; no
build step. SKILL.md API reference; test-render.cjs (additive only — no
existing skill touched).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… harness, typecheck gate The renderer spike becomes the first module of the workflow engine: - kernel/render.cjs — pure layout (CLI stripped out, JSDoc contracts added) - domain/conventions.cjs — workflow glyph/tag composition - gateway.cjs — uniform verb dispatch + demarcated DATA/DISPLAY/MENU sections - lib.cjs — single in-process entry; engine.cjs — single CLI entry - workflow-render retired (was unwired); tsc --noEmit checkJs gate added Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… in SKILL.md Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
PR 1 of the engine stack (Phase 0 of the build sequence in
ideas/deterministic-tree-and-menu-renderer.mdonfeat/renderer).Creates
skills/workflow-engine/— the designed home for everything deterministic — and moves the proven renderer spike in as its first module:scripts/kernel/render.cjs— pure layout (signpost/box/tree + the wrap/budget core), CLI stripped, JSDoc contracts added. No workflow vocabulary.scripts/domain/conventions.cjs— workflow glyph/tag/↳ composition (moved unchanged, typed).scripts/gateway.cjs— the uniform adapter harness: verb dispatch (index/data/view/sub-views/fallback) + demarcated DATA/DISPLAY/MENU output sections.scripts/lib.cjs— single in-process entry for adapters;scripts/engine.cjs— single CLI entry (render utilities for now).workflow-renderretired — it was unwired (zero call sites); contents live on in the rings.npm run typecheck(tsc--noEmitcheckJs over engine scripts); already caught one untyped contract.Why
Settled in the engine design discussion: three rings (kernel / domain / adapters), typed-state-in-manifest, action-key routing, layered invocation. This PR is deliberately skeleton-only so the beachhead PR on top (epic dashboard read path) reviews the pattern in isolation.
Tests
npm test— 41 pass (renderer byte-exact suite + new gateway suite).npm run typecheckclean. CLI smoke-tested.🤖 Generated with Claude Code