Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Quantum-L9 org-wide issue template chooser config.
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository

blank_issues_enabled: false

contact_links:
- name: Security Vulnerability Report
url: https://github.com/Quantum-L9/.github/security/policy
about: Do not open a public issue for security vulnerabilities. Follow SECURITY.md instead.
- name: Governance / CANONICAL_LAW Question
url: https://github.com/Quantum-L9/Cursor-Governance/blob/main/CANONICAL_LAW.md
about: For questions about governance policy, symlink contracts, or CANONICAL_LAW.md, read the policy source of truth first.
- name: CI Kernel API Contract
url: https://github.com/Quantum-L9/.github/blob/main/workflow-interface-registry.yml
about: For questions about kernel inputs/outputs/versioning, check the machine-readable registry before filing an issue.
42 changes: 42 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Path-based PR auto-labeling config for actions/labeler.
# Mirrors the blast-radius mapping already defined in .github/CODEOWNERS —
# keep both files in sync when adding new top-level paths.

area:ci-templates:
- changed-files:
- any-glob-to-any-file: "workflow-templates/**"

area:ci-pack:
- changed-files:
- any-glob-to-any-file: "l9-ci-pack/**"

area:governance:
- changed-files:
- any-glob-to-any-file:
- "workflow-interface-registry.yml"
- "docs/adr/**"

area:ops:
- changed-files:
- any-glob-to-any-file: "ops/**"

area:issue-templates:
- changed-files:
- any-glob-to-any-file: ".github/ISSUE_TEMPLATE/**"

area:community-health:
- changed-files:
- any-glob-to-any-file:
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "SECURITY.md"
- "SUPPORT.md"
- "PULL_REQUEST_TEMPLATE.md"

area:org-profile:
- changed-files:
- any-glob-to-any-file: "profile/**"

area:ci-self:
- changed-files:
- any-glob-to-any-file: ".github/workflows/**"
32 changes: 32 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Auto-labels PRs by changed path using .github/labeler.yml.
# Read-only trigger (pull_request_target) with minimal permissions — never
# executes PR branch code, only reads the diff and applies labels.
name: PR Labeler

on:
pull_request_target:
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: write

concurrency:
group: pr-labeler-${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
label:
name: Apply path-based labels
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
pull-requests: write
steps:
- name: actions/labeler
uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: .github/labeler.yml
sync-labels: true
11 changes: 11 additions & 0 deletions FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Quantum-L9 org-wide funding configuration.
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
#
# No public sponsor links are configured. This is an internal engineering org;
# entries are intentionally left blank rather than omitting the file, so any
# future decision to enable a sponsor button is a one-line change, not a new
# file requiring CODEOWNERS/governance re-review.
#
# github: []
# open_collective: # ''
# custom: # ['']
38 changes: 38 additions & 0 deletions docs/adr/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Architecture Decision Records (ADRs)

This directory holds the org-wide ADR template. ADRs record significant,
hard-to-reverse technical or architectural decisions — not routine changes.

## When to write an ADR

Write one when a decision:

- Changes a public contract (kernel API, CLI, schema, workflow interface)
- Introduces, replaces, or retires a dependency, provider, or kernel
- Establishes a convention other repos/teams are expected to follow
- Reverses or supersedes a prior decision

Skip it for routine bug fixes, dependency bumps, or anything reversible with a
single PR revert.

## How to use this template

1. Copy [`template.md`](./template.md) into **your repository's own**
`docs/adr/` directory (this `.github` repo only hosts the template; ADRs
themselves are recorded per-repo, next to the code they govern).
2. Name the file `docs/adr/NNNN-short-title.md`, using the next sequential
4-digit number for that repo.
3. Fill in every section. Leave `Considered Options` even if only one option
was viable — record *why* alternatives were rejected.
4. Set `Status: Proposed` and open a PR. Reviewers should not approve a
status change to `Accepted` without discussion of the tradeoffs section.
5. If a later ADR reverses this one, do not delete the old file — set its
status to `Superseded by ADR-NNNN` and link both directions.

## Relationship to CANONICAL_LAW.md

ADRs are decision *history* (why we chose X over Y, and when). They do not
replace or override [`CANONICAL_LAW.md`](https://github.com/Quantum-L9/Cursor-Governance/blob/main/CANONICAL_LAW.md),
which is the current, binding policy source of truth. If an ADR's outcome
changes a rule in `CANONICAL_LAW.md`, that document must be updated in the
same PR — the ADR records the reasoning, `CANONICAL_LAW.md` records the rule.
69 changes: 69 additions & 0 deletions docs/adr/template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# ADR-NNNN: <Short noun phrase describing the decision>

<!--
Copy this file to docs/adr/NNNN-short-title.md in the repo where the decision
is made, using the next sequential ADR number (zero-padded, 4 digits).
One decision per ADR. Keep it short — this is a durable record, not a design doc.
-->

## Status

<!-- One of: Proposed | Accepted | Rejected | Deprecated | Superseded by ADR-NNNN -->
Proposed

**Date:** YYYY-MM-DD
**Deciders:** <!-- names or @handles -->
**Related:** <!-- links to issues, PRs, or other ADRs -->

---

## Context and Problem Statement

<!--
What is the issue we're seeing that is motivating this decision or change?
Describe the forces at play (technical, business, organizational) in
value-neutral language. 2-4 sentences is usually enough.
-->

## Decision Drivers

<!-- Bullet the key factors that matter for this choice. -->

- <!-- driver 1, e.g. "must not break @v1 kernel consumers" -->
- <!-- driver 2 -->
- <!-- driver 3 -->

## Considered Options

1. <!-- Option A -->
2. <!-- Option B -->
3. <!-- Option C -->

## Decision Outcome

**Chosen option:** "<!-- Option X -->", because <!-- justification: e.g. only
option that satisfies driver 2 without a breaking change -->.

### Consequences

- Good, because <!-- e.g. positive consequence -->
- Bad, because <!-- e.g. negative consequence / tradeoff accepted -->
- Neutral, because <!-- e.g. side effect that is neither good nor bad -->

## Pros and Cons of the Options

<!-- Optional. Fill in only if the tradeoffs need more than the Decision Outcome section. -->

### <!-- Option A -->

- Good, because <!-- ... -->
- Bad, because <!-- ... -->

### <!-- Option B -->

- Good, because <!-- ... -->
- Bad, because <!-- ... -->

## Links

<!-- e.g. "Supersedes ADR-0003", "Related to Quantum-L9/l9-ci-core#42" -->