From 931e88e3885ebea934e1ed725e3d675927123726 Mon Sep 17 00:00:00 2001 From: NagyVikt Date: Wed, 22 Apr 2026 16:20:59 +0200 Subject: [PATCH] Keep merged cleanup evidence truthful in the gx prompt change The gx prompt parts change was already merged and cleaned up, but its OpenSpec tasks file still claimed cleanup had not happened. This helper patch records the actual PR, merge timestamp, and cleanup proof so the artifact matches repo truth. Constraint: The follow-up had to stay documentation-only and preserve the already-merged runtime behavior unchanged Rejected: Leave the stale checklist alone | it keeps a finished lane looking unfinished and breaks the repo's completion evidence trail Confidence: high Scope-risk: narrow Reversibility: clean Directive: When finish evidence lands after the code merge, patch the merged change artifact in a tiny helper lane instead of restating stale risk in handoff text Tested: gh pr view 318 --json number,url,state,mergedAt,headRefName,baseRefName Tested: git worktree list Tested: git branch -a | rg agent/codex/improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05 -n Tested: openspec validate agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18 --type change --strict Tested: openspec validate --specs Not-tested: No code paths changed; no runtime or CLI behavior verification was needed beyond artifact truth checks --- .../tasks.md | 8 +++-- .../.openspec.yaml | 2 ++ .../proposal.md | 20 +++++++++++ .../spec.md | 14 ++++++++ .../tasks.md | 34 +++++++++++++++++++ 5 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/.openspec.yaml create mode 100644 openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/proposal.md create mode 100644 openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/specs/record-merged-cleanup-evidence-for-gx-prompt-parts/spec.md create mode 100644 openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/tasks.md diff --git a/openspec/changes/agent-codex-improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05/tasks.md b/openspec/changes/agent-codex-improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05/tasks.md index afb1f26..3d7e8c3 100644 --- a/openspec/changes/agent-codex-improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05/tasks.md +++ b/openspec/changes/agent-codex-improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05/tasks.md @@ -30,6 +30,8 @@ This change is complete only when **all** of the following are true: ## 4. Cleanup (mandatory; run before claiming completion) -- [ ] 4.1 Run the cleanup pipeline: `gx branch finish --branch agent/codex/improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05 --base main --via-pr --wait-for-merge --cleanup`. This handles commit -> push -> PR create -> merge wait -> worktree prune in one invocation. -- [ ] 4.2 Record the PR URL and final merge state (`MERGED`) in the completion handoff. -- [ ] 4.3 Confirm the sandbox worktree is gone (`git worktree list` no longer shows the agent path; `git branch -a` shows no surviving local/remote refs for the branch). +- [x] 4.1 Run the cleanup pipeline: `gx branch finish --branch agent/codex/improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05 --base main --via-pr --wait-for-merge --cleanup`. The first finish run merged PR #318 but could not prune the worktree because the command was launched from inside that worktree; cleanup then completed from the main checkout with `gx cleanup --base main` and `git remote prune origin`. +- [x] 4.2 Record the PR URL and final merge state (`MERGED`) in the completion handoff. PR #318 (`https://github.com/recodeee/gitguardex/pull/318`) reached `MERGED` at `2026-04-22T14:14:45Z`; merge commit: `3a9d70c`. +- [x] 4.3 Confirm the sandbox worktree is gone (`git worktree list` no longer shows the agent path; `git branch -a` shows no surviving local/remote refs for the branch). Verified on `main`: `git worktree list` no longer shows `/home/deadpool/Documents/recodee/gitguardex/.omx/agent-worktrees/agent__codex__improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05`, and after `git remote prune origin` there are no remaining local or remote refs for `agent/codex/improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05`. + +Completion note: The prompt-parts change landed via PR #318 (`https://github.com/recodeee/gitguardex/pull/318`), which reached `MERGED` at `2026-04-22T14:14:45Z` with merge commit `3a9d70c`. The original agent worktree `agent__codex__improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05` was removed from `.omx/agent-worktrees/`, and the stale remote-tracking ref was cleared with `git remote prune origin`. diff --git a/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/.openspec.yaml b/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/.openspec.yaml new file mode 100644 index 0000000..25345f4 --- /dev/null +++ b/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/.openspec.yaml @@ -0,0 +1,2 @@ +schema: spec-driven +created: 2026-04-22 diff --git a/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/proposal.md b/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/proposal.md new file mode 100644 index 0000000..a63db99 --- /dev/null +++ b/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/proposal.md @@ -0,0 +1,20 @@ +## Why + +- The `gx prompt` token-usage change already landed on `main`, but its + OpenSpec `tasks.md` still shows the cleanup checklist as incomplete. +- That makes the artifact lie about repo truth even though PR merge, worktree + cleanup, and branch-ref cleanup all already happened. + +## What Changes + +- Update the merged change's `tasks.md` cleanup section with the real finish + evidence for PR `#318`. +- Record the merge state, merged timestamp, and the fact that the original + worktree plus local/remote refs are now gone. + +## Impact + +- Scope is limited to OpenSpec documentation. +- No runtime, CLI, or test behavior changes. +- The change reduces false "unfinished" signals in repo artifacts and makes the + prior completion proof durable. diff --git a/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/specs/record-merged-cleanup-evidence-for-gx-prompt-parts/spec.md b/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/specs/record-merged-cleanup-evidence-for-gx-prompt-parts/spec.md new file mode 100644 index 0000000..eef01c4 --- /dev/null +++ b/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/specs/record-merged-cleanup-evidence-for-gx-prompt-parts/spec.md @@ -0,0 +1,14 @@ +## ADDED Requirements + +### Requirement: merged cleanup evidence SHALL be recorded when repo truth is already complete +When a change is already merged and cleaned up, its `tasks.md` SHALL be updated +to reflect that completion evidence instead of remaining falsely incomplete. + +#### Scenario: patch stale cleanup checklist after merge +- **GIVEN** `agent-codex-improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05` + already merged via PR `#318` +- **AND** its original worktree and branch refs are gone +- **WHEN** the OpenSpec artifact is refreshed +- **THEN** its cleanup checklist SHALL be checked +- **AND** the `tasks.md` file SHALL record the PR URL, `MERGED` state, and + cleanup evidence that matches repo truth. diff --git a/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/tasks.md b/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/tasks.md new file mode 100644 index 0000000..6977931 --- /dev/null +++ b/openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/tasks.md @@ -0,0 +1,34 @@ +## Definition of Done + +This change is complete only when **all** of the following are true: + +- Every checkbox below is checked. +- The agent branch reaches `MERGED` state on `origin` and the PR URL + state are recorded in the completion handoff. +- If any step blocks (test failure, conflict, ambiguous result), append a `BLOCKED:` line under section 4 explaining the blocker and **STOP**. Do not tick remaining cleanup boxes; do not silently skip the cleanup pipeline. + +## Handoff + +- Handoff: change=`agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18`; branch=`agent/codex/record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18`; scope=`openspec/changes/agent-codex-improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05/tasks.md plus helper change docs`; action=`record the already-completed merge and cleanup evidence for PR #318, verify the refs/worktree are gone, then finish this helper lane on main`. +- Copy prompt: Continue `agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18` on branch `agent/codex/record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18`. Work inside the existing sandbox, review `openspec/changes/agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18/tasks.md`, continue from the current state instead of creating a new sandbox, and when the work is done run `gx branch finish --branch agent/codex/record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18 --base main --via-pr --wait-for-merge --cleanup`. + +## 1. Specification + +- [x] 1.1 Finalize proposal scope and acceptance criteria for `agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18`. +- [x] 1.2 Define normative requirements in `specs/record-merged-cleanup-evidence-for-gx-prompt-parts/spec.md`. + +## 2. Implementation + +- [x] 2.1 Update the merged `agent-codex-improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05/tasks.md` cleanup section with the actual PR, merge, and cleanup evidence. +- [x] 2.2 Keep the helper change docs aligned with the cleanup-evidence update. + +## 3. Verification + +- [x] 3.1 Verify PR `#318` merge state plus the absence of the original worktree and branch refs. Verified with `gh pr view 318 --json number,url,state,mergedAt,headRefName,baseRefName`, `git worktree list`, and `git branch -a | rg "agent/codex/improve-gx-prompt-parts-for-token-usage-2026-04-22-16-05" -n` (no remaining refs). +- [x] 3.2 Run `openspec validate agent-codex-record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18 --type change --strict`. Passed on `2026-04-22`. +- [x] 3.3 Run `openspec validate --specs`. Passed on `2026-04-22` with `No items found to validate.` + +## 4. Cleanup (mandatory; run before claiming completion) + +- [ ] 4.1 Run the cleanup pipeline: `gx branch finish --branch agent/codex/record-merged-cleanup-evidence-for-gx-pr-2026-04-22-16-18 --base main --via-pr --wait-for-merge --cleanup`. This handles commit -> push -> PR create -> merge wait -> worktree prune in one invocation. +- [ ] 4.2 Record the PR URL and final merge state (`MERGED`) in the completion handoff. +- [ ] 4.3 Confirm the sandbox worktree is gone (`git worktree list` no longer shows the agent path; `git branch -a` shows no surviving local/remote refs for the branch).