Skip to content

docs: add READINESS_REPORT.md with agent readiness assessment#27

Closed
trevoraspencer wants to merge 24 commits intoalexknowshtml:mainfrom
trevoraspencer:docs/readiness-report
Closed

docs: add READINESS_REPORT.md with agent readiness assessment#27
trevoraspencer wants to merge 24 commits intoalexknowshtml:mainfrom
trevoraspencer:docs/readiness-report

Conversation

@trevoraspencer
Copy link

Adds a comprehensive readiness report evaluating documentation, code quality, testing, CI/CD, security, and agent readiness. Overall score: 40/60 (67%).

theirongolddev and others added 24 commits January 27, 2026 15:13
The process-bookmarks command was ambiguous about which tool to use
when modifying bookmarks.md. Using the Write tool (which replaces the
entire file) instead of the Edit tool (which preserves existing content)
caused catastrophic data loss.

This was observed in multiple commits where 50-150 historical bookmark
entries were lost because Claude used Write instead of Edit during
the merge step.

Changes:
- Add prominent warning section about Edit vs Write at top of file
- Update "Write bookmark entry" section header to "Add bookmark entry (USE EDIT TOOL)"
- Add explicit Edit tool requirement to Phase 2 merge instructions
- Add "Use Write tool" to both DO NOT sections

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Add Windows-specific paths for claude.cmd and claude.exe
- Use 'where' instead of 'which' on Windows
- Use correct PATH separator (semicolon vs colon)
- Enable shell mode for spawn on Windows to resolve .cmd files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When count > 50, smaug switches to paginated mode but was ignoring the
count entirely and just using maxPages. Now:

1. Calculate maxPages from count (assuming ~20 bookmarks per page)
2. Truncate results to exactly the requested count

This ensures `smaug fetch 100` returns exactly 100 bookmarks, not
however many fit in 10 pages.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Extract findClaude() and getPathSeparator() as testable exports
- Add tests for Windows path detection (claude.cmd, where vs which)
- Add tests for PATH separator selection (semicolon vs colon)
- Add tests for count truncation in paginated fetches
- Add integration tests for X article fetching (skipped without credentials)

66 tests total, all passing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds support for OpenCode as an alternative AI CLI alongside Claude Code.

- New `cliTool` config option: `claude` (default) or `opencode`
- Refactors `invokeClaudeCode` into unified `invokeAICLI` with `getCLISettings` factory
- Extracts display constants and helpers to module level (no behavior change)
- All existing Claude Code behavior preserved when `cliTool` is `claude`

Co-authored-by: ElderOrb
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Highlights OpenCode support near the top with a disclaimer that
results may vary by model — test carefully.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add validators.js with comprehensive input validation
- Fix command injection in processor.js (folderId, count, tweetId, birdPath)
- Fix command injection in job.js (zaiBin)
- Fix TOCTOU race condition in lock file acquisition
- Use cryptographically secure temp file names
- Extract magic numbers to named constants (TIMEOUTS, LIMITS)
- Add comprehensive test coverage for validators

Co-authored-by: trevoraspencer <258687189+trevoraspencer@users.noreply.github.com>
Co-authored-by: trevoraspencer <258687189+trevoraspencer@users.noreply.github.com>
Security: Fix command injection, race conditions, and implement input validation
feat: hard-switch automation to Bun + Z.ai
@trevoraspencer trevoraspencer closed this by deleting the head repository Feb 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants