Skip to content

Go prototype: embedded skills and supervised Ticket-run session - #1841

Merged
JacobStephens2 merged 4 commits into
issue-1830from
issue-1832
Nov 6, 2026
Merged

JacobStephens2 merged 4 commits into
issue-1830from
issue-1832

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

Summary

Issue URL
  Origin match → open issue → Trusted account
  Claim → Issue branch + Worktree + embedded Factory skills
  Claude streaming JSON session (null stdin)
  interruption → group SIGINT → SIGTERM → SIGKILL → Claim ending

affected-tests
  prototype/go/** → go test ./... in prototype/go
  other paths    → existing checks; no Go requirement

Adds an isolated static Linux Go prototype for the opening half of a Ticket
run. Retains the Worktree for inspection; Delivery, CI Repair and Pickup belong
to later Tickets. Production Rust behavior is unchanged.

Closes #1832

Evidence

Execution evidence

  • Before: python3 -m unittest scripts.test_affected_tests.AffectedTests.test_go_prototype_only_runs_go_in_its_module
    failed: [['cargo', 'nextest', 'run']] != [['go', 'test', './...']].
    After: the same command passes: Ran 1 test ... OK.
  • Before: the reviewer's temporary-copy CLI regression,
    go test ./... -run '^TestReviewClaimReleaseRestoresOriginalLabels$' -count=1,
    failed: labels = map[enhancement:true ready-for-agent:true], want [enhancement].
    After: the exact reproduction passed (ok, 1.530s), and the retained
    regression passed again in the Spec follow-up (ok, 0.932s). Claim ending
    now restores only acquisition's label changes.
  • cd prototype/go && go test -v ./..., go vet ./..., and
    python3 bundle-skills.py --check pass. Tests exercise pre-flight failures,
    Claim state, real Worktrees, ignored skill links, live streaming, malformed
    events, and stubborn Harness/child termination. The ELF test confirms static
    linkage from a CGO_ENABLED=0 build.
  • python3 -m unittest discover -s scripts -p 'test_*.py': 37 tests pass.
  • PATH=/usr/local/go/bin:$PATH scripts/affected-tests issue-1830 passed:
    PASS go test ./... and PASS cargo test. The final Go suite and vet were
    also rerun after the review fix and passed.
  • All applicable CI checks pass on 246e3ff3, including the Go prototype,
    Rust formatting/clippy/tests, site, Console and release artifact builds.
    The Console job initially failed the unchanged signal-light Ready-tag
    assertion (Ready must not fall back to Done); one rerun of the failed job
    passed on the same head, with no source changes.

Test seams: the compiled CLI against temporary Git repositories and fake
gh/Claude executables; the affected-test selector CLI against real Git and
stand-in runners; the built Linux executable's ELF linkage.

Review coverage

Independent thirdshift-code-review reviews used issue-1830 as the fixed
point, followed by scoped checks of the fix. Standards: 0 findings.
Spec: 1, reproduced, fixed and retained as a regression; 0 unresolved.
Both axes read every hand-written changed file.

Both intentionally left prototype/go/factory-skills.json unread as generated
output. Root skills/** is unchanged; reviewers read the bundler, embed/link
code and source examples, confirmed python3 bundle-skills.py --check, and
validated actual embedded skill links, supporting-file contents, clean Git
status and static ELF linkage. There are no other unread changed files.

Unaddressed findings

Standards

None.

Spec

None. The single finding was fixed after its exact reproduction failed.

Security

None. The issue-file symlink write was fixed after its proof-of-concept failed, and the regression remains.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

Blast Radius: prototype

The isolated Go workflow runs only for prototype/workflow changes. The shared
selector adds a Go area while preserving existing Rust/site/Console selections.

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

CI notes

  • site-test on 453fdc70 hit its unchanged 10-minute job limit during Playwright dependency installation (Ubuntu mirror: 15.5 MB in 9m58s); npm test never started. Unrelated to this branch: git diff issue-1830 HEAD -- .github/workflows/ci.yml site/ is empty; local npx playwright install --with-deps chromium and npm test --prefix site pass (67 tests, no skips).

A base-branch checkout can already contain .thirdshift-issue.md as a
symlink. The prototype opened that path with truncation and replaced the
link's target outside the Worktree, then started the Harness. Refuse the
link and keep the regression that plants one at a local canary.
@JacobStephens2
JacobStephens2 merged commit 1bbcc4f into issue-1830 Nov 6, 2026
20 of 21 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1832 branch November 6, 2026 21:27
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