@open-tomato/rafa 0.33.0 → 0.34.1
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/README.md +39 -0
- package/dist/bundled/operators/agents/rafa-stretch-analyst.md +53 -0
- package/dist/bundled/operators/agents/rafa-stretch-engineer.md +15 -5
- package/dist/bundled/operators/skills/rafa-stretch-pit-stop/SKILL.md +8 -2
- package/dist/bundled/skills/dev-planner/SKILL.md +3 -3
- package/dist/bundled/skills/git-workflow/SKILL.md +1 -1
- package/dist/cli.js +1935 -605
- package/dist/effort/store/index.js +2 -2
- package/dist/{index-kz7e4gtt.js → index-bebv92ha.js} +112 -58
- package/dist/{index-13caphhp.js → index-nr4hdb35.js} +672 -23
- package/dist/{index-w3vyb08t.js → index-s8ff86xt.js} +689 -198
- package/dist/{index-zn08ywsv.js → index-v8d7c6sw.js} +1 -1
- package/dist/{index-dv0ycmp8.js → index-vp0xghk2.js} +40 -0
- package/dist/index.js +4 -4
- package/dist/plan/index.js +2 -2
- package/package.json +4 -2
|
@@ -324,6 +324,35 @@ var TESTS_SETTINGS = {
|
|
|
324
324
|
testsIntegration: { key: "tests.integration", read: globList, cli: false }
|
|
325
325
|
};
|
|
326
326
|
|
|
327
|
+
// src/config-schema-triage.ts
|
|
328
|
+
var SIMILARITY_THRESHOLD_MAX = 1;
|
|
329
|
+
var SIMILARITY_CANDIDATES_MIN = 1;
|
|
330
|
+
var SIMILARITY_CANDIDATES_MAX = 10;
|
|
331
|
+
function isThreshold(raw) {
|
|
332
|
+
return typeof raw === "number" && Number.isFinite(raw) && raw > 0 && raw <= SIMILARITY_THRESHOLD_MAX;
|
|
333
|
+
}
|
|
334
|
+
function isCandidateCount(raw) {
|
|
335
|
+
return typeof raw === "number" && Number.isSafeInteger(raw) && raw >= SIMILARITY_CANDIDATES_MIN && raw <= SIMILARITY_CANDIDATES_MAX;
|
|
336
|
+
}
|
|
337
|
+
var similarityThreshold = (raw, at) => raw === false || isThreshold(raw) ? { value: raw, problems: [], extras: [] } : refused(at, raw, `false or a number above 0 and at most ${String(SIMILARITY_THRESHOLD_MAX)}`);
|
|
338
|
+
var similarityCandidates = (raw, at) => isCandidateCount(raw) ? { value: raw, problems: [], extras: [] } : refused(at, raw, `a whole number from ${String(SIMILARITY_CANDIDATES_MIN)} to ${String(SIMILARITY_CANDIDATES_MAX)}`);
|
|
339
|
+
var TRIAGE_DEFAULTS = Object.freeze({
|
|
340
|
+
triageSimilarityThreshold: 0.3,
|
|
341
|
+
triageSimilarityCandidates: 3
|
|
342
|
+
});
|
|
343
|
+
var TRIAGE_SETTINGS = {
|
|
344
|
+
triageSimilarityThreshold: {
|
|
345
|
+
key: "triage.similarity.threshold",
|
|
346
|
+
read: similarityThreshold,
|
|
347
|
+
cli: false
|
|
348
|
+
},
|
|
349
|
+
triageSimilarityCandidates: {
|
|
350
|
+
key: "triage.similarity.candidates",
|
|
351
|
+
read: similarityCandidates,
|
|
352
|
+
cli: false
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
|
|
327
356
|
// src/config-schema-wrap-up.ts
|
|
328
357
|
var WRAP_UP_RETRIES_MIN = 1;
|
|
329
358
|
var WRAP_UP_RETRIES_MAX = 3;
|
|
@@ -536,6 +565,7 @@ var CONFIG_DEFAULTS = Object.freeze({
|
|
|
536
565
|
roadmapIssue: null,
|
|
537
566
|
claimsStaleAfter: "3d",
|
|
538
567
|
claimsAhead: "off",
|
|
568
|
+
...TRIAGE_DEFAULTS,
|
|
539
569
|
...RELEASE_DEFAULTS,
|
|
540
570
|
cleanupStaleDays: 30,
|
|
541
571
|
cleanupWorktreeIdleDays: 7,
|
|
@@ -623,6 +653,7 @@ var SETTINGS = {
|
|
|
623
653
|
roadmapIssue: { key: "roadmap.issue", read: issueNumber, cli: false },
|
|
624
654
|
claimsStaleAfter: { key: "claims.staleAfter", read: claimsStaleAfter, cli: false },
|
|
625
655
|
claimsAhead: { key: "claims.ahead", read: claimsAhead, cli: false },
|
|
656
|
+
...TRIAGE_SETTINGS,
|
|
626
657
|
...RELEASE_SETTINGS,
|
|
627
658
|
cleanupStaleDays: { key: "cleanup.staleDays", read: dayCount, cli: false },
|
|
628
659
|
cleanupWorktreeIdleDays: {
|
|
@@ -758,6 +789,8 @@ function readLayer(rawOf, atOf) {
|
|
|
758
789
|
roadmapIssue: read("roadmapIssue"),
|
|
759
790
|
claimsStaleAfter: read("claimsStaleAfter"),
|
|
760
791
|
claimsAhead: read("claimsAhead"),
|
|
792
|
+
triageSimilarityThreshold: read("triageSimilarityThreshold"),
|
|
793
|
+
triageSimilarityCandidates: read("triageSimilarityCandidates"),
|
|
761
794
|
releaseEnabled: read("releaseEnabled"),
|
|
762
795
|
releaseVersionFile: read("releaseVersionFile"),
|
|
763
796
|
releaseChangelog: read("releaseChangelog"),
|
|
@@ -821,7 +854,14 @@ function sortKeys(document, path) {
|
|
|
821
854
|
}
|
|
822
855
|
return { named, extras, problems };
|
|
823
856
|
}
|
|
857
|
+
var TAB_INDENTED_LINE = /^[ \t]*\t[ \t]*[^\s#]/;
|
|
858
|
+
function tabIndentProblems(text2, path) {
|
|
859
|
+
return text2.split(/\r?\n/).flatMap((line, index) => TAB_INDENTED_LINE.test(line) ? [`${path}: line ${index + 1} is indented with a tab; YAML indents with spaces only`] : []);
|
|
860
|
+
}
|
|
824
861
|
function parseYaml(text2, path) {
|
|
862
|
+
const tabProblems = tabIndentProblems(text2, path);
|
|
863
|
+
if (tabProblems.length > 0)
|
|
864
|
+
throw new ConfigError(tabProblems);
|
|
825
865
|
try {
|
|
826
866
|
return Bun.YAML.parse(text2);
|
|
827
867
|
} catch (error) {
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
start,
|
|
11
11
|
usage,
|
|
12
12
|
validateManifest
|
|
13
|
-
} from "./index-
|
|
13
|
+
} from "./index-s8ff86xt.js";
|
|
14
14
|
import {
|
|
15
15
|
PLAN_BLOCK_KINDS,
|
|
16
16
|
PLAN_HEADER_FIELDS,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
renderInjection,
|
|
25
25
|
runPreflight,
|
|
26
26
|
runShellProbe
|
|
27
|
-
} from "./index-
|
|
27
|
+
} from "./index-v8d7c6sw.js";
|
|
28
28
|
import {
|
|
29
29
|
CORE_ADAPTER_REGISTRY,
|
|
30
30
|
DISK_FILE_SYSTEM,
|
|
@@ -53,7 +53,7 @@ import {
|
|
|
53
53
|
scopeAt,
|
|
54
54
|
selectEffortStore,
|
|
55
55
|
selfAndAncestors
|
|
56
|
-
} from "./index-
|
|
56
|
+
} from "./index-bebv92ha.js";
|
|
57
57
|
import {
|
|
58
58
|
CONFIG_DEFAULTS,
|
|
59
59
|
CONFIG_FILE,
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
parseReport,
|
|
71
71
|
readRafaBlocks,
|
|
72
72
|
resolveConfig
|
|
73
|
-
} from "./index-
|
|
73
|
+
} from "./index-vp0xghk2.js";
|
|
74
74
|
import"./index-d6d0942q.js";
|
|
75
75
|
import"./index-k6sd4ym5.js";
|
|
76
76
|
import"./index-3mzw3kzh.js";
|
package/dist/plan/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
renderInjection,
|
|
13
13
|
runPreflight,
|
|
14
14
|
runShellProbe
|
|
15
|
-
} from "../index-
|
|
15
|
+
} from "../index-v8d7c6sw.js";
|
|
16
16
|
import {
|
|
17
17
|
FINDING_KINDS,
|
|
18
18
|
FINDING_SIGNALS,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
isRafaBlockKind,
|
|
22
22
|
parseReport,
|
|
23
23
|
readRafaBlocks
|
|
24
|
-
} from "../index-
|
|
24
|
+
} from "../index-vp0xghk2.js";
|
|
25
25
|
import {
|
|
26
26
|
INJECT_MODES
|
|
27
27
|
} from "../index-fzhd3d4y.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tomato/rafa",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.1",
|
|
4
4
|
"description": "Alpha. Runs a plan through the ralph loop: one Claude Code session per task, one commit per task, then a pull request and a CI wait.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -57,7 +57,9 @@
|
|
|
57
57
|
"lint": "eslint .",
|
|
58
58
|
"check-types": "tsc --noEmit && bun run --filter './packages/*' check-types",
|
|
59
59
|
"gate:control-bytes": "bun scripts/control-byte-gate/control-byte-gate.ts",
|
|
60
|
-
"snapshot": "bun scripts/snapshot-runtime.ts"
|
|
60
|
+
"snapshot": "bun scripts/snapshot-runtime.ts",
|
|
61
|
+
"stretch": "bash scripts/stretch/stretch.sh",
|
|
62
|
+
"device:check": "bash scripts/device/check.sh"
|
|
61
63
|
},
|
|
62
64
|
"devDependencies": {
|
|
63
65
|
"@eslint/js": "^9.39.4",
|