* 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>
* test(memory): E2E coverage for 4 scenarios
* docs(handoff): set PR number
* style(memory): ruff format e2e test
* docs(project-map): add test_memory_tools_e2e.py after PR#102
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(memory): check index.json not .rag dir in setup step 5
* docs(readme): align to real state after memory PRs
* chore(env): remove dead vars from env example
* docs(handoff): add handoff + ADR-037 for memory setup step5 fix
* docs(handoff): set PR number
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* refactor(memory): rename package second-brain to memory
* refactor(memory): use OpenAI env naming and fix trailing slash
* feat(memory): add chunking with env-configurable size and overlap
* feat(memory): dedup search results by source in top-K
* test(memory): add chunking, batching, dedup, live tests
* docs(memory): update README and project map after rename
* docs(handoff): add handoff and ADR-032 for memory refactor
* docs(handoff): set PR number
* fix(ci): reduce index.py complexity to rank A
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(docker): use node:22-trixie-slim instead of non-existent noble-slim
* docs(adr): update ADR-030 for trixie-slim base image
* docs(handoff): update handoff for trixie-slim and add watch out note
* docs(handoff): set PR number
* docs(handoff): add handoff for PR#73
* fix(ci): drop dangling ADR-031 ref in pr-73 handoff
* docs(adr): add ADR-031 for PR#73 trixie-slim base image
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(docker): switch base image to node:22-noble-slim
* docs(adr): add ADR-030 for base image switch
* docs(handoff): add handoff for base image switch
* docs(handoff): set PR number
* docs(handoff): replace PR-NUMBER placeholder with 71
* docs(project-map): update Dockerfile description after base image switch
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(tools): drop hardcoded --repo in post-review/post-docs-review
* fix(skills): sync run-pipeline templates to use review tools
* fix(agents): add tool failure handling to reviewer/docs-reviewer
* docs(adr): supersede ADR-019 with hardcoded repo removal note
* docs(handoff): scaffold handoff and ADR for PR
* docs(handoff): set PR number
* fix(ci): reformat post-review/post-docs-review test asserts for ruff format
---------
Co-authored-by: opencode-agent <agent@opencode.local>
* fix(pipeline-status): handle git insteadOf userinfo in parse_remote_url
* test(pipeline-status): add tests for URL with userinfo
* docs(handoff): set PR number 55 in handoff + ADR-023
---------
Co-authored-by: opencode-agent <agent@slaid098.dev>
* fix(docker): expose port 4096 on 0.0.0.0 for NPM proxy
* test(docker): add docker-compose port exposure test
* docs(handoff): set PR number for docker port expose
---------
Co-authored-by: opencode-agent <agent@slaid098.dev>