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
3 changes: 2 additions & 1 deletion .github/DISCUSSION_TEMPLATE/rfc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ body:
Use this to **incubate an RFC** — socialize a design and reach rough
consensus before writing the formal document. When it's ready, graduate
it into a pull request that adds `docs/rfcs/NNNN-title.md`
from the public template with `Author track: Public contribution`
(see [docs/rfcs/README.md](../blob/main/docs/rfcs/README.md)); a
maintainer merging that PR is acceptance.
maintainer merging that public-track PR is acceptance.

For a plain feature request or open-ended idea, use the **Ideas**
category instead. For bugs, open an [Issue](../../issues/new/choose).
Expand Down
3 changes: 2 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ Full diagram and concurrency model: [docs/dev/architecture.md](docs/dev/architec
| **Architectural invariants & deny-list (read before any non-trivial proposal or review)** | **[docs/dev/invariants.md](docs/dev/invariants.md)** |
| **Lance docs index — fetch upstream Lance docs by problem domain** | **[docs/dev/lance.md](docs/dev/lance.md)** |
| **Test coverage map — what's covered, what helpers to reuse, before-every-task checklist** | **[docs/dev/testing.md](docs/dev/testing.md)** |
| The canon — linear internal narrative of the whole system (philosophy, read/write/crash walkthroughs, exclusions, risk register, roadmap) | [docs/dev/canon.md](docs/dev/canon.md) |
| Architecture, L1/L2 framing, concurrency model | [docs/dev/architecture.md](docs/dev/architecture.md) |
| Storage layout, `__manifest` schema, URI schemes, S3 env vars | [docs/user/concepts/storage.md](docs/user/concepts/storage.md) |
| `.pg` schema language, types, constraints, annotations, migration planning | [docs/user/schema/index.md](docs/user/schema/index.md) |
Expand Down Expand Up @@ -106,7 +107,7 @@ Full diagram and concurrency model: [docs/dev/architecture.md](docs/dev/architec
| CI / release workflows | [docs/dev/ci.md](docs/dev/ci.md) |
| Branch protection policy (declarative, applied via `scripts/apply-branch-protection.sh`) | [docs/dev/branch-protection.md](docs/dev/branch-protection.md) |
| Constants & tunables cheat sheet | [docs/user/reference/constants.md](docs/user/reference/constants.md) |
| RFC process — public contribution track (substantial / irreversible changes) | [docs/rfcs/README.md](docs/rfcs/README.md) |
| RFC process — public contribution and maintainer design-series tracks | [docs/rfcs/README.md](docs/rfcs/README.md) |
| Per-version release notes | [docs/releases/](docs/releases/) |

---
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ rules and decision authority behind it live in [GOVERNANCE.md](GOVERNANCE.md).
|---|---|---|
| **Report a bug** or wrong behavior | **[Open an Issue](../../issues/new/choose)** | Concrete and reproducible. A maintainer triages it; once labelled **`accepted`** it's open for a PR. |
| **Suggest a feature / share an idea / ask** | **[Start a Discussion](../../discussions)** | Ideas and questions live here, not in Issues. |
| **Propose a design / RFC** | **An RFC pull request** | Anyone can author one — see [docs/rfcs/README.md](docs/rfcs/README.md). A maintainer merging it is acceptance. |
| **Propose a design / RFC** | **An RFC pull request** | Anyone can copy the public template and declare `Author track: Public contribution` — see [docs/rfcs/README.md](docs/rfcs/README.md). A maintainer merging a public RFC is acceptance; maintainer design series use their explicit status lifecycle. |
| **Fix something / implement a change** | **A pull request** | Must link an `accepted` issue or an accepted RFC — unless it's trivial (below). |
| **Report a security vulnerability** | **[SECURITY.md](SECURITY.md)** | Do **not** open a public Issue. |

Expand Down
9 changes: 5 additions & 4 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,11 @@ first, or pick one already labelled `accepted` / `help wanted`.
### Discussions → RFCs → accepted
Ideas and feature requests start in **Discussions**. Anyone — including external
contributors — may then **author an RFC** by opening a pull request that adds
`docs/rfcs/NNNN-title.md` (see [docs/rfcs/README.md](docs/rfcs/README.md)). The
RFC is reviewed as code; **a maintainer merging it is the act of acceptance**
(it becomes the durable decision record). Implementation PRs then reference the
accepted RFC.
`docs/rfcs/NNNN-title.md` from the public template with
`Author track: Public contribution` (see
[docs/rfcs/README.md](docs/rfcs/README.md)). The RFC is reviewed as code; **a
maintainer merging it is the act of acceptance** (it becomes the durable
decision record). Implementation PRs then reference the accepted RFC.

Authoring an RFC is open to everyone; **accepting one is a maintainer
decision.** Maintainers may also decline an RFC, with rationale, by closing it.
Expand Down
15 changes: 7 additions & 8 deletions crates/omnigraph/src/db/omnigraph.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1265,19 +1265,18 @@ impl Omnigraph {
Ok(())
}

/// Legacy write-entry heal: converge any roll-forward-eligible recovery
/// Broad write-entry heal: converge any roll-forward-eligible recovery
/// sidecars and leave rollback-eligible intents for the next ReadWrite open.
///
/// This preserves the pre-RFC-022 behavior for adapters that have not yet
/// enrolled in the closed recovery barrier (schema apply and maintenance
/// adapters in this slice). Mutation/load and branch merge use
/// Schema apply calls this broad barrier before acquiring its schema gate;
/// exact adapters then relist and revalidate relevant recovery and authority
/// under their own ordered effect gates. Mutation/load and branch merge use
/// [`heal_pending_recovery_sidecars_for_write`](Self::heal_pending_recovery_sidecars_for_write)
/// instead and reject relevant unresolved intents before capturing a base.
/// to reject relevant unresolved intents before capturing a base.
///
/// Steady-state cost here is one `list_dir` of `__recovery/` (typically
/// empty → immediate return). Enrolled mutation/load and branch-merge
/// attempts perform a second check under their effect gates to close the
/// post-prepare race. See
/// empty → immediate return). Exact adapters perform a second check under
/// their effect gates to close the post-prepare race. See
/// `recovery::heal_pending_sidecars_roll_forward` for the
/// concurrency contract (root-scoped ordered gate acquisition).
pub(crate) async fn heal_pending_recovery_sidecars(&self) -> Result<()> {
Expand Down
Loading