Skip to content

Commit dbb404d

Browse files
authored
Merge branch 'main' into knowledge/intake-2026-09-22
2 parents 6e6bc58 + 45b4971 commit dbb404d

241 files changed

Lines changed: 27800 additions & 4592 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/CODEOWNERS‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Knowledge maintainers own the knowledge gate: its verifier bundle, workflows,
2+
# signing key and this file, plus the knowledge tooling and the non-governed
3+
# knowledge paths. With the ruleset's "require review from Code Owners" and
4+
# "dismiss stale approvals", a change here cannot land without a maintainer
5+
# approving its current head (doc/features/knowledge-service.md).
6+
#
7+
# Governed knowledge pages (knowledge/repos/**, knowledge/general/**) have NO
8+
# code owner on purpose: they merge through the kb-gate signed verdict. A
9+
# human-approved verdict must be approved by an owner of /.github/kb-gate/.
10+
#
11+
# GitHub does not let an author approve their own PR, and knowledge PRs are
12+
# opened as @tzhouam, so at least one more maintainer must be listed below
13+
# before the human-approved path can be used (owner setup step).
14+
15+
/.github/ @tzhouam
16+
/knowledge/tools/ @tzhouam
17+
/knowledge/skills/ @tzhouam
18+
/knowledge/.claude/ @tzhouam

‎.github/kb-gate/MANIFEST.sha256‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
5f6e269fbbb951f9a49c40474a3d71c556ac389f5ebd5545f0ac762f85361723 README.md
2+
77d88b9671927ab95bc6ac9ed57aaa24226423e151843381c2a3fa90cd0cafde config.json
3+
7ae4a3ff0372e54d4a9e5efc3887c2a00e9004b138215901d4c4d8c1ae5a1588 kb_gate.py
4+
5743c4a6943c291073c5344d408eaec28e8bc7440a8ee113365588728ded5e8a l1.py
5+
39f69aa816b83b673443601d38e57040521664c5aca407154ba40a8a35bc61d9 lifecycle.py
6+
b0d0fab0210870f989da80f7ffba3978dbf723f4f087025524d1963c4081a009 ops.py
7+
67f2ebd85e4e886f3facc35a181f575fd6291f1e4a4068f5daca99191609aace requirements.lock
8+
e7fbe6f3d6b02fadfbd86e32e67d588ae698ae2de19ac91aa5db2a250cb93946 signing.py
9+
5c5015e7e9e6314f84e0337a58d9aa1bb6f7ec21ec830e4907dc5c35bbca4a09 verdict.py

‎.github/kb-gate/README.md‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# kb-gate verifier bundle
2+
3+
The required check `kb-gate` runs **only** from this directory. It is generated by
4+
`tools/build_kb_gate_bundle.py` from `src/infermatrix_copilot/knowledge_service/`
5+
(`gate_verifier.py` → `kb_gate.py`, plus `l1`, `lifecycle`, `ops`, `signing`,
6+
`verdict`); do not edit the `.py` files here by hand. The job installs
7+
`requirements.lock` with `--require-hashes --no-deps` and checks `MANIFEST.sha256`
8+
before running anything.
9+
10+
Changing anything here is a `.github/**` change and needs CODEOWNERS approval, so a
11+
code PR that weakens `src/` or `knowledge/tools/` cannot weaken the gate.
12+
13+
`config.json`:
14+
15+
- `holds_url`: the public HTTPS URL of the knowledge service's signed hold list
16+
(`<state_dir>/public/holds.json` on the bot host). Until it is set, every PR that
17+
touches `knowledge/` fails closed. PRs that do not touch `knowledge/` always pass.
18+
19+
The service's public key is `.github/kb-gate.pub` (`ed25519 <base64>`, the output of
20+
`kb keygen`). Without it, every knowledge PR fails closed.
21+
22+
See `doc/features/knowledge-service.md` for the stages (PR precheck and merge group)
23+
and what each checks.

‎.github/kb-gate/config.json‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"holds_url": ""
3+
}

0 commit comments

Comments
 (0)