ktg-plugin-marketplace/plugins
Kjell Tore Guttormsen 655c8d46f8 refactor(ultraplan-local): extract atomicWriteJson to lib/util
Three changes in one commit:

1. NEW lib/util/atomic-write.mjs — exports atomicWriteJson(path, obj),
   the canonical tmp+rename pattern. Reused by pre-compact-flush.mjs and
   (in subsequent steps) by the new session-state writer.

2. NEW tests/lib/atomic-write.test.mjs — 4 unit tests covering
   round-trip, no-orphan-tmp, overwrite-atomic, pretty-print formatting.

3. REFACTOR hooks/scripts/pre-compact-flush.mjs — replace the inline
   atomicWrite() with the imported atomicWriteJson(). Also fixes a
   pre-existing syntax error (leading whitespace + stray --resume token
   outside the comment block) that silently broke the hook from v3.1.0
   onward — PreCompact runtime is fail-open and swallowed the error.
   File reformatted with standard zero-indent JS.

163 → 167 tests, 0 fail.

Step 2 of /ultracontinue v3.3.0 (project 2026-05-01-ultracontinue).
2026-05-01 20:21:15 +02:00
..
ai-psychosis docs(ai-psychosis): README + CLAUDE.md cover v1.1.0; ROADMAP.md tracks v1.2 2026-05-01 18:09:58 +02:00
config-audit feat(humanizer): update agent system prompts [skip-docs] 2026-05-01 19:53:59 +02:00
graceful-handoff docs(graceful-handoff): align README with marketplace standard 2026-05-01 09:14:10 +02:00
linkedin-thought-leadership docs: add AI-generated code disclosure to marketplace and all plugins 2026-04-19 19:27:05 +02:00
llm-security fix(llm-security): correct distribution URLs to marketplace path 2026-05-01 06:20:54 +02:00
ms-ai-architect docs: add AI-generated code disclosure to marketplace and all plugins 2026-04-19 19:27:05 +02:00
okr docs: add AI-generated code disclosure to marketplace and all plugins 2026-04-19 19:27:05 +02:00
ultra-cc-architect refactor(marketplace): split cc-architect from ultraplan-local into its own plugin 2026-04-30 17:18:47 +02:00
ultraplan-local refactor(ultraplan-local): extract atomicWriteJson to lib/util 2026-05-01 20:21:15 +02:00