okojo-node-ink-debug
GitHub用于调试Okojo.Node引擎在大型应用中的失败问题。通过沙盒环境进行复现、缩小重现范围,并结合V8字节码分析定位运行时或编译器缺陷,最终提供窄化修复方案与回归测试。
Trigger Scenarios
Install
npx skills add akeit0/okojo --skill okojo-node-ink-debug -g -y
SKILL.md
Frontmatter
{
"name": "okojo-node-ink-debug",
"description": "Debug Okojo.Node large-app failures through sandbox\/OkojoInkProbe and sandbox\/OkojoNodeDebugSandbox. Use this for Ink bring-up, reduced Okojo.Node repros, CommonJS\/ESM\/runtime compatibility debugging, debugger\/disassembly investigation, and focused regression-driven fixes."
}
Okojo.Node Ink Debug
Use this skill for work under:
sandbox\OkojoInkProbesandbox\OkojoNodeDebugSandboxsrc\Okojo.Nodesrc\Okojotests\Okojo.Node.Testsdocs\PALE_NODE_INK_DEBUG_WORKFLOW.md
Primary goal
Move sandbox\OkojoInkProbe forward by fixing real engine/runtime/compiler bugs and missing compatibility surfaces in a disciplined order.
Prefer:
- correctness
- observability/tooling
- focused compatibility increments
- measured optimization
Core policy
Do not treat large-app failures as app-specific until reduction proves they are.
Prefer:
- Node as the reference for Node-facing behavior
- V8 / Node bytecode behavior when the failure looks compiler/VM related
Avoid:
- broad speculative fixes
- Ink-specific hacks for general runtime/compiler bugs
- skipping the reduction step when a smaller repro is possible
Required workflow
- reproduce in
sandbox\OkojoInkProbe - reduce to the smallest JS shape possible
- move the reduced shape into
tests\Okojo.Node.Testswhen stable - inspect disassembly / debugger state in
sandbox\OkojoNodeDebugSandbox - compare with Node behavior
- implement the narrow fix
- rerun focused regressions
- rerun Ink to reveal the next blocker
Read:
docs\PALE_NODE_INK_DEBUG_WORKFLOW.md
before doing substantial work in this area.
Required tools
Real integration checkpoint
dotnet run --project sandbox\OkojoInkProbe\OkojoInkProbe.csproj -c Release -- --debugger
Focused debugger sandbox
dotnet run --project sandbox\OkojoNodeDebugSandbox\OkojoNodeDebugSandbox.csproj -c Release -- --app-root <appRoot> --entry <entry> --stop caught --log <logPath>
Use the focused debugger sandbox for:
debugger;stops- caught exceptions
- disassembly around the current PC
- locals/register inspection
- reduced app repros
Testing loop
Focused loop:
dotnet test tests\Okojo.Node.Tests\Okojo.Node.Tests.csproj -c Release --filter <Name>
After a fix, rerun nearby focused regressions before going back to Ink.
If the change becomes broad or touches shared compiler/runtime paths, expand validation appropriately.
Current known lessons
- the old Ink
require(undefined)failure was actually a wide-register compiler bug - dedicated debugger/disassembly tooling was necessary to prove the root cause
AbortControllersupport may be needed tactically for bring-up, butAbort*/Event*likely belong long-term inOkojo.WebPlatform/ shared web globals
Deliverables expected from this skill
When using this skill, aim to leave behind:
- a reduced repro
- a focused regression test
- a narrow code fix
- a rerun of Ink showing either success or the next blocker
If the blocker changes, update the workflow note or the active session plan so other agents can resume cleanly.
Version History
- 0.1.2-preview1 Current 2026-07-24 22:32


