Skip to content

Mutate issue lifecycle from GitHub without a local mirror #457

Closed

Description

@proerror77

Parent

#455

What to build

Make issue close, reopen, and sync operate from live GitHub issue state even when no local epic/task mirror exists. Local progress files may supply explicit new evidence when present but cannot be authoritative or block a valid GitHub operation.

Acceptance criteria

  • Close reads the live issue and comment history, requires an explicit supplied completion record, and never treats issue-body planning text alone as completion evidence.
  • Completion fields are anchored; bold, backticked, empty, placeholder, chained-field, failed, and negative terminal results are rejected.
  • Runtime and tracking closure remains fail-closed until their distinct acceptance and controller evidence is present.
  • Reopen restores GitHub state without requiring local frontmatter and reports any optional local mirror as stale rather than authoritative.
  • Sync posts only explicit new evidence and treats absent local progress files as an optional no-op, not a fatal state mismatch.
  • A missing .claude/epics directory does not prevent valid close, reopen, or sync behavior.
  • One focused mutation check covers body-only rejection, placeholder/chained/failed evidence, runtime/tracking refusal, close, reopen, sync, and missing local mirrors.
  • Bash syntax, ShellCheck for executable shell snippets, and git diff --check pass.

Blocked by

#456 defines the lifecycle contract and terminology.

Out of scope

Split note

The earlier combined lifecycle/publication candidate was split into #457 and #468. Final code review then proved #457 still crossed an independently rollbackable read/mutation boundary and exceeded the 750-line changed-line guardrail. #457 now owns only close/reopen/sync; #471 owns show/status/help/dashboard.

Activity

  1. self-assigned this
    on Jul 29, 2026
  2. changed the title [-]Make issue lifecycle commands GitHub-first[/-] [+]Mutate issue lifecycle from GitHub without a local mirror[/+] on Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestready-for-agentFully specified and safe for an autonomous agent

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions