okojo-node-ink-debug
GitHub针对 Okojo.Node 引擎进行调试,通过复现、缩小范围、使用沙箱和反汇编工具分析运行时/编译器 bug,并与 Node.js 行为对比以实施精准修复。
触发场景
安装
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.
版本历史
- 0.1.2-preview1 当前 2026-07-24 22:32


