* refactor(draw-image): add tests/fixtures/cover.svg and loadFixture helper
* feat(draw-image): add --template-dir flag to cli for test isolation
* refactor(draw-image): switch tests from templates/cover to fixtures
* chore(draw-image): simplify production cover.svg now decoupled from tests
* docs(handoff): add handoff + ADR for issue #196
* docs(handoff): set PR number
* docs(project-map): update after structural changes
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* feat(config): add TELEGRAM_BOOSTY_CHAT_ID env var
* docs(handoff): add handoff and ADR for boosty chat id
* docs(handoff): set PR number
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(agents): strengthen Orchestrator Model with override and delegation map
* docs(handoff): add handoff and ADR for orchestrator model fix
* docs(handoff): set PR number
* docs(project-map): update AGENTS.md description after PR#189
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(draw-image): per-process output TMP in integration tests
* fix(draw-image): per-process output TMP in e2e tests
* fix(draw-image): per-process output TMP in cleanup test
* docs(handoff): add handoff and ADR for beforeAll output TMP fix
* docs(handoff): set PR number
* docs(handoff): set PR number 186
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(draw-image): per-process temp dir in renderToPng test helpers
* docs(handoff): add handoff and ADR for renderToPng temp dir fix
* docs(project-map): note per-process temp dir fix in renderToPng helpers
* docs(handoff): set PR number
* docs(handoff): replace PR number placeholder in frontmatter
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(scripts): compute next ADR as max+1 not count+1 in scaffold
* docs(handoff): add handoff and ADR-079 for ADR numbering fix
* docs(handoff): set PR number
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(run-pipeline): replace origin/master with origin/HEAD in templates B and C
* docs(handoff): add handoff and ADR for run-pipeline origin/HEAD fix
* docs(handoff): set PR number
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(draw-image): use pid-based tmp svg and cleanup in finally
* test(draw-image): decouple e2e.optional from leftover tmp svg
* test(draw-image): add cleanup unit test for tmp svg lifecycle
* docs(draw-image): add handoff and ADR for tmp svg race fix
* docs(handoff): set PR number
* docs(project-map): update after structural changes
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(create-readme): resolve file_path against context.worktree
* test(loader): support fs imports and extended TS stripping
* test(create-readme): add regression tests for local overwrite
* docs(repo-readme): note file_path resolves against worktree
* docs(handoff): set PR number
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* feat(telegram): add CLI project with Bot API client
* feat(telegram): add telegram-send plugin-tool
* test(telegram): add unit tests for markdown, config, api
* chore(env): add TELEGRAM_CHAT_ID to .env.example
* docs(handoff): add handoff and ADR for telegram-send
* docs(handoff): set PR number 174
* docs: update project map for telegram-send tool
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(agents): allow echo and fix paths in docs-reviewer
* fix(agents): allow echo and load memory skill in memory-syncer
* fix(agents): fix skills path and load code-standards in reviewer
* fix(pipeline): remove checkout master from template E
* fix(scripts): update scaffold path in pipeline-status error
* docs(handoff): add handoff and ADR for prompt contradictions fix
* docs(handoff): set PR number
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(draw-image): use density 72 for 1024x1024 PNG output
* test(draw-image): assert real PNG dimensions via IHDR decode
* chore(assets): regenerate cover.png at 1024x1024
* docs(handoff): add handoff and ADR for density fix
* docs(handoff): set PR number
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(create-readme): validate EN switcher anchor symmetrically
* docs(handoff): add handoff and ADR for switcher validation
* docs(handoff): set PR number
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* feat(draw-image): add SVG template render engine
* feat(draw-image): add opencode plugin and tool tests
* test(draw-image): add vitest unit integration e2e suite
* chore(draw-image): wire CI dependabot docs and ADR
* docs(handoff): set PR number
* docs(handoff): fix PR number placeholder in frontmatter
* fix(ci): use tempfile and trailing newline in draw-image tests
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(docker): increase opencode memory and cpu limits
* fix(docker): add tini init for zombie reaping
* fix(docker): add healthcheck for hang auto-restart
* test(docker): assert opencode limits, init and healthcheck
* docs(handoff): add handoff and ADR for opencode limits fix
* docs(handoff): set PR number
* docs(project-map): update docker-compose and test descriptions for PR#132
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(readme): replace GB flag with US flag for English section
* fix(create-readme): validate US English flag header in validateReadme
* docs(handoff): set PR number
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(docker): add system ripgrep via apt for keyword search fallback
* fix(ci): install ripgrep and npm deps for keyword search in CI
* fix(memory-search): warn when ripgrep not resolvable instead of silent skip
* fix(memory-doctor): check rg status, arch mismatch, and require errors
* test(memory): add keyword search and doctor unit tests
* test(memory): unskip e2e keyword tests without RUN_LIVE
* docs(handoff): add handoff and ADR for keyword search fix
* test(memory): remove unused var in keyword search test
* docs(handoff): set PR number to 124
* docs(project-map): update after structural changes (PR#124)
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* feat(readme): new bilingual standard v2 with features table
* docs(handoff): rename handoff and ADR to PR number convention
* docs(review): fix ADR-051 section name and add PR#116 refs
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(docker): install ripgrep and python deps for memory tools
* docs(handoff): set PR number 107
* docs(project-map): update after dockerfile memory deps changes
* fix(docker): install deps in non-shadow paths /opt/memory and global npm
* docs(handoff): align with /opt/memory and global npm fix
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* chore(memory): remove plugin block from opencode.json
* chore(memory): remove setup-memory.sh and memory-setup.ts
* chore(memory): remove opencode-memory from Dockerfile
* docs(memory): update AGENTS.md and SKILL.md for new tools
* test(memory): drop tests for removed setup-memory.sh and memory-setup.ts
* docs(handoff): add handoff and ADR-045 for plugin/rust removal
* docs(handoff): set PR number
* docs(project-map): update after plugin/rust removal
---------
Co-authored-by: opencode-agent <agent@opencode.local>