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
19 changes: 12 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ fail a check:
- `devlog/` stays listed in `.gitignore` for the working tree; the submodule
gitlink is tracked, its contents are not.

Two rules keep it that way. Never commit anything under `devlog/` to *this*
Two rules keep it that way. Never commit anything under `devlog/` to _this_
repository — commit inside the submodule, then update the pointer here as a
separate commit. And never nest a git repository inside the submodule: a
`160000` gitlink in a tree that CI does not initialize breaks
Expand Down Expand Up @@ -132,14 +132,19 @@ The **`enforce-target`** CI check accepts **`main`** as the only integration
base. A same-repository maintainer promotion from **`dev`** onto **`main`**
remains an explicit leftover exception. It rejects empty, thin, or malformed
descriptions; authors with repository push permission skip the leftover
ancestry heuristic only. As with approval requirements in
[`MAINTAINERS.md`](./MAINTAINERS.md), this is enforced by convention until
branch protection is configured.
ancestry heuristic only. Required technical checks apply even when branch
protection is not configured. External approval is advisory, never a blocker.

[`MAINTAINERS.md`](./MAINTAINERS.md) is authoritative for review and merge
policy (approvals, CI requirements, security review, promotion). This file
policy (review, CI requirements, security analysis, promotion). This file
summarizes; it never overrides it.

During authorized implementation and PR/release completion, a valid in-scope
finding means repair plus verification, not a report-only stopping point.
Continue the inspect → fix → test → land loop while safe authorized work remains.
Explicit read-only requests remain read-only. Never fabricate independent review
or bypass actual repository permissions; do not wait for an external reviewer.

## Review guidelines

These rules apply to all code reviews on this repository, including automated
Expand All @@ -155,13 +160,13 @@ reviewers (Codex, CodeRabbit).
- **Security boundary (highest priority):** changes touching authentication,
credential/token handling, OAuth flows, GitHub Actions workflows, release
automation (`scripts/release.ts`, `.github/workflows/release.yml`), or
dependency installation require explicit security review per
dependency installation require explicit security analysis per
`MAINTAINERS.md`. Treat token logging/serialization, secret exposure,
workflow permission escalation, and mutable third-party action refs as
release blockers.
- **Runtime constraints:** the proxy is Bun-native. Flag Node-only APIs,
assumptions about a compile step, or code paths that break `bun run
typecheck` / `bun run test`.
typecheck` / `bun run test`.
- **Tests:** behavior changes in `src/` need a focused regression test near
the existing tests for that subsystem. Shared routing, adapter, config, or
server changes need the full suite green.
Expand Down
52 changes: 33 additions & 19 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ review and merge policy.

## Current maintainers

| GitHub account | Project role | Responsibilities |
| --- | --- | --- |
| [@GroepOnline](https://github.com/GroepOnline) | Project owner | Project direction, releases, repository administration, and final governance decisions |
| [@Ingwannu](https://github.com/Ingwannu) | Maintainer | Issue and pull-request triage, `main` integration, security review, and repository maintenance |
| [@Wibias](https://github.com/Wibias) | Maintainer | Issue and pull-request triage, `main` integration, and provider/CI maintenance |
| GitHub account | Project role | Responsibilities |
| ---------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------- |
| [@GroepOnline](https://github.com/GroepOnline) | Project owner | Project direction, releases, repository administration, and final governance decisions |
| [@Ingwannu](https://github.com/Ingwannu) | Maintainer | Issue and pull-request triage, `main` integration, security review, and repository maintenance |
| [@Wibias](https://github.com/Wibias) | Maintainer | Issue and pull-request triage, `main` integration, and provider/CI maintenance |

The table describes project responsibilities. Actual repository permissions remain controlled
through GitHub repository settings.
Expand All @@ -25,14 +25,21 @@ see [The retired `dev2-go` line](#the-retired-dev2-go-line).
exception; a feature or fork head targeting `dev` is `wrong_base`.
- The **`enforce-target`** CI check rejects empty, thin, or malformed
descriptions; authors with repository push permission skip the leftover
ancestry heuristic only. As with the approval requirement
above, this is enforced by convention until branch protection is configured
(see the note under the change log).
- A pull request requires approval from at least one maintainer and successful required CI checks
before merge.
- Authors do not approve their own pull requests.
ancestry heuristic only. Required technical checks must succeed on the exact
head being merged, whether enforced by branch protection or by the operator.
- External review and GitHub approval are advisory, never a prerequisite for
authorized execution, merge, release, or deployment. Missing, delayed, stale,
or unavailable external review must not stop the work.
- The executing maintainer or agent must inspect the exact diff, repair valid
in-scope findings, and verify the resulting head before merging. A review
status is not a substitute for evaluating its concrete findings.
- Do not manufacture approval, switch identities to self-approve, or describe
self-review as independent review. Record the verification actually performed.
- Authentication, credential handling, GitHub Actions, release automation, dependency installation,
and other security-boundary changes require explicit security review.
and other security-boundary changes require explicit, recorded security analysis.
The executing agent may perform that analysis; an external reviewer is optional.
Unfixed security defects and failed or unknown required technical checks still
block release. Repository permissions and protected-branch rules are not bypassed.
- A new or promoted provider preset is a credential-destination change. Before merge it needs the
primary-source evidence listed under [Adding a provider to the
catalog](https://opencodex.me/contributing/#evidence-required-for-a-canonical-preset): documented
Expand All @@ -42,12 +49,20 @@ see [The retired `dev2-go` line](#the-retired-dev2-go-line).
with the service is disclosed, not disqualifying, and it does not lower the evidence bar. When the
evidence is incomplete, prefer an inert `src/providers/free-directory.ts` reference row over a
canonical registry entry.
- Security-sensitive and release-related changes should be reviewed by both maintainers when
practical.
- Additional maintainer review is welcome when available, without waiting for it.
- Direct pushes are reserved for maintainer-owned integration work, urgent repairs, or incident
recovery. The same CI and documentation requirements still apply.
- Promotion from `dev` to `main` and npm releases is maintainer-controlled.

### Review means repair within the authorized task

During implementation, PR completion, release, or deployment work, noticing,
finding, or reviewing a valid in-scope defect means reproducing it, fixing it,
adding appropriate regression coverage, and continuing through verification.
A findings list or handoff does not finish executable work. Explicitly read-only
reviews, audits, and diagnosis requests remain read-only unless fixes are also
authorized; unrelated work and actions needing new authority stay out of scope.

## The retired `dev2-go` line

`dev2-go` was a parallel integration line that rebuilt the runtime as a Go
Expand Down Expand Up @@ -101,11 +116,10 @@ Adding or removing a maintainer requires:
and release automation keep the two owners already listed for those paths, so
this addition does not widen the review surface for them.

CODEOWNERS requests reviews rather than enforcing them — no branch protection
rule is configured on this repository, so code-owner approval is a convention
here, not a gate. The same is true of the approval requirement in the review
and merge policy above. Widening the security boundary, or enforcing either
of these through branch protection, is a separate decision.
This entry describes the policy at that time. The current review policy above
makes external approval advisory while retaining technical and security checks.
CODEOWNERS routes review requests; it does not itself enforce branch protection.
Always inspect current repository settings rather than infer them from this log.

## Security reports

Expand Down
Loading
Loading