forked from LibreChat-AI/code-interpreter
-
Notifications
You must be signed in to change notification settings - Fork 0
chore: add the governance issue forms #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
stephane-segning
wants to merge
1
commit into
main
Choose a base branch
from
chore/add-issue-templates
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| blank_issues_enabled: false | ||
| contact_links: | ||
| - name: AI Governance — source of truth | ||
| url: https://adorsys-gis.github.io/ai-governance/ | ||
| about: The canonical governance home. Read this before opening issues or PRs. | ||
| - name: AI Working Agreement | ||
| url: https://adorsys-gis.github.io/ai-governance/12-ai-working-agreement | ||
| about: Humans own intent, verification, and consequences. AI output is not truth. | ||
| - name: The Doctrine | ||
| url: https://adorsys-gis.github.io/ai-governance/13-doctrine | ||
| about: AI may accelerate the work, but it must not launder ignorance into polished artifacts. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,169 @@ | ||
| name: Development Ticket | ||
| description: Implementation work, bugs, refactors, technical tasks, spikes, or operational work. | ||
| title: "[Ticket]: " | ||
| labels: ["ticket"] | ||
| type: Task | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| Use this for **implementation work**, bugs, refactors, technical tasks, spikes, or operational work. | ||
|
|
||
| If the developer cannot explain the intent, the ticket is not ready. | ||
| See the governance source of truth: https://adorsys-gis.github.io/ai-governance/ | ||
|
|
||
| - type: dropdown | ||
| id: type | ||
| attributes: | ||
| label: Type | ||
| description: Select one. | ||
| options: | ||
| - Feature | ||
| - Bug | ||
| - Refactor | ||
| - Technical debt | ||
| - Spike / Investigation | ||
| - Security | ||
| - Performance | ||
| - Documentation | ||
| - Operational task | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: summary | ||
| attributes: | ||
| label: Summary | ||
| description: We need to [do what] because [why]. Describe the expected result in plain but precise language. | ||
| placeholder: | | ||
| We need to … because … | ||
|
|
||
| Expected result: | ||
| > | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: intent | ||
| attributes: | ||
| label: Intent | ||
| description: The real intention of this ticket. If the developer cannot explain this intent, the ticket is not ready. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: source-of-truth | ||
| attributes: | ||
| label: Source of truth (links) | ||
| description: Epic/story, product decision, bug report/incident, customer request, ADR, technical investigation, security requirement. Use full URLs or #123 references. | ||
| placeholder: | | ||
| Link the epic/story, product decision, incident, customer request, ADR, or security requirement. | ||
| No source of truth means this ticket must be challenged — no source of truth = not ready. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: current-behavior | ||
| attributes: | ||
| label: Current Behavior | ||
| description: How the system behaves today, with evidence (logs, screenshots, error messages, metrics, user reports). | ||
|
|
||
| - type: textarea | ||
| id: expected-behavior | ||
| attributes: | ||
| label: Expected Behavior | ||
| description: How the system should behave after this ticket is completed. | ||
|
|
||
| - type: textarea | ||
| id: acceptance-criteria | ||
| attributes: | ||
| label: Acceptance Criteria | ||
| description: Testable Given/When/Then criteria, safe error handling, no regressions, tests added/updated, verification evidence provided. | ||
| placeholder: | | ||
| - [ ] Given …, when …, then … | ||
| - [ ] Error cases are handled safely. | ||
| - [ ] Existing behavior is not broken. | ||
| - [ ] Relevant tests are added or updated. | ||
| - [ ] Verification evidence is provided. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: out-of-scope | ||
| attributes: | ||
| label: Out of Scope | ||
| description: What this ticket does not include. Do not silently implement out-of-scope work. | ||
|
|
||
| - type: textarea | ||
| id: technical-context | ||
| attributes: | ||
| label: Technical Context | ||
| description: Relevant files, services, modules, or systems; important technical notes; known constraints. | ||
|
|
||
| - type: textarea | ||
| id: risks | ||
| attributes: | ||
| label: Risks | ||
| description: Potential risks and their mitigations. | ||
|
|
||
| - type: textarea | ||
| id: test-plan | ||
| attributes: | ||
| label: Test Plan | ||
| description: Required checks (unit/integration/e2e/manual/regression/security/performance), commands to run, and expected results. | ||
|
|
||
| - type: textarea | ||
| id: verification-evidence | ||
| attributes: | ||
| label: Verification evidence | ||
| description: Test output, manual verification steps, screenshots/video, logs checked, metrics checked, known remaining limitations. | ||
| placeholder: | | ||
| Test output: … | ||
| Manual verification steps: … | ||
| Logs / metrics checked: … | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: human-owner | ||
| attributes: | ||
| label: Human accountable owner | ||
| description: The person who accepts responsibility for the final result. | ||
| placeholder: "@github-handle / Name" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: dropdown | ||
| id: ai-usage | ||
| attributes: | ||
| label: AI Usage Declaration | ||
| description: Declare how AI was used — select all that apply, or "Not used". AI output is not truth. | ||
| multiple: true | ||
| options: | ||
| - Drafting the ticket | ||
| - Understanding code | ||
| - Proposing implementation | ||
| - Generating code | ||
| - Refactoring | ||
| - Generating tests | ||
| - Reviewing the diff | ||
| - Writing documentation | ||
| - Not used | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: checkboxes | ||
| id: human-verification | ||
| attributes: | ||
| label: Human verification completed | ||
| description: Tick what you completed. The final accountability box is required; the governance CI check on the PR is the substantive gate. | ||
| options: | ||
| - label: I understood the intent | ||
| - label: I checked the source of truth | ||
| - label: I reviewed all AI-generated text/code | ||
| - label: I verified the implementation manually | ||
| - label: I verified the tests | ||
| - label: I checked for hallucinated assumptions | ||
| - label: I documented remaining risks | ||
| - label: I am the accountable owner and accept responsibility for this ticket. | ||
| required: true | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,153 @@ | ||
| name: Epic | ||
| description: A large initiative spanning multiple stories with a meaningful business or technical objective. | ||
| title: "[Epic]: " | ||
| labels: ["epic"] | ||
| type: Epic | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| Use this when the work is **large**, spans multiple tickets, and represents a meaningful business or technical objective. | ||
|
|
||
| An epic exists to solve a real problem — not merely to produce code, tickets, documentation, or AI-generated artifacts. | ||
| See the governance source of truth: https://adorsys-gis.github.io/ai-governance/ | ||
|
|
||
| - type: textarea | ||
| id: executive-summary | ||
| attributes: | ||
| label: Executive Summary | ||
| description: We want to [outcome] because [business, user, operational, or technical reason]. This epic exists to solve [the real problem]. | ||
| placeholder: | | ||
| We want to … because … | ||
| This epic exists to solve … | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: strategic-intent | ||
| attributes: | ||
| label: Strategic Intent | ||
| description: The core intention in 1–3 sentences. A person must be able to explain this verbally without reading this document. | ||
| placeholder: The intent of this epic is … | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: problem-statement | ||
| attributes: | ||
| label: Problem Statement | ||
| description: Current pains/problems, and the impact on users, developers/operations, and business/security/compliance. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: desired-outcome | ||
| attributes: | ||
| label: Desired Outcome | ||
| description: What is true when this epic is complete. Describe the observable improvement. | ||
|
|
||
| - type: textarea | ||
| id: scope | ||
| attributes: | ||
| label: Scope (In / Out) | ||
| description: What is clearly included and what is explicitly excluded. Anything not listed must be clarified before implementation. | ||
| placeholder: | | ||
| ### In Scope | ||
| - | ||
|
|
||
| ### Out of Scope | ||
| - | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: source-of-truth | ||
| attributes: | ||
| label: Source of truth (links) | ||
| description: Product decisions, stakeholder input, incidents, ADRs, designs, compliance requirements. Use full URLs or #123 references. | ||
| placeholder: | | ||
| Link the product decision, stakeholder request, incident, ADR, design, or compliance requirement. | ||
| If no source of truth exists, this epic is NOT ready — do not proceed. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: stakeholders | ||
| attributes: | ||
| label: Stakeholders | ||
| description: Product Owner, Technical Lead, Delivery Owner, Security/Compliance, Engineering Team. | ||
|
|
||
| - type: textarea | ||
| id: assumptions | ||
| attributes: | ||
| label: Key Assumptions | ||
| description: Each assumption must be validated, rejected, or converted into a risk before delivery. | ||
|
|
||
| - type: textarea | ||
| id: constraints | ||
| attributes: | ||
| label: Constraints | ||
| description: Technical, security, compliance, timeline, dependency, and operational constraints. | ||
|
|
||
| - type: textarea | ||
| id: risks | ||
| attributes: | ||
| label: Risks | ||
| description: Risk / Probability / Impact / Mitigation. | ||
|
|
||
| - type: textarea | ||
| id: success-metrics | ||
| attributes: | ||
| label: Success metrics | ||
| description: How we will know this epic succeeded. Metric / current value / target value / measurement source. Measure outcomes, not activity. | ||
| placeholder: | | ||
| | Metric | Current | Target | Source | | ||
| | ------ | ------- | ------ | ------ | | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: child-stories | ||
| attributes: | ||
| label: Child User Stories | ||
| description: Each child story must have its own acceptance criteria and verification evidence. | ||
|
|
||
| - type: input | ||
| id: human-owner | ||
| attributes: | ||
| label: Human accountable owner | ||
| description: The person who owns the final decision and accepts responsibility for this epic. | ||
| placeholder: "@github-handle / Name" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: dropdown | ||
| id: ai-usage | ||
| attributes: | ||
| label: AI Usage Declaration | ||
| description: Declare how AI was used — select all that apply, or "Not used". AI output is not truth. | ||
| multiple: true | ||
| options: | ||
| - Drafting | ||
| - Summarization | ||
| - Research | ||
| - Ticket decomposition | ||
| - Technical proposal | ||
| - Not used | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: checkboxes | ||
| id: human-verification | ||
| attributes: | ||
| label: Human verification completed | ||
| description: Tick what you completed. The final accountability box is required; the governance CI check on the PR is the substantive gate. | ||
| options: | ||
| - label: Intent checked against source of truth | ||
| - label: Scope reviewed by Product Owner | ||
| - label: Technical feasibility reviewed by Technical Lead | ||
| - label: Risks reviewed | ||
| - label: Acceptance criteria reviewed | ||
| - label: No unverified AI claim remains | ||
| - label: I am the accountable owner and accept responsibility for this epic. | ||
| required: true |
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
type field needs org issue types
The
type: Task/type: Epic/type: Storyfront-matter values only take effect if the organization has those custom issue types created (GitHub's default types aretask,bug,feature;Epic/Storyare not defaults). If the org hasn't configuredEpic/Story, the type is silently ignored or the template errors. Worth confirming these types exist in org settings before merging (applies to all three templates).Evidence: Front matter
type: Taskin dev-ticket.yml (alsotype: Epicin epic.yml:7,type: Storyin user-story.yml:7); GitHub docs: default issue types are task, bug, feature — custom types like Epic/Story must be configured by an org admin.