10 Commits

Author SHA1 Message Date
Taylor Eernisse
dd9f8551d5 Add rejected recommendations tracking to prevent re-flagging
GPT reviewer now skips anything listed in a cumulative
"Rejected Recommendations" section at the bottom of plan files.
Claude appends rejections there during integration, building a
negative cache across iterations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:59:58 -05:00
teernisse
3fe58876ba Add support for morph-edit 2026-02-11 00:55:12 -05:00
Taylor Eernisse
102d15cda7 Fix sed portability: use temp file instead of sed -i
BSD sed (macOS) and GNU sed (Linux) interpret `sed -i ''`
differently — GNU treats the empty string as the script
argument, not the backup suffix. Replace with portable
sed-to-tmpfile-and-mv pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 15:23:18 -05:00
Taylor Eernisse
482eb87b4c Consolidate into single self-contained script
Collapse the entire multi-file structure (bin/, lib/, prompts/) into
one executable bash script at the repo root. Everything is inlined:
frontmatter helpers, prompt strings, and the Claude stream-json
progress display (now a function calling node --input-type=module).

- plan-status is now `plan-refine status` subcommand
- Remove dead Puppeteer/Brave CDP code (chatgpt-send.mjs,
  plan-refine-brave) — superseded by Codex CLI approach
- Remove npm artifacts (package.json, package-lock.json) — sole
  dependency was puppeteer-core for the dead browser automation
- Simplify install.sh to just symlink + prereq checks
- Update .gitignore: node_modules/ -> *.feedback-*.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 15:00:48 -05:00
Taylor Eernisse
6c93d7225c Add .gitignore, remove committed node_modules
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 16:16:49 -05:00
Taylor Eernisse
e7882b917b Add Brave CDP automation, replace Oracle browser mode
Connects to user's running Brave via Chrome DevTools Protocol
to automate ChatGPT interaction. Uses puppeteer-core to open a
tab, send the prompt, wait for response, and extract the result.

No cookies, no separate profiles, no copy/paste. Just connects
to the browser where the user is already logged in.

One-time setup: relaunch Brave with --remote-debugging-port=9222

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 16:16:41 -05:00
Taylor Eernisse
d776a266a8 Rewrite plan-refine for clipboard-based workflow
Oracle browser automation has macOS Keychain issues that prevent
cookie-based auth. Replaced with a two-command clipboard workflow:

  plan-refine <file>              # copies ChatGPT prompt to clipboard
  plan-refine <file> --integrate  # Claude CLI integrates feedback

Step 1 uses Oracle --render --copy (no browser needed) to bundle
the evaluation prompt with plan content. Step 2 uses claude -p
for headless integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 16:04:35 -05:00
Taylor Eernisse
c0409579ac Fix symlink resolution for SCRIPT_DIR in both scripts
Scripts now resolve symlinks before computing SCRIPT_DIR, so
they work correctly when invoked via ~/.local/bin/ symlinks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 14:06:50 -05:00
Taylor Eernisse
bbf242ef44 Add Claude CLI integration step to plan-refine
After Oracle captures ChatGPT feedback, automatically invokes
claude -p to integrate the feedback back into the plan file.
Full iteration (ChatGPT + Claude) now runs with one command.

Use --no-integrate to skip the Claude step and get clipboard
fallback for manual integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 13:07:11 -05:00
Taylor Eernisse
defb1fb08e Initial plan-tools: plan-refine and plan-status
Semi-automated plan refinement pipeline using Oracle for ChatGPT
browser automation. Includes frontmatter-based tracking and a
dashboard scanner for plan status across projects.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 13:03:28 -05:00