Skip to content

fix(runs): keep terminal Lab artifact reads local - #11942

Merged
chubes4 merged 3 commits into
mainfrom
fix/10891-resolvable-lab-artifacts
Aug 8, 2026
Merged

fix(runs): keep terminal Lab artifact reads local#11942
chubes4 merged 3 commits into
mainfrom
fix/10891-resolvable-lab-artifacts

Conversation

@chubes4

@chubes4 chubes4 commented Aug 8, 2026

Copy link
Copy Markdown
Member

Fixes #10891.

Summary

  • keep terminal artifact and evidence readers on persisted controller state; runner reconciliation and remote manifest indexing remain explicit live operations
  • emit generated public artifact URLs and viewer links only after persisted readiness confirms the URL is reachable
  • keep the persisted local artifact id, SHA-256, and runs artifact get recovery path available when public publication is unavailable

Invariant

Successful terminal handoffs never emit an unverified generated public artifact URL. runs artifacts and runs evidence do not acquire the runner-provider lock, so a disconnected or stuck runner cannot block durable local metadata reads.

Verification

  • cargo test -p homeboy-core require_run_reads_terminal_lab_review_alias_while_runner_probe_is_stalled --lib
  • cargo test -p homeboy-cli artifacts_command_suppresses_viewer_links_when_public_url_is_unreachable --lib
  • cargo check -p homeboy-core -p homeboy-cli -p homeboy-extension
  • cargo fmt --all --check
  • git diff --check

Performance Bounds

  • terminal artifact/evidence readers make zero runner-provider calls and have no network timeout dependency
  • generated public URL readiness remains a bounded 5-second probe per artifact at persistence time
  • explicit public artifact fetch remains bounded to 15 seconds and 64 MiB

AI assistance

AI assistance: OpenAI gpt-5.6-sol via OpenCode was used to trace the artifact-reader and publication paths, implement the bounded-read invariant, and run focused verification. Chris Huber remains responsible for every line.

Terminal artifact and evidence readers now use only persisted controller state, while generated public URLs require recorded reachability before emission.

AI assistance: OpenAI gpt-5.6-sol via OpenCode was used to trace the artifact-reader and publication paths, implement the bounded-read invariant, and run focused verification. Chris Huber remains responsible for every line.
@homeboy-ci

homeboy-ci Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Homeboy Results — homeboy

Lint

review lint — passed

ℹ️ Full options: homeboy self docs commands/lint
ℹ️ Save lint baseline: homeboy review lint homeboy --baseline
Deep dive: homeboy review lint homeboy --changed-since 32c31da

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-homeboy-review-lint-homeboy-fast-Linux contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-homeboy-review-lint-homeboy-fast-Linux contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/homeboy/actions/runs/31247867897

Audit

⚠️ review audit — no measurement

Deep dive: homeboy review audit homeboy --changed-since 32c31da

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-homeboy-review-audit-homeboy-fast-Linux contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-homeboy-review-audit-homeboy-fast-Linux contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/homeboy/actions/runs/31247867897
Tooling versions
  • Homeboy CLI: homeboy 0.334.0+871957216231-dirty
  • Extension: rust from https://github.com/Extra-Chill/homeboy-extensions
  • Extension revision: 14fe68af
  • Action: unknown@unknown

Chris Huber added 2 commits August 8, 2026 03:34
Legacy artifact records without public_url_validation retain their persisted public and viewer links. Newly persisted generated URLs are validation-stamped and only emitted when their recorded reachability proof succeeds.

AI assistance: OpenAI gpt-5.6-sol via OpenCode was used to trace the persisted artifact compatibility boundary, implement the tri-state validation contract, add migration coverage, and run verification. Chris Huber remains responsible for every line.
Populate the hidden release readiness input in self-check command arguments so every workspace test target and CI shard planner compile against the current CLI contract.

AI assistance: OpenAI gpt-5.6-terra via OpenCode inspected the CI failures, restored the test command argument contract, and ran workspace compilation plus focused tests. Chris Huber remains responsible for every line.
@chubes4
chubes4 merged commit 744c1a9 into main Aug 8, 2026
15 of 32 checks passed
@chubes4
chubes4 deleted the fix/10891-resolvable-lab-artifacts branch August 8, 2026 12:16
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.

Make successful Lab run artifacts immediately resolvable from the controller

1 participant