Skip to content
Merged
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
51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Bug 报告
description: 行为与 spec 或预期不符
title: "[BUG] "
labels: ["BUG"]
body:
- type: markdown
attributes:
value: |
先搜索是否已有同类 issue。spec 与实现不符时 **spec 为准**,实现是缺陷。
- type: textarea
id: symptom
attributes:
label: 现象
description: 实际发生了什么?与预期差在哪?
validations:
required: true
- type: textarea
id: repro
attributes:
label: 复现
description: 最小 kvlang 片段 + 运行命令 + 后端 DSN
placeholder: |
```kv
rwfunc test() -> () { ... }
```

`KVSPACE=shm:///tmp/x kvlang repro.kv`
validations:
required: true
- type: input
id: spec
attributes:
label: 对应 spec 条款
description: 违反的是哪一条(`/lib/kvlang/spec/…` 路径或标题)
validations:
required: true
- type: dropdown
id: backend
attributes:
label: 后端
description: 三后端不一致时请注明各自表现
options: [shm, fs, redis, 多个(请说明差异)]
validations:
required: true
- type: input
id: version
attributes:
label: 版本
description: git tag 或 commit(v0.2.18 等)
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: 设计规范(spec)
url: https://github.com/array2d/kvlang/tree/master/stdlib/kvlang/spec
about: 语言事实以 stdlib/kvlang/spec/ 为唯一真相源;提 issue 前先查对应条款
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/epic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Epic(大特性 / 父 issue)
description: 跨模块或多仓的大特性,由多个子 issue 组成,持续迭代
title: "[EPIC] "
labels: ["EPIC"]
body:
- type: markdown
attributes:
value: |
Epic 是**追踪用父 issue**:本身不直接实现,只维护子任务清单与验收标准。
子任务各自单独开 issue,并在下方清单里链接。
- type: textarea
id: goal
attributes:
label: 目标
description: 这个 Epic 完成后,系统能达到什么状态?(可验证的表述)
validations:
required: true
- type: textarea
id: children
attributes:
label: 子任务
description: 每行一条,用 `- [ ] #N 描述` 勾选式清单,便于追踪进度
placeholder: |
- [ ] #123 子任务 A
- [ ] #124 子任务 B
validations:
required: true
- type: textarea
id: acceptance
attributes:
label: 验收标准
description: 满足哪些条件可关闭本 Epic(回归通过 / 三后端一致 / tag 已发等)
validations:
required: true
- type: textarea
id: dependencies
attributes:
label: 依赖与顺序
description: 前置 issue、跨仓顺序约束(如后端先于 kvlang 发 tag)
validations:
required: false
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: 功能请求
description: 新增能力 / 语法 / 原语(含 stdlib 补全、原语新增)
title: "[FEAT] "
labels: ["FEAT"]
body:
- type: textarea
id: need
attributes:
label: 需求
description: 想要什么能力?给出期望的 kvlang 写法(函数名/签名/示例)。
placeholder: |
```kv
kvspace·find(path, pattern) -> (keys:...)
```
validations:
required: true
- type: textarea
id: why
attributes:
label: 动机
description: 没有它会怎样?现有能力为何不足(而不是换个写法就能解决)。
validations:
required: true
- type: textarea
id: scope
attributes:
label: 落点
description: 属哪一层(kvspace 原语 / layout 语法 / runtime rwir / stdlib rwfunc),是否需改 spec 条款
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: 备选方案
description: 现有写法能否替代?为什么不够。
validations:
required: false
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/perf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: 性能(测量 / 回归 / 优化)
description: 微基准、性能回归、热点优化
title: "[PERF] "
labels: ["PERF"]
body:
- type: markdown
attributes:
value: |
kvlang 的性能瓶颈是架构本质(PC/帧/局部全落 KV 树、每步一次往返),
报数据时请区分「后端原语地板价」与「runtime 自身开销」。
- type: textarea
id: measurement
attributes:
label: 测量
description: 复现命令 + 数据(ns/op 或总耗时),标注后端与规模
placeholder: |
`python3 benchmark/run.py -k iops --backends shm`
N=2000: kv-shm 15.996ms / python 91.4µs
validations:
required: true
- type: dropdown
id: backend
attributes:
label: 后端
options: [shm, fs, redis, 多个(请说明)]
validations:
required: true
- type: textarea
id: analysis
attributes:
label: 分析
description: 瓶颈定位(用 perf/rdtsc 定位到具体路径,而非猜测)
validations:
required: true
- type: textarea
id: expectation
attributes:
label: 目标与代价
description: 期望收益、可接受代价(是否牺牲可读性/可恢复性),以及是否属既定地板价
validations:
required: true
47 changes: 47 additions & 0 deletions .github/ISSUE_TEMPLATE/rfc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: RFC(设计提案)
description: 需要讨论与裁决的设计变更(含语言语义、ABI、架构定位)
title: "[RFC] "
labels: ["RFC"]
body:
- type: markdown
attributes:
value: |
RFC 是**待裁决**的提案,不是已定方案。语言行为改动落地前必须先在
`stdlib/kvlang/spec/` 写入条款,故提案里应指明要改哪些条款。
- type: textarea
id: motivation
attributes:
label: 动机
description: 现状哪里不对/不够用?举具体场景。
validations:
required: true
- type: textarea
id: proposal
attributes:
label: 提案
description: 具体改成什么。语言/ABI 层面的写法、签名、命名尽量给出。
validations:
required: true
- type: textarea
id: impact
attributes:
label: 影响面
description: |
涉及哪些 spec 条款、哪些仓(kvlang / kvspace / kvspace-c / kvspace-durable)、
是否破坏兼容、是否需同步升 tag。
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: 备选方案与取舍
description: 考虑过但未采纳的方案,以及为什么。只留唯一正确方向时也要说明淘汰理由。
validations:
required: true
- type: textarea
id: decision
attributes:
label: 裁决记录
description: 讨论后填写:采纳/否决/改动后的结论(收敛后回填本条并更新标题/标签)
validations:
required: false
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/roadmap.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Roadmap(路线图 / 里程碑追踪)
description: 项目级方向与里程碑追踪,汇总若干 Epic
title: "[Roadmap] "
labels: ["EPIC"]
body:
- type: markdown
attributes:
value: |
Roadmap 是**顶层追踪 issue**:描述一段时间内的方向与里程碑,下挂若干 Epic。
只在方向调整时编辑,不记录日常进展(进展看子 issue)。
- type: textarea
id: theme
attributes:
label: 主题
description: 这一阶段的主线(一句话),以及为什么是现在。
validations:
required: true
- type: textarea
id: epics
attributes:
label: 里程碑与 Epic
description: 每行 `- [ ] 里程碑 M1(目标日期)— #N Epic 描述`
placeholder: |
- [ ] M1 三后端 ABI 收敛 — #123 / #124
- [ ] M2 编译器扩展可用 — #273
validations:
required: true
- type: textarea
id: exit
attributes:
label: 完成判据
description: 满足什么条件算这一阶段结束(发布 tag / 指标达标 / 跨仓一致)
validations:
required: true
- type: textarea
id: notdoing
attributes:
label: 明确不做
description: 本阶段排除的方向,避免范围蔓延
validations:
required: false
Loading