Skip to content

Fence release bump Passes and tag publication - #2161

Merged
JacobStephens2 merged 1 commit into
issue-2054from
issue-2156
Nov 13, 2026
Merged

JacobStephens2 merged 1 commit into
issue-2054from
issue-2156

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 13, 2026 •

Copy link
Copy Markdown
Owner

Summary

Review / Fix Pass -> main + release-* -> skip
explicit Fix     -> repair release PR as requested
Session commands -> release / tag push -> destructive-command signal
tag push         -> owner + exact Cargo bump from origin/main
                 -> plan -> build -> host -> publish
Day shift wizard -> Admin-only creation/updates + no-deletion v* rules

Closes #2156. Targets issue-2054.

Evidence

Execution evidence

  • Review admission — cargo test --test review_pass author_pass_skips_release_bumps_into_main_only
    • Before: assertion failed: state["prs"][selected]["postedComments"].is_array(); 1 failed.
    • After: 1 passed. Checks exclusion into main and eligibility into another base.
  • Fix admission and explicit target — cargo test --test fix_pass passes_skip_release_bumps_but_explicit_fix_still_repairs_them
    • Before: left: None, right: Some("repaired\n"); 1 failed because the ordinary PR was not repaired.
    • After: 1 passed. Covers author-scoped and unscoped Passes, another base, and explicit --no-merge --no-base-fix repair of the skipped release PR.
  • Session signals — cargo test --test metrics destructive_command_patterns_flag_fixture_commands_but_not_near_misses
    • Before: assertion `left == right` failed; release/tag-push flags absent.
    • After: 1 passed, including near misses, wrappers, refspecs, deletion and follow-tags.
  • Workflow generation — python3 -m unittest discover -s scripts -p test_generate_release.py
    • Before: AssertionError: " - 'processes/**'" not found.
    • After: 10 tests passed, including disposable Git fixtures for exact trees, actors, dependency/source changes, version disagreement and file modes.
  • Push event identity — python3 -m unittest discover -s scripts -p test_generate_release.py -k moved_since
    • Before: AssertionError: 0 == 0 (a mismatched push event was accepted).
    • After: 1 passed.
  • python3 scripts/generate-release.py --check passes against the regenerated workflow.
  • python3 -m unittest discover -s scripts -p 'test_*.py': 72 passed.
  • bash -n scripts/setup-release-tags.sh passes. shellcheck -e SC1087,SC2317 scripts/setup-release-tags.sh passes; exclusions concern the required unchanged wizard library. Tests never mutate live rulesets; the owner performs and verifies browser changes interactively.
  • scripts/affected-tests refs/remotes/origin/issue-2054: site checks passed (69 tests, 174.26s). The local Rust run compiled in 6m 43s and was stopped after successful CI covered the exact head, following docs/testing.md's CI reuse policy. An earlier selector attempt was terminated during site checks; the site rerun passed.
  • CI run passed for 04bf9bc6b5121bda9dfee469e6b8ec3fddfc2a19: all four Rust partitions, the coverage gate, Console and site checks.
  • Release workflow passed for the same head, including both MUSL artifact builds and release smoke checks. The PR path exercised guard admission; tag-push actor/tree rejection is covered by the local Git fixtures.

Visual evidence

Documentation captures use the same expanded sections at 1440×900 and 390×844. Before captures are from 4d24f79d in a temporary detached worktree; binary evidence is hosted in a secret Gist.

Homepage: Skills and Processes

Desktop (1440×900)

Before
After

Mobile (390×844)

Before
After

How it works: scheduled Passes

Desktop (1440×900)

Before
After

Mobile (390×844)

Before
After

Architecture: Pass admission

Desktop (1440×900)

Before
After

Mobile (390×844)

Before
After

Manual: release fences

Desktop (1440×900)

Before
After

Mobile (390×844)

Before
After

Seams under test

  • Black-box Review and Fix CLI Pass admission, plus explicit targeted Fix delivery, with real Git and fake GitHub/Harness services.
  • Session signals exposed by thirdshift show --json from recorded command streams.
  • Release generator CLI output/check mode and the generated tag guard executed against disposable Git repositories.
  • Wizard shell syntax and static review; no live ruleset writes in tests.

Review coverage

thirdshift-code-review compared refs/remotes/origin/issue-2054...HEAD (4d24f79d base). Standards: 0 findings; Spec: 0 findings. Each reviewer read all 16 changed files, including generated workflow/manual hunks. No generated exclusions and no changed files left unread on either axis. Full reports and each axis's files-read list are retained with this Session.

Unaddressed findings

Standards

None.

Spec

None.

Security

None.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

Revert the code/workflow to undo the implementation. The wizard changes no settings itself; the owner manages repository rulesets separately.

Blast Radius: release

Background eligibility changes only for release-* heads into main. Tag publication now waits for the owner/tree gate; the wizard still needs to be run by the owner to provision or verify repository tag protection.

Built with codex codex-cli 0.167.1 · gpt-6.1-sol · xhigh

@JacobStephens2 JacobStephens2 added the in-progress A Claim: thirdshift has taken this issue label Nov 13, 2026
@JacobStephens2

Copy link
Copy Markdown
Owner Author

Review run. No fixes to push. Spec axis used the pull request body alone; no closing issue was linked.

Reviewed PR #2161 at 04bf9bc6 against 4d24f79d170c8e72be238f405efc4d3215962375. The PR remains open. No fixes were needed, no tracked files changed, and no commit was created.

Standards

0 findings. No documented-standard violations or actionable code smells.

Coverage: all 16 changed files read directly, including generated output. No exclusions or unread changed files.

Final files-read list — Standards
AGENTS.md
CODING_STANDARDS.md
.agents/skills/codebase-design/SKILL.md
.agents/skills/thirdshift-code-review/SKILL.md
.agents/skills/wizard/SKILL.md
GLOSSARY.md
docs/agents/domain.md
docs/code-navigation.md
docs/testing.md
docs/adr/0003-static-binaries-through-github-releases.md
docs/adr/0019-session-logs-become-session-traces.md
docs/adr/0029-in-progress-marks-only-a-live-run.md
.github/workflows/release.yml
README.md
docs/guide.md
scripts/generate-release.py
scripts/release-tag-guard.py
scripts/setup-release-tags.sh
scripts/test_generate_release.py
scripts/release.sh
site/architecture/index.html
site/docs/index.html
site/how-it-works/index.html
site/index.html
src/github/review.rs
src/logs/session_signals/destructive.rs
tests/fix_pass.rs
tests/fixtures/destructive-commands.json
tests/review_pass.rs

Spec

0 findings. Admission rules, explicit Fix behavior, command signals, release gating, wizard policy, and documentation match the PR body.

The PR body alone was the Spec source: the supplied input contained no linked closing issues, and GitHub confirmed closingIssuesReferences: []. No comments were fetched.

Coverage: all 16 changed files read directly. No generated-output exclusions or unread changed files.

Final files-read list — Spec
.thirdshift-review-input.md
AGENTS.md
CODING_STANDARDS.md
GLOSSARY.md
.agents/skills/codebase-design/SKILL.md
.agents/skills/thirdshift-code-review/SKILL.md
docs/agents/domain.md
docs/code-navigation.md
docs/adr/0003-static-binaries-through-github-releases.md
docs/adr/0004-self-merge-by-thirdshift-not-github-auto-merge.md
docs/adr/0013-every-harness-runs-unattended-and-fully-trusted.md
.github/workflows/release.yml
README.md
docs/guide.md
scripts/generate-release.py
scripts/release-tag-guard.py
scripts/release.sh
scripts/setup-release-tags.sh
scripts/test_generate_release.py
site/architecture/index.html
site/docs/index.html
site/how-it-works/index.html
site/index.html
src/args.rs
src/github/review.rs
src/logs/session_signals/destructive.rs
tests/fix_pass.rs
tests/fixtures/destructive-commands.json
tests/metrics.rs
tests/review_pass.rs

Unaddressed findings

  • Standards: None.
  • Spec: None.

Validation

All required validation ran in this worktree.

Exact command Exit Result
scripts/affected-tests 4d24f79d170c8e72be238f405efc4d3215962375 0 All selected checks passed
npm test --prefix site 0 69 tests passed; includes manual freshness check
cargo test 0 4,519 passed, 199 ignored, 0 failed across 106 binaries
python3 -m unittest discover -s scripts -p test_generate_release.py 0 10 passed
python3 -m unittest discover -s scripts -p 'test_*.py' 0 72 passed
bash -n scripts/setup-release-tags.sh 0 Syntax passed
git diff --check 0 Passed
npm ci --prefix site 0 Dependencies installed
npx --prefix site playwright install --with-deps chromium 0 Browser dependencies ready

cargo nextest --version exited 101 because nextest is unavailable; the selector used cargo test. No required validation remained unrun. The full Rust run exercised and passed the new Review admission, Fix admission/explicit-target, and destructive-command fixture tests.

Saved: Standards report, Spec report, summary.json, and validation log.

Standards: 0 findings, no worst issue. Spec: 0 findings, no worst issue.

Security

No unaddressed introduced findings.

CI passed or absent at 04bf9bc

@JacobStephens2 JacobStephens2 removed the in-progress A Claim: thirdshift has taken this issue label Nov 13, 2026
@JacobStephens2
JacobStephens2 merged commit 7889862 into issue-2054 Nov 13, 2026
36 of 44 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-2156 branch November 13, 2026 18:20
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