Skip to content

Commit 3719b9d

Browse files
committed
feat: harden review flows and backfill regression coverage
1 parent a94b558 commit 3719b9d

File tree

112 files changed

+20095
-296
lines changed

Some content is hidden

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

112 files changed

+20095
-296
lines changed

.github/workflows/ci.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,17 @@ jobs:
2929
- uses: actions/checkout@v4
3030
- uses: oven-sh/setup-bun@v2
3131
with:
32-
bun-version: latest
32+
bun-version: 1.3.8
3333
- run: bun install
34+
- run: bun run lint
35+
- run: bun run verify:m056:s03
36+
- run: bun run verify:m059:s01
37+
- run: bun run verify:m059:s02
38+
- run: bun run check:orphaned-tests
3439
# Bun has been unstable on GitHub runners with one monolithic test process.
3540
# Keep DB-backed tests on a low concurrency cap and split the suite into
3641
# two shorter invocations to avoid cross-file schema interference and runner crashes.
37-
- run: bun test --max-concurrency=2 scripts src/contributor src/enforcement src/execution src/feedback src/handlers src/jobs src/lib src/review-audit src/review-graph src/routes src/slack src/structural-impact src/telemetry src/triage
42+
# The first run covers scripts plus non-knowledge src tests; src/knowledge stays isolated.
43+
- run: bun test --max-concurrency=2 scripts src
3844
- run: bun test --max-concurrency=2 src/knowledge
3945
- run: bunx tsc --noEmit

.github/workflows/nightly-issue-sync.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- uses: actions/checkout@v4
1414
- uses: oven-sh/setup-bun@v2
1515
with:
16-
bun-version: latest
16+
bun-version: 1.3.8
1717
- run: bun install --frozen-lockfile
1818
- name: Run issue sync
1919
run: bun scripts/backfill-issues.ts --sync

.github/workflows/nightly-reaction-sync.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- uses: actions/checkout@v4
1414
- uses: oven-sh/setup-bun@v2
1515
with:
16-
bun-version: latest
16+
bun-version: 1.3.8
1717
- run: bun install --frozen-lockfile
1818
- name: Sync triage comment reactions
1919
run: bun scripts/sync-triage-reactions.ts

bunfig.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[test]
2-
# Only scan for tests in the actual codebase.
3-
# This repo vendors reference code under tmp/ which contains upstream tests.
4-
root = "src"
2+
# Scan the repo root so targeted script verifiers can be run by path, but ignore
3+
# vendored reference code under tmp/ so upstream tests are never discovered.
4+
root = "."
5+
pathIgnorePatterns = ["tmp/**"]

eslint.config.mjs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import tsParser from "@typescript-eslint/parser";
2+
3+
const typescriptFiles = ["src/**/*.ts", "scripts/**/*.ts"];
4+
const operatorFacingCliFiles = [
5+
// Migration progress and rollback status are intentionally printed for humans.
6+
"src/db/migrate.ts",
7+
// These are operator/entrypoint surfaces that fail loudly on startup problems.
8+
"src/index.ts",
9+
"src/config.ts",
10+
"src/execution/agent-entrypoint.ts",
11+
// Repo-owned scripts are mostly verifiers/CLI utilities, so console output is expected.
12+
"scripts/**/*.ts",
13+
];
14+
15+
export default [
16+
{
17+
ignores: ["node_modules/**", "tmp/**", ".gsd/**"],
18+
},
19+
{
20+
files: typescriptFiles,
21+
languageOptions: {
22+
parser: tsParser,
23+
ecmaVersion: "latest",
24+
sourceType: "module",
25+
},
26+
rules: {
27+
// Start with the repo contract this slice actually needs: catch accidental
28+
// console usage in normal source files without introducing a noisy day-one gate.
29+
"no-console": "error",
30+
},
31+
},
32+
{
33+
files: operatorFacingCliFiles,
34+
rules: {
35+
// These surfaces intentionally communicate directly with operators.
36+
"no-console": "off",
37+
},
38+
},
39+
];

package.json

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@
33
"module": "src/index.ts",
44
"type": "module",
55
"private": true,
6+
"packageManager": "bun@1.3.8",
7+
"engines": {
8+
"bun": "1.3.8"
9+
},
610
"scripts": {
711
"dev": "bun run --watch src/index.ts",
812
"start": "bun run src/index.ts",
13+
"lint": "eslint src scripts",
914
"audit:embeddings": "bun scripts/embedding-audit.ts",
1015
"repair:embeddings": "bun scripts/embedding-repair.ts",
1116
"repair:wiki-embeddings": "bun scripts/wiki-embedding-repair.ts",
@@ -60,12 +65,37 @@
6065
"verify:m048:s01": "bun scripts/verify-m048-s01.ts",
6166
"verify:m048:s02": "bun scripts/verify-m048-s02.ts",
6267
"verify:m048:s03": "bun scripts/verify-m048-s03.ts",
63-
"verify:m049:s02": "bun scripts/verify-m049-s02.ts"
68+
"verify:m049:s02": "bun scripts/verify-m049-s02.ts",
69+
"verify:m053": "bun scripts/verify-m053.ts",
70+
"verify:m054:s01": "bun scripts/verify-m054-s01.ts",
71+
"verify:m055:s01": "bun scripts/verify-m055-s01.ts",
72+
"verify:m055:s02": "bun scripts/verify-m055-s02.ts",
73+
"verify:m055:s03": "bun scripts/verify-m055-s03.ts",
74+
"verify:m056:s01": "bun scripts/verify-m056-s01.ts",
75+
"verify:m056:s02": "bun scripts/verify-m056-s02.ts",
76+
"verify:m056:s03": "bun scripts/verify-m056-s03.ts",
77+
"verify:m057:s02": "bun scripts/verify-m057-s02.ts",
78+
"verify:m057:s03": "bun scripts/verify-m057-s03.ts",
79+
"verify:m057:s04": "bun scripts/verify-m057-s04.ts",
80+
"verify:m058:s01": "bun scripts/verify-m058-s01.ts",
81+
"verify:m058:s02": "bun scripts/verify-m058-s02.ts",
82+
"verify:m058:s03": "bun scripts/verify-m058-s03.ts",
83+
"verify:m059:s01": "bun scripts/verify-m059-s01.ts",
84+
"verify:m059:s02": "bun scripts/verify-m059-s02.ts",
85+
"verify:m060:s01": "bun scripts/verify-m060-s01.ts",
86+
"verify:m060:s02": "bun scripts/verify-m060-s02.ts",
87+
"verify:m054:s02": "bun scripts/verify-m054-s02.ts",
88+
"verify:m054:s03": "bun scripts/verify-m054-s03.ts",
89+
"verify:m054:s04": "bun scripts/verify-m054-s04.ts",
90+
"check:migrations-have-downs": "bun scripts/check-migrations-have-downs.ts",
91+
"check:orphaned-tests": "bun scripts/check-orphaned-tests.ts"
6492
},
6593
"devDependencies": {
6694
"@octokit/webhooks-types": "^7.6.1",
6795
"@types/bun": "latest",
68-
"@types/js-yaml": "^4.0.9"
96+
"@types/js-yaml": "^4.0.9",
97+
"@typescript-eslint/parser": "^8.46.1",
98+
"eslint": "^9.38.0"
6999
},
70100
"peerDependencies": {
71101
"typescript": "^5"

0 commit comments

Comments
 (0)