Skip to content

chore: add the governance issue forms - #3

Open
stephane-segning wants to merge 1 commit into
mainfrom
chore/add-issue-templates
Open

chore: add the governance issue forms#3
stephane-segning wants to merge 1 commit into
mainfrom
chore/add-issue-templates

Conversation

@stephane-segning

@stephane-segning stephane-segning commented Aug 13, 2026

Copy link
Copy Markdown

Summary

Add the org's canonical issue-form kit (Epic / User Story / Dev Ticket + config) to this repo, since it currently has no issue templates at all — anyone filing an issue here gets a blank form with no title prefix, no label, and no issue type.

Intent

Source of truth: the 2026-08-13 cross-repo backlog consolidation (a 3-agent effort auditing which repos have no issue templates, no type:/label taxonomy wired, or drifted from the canonical kit). This repo — a fork of ClickHouse/code-interpreter where issues were only recently enabled on the ADORSYS-GIS fork — was one of five live repos found with zero issue templates.

Scope

In scope:

  • Add .github/ISSUE_TEMPLATE/{epic,user-story,dev-ticket,config}.yml, copied verbatim from ADORSYS-GIS/ai-governance's distributable templates/.github/ISSUE_TEMPLATE/ directory (byte-identical to that repo's own .github/ISSUE_TEMPLATE/, diffed to confirm).
  • Add one type: line to each form (Epic / Story / Task respectively) to set GitHub's native issue type at creation time, on top of what the kit ships today.

Out of scope:

  • No change to any application/interpreter source code.
  • No change to labels — epic / user-story / ticket already exist in this repo (verified via gh label list; note user-story currently has an empty description here, likely from the parallel label-creation effort — flagging for that effort to reconcile, not fixing in this PR since it's out of scope for issue templates).
  • No attempt to sync with upstream/ClickHouse/code-interpreter — this is fork-local governance tooling.

Verification

  • git diff --stat against main before commit showed only the four new files under .github/ISSUE_TEMPLATE/ — nothing else touched.
  • Diffed ai-governance's templates/.github/ISSUE_TEMPLATE/ against its own .github/ISSUE_TEMPLATE/ (diff -rq) — byte-identical, confirming either source is canonical.
  • Confirmed via gh api repos/ADORSYS-GIS/code-interpreter/contents/.github/ISSUE_TEMPLATE (404 before this PR) that no templates existed previously.
  • Confirmed title/labels on each form match the required contract: epic.yml[Epic]: / ["epic"]; user-story.yml[Story]: / ["user-story"]; dev-ticket.yml[Ticket]: / ["ticket"].
  • config.yml verified: blank_issues_enabled: false plus the three governance contact links, unmodified from source.

Screenshots/Evidence

N/A — this is a pure .github/ config addition; there is no rendered UI to capture ahead of merge. GitHub's "Preview" for issue forms can be checked live on the branch at https://github.com/ADORSYS-GIS/code-interpreter/issues/new/choose?ref=chore/add-issue-templates if the reviewer wants to see it rendered.

Risk Assessment

Low risk, config-only. This is a downstream fork; the change is scoped entirely to .github/ISSUE_TEMPLATE/* and does not touch any code path shared with ClickHouse/code-interpreter, so it will not conflict with future upstream syncs of application code. No CI, build, or runtime behavior is affected.

AI Usage Declaration

  • Drafting the ticket/PR body
  • Generating code (copying + minimally modifying YAML from the canonical source)
  • Refactoring
  • Generating tests (N/A — no test surface for issue-form YAML)
  • Reviewing the diff
  • Writing documentation

AI (Claude, via gh/git CLI) performed the clone, copy, type: edit, commit, push, and PR authoring end to end, under direct human instruction specifying source repo, target files, and required modifications. Human (maintainer) reviews this PR before merge.

Reviewer Focus

  • Confirm the type: addition doesn't conflict with this org's GitHub issue-type configuration (native issue types must be enabled org-wide/repo-wide for the field to take effect; if not enabled, GitHub silently ignores it and only the label applies — worth a quick check).
  • The user-story label on this repo currently has no description (color matches #0e8a16 but description is blank) — likely worth a follow-up gh label edit by whoever is managing labels in parallel; not touched here since it's out of this PR's scope.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com


Source of truth: ADORSYS-GIS/ai-helm#1002 — the tracking epic for the 2026-08-13 cross-repo backlog consolidation this change came out of.

This repo had no issue templates, so anything filed here arrived with no
title prefix, no label and no issue type - invisible to the roadmap board,
which groups by exactly those.

Seeds the org kit (Epic / User Story / Dev Ticket + config) and sets the
native `type:` on each form so the taxonomy holds at creation time.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@lightbridge-assistant lightbridge-assistant Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🅵 Fast automated pass — SAST + a quick, diff-scoped look (no repo-wide retrieval). For a deeper, repo-aware review, mention @lightbridge-assistant on this PR.

All four files reviewed. config.yml is valid and complete (blank_issues_enabled plus three well-formed https contact_links, no issues). The three form templates are schema-conformant GitHub issue forms with correctly-placed required validations; SAST found nothing; no code/security/secret/dependency concerns. Only finding is the P2 note that the type: issue-type values (Epic/Story/Task) require those custom issue types to be configured in the org, else the type is silently ignored.


🤖 AI-generated review — treat it as untrusted, verify before acting; a human owns the final decision (AI governance).

labels: ["ticket"]
type: Task
body:
- type: markdown

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 quality

type field needs org issue types

The type: Task / type: Epic / type: Story front-matter values only take effect if the organization has those custom issue types created (GitHub's default types are task, bug, feature; Epic/Story are not defaults). If the org hasn't configured Epic/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: Task in dev-ticket.yml (also type: Epic in epic.yml:7, type: Story in 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.

Was this useful? React 👍/👎 to give us feedback

@stephane-segning

Copy link
Copy Markdown
Author

Review

Verdict: findings below

Verified

  • Diff scope: exactly 4 new files under .github/ISSUE_TEMPLATE/ (config.yml, dev-ticket.yml, epic.yml, user-story.yml), all new file mode 100644. Nothing else touched.
  • All 4 files parse as valid YAML.
  • Top-level keys are all in the allowed set (name, description, title, labels, type, body on the forms; blank_issues_enabled, contact_links on config.yml). type: is top-level, not nested under body:.
  • type: values: epic.ymlEpic, user-story.ymlStory, dev-ticket.ymlTask — all three exist and are isEnabled: true on the ADORSYS-GIS org (verified via GraphQL issueTypes).
  • Titles/labels: [Epic]: / epic, [Story]: / user-story, [Ticket]: / ticket — matches spec. All three labels (epic, user-story, ticket) exist in this repo with a colour and a non-empty description (gh label list).
  • config.yml: blank_issues_enabled: false + the three governance contact links (AI Governance source of truth, AI Working Agreement, The Doctrine).
  • Content is byte-identical (md5) to the same files in the other three PRs — this is a straight copy, no repo-specific drift.
  • CI: all 5 real checks pass (API Unit Tests, Deployment Config Tests, Lambda MicroVM Provisioning, Lambda MicroVM Runner Image, Service Unit Tests). "Lightbridge Review" shows skipping.

Findings

  • Fork + upstream sync risk. This repo (ADORSYS-GIS/code-interpreter) is a fork of ClickHouse/code-interpreter. The PR correctly targets the fork's own main (isCrossRepository: false, base main), not upstream — good. But adding a .github/ directory that doesn't exist upstream means every future git fetch upstream && git merge (or however this fork stays in sync) will need to preserve this directory; if upstream ever adds its own .github/ISSUE_TEMPLATE/, a sync merge will conflict on these exact filenames. Worth a one-line note in the fork's sync process (if one exists) that .github/ISSUE_TEMPLATE/ is fork-local and should be kept on merge.
  • blank_issues_enabled: false on a fork. With blank issues disabled, these three governance forms become the only way to file an issue here. For a ClickHouse fork that may still receive casual issues/questions from people expecting upstream's normal issue flow, forcing every issue through Epic/Story/Ticket forms (with the AI Usage Declaration etc.) is a judgement call worth the maintainer's explicit sign-off, not just inherited silently from the kit.
  • Known-bug propagation. dev-ticket.yml and user-story.yml both carry verification-evidence as validations: required: true — this is the open kit bug ADORSYS-GIS/ai-governance#15: it forces pasting verification evidence for work that, by definition, doesn't exist yet at ticket-filing time. This PR imports that defect as-is (consistent with the other 3 PRs, but still a real defect landing in a fresh repo).

CI

  • All real build/test jobs pass; this PR cannot plausibly affect them (scope is .github/ISSUE_TEMPLATE/ only). No failures to explain.

Automated review of an AI-authored PR from the 2026-08-13 backlog consolidation (ADORSYS-GIS/ai-helm#1002). This is a self-review — it verifies mechanics, not whether the underlying decision was right. A human still owns that call.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant