@mrciphersmith/keryx 0.3.130 → 0.3.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +6434 -3852
- package/dist/core.js +34 -19
- package/package.json +5 -3
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.detail.md +14 -0
package/dist/core.js
CHANGED
|
@@ -11988,6 +11988,7 @@ function renderMetaprojectGitignoreBlock() {
|
|
|
11988
11988
|
# entries rather than inheriting coverage that does not exist.
|
|
11989
11989
|
.metaproject/data/learning/observations/
|
|
11990
11990
|
.metaproject/data/learning/candidates/
|
|
11991
|
+
.metaproject/data/learning/probes/
|
|
11991
11992
|
# Recommendation journal (flow 392): what the human chose and why they deviated.
|
|
11992
11993
|
# Personal runtime state, written 0o600.
|
|
11993
11994
|
.metaproject/data/decisions/
|
|
@@ -29210,6 +29211,39 @@ function decisionWriters(kind, packageArg = "<review-dir>") {
|
|
|
29210
29211
|
import { existsSync as existsSync7 } from "fs";
|
|
29211
29212
|
import { cp, mkdir as mkdir9, mkdtemp, readFile as readFile22, readdir as readdir11, realpath as realpath12, rm as rm3, symlink, writeFile as writeFile6 } from "fs/promises";
|
|
29212
29213
|
import path50 from "path";
|
|
29214
|
+
|
|
29215
|
+
// src/lib/git-env.ts
|
|
29216
|
+
var GIT_DISCOVERY_OVERRIDE_VARS = [
|
|
29217
|
+
"GIT_DIR",
|
|
29218
|
+
"GIT_WORK_TREE",
|
|
29219
|
+
"GIT_INDEX_FILE",
|
|
29220
|
+
"GIT_OBJECT_DIRECTORY",
|
|
29221
|
+
"GIT_ALTERNATE_OBJECT_DIRECTORIES",
|
|
29222
|
+
"GIT_COMMON_DIR"
|
|
29223
|
+
];
|
|
29224
|
+
function withoutGitDiscoveryOverrides(env) {
|
|
29225
|
+
const clean = {};
|
|
29226
|
+
for (const [key, value] of Object.entries(env)) {
|
|
29227
|
+
if (value !== undefined && !GIT_DISCOVERY_OVERRIDE_VARS.includes(key)) {
|
|
29228
|
+
clean[key] = value;
|
|
29229
|
+
}
|
|
29230
|
+
}
|
|
29231
|
+
return clean;
|
|
29232
|
+
}
|
|
29233
|
+
|
|
29234
|
+
// src/review/worktree-provenance.ts
|
|
29235
|
+
var REVIEW_PACKAGES_DIR = ".metaproject/reviews";
|
|
29236
|
+
var EXCLUDE_REVIEW_PACKAGES = `:(exclude)${REVIEW_PACKAGES_DIR}`;
|
|
29237
|
+
var DEFAULT_PROVENANCE_LIMITS = {
|
|
29238
|
+
maxUntrackedFiles: 20000,
|
|
29239
|
+
maxHashedFileBytes: 10 * 1024 * 1024,
|
|
29240
|
+
maxGitOutputBytes: 64 * 1024 * 1024,
|
|
29241
|
+
maxTotalBytes: 256 * 1024 * 1024,
|
|
29242
|
+
gitTimeoutMs: 60000,
|
|
29243
|
+
maxMs: 120000
|
|
29244
|
+
};
|
|
29245
|
+
|
|
29246
|
+
// src/review/mutate.ts
|
|
29213
29247
|
var MUTANT_KINDS = ["behavior", "presentation"];
|
|
29214
29248
|
var MUTANTS_SPEC = "mutants.json";
|
|
29215
29249
|
var EVIDENCE_DIR = "research-evidence";
|
|
@@ -38342,25 +38376,6 @@ init_contained_write();
|
|
|
38342
38376
|
import { existsSync as existsSync17 } from "fs";
|
|
38343
38377
|
import { readFile as readFile61, readdir as readdir20 } from "fs/promises";
|
|
38344
38378
|
import path119 from "path";
|
|
38345
|
-
|
|
38346
|
-
// src/lib/git-env.ts
|
|
38347
|
-
var GIT_DISCOVERY_OVERRIDE_VARS = [
|
|
38348
|
-
"GIT_DIR",
|
|
38349
|
-
"GIT_WORK_TREE",
|
|
38350
|
-
"GIT_INDEX_FILE",
|
|
38351
|
-
"GIT_OBJECT_DIRECTORY",
|
|
38352
|
-
"GIT_ALTERNATE_OBJECT_DIRECTORIES",
|
|
38353
|
-
"GIT_COMMON_DIR"
|
|
38354
|
-
];
|
|
38355
|
-
function withoutGitDiscoveryOverrides(env) {
|
|
38356
|
-
const clean = {};
|
|
38357
|
-
for (const [key, value] of Object.entries(env)) {
|
|
38358
|
-
if (value !== undefined && !GIT_DISCOVERY_OVERRIDE_VARS.includes(key)) {
|
|
38359
|
-
clean[key] = value;
|
|
38360
|
-
}
|
|
38361
|
-
}
|
|
38362
|
-
return clean;
|
|
38363
|
-
}
|
|
38364
38379
|
// src/metrics/lifecycle.ts
|
|
38365
38380
|
init_fs();
|
|
38366
38381
|
init_guard();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrciphersmith/keryx",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.132",
|
|
4
4
|
"description": "Version-controlled project context for AI coding agents: code graph, architecture wiki, project memory, relevant tests, quality signals, and task flows.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -75,10 +75,12 @@
|
|
|
75
75
|
],
|
|
76
76
|
"dependencies": {},
|
|
77
77
|
"overrides": {
|
|
78
|
-
"fast-uri": "^3.1.
|
|
79
|
-
"
|
|
78
|
+
"fast-uri": "^3.1.9",
|
|
79
|
+
"body-parser": "^2.4.0",
|
|
80
|
+
"ip-address": "^10.7.4",
|
|
80
81
|
"hono": "^4.13.11",
|
|
81
82
|
"qs": "^6.16.0",
|
|
83
|
+
"zod": "^4.6.6",
|
|
82
84
|
"@hono/node-server": "^1.19.15",
|
|
83
85
|
"protobufjs": "7.6.6",
|
|
84
86
|
"sharp": "0.35.5"
|
|
@@ -775,6 +775,20 @@ and `.json`. A mutant is `killed` (the suite went red), `survived` (nothing pins
|
|
|
775
775
|
behaviour), `timeout`, or `invalid` (anchor missing or not unique, file outside the copy).
|
|
776
776
|
A survivor is evidence for the finding that names it.
|
|
777
777
|
|
|
778
|
+
When `--test` is a plain `[env] [NAME=value] bun test <paths>` command, each mutant runs with
|
|
779
|
+
`--bail` inserted right after `bun test`: the first red test ends that run, so a killed mutant
|
|
780
|
+
costs the time to its first failure, not the whole suite. The baseline always runs in full, and
|
|
781
|
+
a green run is the same with or without the flag, so a survivor stays a survivor. One verdict can move: a mutant that fails an early test and would hang in a later one is `killed` with bail and `timeout` without it. Any other command shape
|
|
782
|
+
(`sh script`, quotes, pipes, `bunx`) runs as given. `--no-bail` turns this off and takes no value.
|
|
783
|
+
The `.json` record carries `bail: true` when it was applied; always `startedAt`, `loadavg` (sampled
|
|
784
|
+
at the start of the pass), `provenanceMs`, `copyMs` and `mutantsMs`; and `head` and `treeHash` only
|
|
785
|
+
when the worktree is the root of a git checkout and the size and time limits of that step held.
|
|
786
|
+
`treeHash` hashes the tracked changes against HEAD (staged or not) and the untracked, non-ignored
|
|
787
|
+
files, so two passes over the same code agree. It leaves out the review packages under
|
|
788
|
+
`.metaproject/reviews`, ignored files (the scratch copy still includes them), the inside of an
|
|
789
|
+
untracked nested repository, and the content of an untracked file over 10 MiB (counted by size).
|
|
790
|
+
Records written before these fields exist stay valid.
|
|
791
|
+
|
|
778
792
|
`keryx review complete` refuses while proposed mutants are unrun on an attended round, unless the
|
|
779
793
|
operator waived the pass themselves: the `review_waive_mutation` card in keryx shell, or their answer to
|
|
780
794
|
the host question recorded with `keryx review waive-mutation --package <review-dir> --reason "<why>"
|