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"]
|
labels: ["benchmark"]
|
||||||
|
|
||||||
body:
|
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
|
- type: textarea
|
||||||
id: results
|
id: results
|
||||||
attributes:
|
attributes:
|
||||||
label: Results
|
label: Results
|
||||||
description: |
|
value: |
|
||||||
Paste your results. Use a markdown table if comparing multiple configs.
|
### Model
|
||||||
placeholder: |
|
|
||||||
| Metric | Score |
|
Name and provider (e.g., gpt-4o, claude-3.5-sonnet, llama-3.1-70b)
|
||||||
|--------------|--------|
|
|
||||||
| Precision | 0.85 |
|
### Configuration
|
||||||
| Recall | 0.78 |
|
|
||||||
| F1 | 0.81 |
|
```python
|
||||||
| Latency (ms) | 120 |
|
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:
|
validations:
|
||||||
required: true
|
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
|
name: Bug Report
|
||||||
description: Report a bug to help us fix it
|
description: Report a bug in mem0
|
||||||
labels: ["bug"]
|
labels: ["bug"]
|
||||||
|
|
||||||
body:
|
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
|
- type: dropdown
|
||||||
id: component
|
id: component
|
||||||
attributes:
|
attributes:
|
||||||
@@ -29,76 +24,33 @@ body:
|
|||||||
- type: textarea
|
- type: textarea
|
||||||
id: description
|
id: description
|
||||||
attributes:
|
attributes:
|
||||||
label: Describe the bug
|
label: Description
|
||||||
description: A clear and concise description of what the bug is.
|
value: |
|
||||||
placeholder: What happened?
|
### Summary
|
||||||
validations:
|
|
||||||
required: true
|
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
|
```python
|
||||||
from mem0 import Memory
|
from mem0 import Memory
|
||||||
|
|
||||||
m = 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:
|
validations:
|
||||||
required: true
|
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
|
name: Documentation Issue
|
||||||
description: Report an issue or suggest an improvement to the mem0 docs
|
description: Report an issue or suggest an improvement to the mem0 docs
|
||||||
labels: ["documentation"]
|
labels: ["documentation"]
|
||||||
title: "DOC: "
|
|
||||||
|
|
||||||
body:
|
body:
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: description
|
id: description
|
||||||
attributes:
|
attributes:
|
||||||
label: Issue with current documentation
|
label: Description
|
||||||
description: |
|
value: |
|
||||||
Describe what's wrong or missing. Please link to the specific page or section.
|
### Page
|
||||||
placeholder: "https://docs.mem0.ai/... — this section is missing X / incorrect about Y"
|
|
||||||
|
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:
|
validations:
|
||||||
required: true
|
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"]
|
labels: ["enhancement"]
|
||||||
|
|
||||||
body:
|
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
|
- type: dropdown
|
||||||
id: component
|
id: component
|
||||||
attributes:
|
attributes:
|
||||||
@@ -28,35 +23,20 @@ body:
|
|||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: use-case
|
id: description
|
||||||
attributes:
|
attributes:
|
||||||
label: Use case
|
label: Description
|
||||||
description: |
|
value: |
|
||||||
What problem are you trying to solve? Describe the situation where you need this feature.
|
### Use Case
|
||||||
placeholder: "I'm building X and need Y because..."
|
|
||||||
|
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:
|
validations:
|
||||||
required: true
|
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