Skip to content
This repository was archived by the owner on Jun 8, 2026. It is now read-only.

PLAN-108: Fix loop runner PR title format and artifact links - #53

Merged
thadeusb merged 5 commits into
mainfrom
symphony/plan-108
Mar 27, 2026
Merged

thadeusb merged 5 commits into
mainfrom
symphony/plan-108

Conversation

@thadeusb

Copy link
Copy Markdown
Contributor

Summary

  • Replace broken /artifact/by-slug/ artifact links with correct /implementation-plans/ URLs in both the LLM commit prompt and SAFETY commit PR body
  • Fix SAFETY commit PR title to use PLAN-##: Automated changes from loop {shortId} format via shared fallbackTitle constant (was Symphony: EXECUTE -- loop {shortId})
  • Fix LLM commit spawn: resolve claude binary path at first use via which/login-shell to handle Electron's restricted PATH; add assertPathAllowed sandbox gate; atomic PID write via .pid.tmp rename
  • Replace unsafe JSON.parse(...) as ExecutionResult cast with proper isExecutionResult type guard using unknown intermediate and explicit shape checks

Plan

https://app.closedloop.ai/implementation-plans/PLAN-108

Test plan

  • All 12 EXECUTE loop integration tests pass (3 new: artifact links, PR title format, LLM spawn correctness)
  • TypeScript typecheck passes
  • Manual: End-to-end EXECUTE loop with real claude process (T-4.1)

- Replace /artifact/by-slug/ with /implementation-plans/ in both
  LLM commit prompt footer and SAFETY commit PR body
- Fix SAFETY commit PR title to use "PLAN-##: Automated changes
  from loop {shortId}" format via shared fallbackTitle constant
- Resolve claude binary path at first use via which/login-shell
  to handle Electron's restricted PATH
- Add assertPathAllowed sandbox gate before LLM commit spawn
- Write PID file atomically via .pid.tmp rename
- Replace unsafe JSON.parse cast with proper isExecutionResult
  type guard using unknown intermediate and shape checks
- Add sanitizeCommitMessage doc comment re: backtick safety
- Add 3 new integration tests (artifact links, PR title format,
  LLM spawn correctness)

Testing: All 12 EXECUTE loop tests pass
Risks: Low — changes isolated to symphony-loop.ts post-processing
@thadeusb
thadeusb requested a review from a team March 26, 2026 23:15
@thadeusb
thadeusb merged commit a3b7b7f into main Mar 27, 2026
2 checks passed
@thadeusb
thadeusb deleted the symphony/plan-108 branch March 27, 2026 22:10
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants