Skip to content

Commit e375b59

Browse files
authored
Merge pull request #26 from rosspeili/github/issue-templates-labels-21
Adds `.github/` for Option A issue triage: six issue templates, pastel `labels.json`, `LABELS.md`, label sync workflow, and a short PR template. Updates `CONTRIBUTING.md` and README governance links. Fixes #21 Partially addresses #20 and #22 (not CI/CD). ## Test plan - [ ] **New issue** — six templates; blank issues disabled - [ ] After merge — **Actions → Sync GitHub labels** runs (or run once manually) - [ ] **New PR** — short template loads
2 parents 91df2af + de52cb9 commit e375b59

13 files changed

Lines changed: 1060 additions & 2 deletions
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
name: Bug report
2+
description: Something is broken, regressed, or behaves incorrectly
3+
title: "[Bug] "
4+
labels:
5+
- bug
6+
- needs-triage
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for reporting a defect in OPSIE 0.3.80 XP.
12+
13+
**Option A (light filing):** pick one **primary area** below. A maintainer will add the matching `area:*` label during triage.
14+
15+
Do **not** paste API keys, `AGENT_PRIVATE_KEY`, database passwords, production `kun.py`, or enrollment images.
16+
17+
- type: textarea
18+
attributes:
19+
label: Summary
20+
description: One or two sentences describing the problem
21+
placeholder: "Boot fails after Chroma mnemonic check with..."
22+
validations:
23+
required: true
24+
25+
- type: dropdown
26+
id: primary_area
27+
attributes:
28+
label: Primary area
29+
description: Where the issue most likely lives (one primary area per issue)
30+
options:
31+
- "area:core — Main entry, router, boot, streaming (OPSIIE_0_3_80_XP.py)"
32+
- "area:boot-auth — Biometric gate, kun.py, arpa_id access, /status"
33+
- "area:memory — PostgreSQL, Chroma, /recall, /forget, /memorize"
34+
- "area:terminal — Themes, help.py, slash command UX"
35+
- "area:persona — System prompt, Soul Signature, behavior text"
36+
- "area:config — .env, kun.example.py, configuration docs"
37+
- "area:agentic — agentic_network.py, /ask, live agents"
38+
- "area:markets — markets.py, /markets"
39+
- "area:web3 — web3_handler.py, /0x, receive"
40+
- "area:mail — mail.py, /mail"
41+
- "area:dna — dna.py, /dna"
42+
- "area:genai — /imagine, /music, video.py, /video"
43+
- "area:rooms — room.py, /room, session exports"
44+
- "area:voice — /voice*, TTS/STT, system sounds"
45+
- "Other / unsure"
46+
validations:
47+
required: true
48+
49+
- type: dropdown
50+
id: secondary_area
51+
attributes:
52+
label: Also affects (optional)
53+
description: Second area only if the fix clearly spans two subsystems; leave None otherwise
54+
options:
55+
- "None"
56+
- "area:core — Main entry, router, boot, streaming"
57+
- "area:boot-auth — Gate, kun, access tiers"
58+
- "area:memory — Postgres, Chroma, recall"
59+
- "area:terminal — Themes, help, commands UX"
60+
- "area:persona — Prompts, Soul Signature"
61+
- "area:config — Environment and kun templates"
62+
- "area:agentic — External model agents"
63+
- "area:markets — Market data stack"
64+
- "area:web3 — On-chain handler"
65+
- "area:mail — Mail send/inbox"
66+
- "area:dna — Sequence workflows"
67+
- "area:genai — Image, music, video generation"
68+
- "area:rooms — Multi-agent room"
69+
- "area:voice — Voice and sounds"
70+
validations:
71+
required: true
72+
73+
- type: dropdown
74+
id: access_tier
75+
attributes:
76+
label: Access tier (if relevant)
77+
description: Master-only commands include /ask, /markets, /dna, /0x when arpa_id does not start with R
78+
options:
79+
- Not applicable
80+
- Master (arpa_id starts with R)
81+
- Standard (non-master)
82+
- Unknown
83+
validations:
84+
required: true
85+
86+
- type: input
87+
attributes:
88+
label: Component / file paths
89+
description: Comma-separated paths if known
90+
placeholder: "OPSIIE_0_3_80_XP.py, web3_handler.py"
91+
validations:
92+
required: false
93+
94+
- type: textarea
95+
attributes:
96+
label: Environment
97+
description: OS, Python version, Ollama models, GPU, PostgreSQL/Chroma versions if known
98+
placeholder: |
99+
OS: Windows 11
100+
Python: 3.11
101+
Ollama: llama3, nomic-embed-text
102+
GPU: yes / no
103+
validations:
104+
required: true
105+
106+
- type: textarea
107+
attributes:
108+
label: Steps to reproduce
109+
description: Minimal steps from a clean or typical session start
110+
placeholder: |
111+
1. python OPSIIE_0_3_80_XP.py
112+
2. Pass gate as ...
113+
3. Run /command ...
114+
validations:
115+
required: true
116+
117+
- type: textarea
118+
attributes:
119+
label: Expected behavior
120+
validations:
121+
required: true
122+
123+
- type: textarea
124+
attributes:
125+
label: Actual behavior
126+
validations:
127+
required: true
128+
129+
- type: textarea
130+
attributes:
131+
label: Logs or terminal output
132+
description: Paste relevant stderr or tracebacks in a fenced code block; redact secrets
133+
validations:
134+
required: false
135+
136+
- type: checkboxes
137+
attributes:
138+
label: Checklist
139+
options:
140+
- label: I searched existing open and closed issues for duplicates
141+
required: true
142+
- label: I removed secrets, keys, and personal kun.py data from this report
143+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
blank_issues_enabled: false
2+
3+
contact_links:
4+
- name: Report a security vulnerability (coordinated disclosure)
5+
url: https://github.com/ARPAHLS/OPSIE/blob/main/SECURITY.md
6+
about: >
7+
Do not post undisclosed vulnerabilities, API keys, private keys, or production
8+
kun.py contents in public issues. Email security@arpacorp.net per SECURITY.md.
9+
10+
- name: ARPA technical contact
11+
url: mailto:input@arpacorp.net
12+
about: General questions about contributing or using OPSIE outside of a GitHub issue.
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: Documentation
2+
description: Improvements to README, docs/, help text, or contributor guidance
3+
title: "[Docs] "
4+
labels:
5+
- documentation
6+
- needs-triage
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Report missing, unclear, or outdated documentation for OPSIE.
12+
13+
For **code behavior bugs**, use **Bug report** instead. For **new features**, use **Feature request**.
14+
15+
- type: textarea
16+
attributes:
17+
label: Summary
18+
description: What is wrong or missing in the docs?
19+
validations:
20+
required: true
21+
22+
- type: dropdown
23+
id: doc_location
24+
attributes:
25+
label: Documentation location
26+
options:
27+
- README.md (repository root)
28+
- docs/README.md or docs index
29+
- docs/COMMANDS.md
30+
- docs/ARCHITECTURE.md
31+
- docs/BOOT_AND_SECURITY.md
32+
- docs/MEMORY_AND_RAG.md
33+
- docs/VOICE.md
34+
- docs/CONFIGURATION.md
35+
- docs/MODULES.md
36+
- docs/PROMPTS_AND_SOULSIG.md
37+
- docs/TROUBLESHOOTING.md
38+
- CONTRIBUTING.md / SECURITY.md / CODE_OF_CONDUCT.md
39+
- help.py (in-app /help text)
40+
- .env.example or kun.example.py comments
41+
- Other (describe below)
42+
validations:
43+
required: true
44+
45+
- type: dropdown
46+
id: primary_area
47+
attributes:
48+
label: Related OPSIE area
49+
description: Which subsystem the documentation describes
50+
options:
51+
- "area:core — Main entry, router, boot"
52+
- "area:boot-auth — Gate, kun, access"
53+
- "area:memory — Postgres, Chroma, recall"
54+
- "area:terminal — Themes, help, commands"
55+
- "area:persona — Prompts, Soul Signature"
56+
- "area:config — Environment, kun templates"
57+
- "area:agentic — External agents"
58+
- "area:markets — Markets"
59+
- "area:web3 — Web3"
60+
- "area:mail — Mail"
61+
- "area:dna — DNA"
62+
- "area:genai — Generative media"
63+
- "area:rooms — Rooms"
64+
- "area:voice — Voice"
65+
- "Cross-cutting / multiple areas"
66+
- "Other / unsure"
67+
validations:
68+
required: true
69+
70+
- type: textarea
71+
attributes:
72+
label: Current state
73+
description: What the docs say now (or that a section is missing)
74+
validations:
75+
required: true
76+
77+
- type: textarea
78+
attributes:
79+
label: Desired state
80+
description: What readers should understand after the fix
81+
validations:
82+
required: true
83+
84+
- type: checkboxes
85+
attributes:
86+
label: Checklist
87+
options:
88+
- label: I am willing to open a pull request for this doc change (optional)
89+
required: false
90+
- label: I searched existing issues for duplicate documentation requests
91+
required: true
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
name: Feature request
2+
description: Propose a new capability or meaningful improvement to existing behavior
3+
title: "[Feature] "
4+
labels:
5+
- enhancement
6+
- needs-triage
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Describe what you want OPSIE to do and why it matters.
12+
13+
Pick one **primary area**. Maintainers add the matching `area:*` label during triage. Use a second area only when the work clearly spans two subsystems.
14+
15+
- type: textarea
16+
attributes:
17+
label: Summary
18+
description: What should exist or change, in plain language
19+
validations:
20+
required: true
21+
22+
- type: dropdown
23+
id: primary_area
24+
attributes:
25+
label: Primary area
26+
options:
27+
- "area:core — Main entry, router, boot, streaming"
28+
- "area:boot-auth — Gate, kun, access tiers"
29+
- "area:memory — Postgres, Chroma, recall"
30+
- "area:terminal — Themes, help, commands UX"
31+
- "area:persona — Prompts, Soul Signature"
32+
- "area:config — Environment and kun templates"
33+
- "area:agentic — External model agents"
34+
- "area:markets — Market data stack"
35+
- "area:web3 — On-chain handler"
36+
- "area:mail — Mail send/inbox"
37+
- "area:dna — Sequence workflows"
38+
- "area:genai — Image, music, video generation"
39+
- "area:rooms — Multi-agent room"
40+
- "area:voice — Voice and sounds"
41+
- "Other / unsure"
42+
validations:
43+
required: true
44+
45+
- type: dropdown
46+
id: secondary_area
47+
attributes:
48+
label: Also affects (optional)
49+
options:
50+
- "None"
51+
- "area:core — Main entry, router, boot, streaming"
52+
- "area:boot-auth — Gate, kun, access tiers"
53+
- "area:memory — Postgres, Chroma, recall"
54+
- "area:terminal — Themes, help, commands UX"
55+
- "area:persona — Prompts, Soul Signature"
56+
- "area:config — Environment and kun templates"
57+
- "area:agentic — External model agents"
58+
- "area:markets — Market data stack"
59+
- "area:web3 — On-chain handler"
60+
- "area:mail — Mail send/inbox"
61+
- "area:dna — Sequence workflows"
62+
- "area:genai — Image, music, video generation"
63+
- "area:rooms — Multi-agent room"
64+
- "area:voice — Voice and sounds"
65+
validations:
66+
required: true
67+
68+
- type: dropdown
69+
id: access_tier
70+
attributes:
71+
label: Access tier (if relevant)
72+
options:
73+
- Not applicable
74+
- Master (arpa_id starts with R)
75+
- Standard (non-master)
76+
- Unknown
77+
validations:
78+
required: true
79+
80+
- type: textarea
81+
attributes:
82+
label: Problem or motivation
83+
description: What pain does this solve for operators, students, or contributors?
84+
validations:
85+
required: true
86+
87+
- type: textarea
88+
attributes:
89+
label: Proposed solution
90+
description: Commands, UX, modules, or docs you envision
91+
validations:
92+
required: true
93+
94+
- type: textarea
95+
attributes:
96+
label: Alternatives considered
97+
description: Other approaches you rejected or external repos (Skillware, Rooms, Hermes3, Gatekeeper)
98+
validations:
99+
required: false
100+
101+
- type: textarea
102+
attributes:
103+
label: Additional context
104+
description: Screenshots, sketches, links to docs sections
105+
validations:
106+
required: false
107+
108+
- type: checkboxes
109+
attributes:
110+
label: Checklist
111+
options:
112+
- label: I searched existing issues for similar requests
113+
required: true
114+
- label: This request does not include secrets or production kun.py data
115+
required: true

0 commit comments

Comments
 (0)