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
80 changes: 80 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Canonical Dependabot configuration of the Libre AI fleet.
#
# Source of truth: libre-ai/project-governance, distribution/templates/dependabot/ —
# two variants, one per manifest set observed at main. github-actions is
# always present (every repository carries .github/workflows); cargo is added
# when Cargo.toml exists: github-actions.yml, cargo.yml. Every non-archived
# repository of ecosystem/repositories.v1.yaml carries the byte-exact copy of
# its variant at .github/dependabot.yml; the weekly "Inventory drift" job
# (ecosystem/check-dependabot-conformance.ts) names each repository that
# does not. Never edit this copy — change the template in governance and let
# the next fleet wave carry it.
#
# No bun entry, on purpose (owner decision 2026-09-08). The bun variants
# published on 2026-09-07 failed on their first run (governance run
# 34139635260, job "bun in /."):
# Dependabot::DependencyFileNotSupported —
# Unsupported bun.lock 'lockfileVersion' 2 in /bun.lock.
# The bun version Dependabot runs supports up to 1.
# Every fleet lockfile is written by bun 1.4 (lockfileVersion 2), so a bun
# entry is a permanent job error that opens no pull request — a guard that
# cannot prove it ran, which the doctrine forbids. Upstream:
# https://github.com/dependabot/dependabot-core/issues/16026 (open on
# 2026-09-08, "Bun 1.4 uses lockfile v2 which dependabot currently does not
# support"). Restore the entry when dependabot-core reads lockfileVersion 2 —
# an owner decision, proved by a trial pull request on one repository before
# any fleet wave. Until then bun dependencies are watched by the weekly
# "Fleet advisories" workflow (`bun audit` on every living lockfile,
# tools/security/check-fleet-advisories.ts) and bumped by agent waves.
#
# Release-age guard, on purpose: bunfig.toml pins minimumReleaseAge to
# 259200 seconds (3 days). A bump to a version younger than that fails
# `bun install --frozen-lockfile` in CI, and that red is the guard working —
# never widen minimumReleaseAgeExcludes to make a Dependabot pull request
# pass. `cooldown` below restates Dependabot's own 3-day default so both
# guards read the same number; Dependabot never replaces the CI floor.
#
# Labels are left to Dependabot's defaults (`dependencies` plus the ecosystem
# label, created on demand): a custom label absent from a repository is
# silently ignored, which across a fleet is a guard that cannot prove it ran.
#
# Dependabot commits are forge-authored: the DCO gate accepts them from
# governance generation 767ee84a (governance #29) onward and rejects them
# before it — bump the fleet pin before restoring Dependabot on a repository.
version: 2
updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
day: monday
time: "06:00"
timezone: Europe/Paris
open-pull-requests-limit: 5
commit-message:
prefix: "chore(deps)"
cooldown:
default-days: 3
groups:
github-actions:
patterns:
- "*"
- package-ecosystem: cargo
directory: "/"
schedule:
interval: weekly
day: monday
time: "06:00"
timezone: Europe/Paris
open-pull-requests-limit: 5
commit-message:
prefix: "chore(deps)"
cooldown:
default-days: 3
groups:
cargo-minor-and-patch:
patterns:
- "*"
update-types:
- minor
- patch
33 changes: 33 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# capability-authorization Canonical Agent Rules

## Authority

Deny-by-default capability authorization on Biscuit Ed25519 tokens, couche 3
brick of the constellation.
Doctrine lives upstream: https://raw.githubusercontent.com/libre-ai/project-governance/HEAD/AGENTS.md
Project state lives in `project.v1.yaml`; the generated README status section
is rendered from it — never edit that section by hand.

## Boundaries

- The six Datalog policies under `vendored/authz/` are a byte-exact projection
of `libre-ai/schemas-and-contracts`: never edit them in place; a policy change
is a contracts pin bump followed by re-projection.
- `third_party/biscuit-auth-6.0.0/` and `third_party/patches/` hold the vendored
`biscuit-auth` patch (I-28) and its provenance gate
(`scripts/verify-vendored-biscuit-auth.sh`): never modify them outside a
dedicated, reviewed change.
- The revocation store and the key ring are consumed, never held here.
- Serialized tokens never cross the browser boundary.

## Quality gates

Run `bun run check` from the local composition (`docs/development.md`) before
pushing; never hide a red test.

## Agents

- Security > quality > performance > completeness, in that order on conflict.
- Stage files before running tree-walking gates.
- Never put token bytes, private keys or rejected terms in logs or errors.
- Never commit a machine-local absolute filesystem path.
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@AGENTS.md
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,18 @@ Services need permissions that specify which action is allowed on which resource

Source code and tests are available in this repository; no package is published to a registry.

## Project status

<!-- libre-ai:project-status:begin -->
<!-- Section générée depuis project.v1.yaml — ne pas éditer à la main. -->

- Situation actuelle : Née verte en γ 3.4 ; six politiques datalog vendorées sous gate de dérive contre le pin contracts.
- Maturité : usable
- Exposition : spec-published
- Confiance : medium
- Preuves vérifiées le : 2026-07-30
- Avancement : 50 % du périmètre actuellement déclaré

<!-- libre-ai:project-status:end -->

Explore the [Libre AI project catalogue](https://github.com/libre-ai/.github/blob/main/profile/README.md).
4 changes: 2 additions & 2 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"bun": ">=1.4.0"
},
"overrides": {
"fast-uri": "4.1.4",
"fast-uri": "4.1.5",
"@libre-ai/governance": "file:../project-governance"
},
"devDependencies": {
Expand Down