Skip to content

fix(strix): bootstrap complete runtime evidence for #952 - #1133

Closed
seonghobae wants to merge 13 commits into
bootstrap/strix-952-branch-repairfrom
fix/strix-base-runtime-contract-952
Closed

fix(strix): bootstrap complete runtime evidence for #952#1133
seonghobae wants to merge 13 commits into
bootstrap/strix-952-branch-repairfrom
fix/strix-base-runtime-contract-952

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Purpose

Bootstrap the trusted pull_request_target Strix runtime contract required before #1121 can install its PR-head strix-agent==1.5.3 hashed lock.

Bounded scope

  • install the complete hash lock with --no-deps so stale transitive metadata cannot re-resolve the cryptography override;
  • verify exact installed Strix/cryptography pins and exercise PyJWT RS256 plus pyOpenSSL crypto APIs;
  • keep every incomplete/backend-unavailable scan fail-closed instead of returning neutral success;
  • import only current-attempt reports from the exact scan target's authoritative strix_runs output;
  • classify the narrow self-negating strix-agent 1.0.4 crashes after producing a valid report, tripping the fail-closed gate; upgrade blocked by a cryptography CVE pin conflict #952 no-finding pseudo-record as model inconsistency rather than a real HIGH finding;
  • preserve existing artifact publication, exact-head/live-base binding, fallback diagnostics, and missing/unknown evidence failure.

This PR intentionally does not change the Strix version lock and does not include #969/#1051 pip-audit work. #1121 remains the version/override PR and should be updated only after this base-executed runtime prerequisite lands.

Refs #952 and #1121.

@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 273ddd33-76c8-4332-b7ed-f7806d67ec4c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

Copy link
Copy Markdown
Contributor Author

@opencode-agent Execute the bounded prerequisite described in this PR on its current branch. The temporary repair-strix-base-runtime-952.yml contains a test-first reference implementation; inspect it as untrusted proposed code, correct any defects, apply the production/test changes directly, run the focused and full verification, then remove the temporary workflow before marking ready. Preserve the exact scope: no Strix version/lock bump here, no pip-audit changes, no scheduler/reviewer changes. Return the exact head SHA and verification results; do not merge.

cancel-in-progress: false

permissions:
contents: write
Comment thread .github/workflows/apply-strix-952-repair.yml Fixed
@seonghobae
seonghobae marked this pull request as ready for review August 19, 2026 00:03
@seonghobae
seonghobae marked this pull request as draft August 19, 2026 00:08
&& github.ref == 'refs/heads/fix/strix-base-runtime-contract-952')
)
permissions:
contents: write
@seonghobae
seonghobae changed the base branch from main to bootstrap/strix-952-branch-repair August 19, 2026 00:29
@seonghobae
seonghobae marked this pull request as ready for review August 19, 2026 00:30
* test(ci): reproduce unreviewed merge-conflict dispatch gap

* fix(ci): dispatch bounded OpenCode conflict repair before review

* ci: enable bounded unreviewed conflict dispatch

* ci: scan central pull requests for OpenCode repair hourly

* test(ci): cover central hourly conflict repair contracts

* docs(ci): record unreviewed conflict-repair safety decision

* fix(ci): preserve legacy scheduler callers and diagnostics

* fix(ci): make self-target validation safe under unset variables

* test(ci): cover unset-safe self-target authorization

* test(ci): allow conflict-policy keyword in scheduler branch stub

* test(ci): prove queue reaches bounded conflict worker

---------

Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com>

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head e6aadff4ea1ceefe2cc90fad45b66d1bf06b2d04.

  • Head SHA: e6aadff4ea1ceefe2cc90fad45b66d1bf06b2d04

  • Workflow run: 32204527513

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow (2 files)"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> Conflict["Merge conflict blocks this path"]
  Conflict --> V1["actionlint plus required checks"]
  Evidence --> S2["CI script (4 files)"]
  S2 --> I2["review and security gate shell path"]
  I2 --> Conflict["Merge conflict blocks this path"]
  Conflict --> V2["bash -n plus Strix self-test"]
  Evidence --> S3["Test: test_strix_952_runtime_contract.py"]
  S3 --> I3["regression suite"]
  I3 --> Conflict["Merge conflict blocks this path"]
  Conflict --> V3["targeted test run"]
Loading

@opencode-agent

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: e6aadff4ea1ceefe2cc90fad45b66d1bf06b2d04
  • Workflow run: 32204527513
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head e6aadff4ea1ceefe2cc90fad45b66d1bf06b2d04.

  • Head SHA: e6aadff4ea1ceefe2cc90fad45b66d1bf06b2d04

  • Workflow run: 32204527513

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow (2 files)"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> Conflict["Merge conflict blocks this path"]
  Conflict --> V1["actionlint plus required checks"]
  Evidence --> S2["CI script (4 files)"]
  S2 --> I2["review and security gate shell path"]
  I2 --> Conflict["Merge conflict blocks this path"]
  Conflict --> V2["bash -n plus Strix self-test"]
  Evidence --> S3["Test: test_strix_952_runtime_contract.py"]
  S3 --> I3["regression suite"]
  I3 --> Conflict["Merge conflict blocks this path"]
  Conflict --> V3["targeted test run"]
Loading

Merge Conflict Guidance

  • Current merge state: DIRTY
  • Base branch: bootstrap/strix-952-branch-repair
  • Head branch: fix/strix-base-runtime-contract-952
  • Fix direction: merge or rebase origin/bootstrap/strix-952-branch-repair into fix/strix-base-runtime-contract-952, resolve conflict markers in the changed files, rerun the focused checks, then push the same branch.
  • Repair commands:
gh pr checkout 1133 --repo ContextualWisdomLab/.github
git fetch origin bootstrap/strix-952-branch-repair
git merge --no-ff origin/bootstrap/strix-952-branch-repair  # or: git rebase origin/bootstrap/strix-952-branch-repair
git status --short
# resolve files, then git add <resolved-files>
# merge path: git commit
# rebase path: git rebase --continue
git push origin HEAD:fix/strix-base-runtime-contract-952
# rebase path only: git push --force-with-lease origin HEAD:fix/strix-base-runtime-contract-952

* feat(automation): run nonnest2 hourly NVIDIA NIM review repair

Add a thin minute-16 caller for ContextualWisdomLab/nonnest2 on
protected master. The caller maps only established scheduler
credentials, grants job-scoped OIDC, and leaves NVIDIA_NIM_API_KEY on
the reusable worker.

* fix(ci): resolve nonnest2 caller conflict with current main

* fix(ci): preserve current architecture while adding nonnest2 caller

* fix(ci): merge nonnest2 quality paths with current main

* chore(ci): reconcile changelog with current main

* chore(ci): reconcile agent guidance with current main
…y<49 pin (#1121)

Admin-merged. The 'strix' check failure on this PR is a structural bootstrapping limitation, not a real problem with the fix: strix.yml is itself the trusted required workflow this PR is fixing, and pull_request_target-triggered required workflows run the BASE branch's version against a PR (documented in this repo's own CLAUDE.md), so a PR editing strix.yml can never show green for its own strix check until merged -- the fix only takes effect for future PRs afterward. The stale CHANGES_REQUESTED review (targeting an old head SHA, predating the pip-audit and strix.yml fixes) was dismissed after confirming it doesn't apply to the current head. Verified locally before every push: pip install --dry-run succeeds for the real strix-agent install, and this repo's full test suite (1208 tests) is green. Bypassing enforce_admins (disabled on this branch this iteration, same authorization already used for contextual-orchestrator) since it's the same structural blocker.
@seonghobae
seonghobae force-pushed the fix/strix-base-runtime-contract-952 branch from e6aadff to c77aa55 Compare August 19, 2026 08:29
@seonghobae

Copy link
Copy Markdown
Contributor Author

Current-head repair (2026-08-19)

Rebased onto current main and pushed c77aa55. Root cause was stale trusted Strix source plus a fail-open outer wrapper. The repair directly applies runtime compatibility/report-authority checks, keeps provider-specific fallback in the trusted gate, makes incomplete provider evidence fail closed, updates contracts, and removes transient branch-writer bootstrap workflows/helpers.

Evidence: full pytest 1219 passed, 16 subtests; focused Strix 30 passed, 16 subtests; required smoke passed; actionlint on .github/workflows/strix.yml passed; shell syntax and diff check passed. Please review exact head and rerun protected checks.

@seonghobae seonghobae moved this from Todo to In Progress in naruon Platform Roadmap Aug 19, 2026
@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent @cwl-noema-review

Please perform a fresh read-only review of exact current head c77aa5565403bcc2d5df5b5d03dc6385511cd25c against base bootstrap/strix-952-branch-repair@92d13821f88d6bd9fd596edf6f4086eda9ca32f9. Prior REQUEST_CHANGES evidence was for predecessor head e6aadff4ea1ceefe2cc90fad45b66d1bf06b2d04; do not reuse it. Verify terminal current-head Checks, conflict-free source, runtime/report semantics, and exact changed-file coverage. Do not merge, self-approve, or bypass protection.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Current-head evidence for PR #1133: c77aa55.

REST check-runs for this exact SHA report 16 completed checks with no failure/cancellation, including coverage-evidence, coverage-source-tree, OpenCode review, Noema review, Strix, and required-workflow-bootstrap. The remaining protected gate is review state: the visible OpenCode CHANGES_REQUESTED review is for predecessor e6aadff, and no qualifying independent approval is visible for c77aa55. A fresh exact-head independent review is still required; no bypass or self-approval is being used.

Copy link
Copy Markdown
Contributor Author

Closing this stacked bootstrap branch as superseded. #1121 has already merged to protected main and closed #952 with the Strix 1.5.3 + cryptography 50 override/install repair. This PR is based on the temporary bootstrap/strix-952-branch-repair branch, now contains unrelated hourly-scheduler/pip-audit drift, and its remaining review findings are on outdated temporary workflow paths. The separate exact-artifact/report-consistency boundary remains owned by #1009; it should not be mixed back into the completed #952 version/runtime repair. No predecessor-head checks or review evidence are being promoted.

@seonghobae seonghobae closed this Aug 19, 2026
@github-project-automation github-project-automation Bot moved this from In Progress to Done in naruon Platform Roadmap Aug 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants