Skip to content

feat(agent): add NVIDIA-backed OpenCode development loop - #122

Merged
seonghobae merged 157 commits into
mainfrom
feat/opencode-commercial-development-loop
Aug 9, 2026
Merged

feat(agent): add NVIDIA-backed OpenCode development loop#122
seonghobae merged 157 commits into
mainfrom
feat/opencode-commercial-development-loop

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Buyer-visible outcome

LifeOS can continue one bounded buyer-gap implementation on an hourly cadence with OpenCode and NVIDIA NIM while the existing deterministic audit, review, and exact-head merge loop remains authoritative.

Initial contract

  • adds the independently testable @life-os/commercial-development-agent package
  • selects only an explicitly allowlisted bounded issue after the open pull-request queue is drained
  • isolates untrusted issue text inside a fixed versioned prompt
  • creates UUIDv4 run and automation-branch identifiers
  • validates paths, file count, bytes, changed lines, repository object types, source content, and exact base SHA before any push
  • requires evidence-first RCA before editing, distinguishes root causes from symptoms, probes each proposed corrective action against the live repository, tool, permission, checkout, network, and credential state, and escalates only after an actual operation proves an external blocker
  • treats a failed feasibility probe as evidence that updates the hypothesis instead of as permission to stop or to invent a missing capability
  • prohibits workflow, infrastructure, dependency, secret, billing, repository-setting, release, deployment, destructive-data, force-push, and administrative-merge changes
  • runs one exact pinned OpenCode package with only NVIDIA_NIM_API_KEY mapped to its NVIDIA provider process
  • does not expose a GitHub token, review-agent key, prompt, model output, hidden reasoning, or source diff to retained artifacts
  • allows one deterministic credentialed step to commit, push, and open a same-repository draft pull request; it cannot merge
  • keeps the current Commercial Readiness audit and no-bypass exact-head drain separate and independently enforceable
  • records only a seven-day credential-free execution receipt
  • adds realistic Korean/English, multiline issue, prompt-injection, base-drift, unsafe-path, secret-shaped-content, destructive-command, and safe buyer-gap dry-run evidence
  • documents the modular central .github integration contract, OpenCode/NVIDIA boundary, NIST and OWASP controls, and Fugu/Conductor/TRINITY/strong-single-agent rationale with APA 7 references

Merge gate

The final branch must contain no temporary write-capable bootstrap or diagnostic workflow. Formatting, package lint, exact OpenCode CLI verification, 100% statement/branch/function/line coverage, root checks, AppGuardrail, Semgrep, Security Scan, Commercial Readiness, CodeRabbit, and every actionable review finding must pass on the exact final head before merge.

Closes #120.

Refs #119, #21, #116, and superseded #118.

Summary by CodeRabbit

  • 새로운 기능

    • 시간별 또는 수동으로 실행되는 상용 개발 자동화 루프를 추가했습니다.
    • 적합한 이슈를 선택하고, 검증된 변경 사항으로 초안 Pull Request를 생성합니다.
    • 변경 내역, 검증 결과 및 실행 상태를 민감 정보 없이 영수증 형태로 제공합니다.
    • 변경 경로·크기·권한·비밀정보를 자동 점검해 안전하지 않은 작업을 차단합니다.
  • 문서

    • 운영 절차, 보안·거버넌스 기준, 설계 및 구현 계획을 문서화했습니다.
  • 테스트

    • 이슈 선택, 변경 검증, 오류 처리, 보안 경계 및 전체 워크플로를 포괄적으로 검증합니다.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

상용 개발 에이전트 패키지와 정책 계약을 추가했다. 워크플로는 격리된 OpenCode 실행, diff 및 전체 검증, 정확한 base 재확인, 단일 draft PR 생성, credential-free receipt 업로드와 정리를 수행한다. 운영·설계·연구 문서도 추가했다.

Changes

상용 개발 루프

Layer / File(s) Summary
정책 및 도메인 계약
product/opencode-commercial-development-policy.json, packages/commercial-development-agent/src/*.mjs, packages/commercial-development-agent/src/*test.mjs
정책, 실행, 이슈, 프롬프트, diff 및 영수증 계약을 추가했다. 입력 제한, 권한 경계, 비밀정보 비노출, 불변 정규화와 결정적 검증을 구현했다.
CLI 및 원자적 결과 게시
packages/commercial-development-agent/src/cli-core.mjs, packages/commercial-development-agent/src/cli.mjs, packages/commercial-development-agent/src/cli-core.test.mjs, packages/commercial-development-agent/src/exhaustive-coverage.test.mjs
CLI가 제한된 JSON 입력을 읽고 도메인 명령을 실행한다. 결과를 비공개 임시 파일에 기록한 뒤 검증하고 원자적으로 게시한다.
격리 실행 및 변경 게시
.github/workflows/opencode-commercial-development.yml, packages/commercial-development-agent/package.json, packages/commercial-development-agent/vitest.config.mjs, packages/commercial-development-agent/src/workflow-contract.test.mjs, packages/commercial-development-agent/src/dry-run.integration.test.mjs
시간별 또는 수동 워크플로가 PostgreSQL, 고정 의존성, OpenCode 버전 검증, 모델 격리, 루프백 NVIDIA 브리지, diff 검증, 전체 저장소 검증, 정확한 base 확인, draft PR 생성 및 정리를 수행한다.
운영 및 설계 문서
docs/operations/opencode-commercial-development-loop.md, docs/research/2026-08-07-opencode-commercial-development-loop-standards.md, docs/superpowers/plans/2026-08-07-opencode-commercial-development-loop.md, docs/superpowers/specs/2026-08-07-opencode-commercial-development-loop-design.md
실행 순서, 자격 증명 경계, receipt 보존, 실패 상태, 중지 절차, 설계 계약, 연구 근거와 향후 범위를 문서화했다.

Estimated code review effort: 5 (Critical) | ~120 minutes

Possibly related issues

Possibly related PRs

  • ContextualWisdomLab/life-os#117 — NVIDIA NIM 기반 예약 워크플로, 자격 증명 격리, 결정적 검증, credential-free evidence 및 워크플로 계약 테스트가 연결된다.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning 워크플로, 패키지, 정책, 테스트, 런북은 추가했지만 #119가 요구한 주요 저장소 문서와 capability evidence 변경은 요약에 없습니다. 요구된 문서와 capability evidence를 추가하고 contextual-orchestrator fallback을 검증하세요; pnpm-lock.yaml은 필터 제외로 별도 확인이 필요합니다.
✅ Passed checks (4 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed 변경 사항은 #119의 OpenCode 루프, 보안 경계, 정책 검증, 테스트 및 운영 문서 목적에 모두 관련됩니다.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 NVIDIA 기반 OpenCode 상용 개발 루프와 에이전트 추가라는 주요 변경 사항을 정확하고 간결하게 설명합니다.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/opencode-commercial-development-loop

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread packages/commercial-development-agent/src/issue-selector.mjs Fixed
Comment thread packages/commercial-development-agent/src/issue-selector.mjs Fixed
Comment thread packages/commercial-development-agent/src/diff-validator.test.mjs Fixed
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.

Add NVIDIA-backed OpenCode commercial development loop

2 participants