chore: update issue templates and workflows for improved labeling and formatting (#4501)
This commit is contained in:
@@ -3,86 +3,41 @@ description: Submit evaluation or benchmark results for a model configuration
|
||||
labels: ["benchmark"]
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Share your benchmark results to help the community compare model configurations. Please include enough detail for others to reproduce your results.
|
||||
|
||||
- type: input
|
||||
id: model-name
|
||||
attributes:
|
||||
label: Model name
|
||||
description: The LLM used for memory extraction.
|
||||
placeholder: "e.g., gpt-4o, claude-3.5-sonnet, llama-3.1-70b"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: model-config
|
||||
attributes:
|
||||
label: Model configuration
|
||||
description: |
|
||||
Paste your mem0 config (redact any API keys).
|
||||
placeholder: |
|
||||
```python
|
||||
config = {
|
||||
"llm": {
|
||||
"provider": "openai",
|
||||
"config": {
|
||||
"model": "gpt-4o",
|
||||
"temperature": 0.0,
|
||||
}
|
||||
},
|
||||
"vector_store": {
|
||||
"provider": "qdrant",
|
||||
"config": {
|
||||
"collection_name": "benchmark",
|
||||
"embedding_model_dims": 1536,
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: dataset
|
||||
attributes:
|
||||
label: Dataset / eval suite
|
||||
description: Which dataset or evaluation suite did you use?
|
||||
placeholder: "e.g., LOCOMO, custom dataset (link), internal eval"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: results
|
||||
attributes:
|
||||
label: Results
|
||||
description: |
|
||||
Paste your results. Use a markdown table if comparing multiple configs.
|
||||
placeholder: |
|
||||
| Metric | Score |
|
||||
|--------------|--------|
|
||||
| Precision | 0.85 |
|
||||
| Recall | 0.78 |
|
||||
| F1 | 0.81 |
|
||||
| Latency (ms) | 120 |
|
||||
value: |
|
||||
### Model
|
||||
|
||||
Name and provider (e.g., gpt-4o, claude-3.5-sonnet, llama-3.1-70b)
|
||||
|
||||
### Configuration
|
||||
|
||||
```python
|
||||
config = {
|
||||
"llm": {"provider": "...", "config": {"model": "..."}},
|
||||
"vector_store": {"provider": "...", "config": {...}}
|
||||
}
|
||||
```
|
||||
|
||||
### Dataset
|
||||
|
||||
Which dataset or eval suite did you use?
|
||||
|
||||
### Results
|
||||
|
||||
| Metric | Score |
|
||||
|--------------|-------|
|
||||
| Precision | |
|
||||
| Recall | |
|
||||
| F1 | |
|
||||
| Latency (ms) | |
|
||||
|
||||
### Environment
|
||||
|
||||
- Hardware:
|
||||
- mem0 version:
|
||||
- Python version:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: hardware
|
||||
attributes:
|
||||
label: Hardware / environment
|
||||
description: What hardware did you run this on?
|
||||
placeholder: "e.g., M2 MacBook Pro 16GB, AWS g5.xlarge, local RTX 4090"
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: reproduction
|
||||
attributes:
|
||||
label: Reproduction steps
|
||||
description: How can someone reproduce these results?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
name: Bug Report
|
||||
description: Report a bug to help us fix it
|
||||
description: Report a bug in mem0
|
||||
labels: ["bug"]
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to report a bug! Please search [existing issues](https://github.com/mem0ai/mem0/issues?q=is%3Aissue) first to avoid duplicates.
|
||||
|
||||
- type: dropdown
|
||||
id: component
|
||||
attributes:
|
||||
@@ -29,76 +24,33 @@ body:
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Describe the bug
|
||||
description: A clear and concise description of what the bug is.
|
||||
placeholder: What happened?
|
||||
validations:
|
||||
required: true
|
||||
label: Description
|
||||
value: |
|
||||
### Summary
|
||||
|
||||
A clear summary of the bug.
|
||||
|
||||
### Steps to Reproduce
|
||||
|
||||
- type: textarea
|
||||
id: reproduction
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: |
|
||||
Provide a minimal code example or steps to reproduce the bug. We will copy-paste your code, so keep it self-contained.
|
||||
placeholder: |
|
||||
```python
|
||||
from mem0 import Memory
|
||||
|
||||
m = Memory()
|
||||
# Steps that trigger the bug...
|
||||
# Your code here...
|
||||
```
|
||||
|
||||
### Expected Behavior
|
||||
|
||||
What you expected to happen.
|
||||
|
||||
### Actual Behavior
|
||||
|
||||
What actually happened. Paste the full error traceback if applicable.
|
||||
|
||||
### Environment
|
||||
|
||||
- mem0 version:
|
||||
- Python/Node version:
|
||||
- OS:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: What did you expect to happen?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: actual
|
||||
attributes:
|
||||
label: Actual behavior
|
||||
description: What actually happened? Include the full error traceback if applicable.
|
||||
placeholder: |
|
||||
Paste error output here, including the full traceback.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: mem0-version
|
||||
attributes:
|
||||
label: mem0 version
|
||||
description: "Run `pip show mem0ai` or check your package.json"
|
||||
placeholder: "e.g., 0.1.29"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: python-version
|
||||
attributes:
|
||||
label: Python / Node.js version
|
||||
description: "Run `python --version` or `node --version`"
|
||||
placeholder: "e.g., Python 3.11.5 or Node 20.10.0"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating system
|
||||
placeholder: "e.g., macOS 14.2, Ubuntu 22.04, Windows 11"
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Any other context — config files, environment variables, related issues, etc.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
name: Documentation Issue
|
||||
description: Report an issue or suggest an improvement to the mem0 docs
|
||||
labels: ["documentation"]
|
||||
title: "DOC: "
|
||||
|
||||
body:
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Issue with current documentation
|
||||
description: |
|
||||
Describe what's wrong or missing. Please link to the specific page or section.
|
||||
placeholder: "https://docs.mem0.ai/... — this section is missing X / incorrect about Y"
|
||||
label: Description
|
||||
value: |
|
||||
### Page
|
||||
|
||||
Link to the docs page: https://docs.mem0.ai/...
|
||||
|
||||
### What's Wrong or Missing
|
||||
|
||||
Describe what's incorrect, unclear, or missing.
|
||||
|
||||
### Suggested Fix
|
||||
|
||||
How should the docs be improved?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: suggestion
|
||||
attributes:
|
||||
label: Suggested fix
|
||||
description: How should the docs be improved?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
@@ -3,11 +3,6 @@ description: Suggest a new feature or improvement for mem0
|
||||
labels: ["enhancement"]
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for suggesting a feature! Please search [existing issues](https://github.com/mem0ai/mem0/issues?q=is%3Aissue+label%3Aenhancement) first to avoid duplicates.
|
||||
|
||||
- type: dropdown
|
||||
id: component
|
||||
attributes:
|
||||
@@ -28,35 +23,20 @@ body:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: use-case
|
||||
id: description
|
||||
attributes:
|
||||
label: Use case
|
||||
description: |
|
||||
What problem are you trying to solve? Describe the situation where you need this feature.
|
||||
placeholder: "I'm building X and need Y because..."
|
||||
label: Description
|
||||
value: |
|
||||
### Use Case
|
||||
|
||||
What problem are you trying to solve?
|
||||
|
||||
### Proposed Solution
|
||||
|
||||
How should this work? Include API examples or pseudocode if helpful.
|
||||
|
||||
### Alternatives Considered
|
||||
|
||||
Any workarounds you've tried or other approaches considered.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: proposed-solution
|
||||
attributes:
|
||||
label: Proposed solution
|
||||
description: How do you think this should work? Include API examples or pseudocode if helpful.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: Alternatives considered
|
||||
description: Have you tried any workarounds? Are there other approaches you've considered?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Any other context, screenshots, or references.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# Maps dropdown selections to GitHub labels
|
||||
# Used by the advanced-issue-labeler GitHub Action
|
||||
|
||||
component:
|
||||
- label: "sdk-python"
|
||||
matcher: "Core / Python SDK"
|
||||
- label: "sdk-typescript"
|
||||
matcher: "TypeScript SDK"
|
||||
- label: "vector-store"
|
||||
matcher: "Vector Store"
|
||||
- label: "graph-memory"
|
||||
matcher: "Graph Memory"
|
||||
- label: "ollama"
|
||||
matcher: "Ollama"
|
||||
- label: "openmemory"
|
||||
matcher: "OpenMemory"
|
||||
- label: "openclaw"
|
||||
matcher: "OpenClaw"
|
||||
- label: "rest-api"
|
||||
matcher: "REST API"
|
||||
- label: "benchmark"
|
||||
matcher: "Benchmarks"
|
||||
@@ -0,0 +1,39 @@
|
||||
name: Auto-label issues
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
label:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: stefanbuck/github-issue-parser@v3
|
||||
id: issue-parser
|
||||
with:
|
||||
template-path: .github/ISSUE_TEMPLATE/bug_report.yml
|
||||
|
||||
- uses: redhat-plumbers-in-action/advanced-issue-labeler@v3
|
||||
with:
|
||||
issue-form: ${{ steps.issue-parser.outputs.jsonString }}
|
||||
section: component
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
config-path: .github/advanced-issue-labeler.yml
|
||||
|
||||
- uses: stefanbuck/github-issue-parser@v3
|
||||
id: feature-parser
|
||||
if: contains(github.event.issue.labels.*.name, 'enhancement')
|
||||
with:
|
||||
template-path: .github/ISSUE_TEMPLATE/feature_request.yml
|
||||
|
||||
- uses: redhat-plumbers-in-action/advanced-issue-labeler@v3
|
||||
if: contains(github.event.issue.labels.*.name, 'enhancement')
|
||||
with:
|
||||
issue-form: ${{ steps.feature-parser.outputs.jsonString }}
|
||||
section: component
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
config-path: .github/advanced-issue-labeler.yml
|
||||
@@ -0,0 +1,48 @@
|
||||
name: Close stale issues
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
# Issue settings
|
||||
days-before-issue-stale: 90
|
||||
days-before-issue-close: 14
|
||||
stale-issue-label: 'stale'
|
||||
stale-issue-message: >
|
||||
This issue has been automatically marked as stale because it has not
|
||||
had any activity in 90 days. It will be closed in 14 days if no
|
||||
further activity occurs. If this is still relevant, please leave a
|
||||
comment or remove the `stale` label.
|
||||
close-issue-message: >
|
||||
This issue has been closed due to inactivity. If this is still
|
||||
relevant, feel free to reopen it or create a new issue.
|
||||
|
||||
# PR settings — mark stale but never auto-close
|
||||
days-before-pr-stale: 90
|
||||
days-before-pr-close: -1
|
||||
stale-pr-label: 'stale'
|
||||
stale-pr-message: >
|
||||
This pull request has been automatically marked as stale because it
|
||||
has not had any activity in 90 days. Please update your branch and
|
||||
address any review comments, or it may be closed in the future.
|
||||
|
||||
# Exempt these labels from stale processing
|
||||
exempt-issue-labels: 'P0-critical,P1-high,good first issue,security'
|
||||
exempt-pr-labels: 'P0-critical,P1-high'
|
||||
|
||||
# Remove stale label when there is new activity
|
||||
remove-stale-when-updated: true
|
||||
|
||||
# Process up to 100 issues per run to stay within API limits
|
||||
operations-per-run: 100
|
||||
Reference in New Issue
Block a user