# Contributing to the GEO Score Standard

The GEO Score Standard is maintained by Traffi and the GEO Standard Working Group. We welcome contributions from SEO practitioners, AI researchers, and tool builders.

## How to Contribute

### 1. Report Issues

Found an error in the spec, or a signal that doesn't match observed AI behavior? Open an issue describing:

- **What's wrong**: The specific signal, formula, or claim
- **Evidence**: Data, examples, or citations supporting your correction
- **Suggested fix**: How the spec should be updated

### 2. Propose Signal Changes

Want to add a new signal or adjust weights? Submit a proposal:

1. **Fork this repository**
2. **Create a branch**: `proposal/signal-name`
3. **Write the proposal** in a new file: `proposals/YYYY-MM-signal-name.md`
4. **Include**:
   - Signal definition and scoring formula
   - Rationale: why this signal affects AI citation probability
   - Evidence: data from observed AI engine behavior
   - Impact assessment: how this changes existing scores
5. **Open a pull request**

Proposals are reviewed by the Working Group. Significant changes require a 30-day comment period before adoption.

### 3. Improve Documentation

Clarifications, examples, typo fixes — submit directly as a PR. These qualify as patch versions (1.0.x) and don't require Working Group review.

### 4. Submit Validation Data

Help improve the standard's accuracy by sharing:

- Domains with known AI citation rates
- Query sets used for citation sampling
- Correlation analyses between GEO scores and observed citations

Email validation data to [standard@traffi.app](mailto:standard@traffi.app).

## Working Group Membership

The Working Group has 7 open seats:

| Seat | Count | Requirements |
|------|-------|-------------|
| SEO Practitioner | 3 | 5+ years in SEO, experience with AI-driven search |
| AI Researcher | 2 | Published work in NLP, information retrieval, or LLM behavior |
| Tool Builder | 2 | Building or maintaining a tool that implements GEO scoring |

**Benefits:**
- Early access to methodology changes (30 days before public release)
- Listed as contributor on the specification
- Vote on major version changes

**Apply:** Email [standard@traffi.app](mailto:standard@traffi.app) with subject "Working Group Application" and a brief description of your background and interest.

## Code Style

For reference implementation contributions:

- **Language**: Node.js (ES2020+)
- **Style**: No external dependencies in scoring functions
- **Tests**: Include test cases with expected scores
- **Documentation**: JSDoc comments on all exported functions

## Versioning Rules

| Change Type | Version Bump | Working Group Vote | Comment Period |
|------------|-------------|-------------------|---------------|
| Typo fix, clarification | Patch (1.0.x) | Not required | None |
| New signal (additive) | Minor (1.x.0) | Simple majority | 14 days |
| Weight adjustment | Minor (1.x.0) | Simple majority | 14 days |
| Signal removal or formula rewrite | Major (x.0.0) | 2/3 majority | 30 days |

## License

By contributing, you agree that your contributions will be licensed under [CC BY 4.0](LICENSE).

## Contact

- **Working Group**: [standard@traffi.app](mailto:standard@traffi.app)
- **Live Specification**: [traffi.app/geo-standard](https://traffi.app/geo-standard)
