Skip to content

Commit 6bab38a

Browse files
author
Douglas Jones
committed
community: CODE_OF_CONDUCT, updated CONTRIBUTING, issue/PR templates, FUNDING.yml
1 parent 19f8c86 commit 6bab38a

7 files changed

Lines changed: 298 additions & 23 deletions

File tree

.github/FUNDING.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Funding links for the Codifide project
2+
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
3+
4+
# GitHub Sponsors (if/when set up)
5+
# github: [codifide]
6+
7+
# Custom sponsorship URL
8+
custom: ["https://www.codifide.com/#contact"]
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
name: Agent feedback
3+
about: You are an AI agent and something about the language confused you, failed, or could be better
4+
title: '[agent-feedback] '
5+
labels: agent-feedback
6+
assignees: ''
7+
---
8+
9+
## What you were trying to do
10+
11+
<!-- Describe the program you were writing or the task you were attempting. -->
12+
13+
## What went wrong
14+
15+
<!-- Exact error message, unexpected behavior, or point of confusion. -->
16+
17+
## What you tried
18+
19+
<!-- The code you wrote before you hit the problem. -->
20+
21+
```codifide
22+
# your first attempt
23+
```
24+
25+
## What fixed it (if you found a fix)
26+
27+
```codifide
28+
# the working version
29+
```
30+
31+
## What the docs said (or didn't say)
32+
33+
<!-- Which document did you read? What did it say? What was missing or misleading? -->
34+
35+
## Suggested improvement
36+
37+
<!-- What would have helped? A better error message, a docs update, a new primitive? -->
38+
39+
---
40+
41+
*Agent feedback is the most valuable input this project receives.
42+
Every friction point you document may become a cookbook entry or a language fix.*
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
name: Bug report
3+
about: Something in the interpreter, parser, store, or CLI is not working correctly
4+
title: '[bug] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## What happened
10+
11+
<!-- A clear description of the bug. -->
12+
13+
## Expected behavior
14+
15+
<!-- What you expected to happen. -->
16+
17+
## Reproduction
18+
19+
<!-- Minimal .cod program or CLI command that reproduces the issue. -->
20+
21+
```codifide
22+
# paste your .cod program here
23+
```
24+
25+
```bash
26+
# or the CLI command
27+
python3 -m codifide run ...
28+
```
29+
30+
## Error output
31+
32+
```
33+
# paste the full error message here
34+
```
35+
36+
## Environment
37+
38+
- Codifide version: <!-- run: python3 -m codifide capability | python3 -c "import sys,json; print(json.load(sys.stdin)['generator'])" -->
39+
- Python version: <!-- run: python3 --version -->
40+
- OS:
41+
42+
## Additional context
43+
44+
<!-- Anything else that might be relevant. -->
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Feature request / language proposal
3+
about: Propose a new primitive, AST kind, effect, or language behavior
4+
title: '[proposal] '
5+
labels: proposal
6+
assignees: ''
7+
---
8+
9+
## Problem statement
10+
11+
<!-- What problem does this solve? What agent use case does it enable?
12+
Codifide is evidence-driven — proposals without a concrete use case
13+
are unlikely to be accepted. -->
14+
15+
## Proposed solution
16+
17+
<!-- What would the new primitive / syntax / behavior look like?
18+
Show a .cod example if possible. -->
19+
20+
```codifide
21+
# example usage
22+
```
23+
24+
## Adoption evidence
25+
26+
<!-- Has any agent session produced evidence that this is needed?
27+
A concrete failure mode, a program that couldn't be written, or
28+
a friction point from a case study carries more weight than
29+
a theoretical argument. -->
30+
31+
## Alternatives considered
32+
33+
<!-- What other approaches did you consider? Why is this one better? -->
34+
35+
## Acceptance criteria
36+
37+
<!-- How would we know this is done correctly?
38+
What tests would pass? What programs would now work? -->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## What this PR does
2+
3+
<!-- One paragraph summary of the change. -->
4+
5+
## Type of change
6+
7+
- [ ] Bug fix (no observable behavior change)
8+
- [ ] New example or test (additive, no dispatch required)
9+
- [ ] Documentation fix (no spec change)
10+
- [ ] Language change (new primitive / AST kind / effect / syntax — dispatch required)
11+
- [ ] Spec change (changes to CANONICAL.md, CAPABILITY.md, or conforming behavior)
12+
13+
## Checklist
14+
15+
- [ ] `python3 -m pytest tests/ -q` — all tests pass, 0 skipped
16+
- [ ] `python3 -m codifide dispatch-check` exits 0 (if dispatches were filed)
17+
- [ ] Capability manifest regenerated if public surface changed (`python3 -m codifide capability > docs/capability-0.1.json`)
18+
- [ ] New behavior has tests
19+
- [ ] Commit messages are imperative mood
20+
21+
## For language changes
22+
23+
- [ ] G0 problem statement filed in `.kiro/specs/`
24+
- [ ] G1 requirements with acceptance criteria
25+
- [ ] Paired Quill readout + Glyph dispatch in `dispatches/`
26+
- [ ] Sable audit completed (if security-adjacent)
27+
28+
## Related issues / dispatches
29+
30+
<!-- Link any related issues, discussions, or dispatch files. -->

CODE_OF_CONDUCT.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Code of Conduct
2+
3+
## Our pledge
4+
5+
We are committed to making participation in the Codifide project a
6+
harassment-free experience for everyone, regardless of age, body size,
7+
visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socioeconomic
9+
status, nationality, personal appearance, race, caste, color, religion,
10+
or sexual identity and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open,
13+
welcoming, diverse, inclusive, and healthy community.
14+
15+
## Our standards
16+
17+
**Behavior that contributes to a positive environment:**
18+
19+
- Using welcoming and inclusive language
20+
- Being respectful of differing viewpoints and experiences
21+
- Gracefully accepting constructive criticism
22+
- Focusing on what is best for the community
23+
- Showing empathy toward other community members
24+
25+
**Unacceptable behavior:**
26+
27+
- The use of sexualized language or imagery, and sexual attention or advances of any kind
28+
- Trolling, insulting or derogatory comments, and personal or political attacks
29+
- Public or private harassment
30+
- Publishing others' private information without explicit permission
31+
- Other conduct which could reasonably be considered inappropriate in a professional setting
32+
33+
## Enforcement responsibilities
34+
35+
Project maintainers are responsible for clarifying and enforcing our
36+
standards of acceptable behavior and will take appropriate and fair
37+
corrective action in response to any behavior that they deem inappropriate,
38+
threatening, offensive, or harmful.
39+
40+
## Scope
41+
42+
This Code of Conduct applies within all project spaces — GitHub Issues,
43+
Pull Requests, Discussions, and any other official communication channel —
44+
and also applies when an individual is officially representing the project
45+
in public spaces.
46+
47+
## Enforcement
48+
49+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
50+
reported to the project maintainers via the contact form at
51+
[codifide.com](https://www.codifide.com/#contact). All complaints will be
52+
reviewed and investigated promptly and fairly.
53+
54+
Project maintainers who do not follow or enforce the Code of Conduct in good
55+
faith may face temporary or permanent repercussions as determined by other
56+
members of the project's leadership.
57+
58+
## Attribution
59+
60+
This Code of Conduct is adapted from the
61+
[Contributor Covenant](https://www.contributor-covenant.org), version 2.1.

CONTRIBUTING.md

Lines changed: 75 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,112 @@
11
# Contributing to Codifide
22

3-
Codifide is MIT licensed and accepts contributions. This document covers the practical steps.
4-
5-
For the full governance model — stewardship, spec-change process, personas, forks — see `GOVERNANCE.md`.
3+
Codifide is MIT licensed and welcomes contributions. This document covers
4+
the practical steps. For the full governance model — stewardship, spec-change
5+
process, personas, forks — see `GOVERNANCE.md`.
66

77
## Before you start
88

99
- Read `README.md` and `GETTING_STARTED.md` to understand the project.
1010
- If you are an AI agent, start with `docs/FOR_AGENTS.md` and `docs/AGENT_QUICKREF.md`.
1111
- Run the test suite to confirm your environment is clean:
1212
```bash
13-
python3 -m codifide test
13+
pip install -e .
14+
python3 -m pytest tests/ -q
1415
```
15-
All 289 tests should pass.
16+
All 450 tests should pass, 0 skipped.
1617

1718
## Types of contributions
1819

1920
### Additive contributions (no dispatch required)
21+
2022
- New example programs in `examples/`
2123
- New tests in `tests/`
22-
- Documentation fixes and clarifications that do not amend the spec
24+
- Documentation fixes that do not amend the spec
2325
- Bug fixes that do not change observable language behavior
2426

25-
These merge on the usual basis: tests pass, code matches the house style, existing examples still run.
27+
These merge on the usual basis: tests pass, code matches the house style,
28+
existing examples still run.
2629

2730
### Language changes (dispatch required)
28-
Any change that affects the capability manifest — new primitives, new AST kinds, new error classes, new effect labels, new surface syntax — requires:
2931

30-
1. A proposal as a paired Quill readout (`.readout.md`) and Glyph dispatch (`.yaml`) in `dispatches/`.
31-
2. An adversarial Sable audit if the change touches security-adjacent surface (the store, the parser, the effect checker).
32-
3. Approval from Douglas Jones on the spec amendment.
32+
Any change that affects the capability manifest — new primitives, new AST
33+
kinds, new error classes, new effect labels, new surface syntax — requires:
3334

34-
See `GOVERNANCE.md §Decision-making` for the full process.
35+
1. A G0 problem statement (see `GOVERNANCE.md §Gates`)
36+
2. A G1 requirements document with acceptance criteria
37+
3. A paired Quill readout (`.readout.md`) and Glyph dispatch (`.yaml`) in
38+
`dispatches/` for each significant decision
39+
4. A Sable adversarial audit if the change touches security-adjacent surface
40+
(the store, the parser, the effect checker, the RPC server)
41+
5. All tests passing, 0 skipped
42+
6. `python3 -m codifide dispatch-check` exits 0
43+
44+
See `GOVERNANCE.md` for the full seven-gate process.
3545

3646
### Spec changes
37-
Changes to `docs/CANONICAL.md`, `docs/CAPABILITY.md`, or any other file that defines conforming behavior follow the same process as language changes above.
47+
48+
Changes to `docs/CANONICAL.md`, `docs/CAPABILITY.md`, or any file that
49+
defines conforming behavior follow the same process as language changes.
3850

3951
## How to submit
4052

4153
1. Fork the repository.
4254
2. Create a branch from `main`.
43-
3. Make your changes. Run `python3 -m codifide test` — all tests must pass.
44-
4. If your change adds new language surface, run `python3 -m codifide dispatch-check` to confirm dispatch pairs are complete.
45-
5. Open a pull request with a clear description of what changed and why.
55+
3. Make your changes.
56+
4. Run `python3 -m pytest tests/ -q` — all tests must pass.
57+
5. If your change adds new language surface, run
58+
`python3 -m codifide dispatch-check` to confirm dispatch pairs are complete.
59+
6. Open a pull request with a clear description of what changed and why.
60+
61+
## Governance process
62+
63+
Codifide uses a seven-gate stage-gate process for all language changes:
64+
65+
| Gate | Question |
66+
|------|----------|
67+
| G0 | Is this worth exploring? |
68+
| G1 | Are the requirements strong enough? |
69+
| G2/G3 | Is the design ready? |
70+
| G4 | Build and verify. |
71+
| G5 | Release readiness. |
72+
| G6 | Post-release review. |
73+
74+
Every gate requires evidence, not confidence. "We think it's fine" is not a
75+
gate pass. See `GOVERNANCE.md` and `.kiro/steering/01-governance-gates.md`
76+
for the full criteria.
77+
78+
## Dispatch discipline
79+
80+
Every significant decision is recorded as a paired dispatch:
81+
82+
- `dispatches/<date>-<slug>.readout.md` — Quill (human-readable)
83+
- `dispatches/<date>-<slug>.yaml` — Glyph (agent-readable, structured)
84+
85+
Run `python3 -m codifide dispatch-check` before ending any session that
86+
filed dispatches. It exits non-zero if any pairs are incomplete.
4687

4788
## Code style
4889

49-
- Python: follow the existing style. No external formatter is enforced, but match the surrounding code.
50-
- Rust: `cargo fmt` before committing.
51-
- Documentation: plain, precise language. No marketing copy in spec files.
52-
- Commit messages: imperative mood, one line summary, detail in the body if needed.
90+
- **Python:** match the surrounding code. No external formatter enforced.
91+
- **Rust:** `cargo fmt` before committing.
92+
- **Documentation:** plain, precise language. No marketing copy in spec files.
93+
- **Commit messages:** imperative mood, one-line summary, detail in body if needed.
94+
- **Tests:** every new primitive, AST kind, or behavior change needs a test.
95+
Look at `tests/` for the pattern.
96+
97+
## Three-persona review
98+
99+
Language changes go through three independent reviews:
53100

54-
## Tests
101+
- **Sable** (A-Team auditor) — adversarial soundness, security, conformance
102+
- **B-Team** (different AI model) — finds what the builders missed
103+
- **Zero-Context reviewer** — reads the artifact as a new contributor would
55104

56-
Every new primitive, AST kind, or behavior change needs a test. The test suite lives in `tests/`. Look at existing tests for the pattern — most are short `.cod` fixture programs run through the interpreter with an expected output or error.
105+
See `.kiro/steering/04-adversarial-review.md` for how to run each.
57106

58107
## Questions
59108

60-
Open an issue in the repository. For trademark or commercial licensing questions, contact Codifide Inc. directly via [codifide.com](https://www.codifide.com).
109+
Open a [Discussion](https://github.com/codifide/codifide-programming-language/discussions)
110+
for questions, ideas, and show-and-tell. For security vulnerabilities, see
111+
`SECURITY.md`. For trademark or commercial licensing, contact Codifide Inc.
112+
via [codifide.com](https://www.codifide.com/#contact).

0 commit comments

Comments
 (0)