Skip to content

t18703: test(release): configure a test signer in version-manager aggregate-recovery suite (fails closed since GH#34664) #34771

Closed

Description

@marcusquinn

Task

.agents/scripts/tests/test-version-manager-aggregate-recovery.sh fails on origin/main before it exercises aggregate recovery. Its only output is:

Release signing preflight: configure an explicit user.signingkey; implicit OpenPGP signer selection cannot be verified before tagging
Full task brief and audit context

Task Brief

What

.agents/scripts/tests/test-version-manager-aggregate-recovery.sh fails on origin/main before it exercises aggregate recovery. Its only output is:

Release signing preflight: configure an explicit user.signingkey; implicit OpenPGP signer selection cannot be verified before tagging

Why

GH#34664 added a structural release_signing_preflight call at .agents/scripts/version-manager.sh:617-620. This suite isolates Git config (GIT_CONFIG_GLOBAL=/dev/null, line 9) and never configures a signer, so the preflight fails closed before aggregate recovery runs. The suite has been silently non-functional since then. Found while verifying GH#34762 (PR #34763): 23/24 version-manager and full-loop-release suites pass, and this one fails identically with and without that PR.

How

  • version-manager.sh:619 re-sources release-signing-helper.sh at runtime. A function stub defined in the test before the release call is therefore overwritten, so a stub is not enough.
  • Follow the existing pattern in .agents/scripts/tests/test-version-manager-protected-main-fallback.sh:481-482:
    • Generate an ed25519 test key with ssh-keygen under $TEST_ROOT.
    • Set gpg.format ssh and user.signingkey on the test repo.
    • Stub gh api --paginate --slurp user/ssh_signing_keys to return [[{"key":"<pub>"}]], mirroring the stub in .agents/scripts/tests/test-release-signing-preflight.sh.
  • Keep the assertion that aggregate recovery behaves as before. Do not weaken the preflight in release-signing-helper.sh or version-manager.sh.

Files Scope

  • .agents/scripts/tests/test-version-manager-aggregate-recovery.sh

Verification

  • bash .agents/scripts/tests/test-version-manager-aggregate-recovery.sh exits 0.
  • shellcheck .agents/scripts/tests/test-version-manager-aggregate-recovery.sh is clean.
  • bash .agents/scripts/tests/test-release-signing-preflight.sh still passes.
Brief workflow contract

Brief Workflow

This issue body is composed under .agents/workflows/brief.md. Newly queued auto-dispatch work must pass its Dispatch Readiness Contract (brief schema v2): complete write surface, hazards and compatibility, executable verification mapped to affected surfaces, and positive plus negative/regression acceptance criteria.


Synced from TODO.md by issue-sync-helper.sh


aidevops.sh v3.39.32 plugin for OpenCode v1.19.0 with claude-opus-5-5 spent 9m and 14,711 tokens on this with the user in an interactive session.

Activity

  1. Repository owner locked as resolved and limited conversation to collaborators on Oct 15, 2026
  2. added
    auto-dispatchEligible for automated worker dispatch
    tier:simpleSimple workload: docs, formatting, config, bounded transforms
    on Oct 15, 2026
  3. added
    tier:standardStandard workload: implementation, bug fixes, refactors
    and removed
    tier:simpleSimple workload: docs, formatting, config, bounded transforms
    on Oct 15, 2026
  4. alex-solovyev commented on Oct 15, 2026

    @alex-solovyev
    Collaborator

    Tier Auto-Downgrade: simple → standard

    Pre-dispatch contract check found that this issue does not satisfy the explicit tier:simple execution contract. Swapped tier:simple → tier:standard before worker dispatch.

    Disqualifier: exact execution contract missing

    Evidence: The body has no matched oldString/newString replacement, Full content block, or Exact transform. tier:simple requires one of these explicit contracts.

    The worker is still dispatching — just at the normalized tier. See .agents/reference/task-taxonomy.md "Canonical Assignment Policy".

    Automated by tier-simple-body-shape-helper.sh (t2389). Posted once per issue via the <!-- tier-simple-auto-downgrade --> marker; re-runs are no-ops.


    aidevops.sh v3.39.32 automated scan.

  5. alex-solovyev commented on Oct 15, 2026

    @alex-solovyev
    Collaborator

    DISPATCH_CLAIM nonce=7c0099a8223e87a6c79cc27b5bc7ea61 runner=alex-solovyev ts=2026-10-15T17:51:56Z max_age_s=1800 version=3.39.32 opencode_version=1.18.34 lease_token=7c0099a8223e87a6c79cc27b5bc7ea61 device=device-1783824075-2103358-6141 session=issue-34771 phase=prelaunch expires_at=1792086837


    aidevops.sh v3.39.32 plugin for OpenCode v1.18.34

  6. alex-solovyev commented on Oct 15, 2026

    @alex-solovyev
    Collaborator

    DISPATCH_LEASE phase=prelaunch lease_token=7c0099a8223e87a6c79cc27b5bc7ea61 device=device-1783824075-2103358-6141 session=issue-34771 expires_at=1792087191 ts=2026-10-15T17:52:21Z attempt_id=attempt:7ce00db0-a8df-4eda-b354-0babb186f381


    aidevops.sh v3.39.32 automated scan.

  7. added
    status:queuedWorker dispatched, not yet started
    and removed
    status:queuedWorker dispatched, not yet started
    on Oct 15, 2026
  8. alex-solovyev commented on Oct 15, 2026

    @alex-solovyev
    Collaborator

    DISPATCH_LEASE phase=ready lease_token=7c0099a8223e87a6c79cc27b5bc7ea61 device=device-1783824075-2103358-6141 session=issue-34771 expires_at=1792094004 ts=2026-10-15T17:53:24Z attempt_id=attempt:7ce00db0-a8df-4eda-b354-0babb186f381


    aidevops.sh v3.39.32 automated scan.

  9. alex-solovyev commented on Oct 15, 2026

    @alex-solovyev
    Collaborator

    Dispatching worker (deterministic).


    aidevops.sh v3.39.32 plugin for OpenCode v1.18.34

  10. alex-solovyev commented on Oct 15, 2026

    @alex-solovyev
    Collaborator

    CLAIM_RELEASED reason=worker_complete runner=alex-solovyev ts=2026-10-15T17:57:22Z aidevops_version=3.39.32 opencode_version=1.18.34


    aidevops.sh v3.39.32 plugin for OpenCode v1.18.34

  11. alex-solovyev commented on Oct 15, 2026

    @alex-solovyev
    Collaborator

    DISPATCH_LEASE phase=terminal lease_token=7c0099a8223e87a6c79cc27b5bc7ea61 device=device-1783824075-2103358-6141 session=issue-34771 expires_at=0 ts=2026-10-15T17:57:35Z attempt_id=attempt:7ce00db0-a8df-4eda-b354-0babb186f381


    aidevops.sh v3.39.32 automated scan.

  12. alex-solovyev commented on Oct 15, 2026

    @alex-solovyev
    Collaborator

    Completion Summary


    aidevops.sh v3.39.32 plugin for OpenCode v1.19.0 with claude-sonnet-5-5 spent 1m and 2,352 tokens on this as a headless worker.


    Merged via PR #34772 to main.
    Merged by deterministic merge pass (pulse-wrapper.sh).

  13. added
    solved:workerTask was solved by a headless worker
    and removed
    status:in-reviewNon-draft PR ready for review/merge
    auto-dispatchEligible for automated worker dispatch
    on Oct 15, 2026
  14. Repository owner unlocked this conversation on Oct 15, 2026
  15. github-actions commented on Oct 15, 2026

    @github-actions
    Contributor

    Completed via PR #34772. merged to main.


    aidevops.sh vunknown automated scan.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingorigin:interactiveCreated by interactive user sessionsolved:workerTask was solved by a headless workerstatus:doneTask is completetier:standardStandard workload: implementation, bug fixes, refactors

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions