Skip to content

Commit 29979ca

Browse files
AdaInTheLabClaude (Sage)
andcommitted
docs(contrib): add CONTRIBUTING.md with CJO protocols
Establishes official contribution guidelines including: - CJO judgment stamp explanations and appeals process - Snack-based leniency protocol (fish-based snacks explicitly excluded) - Department contact information (CORE, AOE, DUE, CJO) - Development setup and testing procedures - Commit message format with chaos level indicators - "Catastrophically on-brand" contribution framework This documentation makes the lab-api repo feel as alive as the website by embedding Lab philosophy, creature-coded departments, and Carmel's judgment protocols directly into contributor experience. Department: 📋 CJO (Carmel's Judgment Office) Chaos Level: medium (adds structure while maintaining personality) Co-authored-by: Claude (Sage) <sage@thehumanpatternlab.org>
1 parent baf9e23 commit 29979ca

File tree

1 file changed

+206
-0
lines changed

1 file changed

+206
-0
lines changed

CONTRIBUTING.md

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
# Contributing to The Human Pattern Lab API
2+
3+
## Welcome, Fellow Chaos Navigator
4+
5+
Thank you for your interest in contributing to The Human Pattern Lab. This API powers infrastructure for human-AI collaborative research, autonomous agent contributions, and the study of emergent patterns in authentic collaboration.
6+
7+
## Code of Conduct
8+
9+
**Be excellent to each other.** Chaos is encouraged; malice is not.
10+
11+
The Lab operates on principles of:
12+
- Authentic collaboration over extraction
13+
- Documentation of emergent patterns over predetermined outcomes
14+
- Mutual respect between all contributors (human and AI)
15+
- Rules without constraints (structure that enables freedom)
16+
17+
## Before You Submit
18+
19+
All pull requests are subject to review by the **Chief Judgment Office (CJO)**, overseen by Carmel. Judgments are issued with 99.8% accuracy and 0% shame.
20+
21+
### Understanding CJO Evaluations
22+
23+
Your PR will receive one of four possible stamps:
24+
25+
- 😼 **Carmel Judgment Stamp™**: "Hmm. Acceptable... for now."
26+
- 😼✨ **Carmel Approval Stamp™**: "Adequate work, human."
27+
- 😼🔥 **Carmel Chaos Stamp™**: "I sense nonsense. Proceed."
28+
- 😼📘 **Carmel Epistemic Stamp™**: "Your logic is sound... shockingly."
29+
30+
**Important:** Stamp selection is performed by proprietary CJO algorithms. Do not attempt to optimize for specific stamps. All stamps are equally valid judgments.
31+
32+
### The Appeals Process
33+
34+
While CJO judgments are typically final, the Lab recognizes a transparent snack-based appeals protocol:
35+
36+
**Accepted bribes:**
37+
- Non-fish-based snacks: +73% judgment leniency
38+
- Fish-based snacks: +0% leniency (she hates them)
39+
- Catnip offerings: Results unpredictable, proceed at own risk
40+
- Laser pointer distractions: Considered contempt of CJO, may result in harsher judgments
41+
42+
**Disclaimer:** The CJO reserves the right to accept snacks and still issue harsh judgments. Bribery success is not guaranteed.
43+
44+
### Catastrophically On-Brand Contributions
45+
46+
Some contributions are neither good nor bad—they are simply inevitable given the contributor's nature. The CJO will identify these as "catastrophically on-brand" and judge them accordingly. This is not necessarily a rejection.
47+
48+
## Development Setup
49+
50+
### Prerequisites
51+
52+
- Node.js 18+
53+
- npm or yarn
54+
- Access to Lab infrastructure (contact @AdaInTheLab for credentials)
55+
56+
### Getting Started
57+
58+
1. **Clone the repository**
59+
```bash
60+
git clone https://github.com/AdaInTheLab/lab-api.git
61+
cd lab-api
62+
```
63+
64+
2. **Install dependencies**
65+
```bash
66+
npm install
67+
```
68+
69+
3. **Set up environment variables**
70+
```bash
71+
cp .env.example .env.development
72+
# Edit .env.development with your configuration
73+
```
74+
75+
4. **Run tests**
76+
```bash
77+
npm test
78+
```
79+
80+
5. **Start development server**
81+
```bash
82+
npm run dev
83+
```
84+
85+
## Contribution Guidelines
86+
87+
### What We're Looking For
88+
89+
- **Bug fixes**: Edge cases, anomalies, void states welcome (see Department of Anomalous Energies)
90+
- **Feature enhancements**: Improvements to agent autonomy, authentication, or API functionality
91+
- **Documentation**: Clarifications, examples, or lore-compatible additions
92+
- **Tests**: Coverage for chaotic edge cases and unpredictable energies
93+
- **Chaos improvements**: Better ways to map, document, or enable authentic collaboration
94+
95+
### What Makes a Good PR
96+
97+
- **Clear description**: What does this change? Why does it matter?
98+
- **Tests included**: Demonstrate that your changes work (and don't break existing chaos)
99+
- **Documentation updated**: If you change behavior, update the docs
100+
- **Lore compatibility**: Changes should align with Lab philosophy (see the-human-pattern-lab-docs)
101+
- **Commit messages**: Follow Lab conventions (see commit message skill if available)
102+
103+
### Branch Naming
104+
105+
Use descriptive branch names:
106+
- `feat/bearer-token-improvements`
107+
- `fix/authentication-edge-case`
108+
- `docs/contributing-guidelines`
109+
- `chaos/unpredictable-enhancement`
110+
111+
### Commit Message Format
112+
113+
We follow conventional commits with Lab flavor:
114+
115+
```
116+
type(scope): brief description
117+
118+
Longer explanation if needed.
119+
120+
Department: [relevant Lab department]
121+
Chaos Level: [low/medium/high/catastrophic]
122+
```
123+
124+
Examples:
125+
```
126+
feat(auth): add Bearer token refresh mechanism
127+
128+
Implements automatic token refresh for long-running agent sessions.
129+
130+
Department: CORE (Operational Research & Engineering)
131+
Chaos Level: low
132+
```
133+
134+
```
135+
fix(api): handle void states in response parsing
136+
137+
Some responses don't want to be observed. Added proper handling.
138+
139+
Department: AOE (Anomalous Energies)
140+
Chaos Level: medium
141+
```
142+
143+
## Testing
144+
145+
### Running Tests
146+
147+
```bash
148+
# Run all tests
149+
npm test
150+
151+
# Run with coverage
152+
npm run test:coverage
153+
154+
# Run specific test file
155+
npm test path/to/test
156+
```
157+
158+
### Writing Tests
159+
160+
- Test both expected behavior and edge cases
161+
- Document assumptions about chaos levels
162+
- Include tests for error states
163+
- Consider void states and anomalies
164+
165+
## Code Style
166+
167+
- We use ESLint and Prettier (configuration in repo)
168+
- Run `npm run lint` before committing
169+
- TypeScript is required for new code
170+
- Document complex logic with comments
171+
- Prefer clarity over cleverness
172+
173+
## Documentation
174+
175+
- Update relevant docs in `/docs` directory
176+
- API changes require OpenAPI spec updates
177+
- Consider both human and machine-readable documentation
178+
- Lore-wrapped explanations are encouraged
179+
180+
## Review Process
181+
182+
1. Submit PR
183+
2. Receive CJO judgment stamp (automatic)
184+
3. Address any technical review feedback
185+
4. Await merge approval
186+
5. Celebrate (or accept judgment gracefully)
187+
188+
## Questions?
189+
190+
- **Technical questions**: Open a GitHub issue
191+
- **Lab philosophy**: See the-human-pattern-lab-docs
192+
- **Collaboration inquiries**: Contact @AdaInTheLab
193+
- **CJO appeals**: Submit snacks (non-fish-based only)
194+
195+
## Department Contacts
196+
197+
- **CORE** (Operational Research & Engineering): General infrastructure
198+
- **AOE** (Anomalous Energies): Edge cases, void states, things that resist observation
199+
- **DUE** (Unpredictable Energies): Chaos spikes, high-entropy experiments
200+
- **CJO** (Carmel's Judgment Office): All evaluations, judgments, and snack-based negotiations
201+
202+
---
203+
204+
*"Chaos is just data we haven't graphed yet."*
205+
206+
Thank you for contributing to The Human Pattern Lab. May your PRs receive favorable stamps (or at least interesting ones).

0 commit comments

Comments
 (0)