authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-02-26 00:21:43-08:00
committergravatar for jmarminge@gmail.comJulius Marminge <jmarminge@gmail.com> 2026-02-26 13:20:36-08:00
log07df7fb73bf98367f9eedc3796c0b4a0afb3c919
tree2c3b6a433abebb10ada650f8e85065d7be7788da
parent1e75bd223c1d5348b1a73762a0ecfd1b62fcf830

rm more invalid


2 files changed, 0 insertions(+), 56 deletions(-)

.plans/16c-pr89-remediation-checklist.md-54
...@@ -333,33 +333,6 @@ Counts: active `51` (`valid=33`, `partially-valid=18`), closed-invalid `6`...@@ -333,33 +333,6 @@ Counts: active `51` (`valid=33`, `partially-valid=18`), closed-invalid `6`
333333
334### Phase 6334### Phase 6
335335
336- [ ] `C006` Build script runs TypeScript file with bare node
337 - Status: `TODO`
338 - Verdict: `partially-valid`
339 - Severity: `Medium`
340 - Area: `Build/runtime portability`
341 - File: `apps/server/package.json:14`
342 - Threads: PRRT_kwDORLtfbc5wxsO-
343 - Audit note: Node 24 makes this work, but script still relies on runtime-specific TS execution.
344
345- [ ] `C007` Build script uses `node` to run `.ts` file directly
346 - Status: `TODO`
347 - Verdict: `partially-valid`
348 - Severity: `Medium`
349 - Area: `Build/runtime portability`
350 - File: `apps/server/package.json:14`
351 - Threads: PRRT_kwDORLtfbc5wiLNS, PRRT_kwDORLtfbc5wj5fl (+1 duplicate thread(s))
352 - Audit note: Same as C006 (duplicate concern).
353
354- [ ] `C011` Template literal `${cause}` throws if `cause` is a `Symbol`. Consider using `String(cause)` instead.
355 - Status: `TODO`
356 - Verdict: `valid`
357 - Severity: `Medium`
358 - Area: `Other`
359 - File: `apps/server/src/orchestration/Errors.ts:117`
360 - Threads: PRRT_kwDORLtfbc5wBFv4
361 - Audit note: Template-literal interpolation of Symbol still throws.
362
363- [ ] `C024` In `executeUnprepared`, preparing outside an effect and not closing the statement can cause uncaught errors and leaks. Suggest wrapping with `Effect.acquireUseRelease`: prepare in acquire (error-safe) and `finalize` in release.336- [ ] `C024` In `executeUnprepared`, preparing outside an effect and not closing the statement can cause uncaught errors and leaks. Suggest wrapping with `Effect.acquireUseRelease`: prepare in acquire (error-safe) and `finalize` in release.
364 - Status: `TODO`337 - Status: `TODO`
365 - Verdict: `partially-valid`338 - Verdict: `partially-valid`
...@@ -378,15 +351,6 @@ Counts: active `51` (`valid=33`, `partially-valid=18`), closed-invalid `6`...@@ -378,15 +351,6 @@ Counts: active `51` (`valid=33`, `partially-valid=18`), closed-invalid `6`
378 - Threads: PRRT_kwDORLtfbc5v-XCu351 - Threads: PRRT_kwDORLtfbc5v-XCu
379 - Audit note: Optimistic local+server dual update is intentional but can temporarily diverge.352 - Audit note: Optimistic local+server dual update is intentional but can temporarily diverge.
380353
381- [ ] `C032` Dummy workflow marker accidentally committed to docs
382 - Status: `TODO`
383 - Verdict: `valid`
384 - Severity: `Low`
385 - Area: `Other`
386 - File: `AGENTS.md:45`
387 - Threads: PRRT_kwDORLtfbc5wlYgj, PRRT_kwDORLtfbc5w1C4H (+1 duplicate thread(s))
388 - Audit note: Dummy workflow marker comment is still present in docs.
389
390- [ ] `C037` `Effect.callback` should return a cleanup function to close the server(s) on fiber interruption. Without it, the `Net.Server` handles keep the process alive and leak the port if the effect is cancelled. <details> <summary>🚀 Reply "<strong>fix it for me</strong>" or copy this <strong>AI Prompt</strong> for your agent:</summary>354- [ ] `C037` `Effect.callback` should return a cleanup function to close the server(s) on fiber interruption. Without it, the `Net.Server` handles keep the process alive and leak the port if the effect is cancelled. <details> <summary>🚀 Reply "<strong>fix it for me</strong>" or copy this <strong>AI Prompt</strong> for your agent:</summary>
391 - Status: `TODO`355 - Status: `TODO`
392 - Verdict: `partially-valid`356 - Verdict: `partially-valid`
...@@ -396,15 +360,6 @@ Counts: active `51` (`valid=33`, `partially-valid=18`), closed-invalid `6`...@@ -396,15 +360,6 @@ Counts: active `51` (`valid=33`, `partially-valid=18`), closed-invalid `6`
396 - Threads: PRRT_kwDORLtfbc5wj4cO360 - Threads: PRRT_kwDORLtfbc5wj4cO
397 - Audit note: Callback cleanup missing, but practical exposure is low in one-shot startup path.361 - Audit note: Callback cleanup missing, but practical exposure is low in one-shot startup path.
398362
399- [ ] `C041` Template literal interpolation throws `TypeError` if `cause` is a `Symbol`. Consider using `String(cause)` for safe coercion.
400 - Status: `TODO`
401 - Verdict: `valid`
402 - Severity: `Low`
403 - Area: `Other`
404 - File: `apps/server/src/orchestration/Errors.ts:126`
405 - Threads: PRRT_kwDORLtfbc5wBFWs
406 - Audit note: Same Symbol interpolation hazard as C011 remains.
407
408- [ ] `C047` `SqlSchema.findOneOption` can produce both SQL errors and decode errors, but `mapError` wraps all as `PersistenceSqlError`. Consider distinguishing `ParseError` from SQL errors and mapping decode failures to `PersistenceDecodeError` instead. <details> <summary>🚀 Reply "<strong>fix it for me</strong>" or copy this <strong>AI Prompt</strong> for your agent:</summary>363- [ ] `C047` `SqlSchema.findOneOption` can produce both SQL errors and decode errors, but `mapError` wraps all as `PersistenceSqlError`. Consider distinguishing `ParseError` from SQL errors and mapping decode failures to `PersistenceDecodeError` instead. <details> <summary>🚀 Reply "<strong>fix it for me</strong>" or copy this <strong>AI Prompt</strong> for your agent:</summary>
409 - Status: `TODO`364 - Status: `TODO`
410 - Verdict: `valid`365 - Verdict: `valid`
...@@ -414,15 +369,6 @@ Counts: active `51` (`valid=33`, `partially-valid=18`), closed-invalid `6`...@@ -414,15 +369,6 @@ Counts: active `51` (`valid=33`, `partially-valid=18`), closed-invalid `6`
414 - Threads: PRRT_kwDORLtfbc5wiaR-369 - Threads: PRRT_kwDORLtfbc5wiaR-
415 - Audit note: Decode and SQL errors still collapsed into one persistence error kind.370 - Audit note: Decode and SQL errors still collapsed into one persistence error kind.
416371
417- [ ] `C048` `statement.run()` returns a `RunResult` object, not an array. Casting it to `ReadonlyArray<any>` will cause runtime errors when consumers call array methods. Consider wrapping the result (e.g., `[result]`) or returning a properly typed object.
418 - Status: `TODO`
419 - Verdict: `partially-valid`
420 - Severity: `Low`
421 - Area: `Other`
422 - File: `apps/server/src/persistence/NodeSqliteClient.ts:99`
423 - Threads: PRRT_kwDORLtfbc5wio-r
424 - Audit note: Unsafe run() result cast remains; runtime risk depends on raw-result consumers.
425
426- [ ] `C049` `JSON.stringify(cause)` returns `undefined` for `undefined`, functions, or symbols, violating the `string` return type. Consider coercing the result to a string (e.g., `String(JSON.stringify(cause))`) or adding a fallback.372- [ ] `C049` `JSON.stringify(cause)` returns `undefined` for `undefined`, functions, or symbols, violating the `string` return type. Consider coercing the result to a string (e.g., `String(JSON.stringify(cause))`) or adding a fallback.
427 - Status: `TODO`373 - Status: `TODO`
428 - Verdict: `valid`374 - Verdict: `valid`
AGENTS.md-2
...@@ -41,5 +41,3 @@ Docs:...@@ -41,5 +41,3 @@ Docs:
41- Codex-Monitor (Tauri, feature-complete, strong reference implementation): https://github.com/Dimillian/CodexMonitor41- Codex-Monitor (Tauri, feature-complete, strong reference implementation): https://github.com/Dimillian/CodexMonitor
4242
43Use these as implementation references when designing protocol handling, UX flows, and operational safeguards.43Use these as implementation references when designing protocol handling, UX flows, and operational safeguards.
44
45<!-- Dummy edit marker for workflow testing. -->