Add a spec-aware GitHub issue fix template - #52
Closed
jormundur00 wants to merge 20 commits into
Closed
Conversation
Use Sol for issue analysis, implementation, repair, and final review synthesis; use Terra for focused reviews; and use Luna for procedural handoff and publication states. Split operations_target from implementation_target so routine work does not consume the implementation model.
Author
|
Closing in favor of graalvm/native-build-tools#1006 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
This adds a project-local
github-issue-fixtemplate that turns one GitHub issue into a spec-aware, reviewable Rhei workspace. The workflow creates an isolated issue worktree, captures the issue and repository rules, evaluates whether the issue is sufficiently specified and compatible with the project, implements and validates an accepted fix, runs focused review cycles, and optionally publishes a pull request.The change includes:
.agents/rhei/templates/github-issue-fix/;publication_mode=no-prsmoke example underexamples/github-issue-fix-example/;codex[yolo]targets resolve correctly, plus updated workflow examples and changelog/spec documentation.Why
A GitHub issue is not automatically safe to implement. It may be vague, conflict with repository goals, require a product decision, omit a validation path, or need project-specific grounding and citation rules. This template makes those checks explicit before code is changed and preserves durable artifacts for every decision.
It also separates implementation from review and publication. Requirements, specification/grund fit, implementation quality, and validation readiness are reviewed independently; their results are aggregated into a deterministic publication decision. Unsafe or underspecified work stays local instead of generating speculative code, issue comments, pushes, or PRs.
Template parts
template.yamlindex.rhei.mdtasks/01-issue-intake.mdTask issue-intakeremains valid.states.yamlsettings.jsonREADME.mdexamples/github-issue-fix-example/Workflow
rhei/issue-<slug>in an isolated worktree, fetches the issue, discovers applicableAGENTS.mdand grund configuration, and writes durable issue, repository-rule, worktree, spec-fit, and routing artifacts.no-pr,draft, orready, uses a configured or inferred fork remote, applies only labels that already exist, and creates a user-facing PR body with exact validation evidence and the appropriate issue-closing reference.States
issue-intakehuman-reviewimplement-fix,github-handoff, orcancelled.github-handoffimplement-fixImplementation status: readyorblockedmarker with evidence.implementation-dispatchvalidate-fix; exit 2 routes blocked work togithub-handoff; malformed/missing status fails loudly.validate-fixreview_passes + review_fix_attempts.requirements-reviewspec-reviewAGENTS.md, goals, non-goals, decisions, spec fit, grund declarations/citations, behavioral-test references, required docs/spec changes, and accidental internal citations in public docs. Produces a ready yes/no marker.implementation-reviewvalidation-reviewaggregate-reviewReady to publish: yes/nounder policy that varies appropriately for draft versus ready PRs.review-dispatchreview_passesis met or loops to validation for another clean pass; fixable blockers route toaddress-review; external blockers route to handoff; exhausted attempts route to blocked publication.address-reviewreview_fix_attempts.publish-prno-pr, records local branch/commit status only. Indraftorready, resolves a writable fork, pushes, opens or updates the PR, applies only existing configured labels, includes a closing/reference keyword, and records the publication result. It refuses to override a not-ready aggregate verdict.record-blocked-publicationcompletedcancelledConfigurability
issue,repo,repo_checkoutissueis also positional.work_subdir,worktree_root,base_branch,branch_prefixrequire_human_spec_reviewtrue.publication_modeno-pr,draft, orready; validated at instantiation.no-prprohibits all external GitHub writes.pr_push_remote,pr_head_owner,pr_labelsvalidation_commandsimplementation_target,operations_target,review_target,aggregate_review_targetreview_passes,review_fix_attemptsplan_title,extra_contextExamples
Start with a completely local run:
Open a draft PR after one clean focused review cycle:
Require two clean review cycles and allow three repair cycles:
Structured label and validation-command inputs can be supplied through a YAML values file:
Validation
grund checktarget/debug/rhei validate examples/github-issue-fix-exampletarget/debug/rhei run examples/github-issue-fix-example --dry-runrhei instantiate github-issue-fix ... --dry-runvariants covering local/no-human-gate and ready-publication configurationcargo fmt --all -- --checkcargo clippy --workspace --all-targets -- -D warnings -W clippy::allcargo build --workspace --all-targetscargo test --workspace --all-targets --no-fail-fast