Software engineer building small tools around AI-assisted development, debugging, and reproducibility — mostly Windows, Git, and Node.js focused, for problems the final diff or Git history alone can't explain.
Prove that a regression test fails before a fix and passes after it, even from a dirty working tree.
GitHub: https://github.com/iwadjp/timewitness
Split mixed uncommitted Claude/Codex changes into request-level review patches.
GitHub: https://github.com/iwadjp/wipwho
Recover JavaScript source still retained by a running Node.js process.
GitHub: https://github.com/iwadjp/ember
Reduce same-commit environment differences to an observed 1-minimal failure-reproducing set.
GitHub: https://github.com/iwadjp/worldbisect
Inspect retained NTFS USN history after an agent run for filesystem activity absent from the final diff.
GitHub: https://github.com/iwadjp/afterimage
Relate JavaScript sourcemap sourcesContent to Git history and preserve ambiguity between source-identical commits.
GitHub: https://github.com/iwadjp/sourcemap-lineage
Checks GitHub Actions npm/pnpm/yarn script invocations against the package.json they resolve to.
GitHub: https://github.com/iwadjp/workflow-script-audit
| If you need to... | Tool |
|---|---|
| verify a regression test really catches the bug | Timewitness |
| separate mixed dirty changes by request | wipwho |
| recover lost JS from a live Node process | Ember |
| isolate same-commit environment differences | Worldbisect |
| inspect file activity missing from the final diff | Afterimage |
| relate a JS artifact's sourcemap to Git history | sourcemap-lineage |
| catch a workflow calling a package.json script that no longer exists | workflow-script-audit |
An overview of all seven tools, with the story behind each one (Japanese-language blog):
https://blog2020.iwadjp.com/2026/09/18/ai-coding-debugging-tools-portfolio/
