Skip to content

feat: harvest git/gh refs into structured artifacts at close (0.26.5)#53

Merged
Shahinyanm merged 1 commit into
mainfrom
feat/close-harvest-artifacts
Jun 17, 2026
Merged

feat: harvest git/gh refs into structured artifacts at close (0.26.5)#53
Shahinyanm merged 1 commit into
mainfrom
feat/close-harvest-artifacts

Conversation

@Shahinyanm

Copy link
Copy Markdown
Member

Summary

Layer 2 of the "perfect pack at close" design: a closed task should already
read as a clickable ledger of what shipped, deterministically — no LLM.

When a task closes, task_close (MCP) and close (CLI) run a best-effort
git/gh harvest — current commit, branch, and PR URL (when gh is
available) — and stamp them onto the close event as structured artifacts in
meta["artifacts"]. db::index_event merges those with the existing
text-scrape, so the resume pack renders real refs under Artifacts
(commits: / branches: / PRs:) a month later, without depending on the
agent having typed the refs into prose.

Best-effort and deterministic: no repo, no gh, or a detached HEAD just yields
fewer artifacts and never fails the close. No model, no judgment — the smart
gap-filling stays in the distiller, on the subscription.

Type of change

  • Feature (non-breaking)

Test plan

  • harvest::build keep/drop unit tests (detached HEAD, empty, non-url)
  • index_event_merges_structured_meta_artifacts (db merge)
  • close_harvests_git_commit_and_branch_into_pack (E2E: close in a git
    repo → branch lands in the pack)
  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace --all-targets (all green)
  • RUSTDOCFLAGS=-D warnings cargo doc --workspace --no-deps

CHANGELOG

  • Added ## [0.26.5]; also corrected the 0.26.4 backlog-drain note.

Layer-2 of the "perfect pack at close" design. When a task closes, task_close
(MCP) and close (CLI) now run a best-effort, deterministic git/gh harvest —
current commit, branch, and PR URL (when gh is available) — and stamp them
onto the close event as structured artifacts in meta["artifacts"]. index_event
merges those with the existing text-scrape, so the resume pack renders real
refs under Artifacts (commits/branches/PRs) instead of relying on the agent
typing them into prose. No LLM, no judgment, never fails the close.

New tj_core::harvest module (pure `build` + IO `harvest`), meta.artifacts
merge in db::index_event, and an end-to-end CLI test that closes inside a git
repo and asserts the branch lands in the pack. Bump 0.26.5.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Shahinyanm Shahinyanm merged commit aff3a8b into main Jun 17, 2026
7 checks passed
@Shahinyanm Shahinyanm deleted the feat/close-harvest-artifacts branch June 17, 2026 08:34
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