Skip to content

fix(coverage): scope changed JavaScript evidence to runtime code - #765

Closed
seonghobae wants to merge 7 commits into
mainfrom
fix/javascript-runtime-coverage-scope
Closed

fix(coverage): scope changed JavaScript evidence to runtime code#765
seonghobae wants to merge 7 commits into
mainfrom
fix/javascript-runtime-coverage-scope

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Problem

The central OpenCode changed-source coverage gate treated every changed JavaScript-family file as application runtime unless it matched a small exact-name list. Inkspan PR #60 therefore passed 492 tests with 100% statements, branches, functions, and lines for product runtime, but central evidence still failed because Vitest correctly did not instrument:

  • vite.autosave.config.ts
  • scripts/verify-framework-free-autosave-package.mjs
  • scripts/verify-package.mjs

This was a classifier mismatch, not uncovered product behavior.

Change

The classifier excludes only two bounded non-product categories:

  1. recognized build/test tool configuration files whose names begin with a known tool identifier, may contain profile segments, and end in .config.<js-family extension>; and
  2. check-* or verify-* commands in a scripts directory that is not below src.

The gate remains fail-closed for product code:

  • src/feature.config.ts remains runtime;
  • scripts/serve-package.mjs remains runtime;
  • src/scripts/verify-session.ts remains runtime;
  • a changed runtime file absent from coverage-final.json still fails; and
  • changed statements, branches, functions, and lines still require complete evidence.

The rule is repository-relative and package-neutral, so it applies consistently to standalone repositories, nested modules, Inkspan, naruon, and other CWL MSA consumers without PR-specific exceptions.

Hard-gate baseline alignment

The first exact-head Python Security run correctly failed the protected-base Strix lock because it still pinned vulnerable aiohttp==3.14.1 and cryptography==49.0.0. This branch carries the byte-identical reviewed input and generated hash locks from exact green head 7616fd80d0a0c6cc6e1ff1544728241dbc0ea985 of #743:

  • aiohttp==3.14.3
  • cryptography==50.0.0
  • canonical-input/generated-lock integrity retained

The protected-base CodeQL workflow contract also exposed mixed CodeQL Action revisions during exact-head coverage evidence. Repair commit 9d43004cbbaa91a8cf477a71e64e1a52176a00ad aligns init, analyze, and upload-sarif to immutable v4.37.5 commit d1ba80a13dd99fba24a470575428917156a28b43 without weakening the coverage classifier or security threshold.

TDD and exact-head verification

Current exact head: 33d6168de6aef22f8a76dd19fcc88d99f3613d9e.

Focused verification on the implementation commits proves:

  • 37 tests across the existing gate suite and new regression suite;
  • scripts/ci/javascript_coverage_gate.py: 267/267 statements and 124/124 branches;
  • production module/function docstrings: 100%;
  • realistic temporary-Git fixtures reproduce the Inkspan failure and prove tooling-only changes are explicit not-applicable evidence;
  • changed non-verification runtime scripts with empty Istanbul evidence still fail closed; and
  • Python compilation and generated-lock integrity pass.

The current head adds only the exact-head control-plane failure diagnosis to the authoritative doctoring record. All current-head CI, security, OpenCode, Noema, independent approval, and branch-protection evidence must rerun and succeed before merge. Prior-head success, approval, or requested-changes evidence is not transferable; queued or absent evidence is not treated as success.

Standards and doctoring

docs/doctoring/javascript-runtime-coverage-scope.md records the root cause, fail-closed boundaries, modular behavior, verification contract, the exact-head CodeQL consistency repair, and APA 7 references to current Vitest coverage/configuration documentation, NIST SSDF 1.1, and the SSDF 1.2 initial public draft. NIST still lists SSDF 1.2 as a draft as of August 5, 2026; no formal conformity is claimed.

Dependency order

Merge this central control-plane repair through normal protection before rerunning OpenCode review on immutable Inkspan PR #60 head b02f1662c7118faf1aaf44b8ea1efb376cfc3a85.

@seonghobae
seonghobae enabled auto-merge (squash) August 5, 2026 01:08
@coderabbitai

coderabbitai Bot commented Aug 5, 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: 4 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: cae39c8e-abde-4b27-950b-a6829af48c8a

📥 Commits

Reviewing files that changed from the base of the PR and between 3f65dbe and 33d6168.

📒 Files selected for processing (6)
  • .github/workflows/scheduled-security-scan.yml
  • docs/doctoring/javascript-runtime-coverage-scope.md
  • requirements-strix-ci-hashes.txt
  • requirements-strix-ci.txt
  • scripts/ci/javascript_coverage_gate.py
  • tests/test_javascript_coverage_scope.py

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

Copy link
Copy Markdown
Contributor Author

@opencode-agent @cwl-noema-review Please independently review exact current head c216f0cb4d680c381c4389d9b04195d42d1be57d. Exact-head CodeQL PR, Python Security, Security Scan, SAST Semgrep, OSV-Scanner PR, Scorecard PR, Secret Scan, and SBOM Generation succeed; CodeRabbit status succeeds and there are no review threads. Verify that the JavaScript changed-source classifier excludes only bounded tool configuration and out-of-src check/verify scripts, remains fail-closed for product runtime, reproduces the Inkspan autosave package case without PR-specific exceptions, retains 100% statement/branch/docstring evidence, and accurately records APA 7 doctoring. Submit APPROVE only if no blocker remains.

@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 c216f0cb4d680c381c4389d9b04195d42d1be57d.

  • Head SHA: c216f0cb4d680c381c4389d9b04195d42d1be57d

  • Workflow run: 30967466564

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Docs: javascript-runtime-coverage-scope.md"]
  S1 --> I1["operator or user guidance"]
  I1 --> R1["Review risk: Docs: javascript-runtime-coverage-scope.md"]
  R1 --> V1["docs review"]
  Evidence --> S2["Changed file (2 files)"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file (2 files)"]
  R2 --> V2["required checks"]
  Evidence --> S3["CI script: javascript_coverage_gate.py"]
  S3 --> I3["review and security gate shell path"]
  I3 --> R3["Review risk: CI script: javascript_coverage_gate.py"]
  R3 --> V3["bash -n plus Strix self-test"]
  Evidence --> S4["Test: test_javascript_coverage_scope.py"]
  S4 --> I4["regression suite"]
  I4 --> R4["Review risk: Test: test_javascript_coverage_scope.py"]
  R4 --> V4["targeted test run"]
Loading

@opencode-agent

opencode-agent Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: c216f0cb4d680c381c4389d9b04195d42d1be57d
  • Workflow run: 30967466564
  • 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 c216f0cb4d680c381c4389d9b04195d42d1be57d.

  • Head SHA: c216f0cb4d680c381c4389d9b04195d42d1be57d

  • Workflow run: 30967466564

  • Workflow attempt: 1

Coverage evidence

Coverage Decision

  • Result: FAIL
  • Test evidence: not proven passing
  • Docstring evidence: not proven passing when configured
  • Failure count: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Docs: javascript-runtime-coverage-scope.md"]
  S1 --> I1["operator or user guidance"]
  I1 --> R1["Review risk: Docs: javascript-runtime-coverage-scope.md"]
  R1 --> V1["docs review"]
  Evidence --> S2["Changed file (2 files)"]
  S2 --> I2["repository behavior"]
  I2 --> R2["Review risk: Changed file (2 files)"]
  R2 --> V2["required checks"]
  Evidence --> S3["CI script: javascript_coverage_gate.py"]
  S3 --> I3["review and security gate shell path"]
  I3 --> R3["Review risk: CI script: javascript_coverage_gate.py"]
  R3 --> V3["bash -n plus Strix self-test"]
  Evidence --> S4["Test: test_javascript_coverage_scope.py"]
  S4 --> I4["regression suite"]
  I4 --> R4["Review risk: Test: test_javascript_coverage_scope.py"]
  R4 --> V4["targeted test run"]
Loading

@opencode-agent
opencode-agent Bot disabled auto-merge August 5, 2026 01:52

Copy link
Copy Markdown
Contributor Author

Root-cause repair at exact head 9d43004cbbaa91a8cf477a71e64e1a52176a00ad:

The failed OpenCode coverage evidence was reproduced from its exact merge-tree artifact. The focused JavaScript runtime/tooling classifier tests were not the failing surface; the suite stopped at tests/test_codeql_pr_workflow_contract.py::test_codeql_action_steps_use_one_version_per_workflow because protected-base scheduled-security-scan.yml mixed CodeQL Action revisions. This head aligns init, analyze, and upload-sarif to immutable v4.37.5 commit d1ba80a13dd99fba24a470575428917156a28b43.

No JavaScript coverage rule, product-code fail-closed behavior, security threshold, or reviewer credential was weakened. Fresh exact-head coverage, security, independent review, and branch protection remain required.

@seonghobae
seonghobae enabled auto-merge (squash) August 5, 2026 02:42

Copy link
Copy Markdown
Contributor Author

@opencode-agent @cwl-noema-review Please independently review exact current head 9d43004cbbaa91a8cf477a71e64e1a52176a00ad. Exact-head Python Security, Security Scan, CodeQL, Semgrep, Secret Scan, OSV, Scorecard, and SBOM are successful; the only recorded REQUEST_CHANGES targets superseded head c216f0cb4d680c381c4389d9b04195d42d1be57d. Approve only after proving the current-head runtime/tooling classifier with 100% production statement/branch/docstring evidence, realistic temporary-Git fixtures, fail-closed missing-runtime coverage behavior, and unchanged secure Strix lock integrity.

@seonghobae
seonghobae dismissed opencode-agent[bot]’s stale review August 5, 2026 02:52

The review targets superseded head c216f0c. Current head 9d43004 includes the scheduled-CodeQL revision repair and all direct security/supply-chain workflows pass. A fresh exact-current-head review is required; this dismissal does not constitute approval.

@opencode-agent
opencode-agent Bot disabled auto-merge August 5, 2026 02:52

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Please review exact current head 9d43004cbbaa91a8cf477a71e64e1a52176a00ad. Verify the bounded runtime/tooling classifier, fail-closed treatment of product code and non-verification scripts, changed statement/branch/function/line evidence, realistic Inkspan fixture, secure Strix dependency floor, exact CodeQL revision alignment, and APA 7th doctoring. Do not reuse evidence from c216f0cb4d680c381c4389d9b04195d42d1be57d.

@opencode-agent Please rerun the complete exact-head coverage, test, and docstring evidence on 9d43004cbbaa91a8cf477a71e64e1a52176a00ad. The prior requested-changes review was dismissed only because it targets a superseded head; approve only if current evidence succeeds.

@cwl-noema-review Please independently review exact head 9d43004cbbaa91a8cf477a71e64e1a52176a00ad after all current-head gates succeed.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

@seonghobae I will review pull request #765 at exact head 9d43004cbbaa91a8cf477a71e64e1a52176a00ad. I will not use evidence from c216f0cb4d680c381c4389d9b04195d42d1be57d.

⚠️ 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
Contributor Author

@coderabbitai review

Please review exact current head 9d43004cbbaa91a8cf477a71e64e1a52176a00ad. All eight direct security and supply-chain workflows are green after the protected-base CodeQL action revision mismatch was repaired. Report only current actionable findings.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

@seonghobae I will review pull request #765 at exact head 9d43004cbbaa91a8cf477a71e64e1a52176a00ad.

I will assess only current actionable findings. I will not use evidence from the superseded head.

⚠️ 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
Contributor Author

@opencode-agent @cwl-noema-review Please independently review exact current head 9d43004cbbaa91a8cf477a71e64e1a52176a00ad. The only change after the dismissed prior-head OpenCode review is the fail-closed alignment of all scheduled CodeQL phases to immutable v4.37.5 commit d1ba80a13dd99fba24a470575428917156a28b43. Exact-head CodeQL PR, Python Security, Security Scan, SAST Semgrep, OSV-Scanner PR, Scorecard PR, Secret Scan, SBOM Generation, and CodeRabbit status succeed; no review thread is unresolved. Re-run the central coverage evidence against this exact head and submit approval only if the bounded JavaScript runtime classifier, complete statement/branch/docstring evidence, security baseline, and doctoring remain valid.

@seonghobae
seonghobae enabled auto-merge (squash) August 5, 2026 03:29

Copy link
Copy Markdown
Contributor Author

@opencode-agent

Review-only exact-head dispatch for 9d43004cbbaa91a8cf477a71e64e1a52176a00ad; do not update branches or merge. Re-run complete coverage, test, docstring, and changed-file evidence against the current merge tree. Verify the bounded JavaScript runtime/tooling classifier, realistic Inkspan fixture, fail-closed missing-runtime behavior, secure dependency locks, and immutable CodeQL action alignment. Submit APPROVE only if no blocker remains.

@cwl-noema-review Please independently review the same exact head after verifying all current-head gates.

Copy link
Copy Markdown
Contributor Author

@opencode-agent @cwl-noema-review Please independently review exact current head 33d6168de6aef22f8a76dd19fcc88d99f3613d9e. All eight direct exact-head security and supply-chain workflows are successful; no review thread is open. The only delta after implementation head 9d43004cbbaa91a8cf477a71e64e1a52176a00ad is the authoritative doctoring diagnosis. Verify complete coverage/test/docstring evidence, bounded tooling exclusions, fail-closed runtime classification, lock integrity, immutable CodeQL alignment, and documentation accuracy. Submit APPROVE only if no blocker remains; do not update the branch or merge.

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 9 minutes.

Copy link
Copy Markdown
Contributor Author

@opencode-agent @cwl-noema-review @coderabbitai review

Independently review exact current head 33d6168de6aef22f8a76dd19fcc88d99f3613d9e against base 3f65dbee6672b78802e7d71d49c390f3817bb03b; prior-head REQUEST_CHANGES is stale and dismissed. Current-head CodeQL, Python Security, Security Scan, Semgrep, Secret Scan, OSV, Scorecard, SBOM, and CodeRabbit status are successful, with no review thread. Verify that only bounded tool configurations and check/verify scripts outside src are excluded, ordinary runtime scripts and src remain fail-closed, Istanbul changed statements/branches/functions/lines remain complete, central CodeQL and Strix security-floor alignment is exact, production coverage/docstrings are 100%, and doctoring uses APA 7. Submit APPROVE only if no exact-head blocker remains.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='33d6168de6aef22f8a76dd19fcc88d99f3613d9e'
base='3f65dbee6672b78802e7d71d49c390f3817bb03b'

printf '%s\n' '== repository head =='
git rev-parse HEAD
git cat-file -e "${head}^{commit}"
git cat-file -e "${base}^{commit}"

printf '%s\n' '== changed files =='
git diff --name-status "$base" "$head"

printf '%s\n' '== relevant file candidates =='
fd -t f . | rg '(^|/)(javascript_coverage_gate\.py|test_.*coverage.*\.py|test_.*codeql.*\.py|.*doctoring.*\.md|.*(?:requirements|lock).*|.*codeql.*\.(?:yml|yaml)|.*scheduled-security-scan.*\.(?:yml|yaml))$' || true

printf '%s\n' '== source and test outlines =='
for f in $(fd -t f 'javascript_coverage_gate\.py|test_.*coverage.*\.py|test_.*codeql.*\.py' .); do
  echo "--- $f"
  ast-grep outline "$f" --items all --view compact || true
done

printf '%s\n' '== classifier, CodeQL revision, lock floor, and APA reference evidence =='
rg -n -i -C 3 \
  'config|check-|verify-|coverage-final|statement|branch|function|line|aiohttp==|cryptography==|d1ba80a13dd99fba24a470575428917156a28b43|CodeQL|APA|Vitest|NIST|SSDF' \
  scripts tests .github docs requirements* 2>/dev/null || true

printf '%s\n' '== full relevant diff =='
git diff --find-renames --find-copies --unified=80 "$base" "$head" -- \
  'scripts/ci/javascript_coverage_gate.py' \
  'tests/**' \
  '.github/workflows/**' \
  'docs/doctoring/**' \
  '*requirements*' \
  '*lock*' || true

Length of output: 161474


🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='33d6168de6aef22f8a76dd19fcc88d99f3613d9e'
base='3f65dbee6672b78802e7d71d49c390f3817bb03b'

printf '%s\n' '== exact commits and changed paths =='
git rev-parse HEAD
git diff --name-status "$base" "$head"

printf '%s\n' '== coverage gate: complete current implementation =='
cat -n scripts/ci/javascript_coverage_gate.py

printf '%s\n' '== coverage-scope tests: test names and complete file =='
rg -n '^\s*def test_|^\s*`@pytest`\.mark' tests/test_javascript_coverage_scope.py
cat -n tests/test_javascript_coverage_scope.py

printf '%s\n' '== tests that exercise the coverage gate =='
rg -n -C 2 \
  'javascript_coverage_gate|is_runtime_source|changed_runtime_lines|coverage-final\.json|is_repository_verification_script|TOOL_CONFIG_NAME_RE' \
  tests -g '*.py'

printf '%s\n' '== source lock and generated-lock integrity controls =='
rg -n -C 3 \
  'requirements-strix-ci|generate-hashes|uv pip compile|lock integrity|aiohttp==|cryptography==' \
  .github scripts tests README.md requirements-strix-ci.txt requirements-strix-ci-hashes.txt \
  -g '!requirements-strix-ci-hashes.txt'

printf '%s\n' '== changed direct requirements and lock package entries =='
cat -n requirements-strix-ci.txt
rg -n -A 4 -B 1 '^(aiohttp|cryptography|pyopenssl)==' requirements-strix-ci-hashes.txt

printf '%s\n' '== CodeQL action use in changed workflow and contract tests =='
rg -n -C 3 \
  'github/codeql-action/(init|analyze|upload-sarif)@|test_codeql_action_steps_use_one_version_per_workflow' \
  .github/workflows/scheduled-security-scan.yml tests -g '*.py'

printf '%s\n' '== doctoring references =='
sed -n '1,220p' docs/doctoring/javascript-runtime-coverage-scope.md

printf '%s\n' '== exact-head PR state and checks =='
gh pr view 765 --repo ContextualWisdomLab/.github \
  --json headRefOid,baseRefOid,reviewDecision,mergeStateStatus,statusCheckRollup \
  --jq '{headRefOid,baseRefOid,reviewDecision,mergeStateStatus,checks:[.statusCheckRollup[]|{name,conclusion,status,headSha}]}'

Length of output: 80385


@seonghobae Static review found no current source-level blocker.

I verified these items on head 33d6168de6aef22f8a76dd19fcc88d99f3613d9e against base 3f65dbee6672b78802e7d71d49c390f3817bb03b:

  • The classifier excludes only the bounded tool configuration pattern and check-* or verify-* files in scripts directories outside src.
  • src/feature.config.ts, scripts/serve-package.mjs, and src/scripts/verify-session.ts remain runtime scope.
  • The Inkspan configuration and verification-script case has a temporary-Git regression fixture.
  • Missing runtime instrumentation still fails closed.
  • Changed statements, branches, functions, and lines remain enforced.
  • The Strix input and hash lock consistently pin aiohttp==3.14.3 and cryptography==50.0.0.
  • Scheduled CodeQL init, analyze, and SARIF upload use immutable revision d1ba80a13dd99fba24a470575428917156a28b43.
  • The doctoring record documents the boundaries and includes APA-style primary-source references.

I cannot approve yet. The exact-head strix check is still IN_PROGRESS. GitHub reports mergeStateStatus: BLOCKED and reviewDecision: REVIEW_REQUIRED. Complete the current-head Strix check and branch-protection evaluation before approval.

You are interacting with an AI system.

Copy link
Copy Markdown
Contributor Author

@cwl-noema-review @opencode-agent

Please perform fresh independent review of exact current head 33d6168de6aef22f8a76dd19fcc88d99f3613d9e. Current-head repository CI and security workflows are successful and no review thread is unresolved. Evaluate the bounded JavaScript runtime/tooling classifier, fail-closed treatment of ordinary scripts and src modules, Istanbul statement/branch/function/line evidence, and modular behavior across standalone repositories and CWL consumers. Do not reuse predecessor-head verdicts. Merge remains governed by branch protection and qualifying independent approval.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@opencode-agent @cwl-noema-review Please independently review exact current head 33d6168de6aef22f8a76dd19fcc88d99f3613d9e. All direct CI/security workflows and CodeRabbit status are successful on this head. Verify the JavaScript runtime/tooling classifier remains fail-closed for product code, the realistic Inkspan regression, 100% statement/branch/function/line coverage evidence, secure Strix lock alignment, immutable CodeQL action consistency, modular nested-package behavior, and APA 7 doctoring. Treat the dismissed predecessor-head verdict as stale and approve only if no actionable finding remains.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='33d6168de6aef22f8a76dd19fcc88d99f3613d9e'
base='3f65dbee6672b78802e7d71d49c390f3817bb03b'

printf '%s\n' '== exact revision =='
git rev-parse HEAD
git cat-file -e "${head}^{commit}"
git cat-file -e "${base}^{commit}"

printf '%s\n' '== changed paths =='
git diff --name-status "$base" "$head"

printf '%s\n' '== focused file discovery =='
fd -t f . | rg '(^|/)(javascript_coverage_gate\.py|test_javascript_coverage_scope\.py|test_codeql_pr_workflow_contract\.py|scheduled-security-scan\.ya?ml|javascript-runtime-coverage-scope\.md|requirements-strix-ci(?:-hashes)?\.txt)$' || true

printf '%s\n' '== coverage gate structure =='
ast-grep outline scripts/ci/javascript_coverage_gate.py --items all --view expanded || true

printf '%s\n' '== coverage classifier and evidence enforcement =='
rg -n -C 5 \
  'TOOL_CONFIG|is_runtime_source|is_repository_verification_script|coverage-final|statement|branch|function|line|scripts|src' \
  scripts/ci/javascript_coverage_gate.py tests/test_javascript_coverage_scope.py

printf '%s\n' '== scope test names =='
rg -n '^\s*def test_' tests/test_javascript_coverage_scope.py

printf '%s\n' '== CodeQL immutable revisions =='
rg -n -C 2 \
  'github/codeql-action/(init|analyze|upload-sarif)@|d1ba80a13dd99fba24a470575428917156a28b43' \
  .github/workflows/scheduled-security-scan.yml tests/test_codeql_pr_workflow_contract.py

printf '%s\n' '== Strix direct requirements and lock entries =='
rg -n -C 2 \
  '^(aiohttp|cryptography)==|generate|hash|integrity' \
  requirements-strix-ci.txt requirements-strix-ci-hashes.txt tests .github scripts 2>/dev/null || true

printf '%s\n' '== doctoring citations and stated boundaries =='
rg -n -i -C 2 \
  'APA|Vitest|NIST|SSDF|config|check-|verify-|src|scripts|fail-closed|Inkspan|100%' \
  docs/doctoring/javascript-runtime-coverage-scope.md

printf '%s\n' '== PR head and checks =='
gh pr view 765 --repo ContextualWisdomLab/.github \
  --json headRefOid,baseRefOid,reviewDecision,mergeStateStatus,statusCheckRollup \
  --jq '{headRefOid,baseRefOid,reviewDecision,mergeStateStatus,checks:[.statusCheckRollup[]|{name,conclusion,status,headSha}]}'

Length of output: 202670


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '== exact classifier implementation =='
nl -ba scripts/ci/javascript_coverage_gate.py | sed -n '1,280p'

printf '%s\n' '== regression test source, first section =='
nl -ba tests/test_javascript_coverage_scope.py | sed -n '1,420p'

printf '%s\n' '== regression test source, remaining section =='
nl -ba tests/test_javascript_coverage_scope.py | sed -n '421,840p'

printf '%s\n' '== CodeQL scheduled workflow action steps =='
rg -n -C 5 'github/codeql-action/(init|analyze|upload-sarif)@' \
  .github/workflows/scheduled-security-scan.yml

printf '%s\n' '== CodeQL revision contract =='
rg -n -C 5 'test_codeql_action_steps_use_one_version_per_workflow|codeql-action' \
  tests/test_codeql_pr_workflow_contract.py

printf '%s\n' '== direct dependency and generated lock entries =='
rg -n -A 8 -B 2 '^(aiohttp|cryptography)==' \
  requirements-strix-ci.txt requirements-strix-ci-hashes.txt

printf '%s\n' '== changed documentation complete =='
nl -ba docs/doctoring/javascript-runtime-coverage-scope.md | sed -n '1,190p'

printf '%s\n' '== diff limited to reviewed artifacts =='
git diff --unified=20 3f65dbee6672b78802e7d71d49c390f3817bb03b \
  33d6168de6aef22f8a76dd19fcc88d99f3613d9e -- \
  scripts/ci/javascript_coverage_gate.py \
  tests/test_javascript_coverage_scope.py \
  tests/test_codeql_pr_workflow_contract.py \
  .github/workflows/scheduled-security-scan.yml \
  requirements-strix-ci.txt \
  requirements-strix-ci-hashes.txt \
  docs/doctoring/javascript-runtime-coverage-scope.md

Length of output: 1921


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '== classifier definitions and gate enforcement =='
rg -n -C 8 \
  'TOOL_CONFIG|KNOWN_TOOL|is_runtime_source|is_repository_verification_script|def main|coverage-final|missing.*coverage|statements|branches|functions|lines' \
  scripts/ci/javascript_coverage_gate.py

printf '%s\n' '== exact classifier file =='
sed -n '1,330p' scripts/ci/javascript_coverage_gate.py

printf '%s\n' '== regression case names and relevant assertions =='
rg -n -C 6 \
  'Inkspan|autosave|vite\.autosave|verify-framework|verify-package|feature\.config|serve-package|verify-session|nested|missing.*coverage|statements|branches|functions|lines|docstring' \
  tests/test_javascript_coverage_scope.py

printf '%s\n' '== test function inventory =='
rg -n '^[[:space:]]*def test_' tests/test_javascript_coverage_scope.py

printf '%s\n' '== scheduled CodeQL action revisions =='
rg -n -C 3 'github/codeql-action/(init|analyze|upload-sarif)@' \
  .github/workflows/scheduled-security-scan.yml

printf '%s\n' '== CodeQL revision contract test =='
rg -n -C 8 'test_codeql_action_steps_use_one_version_per_workflow|ACTION|revision|codeql-action' \
  tests/test_codeql_pr_workflow_contract.py

printf '%s\n' '== Strix direct and lock package records =='
rg -n -A 6 -B 2 '^(aiohttp|cryptography)==' \
  requirements-strix-ci.txt requirements-strix-ci-hashes.txt

printf '%s\n' '== doctoring references =='
sed -n '1,170p' docs/doctoring/javascript-runtime-coverage-scope.md

Length of output: 47383


@seonghobae No current actionable source-level finding was identified on head 33d6168de6aef22f8a76dd19fcc88d99f3613d9e.

I verified the following:

  • The classifier excludes only recognized tool configuration names and check-* or verify-* commands in scripts directories outside src.
  • src/feature.config.ts, scripts/serve-package.mjs, and src/scripts/verify-session.ts remain runtime source.
  • The regression suite includes the Inkspan filenames and a temporary-Git tooling-only change case.
  • Missing coverage-final.json, missing runtime instrumentation, and incomplete changed statements, branches, functions, or lines fail the gate.
  • The Strix input and generated hash lock both pin aiohttp==3.14.3 and cryptography==50.0.0.
  • Scheduled CodeQL init, analyze, and SARIF upload all use immutable revision d1ba80a13dd99fba24a470575428917156a28b43.
  • The doctoring record states the fail-closed boundary, modular behavior, verification contract, and APA-style Vitest and NIST SSDF references.
  • Current exact-head coverage-evidence, strix, CodeQL, Semgrep, OSV, Scorecard, secret-scan, and SBOM checks are complete and successful.

GitHub still reports mergeStateStatus: BLOCKED and reviewDecision: REVIEW_REQUIRED. A qualifying approval and branch-protection evaluation remain required before merge.

⚠️ 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
Contributor Author

Closing as superseded by consolidated PR #757. The production classifier and regression suite are already preserved there byte-for-byte: scripts/ci/javascript_coverage_gate.py is blob f03ee5fb7be5894d3706257c6a22215b768b8647 on both heads, and tests/test_javascript_coverage_scope.py is blob b3e75087dd17138935174fa830796a258ae91dc1 on both heads. #757 also carries the evolved doctoring and integrated control-plane/security repairs. No result from this PR is being reused as current-head evidence; #757 must still reconcile after #743 and pass every exact-head gate and independent approval.

@seonghobae seonghobae closed this Aug 5, 2026
auto-merge was automatically disabled August 5, 2026 05:47

Pull request was closed

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@opencode-agent @cwl-noema-review Re-evaluate exact head 33d6168de6aef22f8a76dd19fcc88d99f3613d9e. All current-head repository CI and security workflows are successful. Approve only this SHA if the bounded JavaScript runtime/tooling classifier, fail-closed ordinary scripts and src modules, Istanbul statement/branch/function/line evidence, modular standalone/MSA behavior, 100% coverage/docstrings, and branch protection are all satisfied.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='33d6168de6aef22f8a76dd19fcc88d99f3613d9e'
base='3f65dbee6672b78802e7d71d49c390f3817bb03b'

printf '%s\n' '== exact revisions =='
git rev-parse HEAD
git cat-file -e "${head}^{commit}"
git cat-file -e "${base}^{commit}"

printf '%s\n' '== changed paths =='
git diff --name-status "$base" "$head"

printf '%s\n' '== coverage gate structure =='
ast-grep outline scripts/ci/javascript_coverage_gate.py --items all --view expanded

printf '%s\n' '== coverage gate implementation =='
sed -n '1,360p' scripts/ci/javascript_coverage_gate.py

printf '%s\n' '== coverage-scope test inventory =='
rg -n '^[[:space:]]*def test_' tests/test_javascript_coverage_scope.py

printf '%s\n' '== bounded classifier and evidence assertions =='
rg -n -C 5 \
  'Inkspan|autosave|vite\.autosave|verify-framework|verify-package|feature\.config|serve-package|verify-session|nested|missing.*coverage|statements|branches|functions|lines|docstring|temporary' \
  tests/test_javascript_coverage_scope.py

printf '%s\n' '== CodeQL action revisions and contract =='
rg -n -C 4 \
  'github/codeql-action/(init|analyze|upload-sarif)@|test_codeql_action_steps_use_one_version_per_workflow' \
  .github/workflows/scheduled-security-scan.yml tests/test_codeql_pr_workflow_contract.py

printf '%s\n' '== Strix dependency pins =='
rg -n -A 7 -B 2 '^(aiohttp|cryptography)==' \
  requirements-strix-ci.txt requirements-strix-ci-hashes.txt

printf '%s\n' '== doctoring record =='
sed -n '1,220p' docs/doctoring/javascript-runtime-coverage-scope.md

printf '%s\n' '== reviewed diff =='
git diff --unified=30 "$base" "$head" -- \
  scripts/ci/javascript_coverage_gate.py \
  tests/test_javascript_coverage_scope.py \
  tests/test_codeql_pr_workflow_contract.py \
  .github/workflows/scheduled-security-scan.yml \
  requirements-strix-ci.txt \
  requirements-strix-ci-hashes.txt \
  docs/doctoring/javascript-runtime-coverage-scope.md

printf '%s\n' '== current PR checks and decision =='
gh pr view 765 --repo ContextualWisdomLab/.github \
  --json headRefOid,baseRefOid,reviewDecision,mergeStateStatus,statusCheckRollup \
  --jq '{headRefOid,baseRefOid,reviewDecision,mergeStateStatus,checks:[.statusCheckRollup[]|{name,conclusion,status,headSha}]}'

Length of output: 109140


@seonghobae No current actionable source-level finding was identified on exact head 33d6168de6aef22f8a76dd19fcc88d99f3613d9e.

I verified the following:

  • The tool configuration exclusion is limited to known tool-name prefixes and .config.<js-family extension> filenames.
  • The script exclusion is limited to check-* and verify-* files in a scripts directory that is not under src.
  • src/feature.config.ts, scripts/serve-package.mjs, and src/scripts/verify-session.ts remain runtime source.
  • The regression suite covers the Inkspan autosave filenames and a tooling-only temporary-Git change.
  • A changed ordinary runtime script without matching coverage-final.json evidence fails the gate.
  • The gate evaluates changed statements, branches, functions, and lines.
  • The repository-relative path logic covers root and nested module scripts directories without package-specific exceptions.
  • The Strix input and generated hash lock pin aiohttp==3.14.3 and cryptography==50.0.0.
  • Scheduled CodeQL init, analyze, and SARIF upload use immutable revision d1ba80a13dd99fba24a470575428917156a28b43.
  • The doctoring record documents the boundary, verification contract, modular behavior, and APA-style references.
  • GitHub reports successful current-head coverage, security, and supply-chain checks.

I cannot approve this SHA yet. GitHub currently reports mergeStateStatus: BLOCKED and reviewDecision: REVIEW_REQUIRED. A qualifying approval and branch-protection evaluation are still required.

⚠️ 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