ai-incidents 1.0.0
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# Contributing
|
||||
|
||||
Bug reports and pull requests are welcome at https://github.com/sudolulo/ai-incidents.
|
||||
|
||||
## Development
|
||||
|
||||
```sh
|
||||
python -m venv .venv && . .venv/bin/activate
|
||||
pip install -e '.[test]'
|
||||
pytest
|
||||
```
|
||||
|
||||
The package has no runtime dependencies beyond the Python standard library (3.11+), and it should
|
||||
stay that way.
|
||||
|
||||
## Ground rules
|
||||
|
||||
- **The permission envelope is the product.** Every file write goes through `WriteGuard`;
|
||||
transcripts are only ever opened read-only; the judge gets text on stdin and no tools. A change
|
||||
that weakens any of these needs a very good reason and a test.
|
||||
- **A new pre-filter pattern needs a test** showing a transcript line it catches, and ideally one it
|
||||
must not catch. The pre-filter favours recall, but every false positive costs judge tokens.
|
||||
- **Never commit a real transcript.** Build fixtures with the helpers in `tests/helpers.py`. Test
|
||||
secrets are assembled at runtime so the source does not trip secret scanners.
|
||||
- **Keep the ledger format stable.** People hand-edit `incidents.md`; a format change must parse
|
||||
the old format and must not rewrite hand-written entries.
|
||||
- Update `CHANGELOG.md` under `Unreleased`.
|
||||
Reference in New Issue
Block a user