Skip to content

chore(stack): reconcile OpenCode loops with #270 - #287

Open
seonghobae wants to merge 3 commits into
feat/hourly-opencode-commercial-loopfrom
fix/pii-logging-16240128950440010639
Open

chore(stack): reconcile OpenCode loops with #270#287
seonghobae wants to merge 3 commits into
feat/hourly-opencode-commercial-loopfrom
fix/pii-logging-16240128950440010639

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Purpose

Reconcile PR #271 onto authoritative parent #270 exact head ed3863209109cd24a3cf1f1d6bdcd51db16fbef1 without transferring predecessor-head evidence.

Evidence boundary

PR #271 remains divergent from the declared parent and its predecessor tree narrowed pull-request CI coverage. This maintenance merge restores the authoritative unfiltered pull_request: {} contract, its standard-library-discoverable unittest.TestCase regression, and the remaining parent fixes while retaining the bounded OpenCode/NVIDIA scheduler trust boundary.

After merge, #271 must be re-inspected at its resulting exact head and all exact-head and base-sensitive CI, fuzz, security, review, approval, and repository-policy gates must rerun. No predecessor result transfers. Do not weaken tests, permissions, immutable pins, draft-only publication, the credential-free verifier, or the separate review-agent authorization model.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@seonghobae, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 3 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: eba3dc85-c6a2-45bf-9c82-8af0db701958

📥 Commits

Reviewing files that changed from the base of the PR and between 005204e and ed38632.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • scripts/test_ci_workflow_stack_coverage.py

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

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@opencode-agent @cwl-noema-review Please independently review maintenance PR #287 at exact head c1239e20b048a582b19cb9eeb90f2c29f7c8f814 against base head 005204eca566483001f34857cd5d5090d692bb5f and synthetic merge revision 57396e781e35b971e45875730d0a1b624a012f47. Verify that the two-file restoration reinstates unfiltered stacked-PR CI and its regression test while preserving the bounded OpenCode scheduler trust boundary, immutable pins, non-Copilot model routing, credential-free verification, draft-only publication, least privilege, and fail-closed behavior. Submit current actionable findings or a formal review only; do not transfer predecessor approval. A separate counted write-authorized independent approval remains mandatory.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

@seonghobae I will perform an independent review of PR #287 at the specified exact head. I will assess the two-file CI restoration and the stated scheduler security boundaries. I will not transfer predecessor approval.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@opencode-agent @cwl-noema-review Re-review maintenance PR #287 at exact current head ed3863209109cd24a3cf1f1d6bdcd51db16fbef1 against base head 005204eca566483001f34857cd5d5090d692bb5f and synthetic merge revision acb8179367c6e3727d8771f9236925ad93aa25e0. Verify the standard-library-discoverable stacked-PR CI contract is restored while the bounded OpenCode/NVIDIA scheduler trust boundary, immutable pins, credential-free verifier, least privilege, and draft-only publication remain intact. Do not transfer predecessor evidence; counted independent approval remains mandatory.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

@seonghobae I will perform an independent review of PR #287 at head ed3863209109cd24a3cf1f1d6bdcd51db16fbef1. I will assess the specified CI contract and security boundaries. I will not transfer predecessor evidence or approval.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@opencode-agent @cwl-noema-review Please independently review exact current head ed3863209109cd24a3cf1f1d6bdcd51db16fbef1 only against target branch head 005204eca566483001f34857cd5d5090d692bb5f and synthetic merge revision acb8179367c6e3727d8771f9236925ad93aa25e0. Verify that the maintenance delta preserves the bounded OpenCode/NVIDIA scheduler trust boundary while restoring unfiltered pull-request CI and canonical unittest discovery. Do not transfer predecessor reviews, checks, or approvals. Submit only current actionable findings or a formal current-head review. A separate counted repository-write-authorized independent approval remains mandatory before merge.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

base='005204eca566483001f34857cd5d5090d692bb5f'
head='ed3863209109cd24a3cf1f1d6bdcd51db16fbef1'
merge='acb8179367c6e3727d8771f9236925ad93aa25e0'

echo '== Verify requested commit objects =='
for commit in "$base" "$head" "$merge"; do
  printf '\n%s\n' "$commit"
  git cat-file -t "$commit" || true
  git show -s --format='%H%n%P%n%s' "$commit" || true
done

echo '== Delta: specified base -> specified head =='
git diff --name-status "$base" "$head"
git diff --stat "$base" "$head"
git diff --find-renames --find-copies --no-ext-diff "$base" "$head"

echo '== Files changed by the requested delta =='
git diff --name-only "$base" "$head" | while IFS= read -r file; do
  [ -n "$file" ] || continue
  printf '\n===== HEAD: %s =====\n' "$file"
  git show "$head:$file" 2>/dev/null | nl -ba || true
  printf '\n===== BASE: %s =====\n' "$file"
  git show "$base:$file" 2>/dev/null | nl -ba || true
  printf '\n===== SYNTHETIC MERGE: %s =====\n' "$file"
  git show "$merge:$file" 2>/dev/null | nl -ba || true
done

echo '== Workflow and Python test candidates at head =='
git ls-tree -r --name-only "$head" | \
  rg '(^|/)(\.github/workflows/[^/]+\.ya?ml|test[^/]*\.py|[^/]*test[^/]*\.py)$' || true

Length of output: 58186


🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='ed3863209109cd24a3cf1f1d6bdcd51db16fbef1'
merge='acb8179367c6e3727d8771f9236925ad93aa25e0'

show_numbered() {
  local revision="$1"
  local file="$2"
  printf '\n===== %s:%s =====\n' "$revision" "$file"
  git show "${revision}:${file}" 2>/dev/null | awk '{printf "%6d  %s\n", NR, $0}' || true
}

echo '== Exact-head CI workflow =='
show_numbered "$head" '.github/workflows/ci.yml'

echo '== Exact-head CI stack regression =='
show_numbered "$head" 'scripts/test_ci_workflow_stack_coverage.py'

echo '== Exact-head Python and test configuration files =='
git ls-tree -r --name-only "$head" | \
  rg '(^|/)(pyproject\.toml|pytest\.ini|tox\.ini|setup\.cfg|requirements(-[^/]*)?\.txt|conftest\.py|test[^/]*\.py|[^/]*test[^/]*\.py)$' | \
  while IFS= read -r file; do
    show_numbered "$head" "$file"
  done

echo '== Test command references at exact head =='
git grep -n -E 'python(3)? -m (unittest|pytest)|unittest[[:space:]]+discover|pytest' "$head" -- \
  '.github/workflows' 'scripts' 'pyproject.toml' 'pytest.ini' 'tox.ini' 'setup.cfg' \
  'requirements*.txt' 2>/dev/null || true

echo '== Synthetic-merge delta relative to specified base =='
git diff --name-status '005204eca566483001f34857cd5d5090d692bb5f' "$merge"

Length of output: 61451


@seonghobae Formal current-head review completed.

I found no current actionable findings in the specified maintenance delta.

The synthetic merge revision acb8179367c6e3727d8771f9236925ad93aa25e0 has the specified base and head as parents. Its delta against base 005204eca566483001f34857cd5d5090d692bb5f changes exactly two files:

  • .github/workflows/ci.yml
  • scripts/test_ci_workflow_stack_coverage.py

The merge result restores unfiltered pull_request: {} coverage. It retains exact-head checkout and verification for the Maven and script jobs. It also retains the synthetic-merge Maven compatibility job.

The new regression uses unittest.TestCase and test_ methods. The existing python -m pytest -q scripts command collects these unittest test cases.

The bounded OpenCode/NVIDIA scheduler workflows, immutable pins, credential-free verifier, least-privilege publication boundary, and draft-only behavior are unchanged relative to the specified base in the synthetic merge result. The divergent head tree does not contain those files, but the requested synthetic merge preserves the base versions. I did not treat this as predecessor evidence.

This was a static review. Required current-head CI, security, fuzz, repository-policy gates, and the separate counted repository-write-authorized independent approval remain mandatory. This is not an approval.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@opencode-agent @cwl-noema-review Independently review maintenance PR #287 at exact current head ed3863209109cd24a3cf1f1d6bdcd51db16fbef1, base head 005204eca566483001f34857cd5d5090d692bb5f, and synthetic merge revision acb8179367c6e3727d8771f9236925ad93aa25e0. Verify only current-head/base-sensitive evidence: unfiltered pull-request CI and its canonical unittest regression are restored while the bounded OpenCode/NVIDIA scheduler trust boundary, immutable pins, non-Copilot model routing, credential-free verifier, draft-only publication, least privilege, and separate review-agent credentials remain intact. Submit current actionable findings or formal review evidence only. Do not transfer predecessor evidence or infer the still-required counted repository-write-authorized independent approval.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

base='005204eca566483001f34857cd5d5090d692bb5f'
head='ed3863209109cd24a3cf1f1d6bdcd51db16fbef1'
merge='acb8179367c6e3727d8771f9236925ad93aa25e0'

show_file() {
  local revision="$1"
  local file="$2"
  printf '\n===== %s:%s =====\n' "$revision" "$file"
  git show "${revision}:${file}" | nl -ba
}

echo '== Commit objects and parent lists =='
for revision in "$base" "$head" "$merge"; do
  printf '\n%s\n' "$revision"
  git cat-file -t "$revision"
  git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$revision"
done

echo '== Exact head delta from base =='
git diff --find-renames --name-status "$base" "$head"

echo '== Synthetic merge delta from base =='
git diff --find-renames --name-status "$base" "$merge"

echo '== Synthetic merge parent verification =='
git show -s --format='%P' "$merge"

echo '== Relevant workflow and regression files in each revision =='
for revision in "$base" "$head" "$merge"; do
  printf '\n-- %s --\n' "$revision"
  git ls-tree -r --name-only "$revision" | rg \
    '(^\.github/workflows/|^scripts/test_ci_workflow_stack_coverage\.py$)' || true
done

for revision in "$base" "$head" "$merge"; do
  for file in \
    '.github/workflows/ci.yml' \
    'scripts/test_ci_workflow_stack_coverage.py'
  do
    if git cat-file -e "${revision}:${file}" 2>/dev/null; then
      show_file "$revision" "$file"
    fi
  done
done

echo '== Scheduler-related workflow files at synthetic merge =='
git ls-tree -r --name-only "$merge" | rg -i \
  '^\.github/workflows/.*(opencode|nvidia|scheduler|review|verify|publish).*\.ya?ml$' | \
while IFS= read -r file; do
  show_file "$merge" "$file"
done

echo '== Changes to scheduler-related workflows: base -> synthetic merge =='
git diff --name-status "$base" "$merge" -- .github/workflows | \
rg -i '(opencode|nvidia|scheduler|review|verify|publish)' || true

Length of output: 4278


🏁 Script executed:

#!/bin/bash
set -euo pipefail

base='005204eca566483001f34857cd5d5090d692bb5f'
head='ed3863209109cd24a3cf1f1d6bdcd51db16fbef1'
merge='acb8179367c6e3727d8771f9236925ad93aa25e0'

show_file() {
  local revision="$1"
  local file="$2"
  printf '\n===== %s:%s =====\n' "$revision" "$file"
  git show "${revision}:${file}" | awk '{printf "%6d  %s\n", NR, $0}'
}

echo '== CI workflow and regression at each relevant revision =='
for revision in "$base" "$head" "$merge"; do
  for file in \
    '.github/workflows/ci.yml' \
    'scripts/test_ci_workflow_stack_coverage.py'
  do
    if git cat-file -e "${revision}:${file}" 2>/dev/null; then
      show_file "$revision" "$file"
    fi
  done
done

echo '== Scheduler-boundary files in base =='
git ls-tree -r --name-only "$base" | grep -E \
'(^\.github/workflows/.*(hourly|opencode|nvidia|scheduler|review|publish|verify).*\.ya?ml$|^scripts/test_hourly_opencode_scheduler_contract\.py$|^docs/operations/hourly-development\.md$)' \
|| true

echo '== Base-to-synthetic-merge object identity for scheduler-boundary files =='
git ls-tree -r "$base" -- \
  .github/workflows \
  scripts/test_hourly_opencode_scheduler_contract.py \
  docs/operations/hourly-development.md |
awk '{print $3 "\t" $4}' |
while IFS="$(printf '\t')" read -r base_blob file; do
  case "$file" in
    .github/workflows/*hourly*|*opencode*|*nvidia*|*scheduler*|*review*|*publish*|*verify*|scripts/test_hourly_opencode_scheduler_contract.py|docs/operations/hourly-development.md)
      merge_blob=$(git rev-parse "${merge}:${file}" 2>/dev/null || true)
      printf '%s\tbase=%s\tmerge=%s\t%s\n' \
        "$file" "$base_blob" "${merge_blob:-MISSING}" \
        "$([ "$base_blob" = "$merge_blob" ] && printf 'IDENTICAL' || printf 'DIFFERENT')"
      ;;
  esac
done

echo '== Full content of base scheduler workflows retained by synthetic merge =='
git ls-tree -r --name-only "$base" | grep -E \
'^\.github/workflows/.*(hourly|opencode|nvidia|scheduler|review|publish|verify).*\.ya?ml$' |
while IFS= read -r file; do
  show_file "$merge" "$file"
done

echo '== Relevant credential, permission, model, publication, and pin declarations in retained scheduler workflows =='
git grep -n -E \
'(permissions:|contents:|pull-requests:|issues:|id-token:|secrets\.|token|credential|OPENAI|COPILOT|copilot|NVIDIA|nvidia|opencode|model|draft|publish|@([0-9a-f]{40}|v[0-9]))' \
"$merge" -- .github/workflows/hourly-pr-maintenance.yml .github/workflows/hourly-product-development.yml \
|| true

Length of output: 69789


🏁 Script executed:

#!/bin/bash
set -euo pipefail

merge='acb8179367c6e3727d8771f9236925ad93aa25e0'

echo '== Python package markers relevant to unittest discovery =='
git ls-tree -r --name-only "$merge" -- scripts | grep -E \
'(^scripts/__init__\.py$|^scripts/[^/]+/__init__\.py$|^scripts/test_ci_workflow_stack_coverage\.py$)' \
|| true

echo '== Python test configuration files =='
git ls-tree -r --name-only "$merge" | grep -E \
'(^|/)(pyproject\.toml|pytest\.ini|tox\.ini|setup\.cfg|setup\.py)$' |
while IFS= read -r file; do
  printf '\n===== %s:%s =====\n' "$merge" "$file"
  git show "${merge}:${file}" | awk '{printf "%6d  %s\n", NR, $0}'
done

echo '== Import path for the CI regression under unittest discovery =='
if git cat-file -e "${merge}:scripts/__init__.py" 2>/dev/null; then
  printf 'scripts is an importable package; unittest discovery can load scripts.test_ci_workflow_stack_coverage.\n'
else
  printf 'scripts has no __init__.py; default unittest discovery importability requires further review.\n'
fi

Length of output: 1453


🏁 Script executed:

#!/bin/bash
set -euo pipefail

merge='acb8179367c6e3727d8771f9236925ad93aa25e0'

echo '== scripts package marker =='
if git cat-file -e "${merge}:scripts/__init__.py" 2>/dev/null; then
  echo 'scripts/__init__.py exists'
else
  echo 'scripts/__init__.py is absent'
fi

echo '== Regression file =='
git show "${merge}:scripts/test_ci_workflow_stack_coverage.py" |
awk '{printf "%6d  %s\n", NR, $0}'

echo '== CI test command declarations =='
git show "${merge}:.github/workflows/ci.yml" |
grep -nE 'python(3)? -m (unittest|pytest)|unittest[[:space:]]+discover' || true

echo '== Directories under scripts containing __init__.py =='
git ls-tree -r --name-only "$merge" -- scripts |
grep -E '(^|/)__init__\.py$' || true

Length of output: 2728


@seonghobae Formal current-head review completed for exact head ed3863209109cd24a3cf1f1d6bdcd51db16fbef1, base 005204eca566483001f34857cd5d5090d692bb5f, and synthetic merge acb8179367c6e3727d8771f9236925ad93aa25e0.

I found one actionable issue.

  • scripts/test_ci_workflow_stack_coverage.py uses unittest.TestCase, but scripts has no __init__.py. Default repository-root python -m unittest discover does not recurse into this non-package directory. The CI workflow runs only python -m pytest -q scripts on Line 122. Therefore, the test is pytest-collected but is not canonical standard-library discovery coverage. Add an explicit python -m unittest discover -s scripts CI step, or make the test importable through the intended unittest discovery layout.

Static evidence confirms these items:

  • The synthetic merge has the specified base and head as parents.
  • The synthetic-merge delta changes only .github/workflows/ci.yml and scripts/test_ci_workflow_stack_coverage.py.
  • .github/workflows/ci.yml restores unfiltered pull_request: {}.
  • The workflow retains exact-head checkout and verification, synthetic-merge Maven verification, hash-pinned actions, and persist-credentials: false.
  • The OpenCode/NVIDIA scheduler workflows, scheduler contract test, and scheduler documentation are byte-identical between the specified base and synthetic merge.
  • The retained scheduler configuration uses the NVIDIA model, checksum-pinned OpenCode installation, bounded permissions, credential-free verification, a dedicated publication App token, and draft-only PR creation.

This was a static review. Required current-head CI, security, fuzz, repository-policy gates, and the separate counted repository-write-authorized independent approval remain required. This is not an approval.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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.

1 participant