Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Bug report
about: Something misbehaves — include the failing command and expected vs actual
title: "[BUG] "
labels: bug
---

**Command / entry point**

```bash
# e.g. agentcorp run --project examples/demo_repo --prd ... --provider mock
```

**Expected vs actual**

**Reproduction notes**

- Does it reproduce with `--provider mock` and `FAST=1 ./scripts/reproduce_all.sh`?
- Run id / DB path (`.agentcorp/...`) if the ledger is involved:

**Environment**

- `agentcorp --version`:
- Python / OS:
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Propose a capability — frame it around the reliability concern it addresses
title: "[FEATURE] "
labels: enhancement
---

**Reliability concern**

<!-- AgentCorp is built around failure paths: duplicate execution, crash recovery,
retry storms, runaway cost, deadlocks, quarantine. What failure mode does this
feature address? -->

**Proposed behavior**

**Alternatives considered**

**Scope hints**

<!-- CLI surface? engine/scheduler? store schema? docs/SPEC_v0.md impact? -->
56 changes: 56 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Contributing to AgentCorp

Thanks for considering a contribution. AgentCorp is deliberately **offline-verifiable**:
the whole reliability suite runs with no network and no API keys, and that property is
part of the product contract — please help us keep it.

## Development setup

- Python **>= 3.12**
- [uv](https://docs.astral.sh/uv/) is recommended; a plain venv works too

```bash
uv venv --python 3.12
uv pip install -e ".[dev]"
```

## The one command that matters

```bash
./scripts/reproduce_all.sh # pytest + e2e demo + benchmark + mypy strict + ruff
FAST=1 ./scripts/reproduce_all.sh # skip the slow SIGKILL recovery suite
```

CI runs the same gates (`pytest -q -m "not slow"`, `ruff check`, `mypy src/agentcorp`)
on every pull request.

## House rules

- **Deterministic and offline.** Every test must pass with no network and no API keys.
Real providers are opt-in behind `-m smoke` and must never run by default.
- **The event ledger is the source of truth.** New state must be produced via events,
and every projection must stay rebuildable from the append-only log.
- **Strict gates stay green.** `mypy src/agentcorp` (strict) and `ruff check` must be
clean; new code needs types.
- **Contracts are documented.** Behavior changes update `docs/SPEC_v0.md`; capability
status and known gaps live in `STATUS.md`.

## Pull requests

1. One concern per PR. Describe the failure mode first, then the fix.
2. Add or adjust tests under `tests/`; regression tests for fixed bugs are expected.
3. User-visible behavior changes update `README.md` and the relevant `docs/`.
4. CI must be green before review.

## Issues

Use the provided templates:

- **Bug report** — include the failing command, expected vs actual, and (if possible)
a minimal reproduction against `examples/demo_repo` or `--provider mock`.
- **Feature request** — describe the reliability concern it addresses; this project is
built around failure paths, so that framing helps.

## License

MIT. By contributing you agree your contributions are licensed under the same terms.
Loading