Beside the push gates, crafter-review runs the pre-send review of a kernel contributor's workbench: --mode series over a format-patch export with its cover letter, --mode reply over a mail draft. The inventory partitions a cover letter, a plain mail and the camera review's shape; ten kernel lenses join the table with their gates (structure, code, artifact truth) and the persona gate - one maintainer-persona instance per --reviewers entry, its whole pass gating its blocks and pruning the units that are not theirs. A series' code units are keyed on the code like the push gates'; every text unit on its text, the references it cites and the anchor when it is dated. The references an artifact cites are prefetched through utilities/lore.py into the gate-state, with a digest in the run layer, and a persona's calibration map is its lore listing. The kernel schema carries the persona vocabulary, the kernel note kinds, the predicted review and the not-mine list; the matrix the persona holes, the thin and the modelled units; gates clean without a persona pass is GATES CLEAN. A reply's gate-state sits beside the draft and is read once; a kernel mode needs --subsystem, defaults the effort to max and the trees to work/linux,work/milos-linux, and excuses no unit from the holes. The kernel lenses and the common text ship verbatim; the table lists them after the push gates' lenses and the config template holds them off, so a repository that never turns them on changes nothing. Prompts, keys and plans were checked byte for byte against the pipeline these modes replace, on its own artifacts: two replies and a series, every system prompt, user prompt, job and reuse key identical.
114 lines
2.1 KiB
JSON
114 lines
2.1 KiB
JSON
{
|
|
"base": "origin/main",
|
|
"rangeFrom": "upstream",
|
|
"authors": [
|
|
"you@example.com"
|
|
],
|
|
"aiTrailers": "forbid",
|
|
"requireSigned": false,
|
|
"allowDirty": [],
|
|
"gate0": [
|
|
"make check"
|
|
],
|
|
"lenses": {
|
|
"repo-better-solution": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"repo-functional": {
|
|
"run": false,
|
|
"environment": "browser"
|
|
},
|
|
"repo-bug-prover": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"repo-security": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"repo-facts": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"better-solution": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"code-quality": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"minimalism": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"bug-prover": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"facts": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"consistency": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"process-docs": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"etiquette": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"conciseness": {
|
|
"run": false,
|
|
"environment": "none"
|
|
},
|
|
"maintainer-persona": {
|
|
"run": false,
|
|
"environment": "none"
|
|
}
|
|
},
|
|
"supabase": {
|
|
"dbUrl": "postgresql://postgres:postgres@127.0.0.1:54322/postgres",
|
|
"start": null,
|
|
"stop": null,
|
|
"notes": ""
|
|
},
|
|
"slots": {
|
|
"dir": null,
|
|
"start": null,
|
|
"stop": null,
|
|
"memMb": null,
|
|
"startMb": null
|
|
},
|
|
"functional": {
|
|
"appUrl": "http://localhost:8080",
|
|
"readyPath": "/",
|
|
"apiUrls": [],
|
|
"start": "make run",
|
|
"stop": "make stop",
|
|
"login": {
|
|
"fixtures": [
|
|
".local-stack/test-user.json"
|
|
],
|
|
"notes": "the fixture holds a TOTP-verified login"
|
|
},
|
|
"exclude": [
|
|
"**/*.test.*",
|
|
"**/*.spec.*",
|
|
"docs/**",
|
|
".github/**",
|
|
"*.md"
|
|
],
|
|
"extraTools": [],
|
|
"mcp": {
|
|
"command": "npx",
|
|
"args": null
|
|
},
|
|
"notes": ""
|
|
}
|
|
}
|