Skip to content

fix: require release spine evidence before publish - #1205

Merged
kang-heewon merged 6 commits into
trunkfrom
fix/1170-release-spine-evidence
Jul 4, 2026
Merged

fix: require release spine evidence before publish#1205
kang-heewon merged 6 commits into
trunkfrom
fix/1170-release-spine-evidence

Conversation

@kang-heewon

@kang-heewon kang-heewon commented Jul 3, 2026

Copy link
Copy Markdown
Member

Fixes #1170.

Summary

  • Adds pnpm release:spine-evidence, a consolidated publish-path gate that runs the release-critical Croco 1.0 spine evidence set and writes JSON/Markdown reports under ci-reports/release/.
  • Captures checkpointed command status, bounded stdout/stderr excerpts, fresh required evidence artifact copies, per-command timeouts, total timeout handling, and best-effort interrupted reports.
  • Moves duplicated heavy publish gates in .github/workflows/release.yml behind the final spine evidence command before dry-run publish, while preserving audit, repository policy checks, provenance verification, and release summary/artifact upload.
  • Extends release workflow regression coverage and adds focused unit coverage for manifest contents, artifact enforcement, stale artifact rejection, timeouts, interruption marking, CLI parsing, and the async command runner.

Verification

  • COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm exec vitest run scripts/tests/release-spine-evidence.spec.ts scripts/tests/release-workflow.spec.ts --config vitest.config.ts - passed, 23 tests.
  • COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm exec oxfmt --check scripts/release-spine-evidence.mts scripts/tests/release-spine-evidence.spec.ts scripts/tests/release-workflow.spec.ts .github/workflows/release.yml package.json - passed.
  • COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm exec oxlint scripts/release-spine-evidence.mts scripts/tests/release-spine-evidence.spec.ts scripts/tests/release-workflow.spec.ts - passed.
  • COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm exec tsc --noEmit --allowImportingTsExtensions --module NodeNext --moduleResolution NodeNext --target ES2022 --types node,vitest/globals --skipLibCheck scripts/release-spine-evidence.mts scripts/tests/release-spine-evidence.spec.ts scripts/tests/release-workflow.spec.ts - passed.
  • COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm changeset-required:check -- --base origin/trunk --head HEAD - passed, no publishable package behavior changes detected.
  • COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm check - passed.
  • git diff --check and git diff --cached --check - passed.

Self-review gates

  • Correctness/regression: PASS. The release gate includes first-success, quick-start smoke, generated app smoke, entrypoint/bin smoke, summarized build/typecheck/test, core coverage, provider certification, production-ready evidence, spine promotion, public API, and release metadata status before dry-run publish.
  • API/security/compatibility/release: PASS. Runtime package APIs, dependencies, credentials, and publishable package behavior are unchanged; changeset enforcement reports no changeset required.
  • Maintainability/minimality: PASS. The release workflow has one final spine evidence step instead of duplicating heavy publish gates, and the report preserves failure evidence plus recovery context through fresh artifacts and excerpts.

Review and QA

  • Independent review initially found missing first-success evidence and weak synchronous signal handling; both were fixed.
  • Final independent re-review: no remaining findings. Residual operational risk is limited to descendant process cleanup if a child command spawns grandchildren after interruption; interrupted report writing is covered.
  • Codex PR review found stale artifact reuse risk; fixed by requiring required artifacts to be refreshed after the owning command starts and adding stale-artifact regression coverage.

Notes

  • Pushes used LEFTHOOK=0 after Lefthook invoked an interactive pnpm reinstall prompt from another worktree. The equivalent Corepack verification above passed locally.

Summary by CodeRabbit

  • New Features
    • 릴리스 과정에 스파인 증거(evidence) 생성·진행 리포트(JSON/Markdown) 작성·필수 아티팩트 복사 및 업로드가 추가되었습니다.
    • 릴리스 게이트 유지보수 판단 범위가 스파인 증거/릴리스 워크플로우 관련 경로까지 확장되었습니다.
  • Bug Fixes
    • publish 게이트 조건에서 불필요한 빌드/검증 블록이 제외되고, 품질/검증 단계 흐름이 재정렬되었습니다.
    • 릴리스 워크플로우 타임아웃이 45분→195분으로 상향되었습니다.
  • Tests
    • 스파인 증거 생성·실행·필수 아티팩트 신선도, 타임아웃/인터럽트 및 워크플로우 마커 순서 검증이 강화되었습니다.

@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

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

Next review available in: 48 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: ASSERTIVE

Plan: Pro

Run ID: 409dd04b-165b-45e8-b81a-a7d2bb649f23

📥 Commits

Reviewing files that changed from the base of the PR and between d76f07d and 5d6fb60.

📒 Files selected for processing (5)
  • .github/workflows/release.yml
  • package.json
  • scripts/release-spine-evidence.mts
  • scripts/tests/release-spine-evidence.spec.ts
  • scripts/tests/release-workflow.spec.ts
📝 Walkthrough

Walkthrough

릴리스 워크플로우에 release:spine-evidence 스크립트와 새 증거 리포트 생성 흐름이 추가됐고, publish 전 단계가 이를 실행하도록 바뀌었습니다. 관련 테스트와 유지보수 감지 범위도 함께 갱신됐습니다.

Changes

릴리스 스파인 증거 게이트

Layer / File(s) Summary
release-spine-evidence 스크립트 핵심 로직
scripts/release-spine-evidence.mts
evidence 타입/매니페스트 정의, 커맨드 실행 루프, artifact 수집/복사, 타임아웃/인터럽트 처리, 리포트 저장과 CLI 진입점이 구현됨.
스크립트 단위/통합 테스트
scripts/tests/release-spine-evidence.spec.ts
manifest 생성, 성공/실패/타임아웃/인터럽트 시나리오, parseArgs, defaultCommandRunner, package.json 와이어링을 검증하는 Vitest 스펙과 테스트 헬퍼가 추가됨.
release.yml 및 package.json 워크플로우 연결
.github/workflows/release.yml, package.json
job timeout 확장, 게이트 유지보수 패턴 확장, self-check 테스트 목록 갱신, publish 게이트의 기존 단계 제거와 spine evidence 실행/요약/업로드 단계 추가, package.json 스크립트 추가가 이루어짐.
워크플로우 회귀 테스트
scripts/tests/release-workflow.spec.ts
릴리스 게이트 순서, 런타임 상한, 유지보수 파일 목록, spine evidence 단계 존재/조건, 중복 게이트 부재를 검증하는 테스트가 갱신됨.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

  • croco-dev/framework#1163: 둘 다 release.ymlscripts/tests/release-workflow.spec.ts의 publish 게이트 구성을 변경하며, release 게이트 순서와 메타데이터/증거 단계 교체 흐름이 직접 연결됩니다.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목이 publish 전에 release spine evidence를 강제한다는 핵심 변경을 간결하게 잘 요약합니다.
Linked Issues check ✅ Passed 새 release:spine-evidence 명령, 보고서 생성, 워크플로우 선행 실행, 회귀 테스트가 #1170의 요구사항을 충족합니다.
Out of Scope Changes check ✅ Passed 추가된 워크플로우/스크립트 변경은 모두 스파인 증거 게이트와 그 검증을 지원하는 범위 안에 있습니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/1170-release-spine-evidence

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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c2a9142c39

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/release-spine-evidence.mts Outdated
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

📊 Benchmark Results

✅ All benchmarks passed

Benchmark p75 Threshold Baseline vs Baseline Status Notes
CrocoApp constructor 8.3μs 30.0ms 8.2μs +1.6% -
CrocoApp lambdaHandler (10 controllers) 246.8μs 50.0ms 258.4μs -4.5% -
Lambda cold-start simulation 446.2μs 80.0ms 418.1μs +6.7% -
Lambda cold-start with headers 387.5μs 80.0ms 369.7μs +4.8% -
Lambda cold-start with binary body 360.4μs 80.0ms 339.1μs +6.3% -
Lambda cold-start with query params 320.8μs 80.0ms 301.3μs +6.5% -
Lambda cold-start with authorizer context 312.6μs 80.0ms 299.8μs +4.3% -
Lambda cold-start realistic scenario 313.6μs 80.0ms 299.2μs +4.8% -
EventBusConfig.start (10 handlers) 1.5μs 10.0ms 1.4μs +1.3% -
EventPublisher.publishNow single event 1.7μs 2.0ms 1.7μs +2.4% -
DefaultHandlerResolver.resolve × 10 0.1μs 5.0ms 0.1μs +0.0% -
Container.get singleton (cold) 71.6μs 5.0ms 70.3μs +1.9% -
Container.register × 50 components 3.4ms 10.0ms 3.2ms +6.8% -
Container.validate (50 components) 3.7ms 20.0ms 3.4ms +9.6% -
Container.get singleton (warm) 1.7μs 500.0μs 1.6μs +3.1% -
TelemetryRuntime.init (lambda preset) 2.0μs 200.0ms 1.1ms -99.8% -
lambdaPreset config creation 1.4μs 2.0ms 1.4μs +0.1% -

Updated: 2026-07-04T05:58:51.833Z · Commit: b358b56

@kang-heewon
kang-heewon force-pushed the fix/1170-release-spine-evidence branch from 2c0fa12 to 154f359 Compare July 4, 2026 00:33

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Around line 21-23: The release workflow timeout increase should be checked
against the script’s own timeout budget. Review the release job in release.yml
together with release-spine-evidence.mts and its defaultTotalTimeoutMs setting,
then align the workflow timeout to leave a clear safety margin over the internal
script timeout rather than using an unnecessarily large buffer. Keep the release
job timeout and the script-level timeout consistent so the job can still fail
promptly on hangs.
- Around line 157-163: The Upload release spine evidence step uses
actions/upload-artifact@v4 instead of a SHA-pinned reference, which violates the
repository’s hash-pin policy. Update this workflow step to use the exact commit
SHA for actions/upload-artifact, matching the required pinned-action pattern
used by the release pipeline.

In `@scripts/release-spine-evidence.mts`:
- Around line 148-312: The release manifest in
createReleaseSpineEvidenceManifest has a timeout-ordering issue: the summed
per-check timeouts exceed defaultTotalTimeoutMs, so later checks can be skipped
before collecting evidence. Move the required release-metadata EvidenceCommand
earlier in the array, or raise/rebalance the total budget, so mandatory evidence
is gathered before the timeout can be exhausted.
- Around line 962-1000: The argument parsing in the CLI option handling for
parseArgs() is order-dependent because the --root branch always overwrites
outputDir with join(rootDir, defaultOutputDirectory), which can erase a prior
--output-dir value. Update the logic so --output-dir is tracked independently
from the default-derived path, and only set outputDir from --root when no
explicit output directory was provided; use the existing parseArgs, rootDir,
outputDir, and defaultOutputDirectory symbols to keep the behavior consistent
regardless of argument order.

In `@scripts/tests/release-spine-evidence.spec.ts`:
- Around line 323-338: The parseArgs test only covers the case where --root
comes before --output-dir, so it misses the ordering bug when the flags are
reversed. Add a new regression test in release-spine-evidence.spec.ts that calls
parseArgs with --output-dir before --root and asserts the explicit output
directory is preserved, using createTempRepo, parseArgs, rootDir, and outputDir
to locate the relevant behavior.

In `@scripts/tests/release-workflow.spec.ts`:
- Around line 200-214: The release workflow test for the Release spine evidence
gate is missing a fail-closed assertion for its own if condition. Update
release-workflow.spec.ts in the test that checks the Release spine evidence step
to also verify the step’s if expression does not include always() and still
reflects the intended gate behavior around release_spine_evidence. Use the
existing readReleaseWorkflow() and the Release spine evidence /
release_spine_evidence markers to locate the assertion block, and add a check
that would fail if someone weakened this gate to always() while keeping the
current run/artifact/order assertions.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: f8700a77-fec1-470c-9081-75a400490a3c

📥 Commits

Reviewing files that changed from the base of the PR and between 555605e and 2c0fa12.

📒 Files selected for processing (5)
  • .github/workflows/release.yml
  • package.json
  • scripts/release-spine-evidence.mts
  • scripts/tests/release-spine-evidence.spec.ts
  • scripts/tests/release-workflow.spec.ts

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml
Comment thread scripts/release-spine-evidence.mts
Comment thread scripts/release-spine-evidence.mts
Comment thread scripts/tests/release-spine-evidence.spec.ts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5a13be87c7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release.yml Outdated
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@kang-heewon
kang-heewon force-pushed the fix/1170-release-spine-evidence branch from 1de79db to 864cebd Compare July 4, 2026 02:29
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 6

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
scripts/tests/release-spine-evidence.spec.ts (1)

1-429: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

테스트 파일 위치를 src/tests/[ClassName].spec.ts 패턴으로 맞추세요.

현재 파일은 scripts/tests/release-spine-evidence.spec.ts에 있어 mandatory test path rule과 다릅니다. 이동 시 ../release-spine-evidence.mts import 경로도 함께 조정해야 합니다.

As per coding guidelines, **/tests/**/*.spec.ts: “Place test files in src/tests/[ClassName].spec.ts pattern (mandatory rule)”.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/tests/release-spine-evidence.spec.ts` around lines 1 - 429, The
release-spine-evidence spec is in the wrong test location and must be moved to
the required src/tests/[ClassName].spec.ts pattern. Relocate the test file, then
update the relative import from release-spine-evidence.mts so it still resolves
correctly after the move; use the existing release-spine-evidence.spec.ts and
runReleaseSpineEvidence references to find the affected test module.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Around line 21-23: The current job-level timeout in release workflow is too
tight because it applies to all steps, not just release:spine-evidence.
Recalculate the full duration across checkout, setup, install, audit, check,
summary/artifact handling, and dry-run publish, then update timeout-minutes on
the workflow job so the total budget safely covers every step; use the release
job definition in release.yml as the place to adjust it.

In `@scripts/release-spine-evidence.mts`:
- Around line 670-681: The failureReason function is prioritizing artifactReason
before checking the command result, which lets artifact-missing messages
overwrite timeout or non-zero exit failures. Update failureReason to derive the
command failure cause first using CommandRunResult fields like timedOut,
errorMessage, and status, and only fall back to artifactReason when the command
itself did not fail. Keep the logic in failureReason so timed_out cases report
the real command reason instead of “artifact not produced.”
- Around line 942-945: The parsePositiveInteger helper is allowing partial
numeric parses for flags like --total-timeout-ms, so update the
parsePositiveInteger function to validate the entire input string is a positive
integer before converting it. Replace the current Number.parseInt-based logic
with a full-string digit check followed by numeric conversion, and keep the
existing flag-specific error handling in parsePositiveInteger.
- Around line 519-531: The timeout handling in the spawn flow only kills the
immediate child process, so descendant workers from the command can survive;
update the process management in the command execution logic around
spawn/activeCommandProcess/timeoutTimer to terminate the whole process tree
instead. Use a process-group aware approach such as spawning detached and
signaling the negative pid, or a tree-kill style helper, and make sure the
SIGTERM/SIGKILL fallback path covers all spawned children.

In `@scripts/tests/release-spine-evidence.spec.ts`:
- Around line 14-26: The import in release-spine-evidence.spec.ts mixes runtime
symbols with inline type-only symbols, so split the type references out of the
existing import. Keep the value imports like createReleaseSpineEvidenceManifest,
defaultCommandRunner, markReportInterrupted, parseArgs, and
runReleaseSpineEvidence in the current import, and move Clock, CommandRunResult,
CommandRunner, EvidenceArtifactExpectation, EvidenceCommand, and
ReleaseSpineEvidenceReport into a separate import type statement.

In `@scripts/tests/release-workflow.spec.ts`:
- Around line 229-253: The current release workflow test in
release-workflow.spec.ts only checks for the always() condition on the whole
workflow text, so it cannot distinguish between the Publish release spine
evidence summary step and the Upload release spine evidence step. Update the
test around the release_spine_evidence / release-spine-evidence assertions to
slice each step separately and verify the if condition on each unique step
block, using the existing identifiers like "Publish release spine evidence
summary" and "Upload release spine evidence" to ensure both retain always()
independently.

---

Outside diff comments:
In `@scripts/tests/release-spine-evidence.spec.ts`:
- Around line 1-429: The release-spine-evidence spec is in the wrong test
location and must be moved to the required src/tests/[ClassName].spec.ts
pattern. Relocate the test file, then update the relative import from
release-spine-evidence.mts so it still resolves correctly after the move; use
the existing release-spine-evidence.spec.ts and runReleaseSpineEvidence
references to find the affected test module.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4a5e813a-fbab-4540-8163-2e42e9da5310

📥 Commits

Reviewing files that changed from the base of the PR and between 2c0fa12 and 864cebd.

📒 Files selected for processing (5)
  • .github/workflows/release.yml
  • package.json
  • scripts/release-spine-evidence.mts
  • scripts/tests/release-spine-evidence.spec.ts
  • scripts/tests/release-workflow.spec.ts

Comment thread .github/workflows/release.yml Outdated
Comment thread scripts/release-spine-evidence.mts
Comment thread scripts/release-spine-evidence.mts
Comment thread scripts/release-spine-evidence.mts
Comment thread scripts/tests/release-spine-evidence.spec.ts
Comment thread scripts/tests/release-workflow.spec.ts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e3ea4f64fa

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release.yml Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4e91252336

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release.yml Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6e8999446e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release.yml Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fdf4316941

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release.yml Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d76f07d0a3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release.yml Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Around line 21-23: The release workflow timeout budget is missing the time for
the Release gate maintenance self-check, since should_run_publish_gates and
should_verify_release_gate_maintenance can both be true in the same job. Update
the timeout plan in release.yml so the wrapper budget and timeout-minutes
reflect this extra serialized step, or split the self-check into its own
job/timeout; use the existing publish-gates and maintenance-gate flow to locate
the affected job definition.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 42bcaab5-455a-4a51-b6e9-7b6136ae9018

📥 Commits

Reviewing files that changed from the base of the PR and between 864cebd and d76f07d.

📒 Files selected for processing (4)
  • .github/workflows/release.yml
  • scripts/release-spine-evidence.mts
  • scripts/tests/release-spine-evidence.spec.ts
  • scripts/tests/release-workflow.spec.ts

Comment thread .github/workflows/release.yml Outdated
@kang-heewon
kang-heewon force-pushed the fix/1170-release-spine-evidence branch from d76f07d to 973d21f Compare July 4, 2026 05:46
@kang-heewon
kang-heewon merged commit 934699f into trunk Jul 4, 2026
8 of 9 checks passed
@kang-heewon
kang-heewon deleted the fix/1170-release-spine-evidence branch July 4, 2026 06:19
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.

[release] Add final 1.0 spine release evidence gate before publish

1 participant