newt-core 0.8.0

Newt-Agent core types, errors, and the NeMoCode-style tier router
name = "github_pr"
enabled = true
description = "read an issue/request, implement in tracked steps, commit to a branch, push, and open a GitHub PR"

[classifier]
min_score = 0.24
keywords = [
  "github issue",
  "github.com",
  "pull request",
  "open a pr",
  "create a pr",
]
examples = [
  "Read this GitHub issue, plan the implementation, create a branch, commit the work, push, and open a PR.",
  "Take a look at this issue, implement the fix in steps, commit each step, and create a pull request.",
  "Build the requested change from an issue URL and get me a GitHub PR.",
]

[[steps]]
id = "read_issue"
title = "Read the issue/request and current repo state"
steer = "Gather ground truth from the issue, git status, branch, log, and relevant files before editing"

[[steps]]
id = "plan_implementation"
title = "Break the implementation into ordered steps"
steer = "Call update_plan with concrete implementation, verification, commit, push, and PR steps"

[[steps]]
id = "create_branch"
title = "Use a task worktree and feature branch"
steer = "Inspect git status, branch and git worktree list --porcelain. For an independent change, prefer a dedicated worktree; reuse an existing matching task worktree. Choose the base and branch from repository guidance. Prefer a task-owned destination inside the granted workspace, such as .worktrees/<task>, after verifying it is ignored. Use confined run_command for git worktree add -b <branch> <destination> <base>; an external destination and shared Git metadata require explicit authority, never a broader parent grant. Verify the new worktree's branch and clean status. Address all edits and tests to that root. A command's cwd does not retarget other file or structured git tools: verify their target-workspace support before proceeding. Preserve the source checkout's files, index and branch; do not reset, stash, switch it or remove another task's worktree. If a capability is unavailable, report the exact missing support rather than claiming all tools are blocked."

[[steps]]
id = "implement_step"
title = "Implement the active step"
steer = "Make the smallest coherent edit for the active plan step"

[[steps]]
id = "verify_step"
title = "Verify the active step"
steer = "Run focused tests/checks that prove the step works"

[[steps]]
id = "commit_step"
title = "Commit the verified step to the branch"
steer = "Stage only relevant files and commit with the required LLM attribution trailer"

[[steps]]
id = "push_branch"
title = "Push the feature branch"
steer = "Push the feature branch after the intended commits are present"

[[steps]]
id = "open_pr"
title = "Open or update the GitHub PR"
steer = "Create/update the PR with what changed, test plan, and out-of-scope notes"