@galaxy-stack/ai-coder-core 0.1.0 → 0.3.0-alpha.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/CHANGELOG.d/2026-09-19-advisory-guard-policy.md +25 -0
- package/CHANGELOG.d/2026-09-19-research-citation-parsing.md +16 -0
- package/CHANGELOG.d/2026-09-19-test-journal-reporter.md +8 -0
- package/CHANGELOG.d/README.md +16 -0
- package/CHANGELOG.md +96 -0
- package/README.md +41 -4
- package/dist/context/checkpoint.d.ts +3 -0
- package/dist/context/checkpoint.d.ts.map +1 -1
- package/dist/context/checkpoint.js +30 -1
- package/dist/context/checkpoint.js.map +1 -1
- package/dist/prompt/prompt-assembler.d.ts +1 -1
- package/dist/prompt/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt/prompt-assembler.js +24 -1
- package/dist/prompt/prompt-assembler.js.map +1 -1
- package/dist/runtime/completion-gate.d.ts +1 -1
- package/dist/runtime/completion-gate.d.ts.map +1 -1
- package/dist/runtime/completion-gate.js +12 -0
- package/dist/runtime/completion-gate.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/research-citations.d.ts +15 -0
- package/dist/runtime/research-citations.d.ts.map +1 -0
- package/dist/runtime/research-citations.js +49 -0
- package/dist/runtime/research-citations.js.map +1 -0
- package/dist/runtime/run-controller.d.ts +6 -0
- package/dist/runtime/run-controller.d.ts.map +1 -1
- package/dist/runtime/run-controller.js +143 -41
- package/dist/runtime/run-controller.js.map +1 -1
- package/dist/runtime/runtime-types.d.ts +10 -0
- package/dist/runtime/runtime-types.d.ts.map +1 -1
- package/docs/ARCHITECTURE.md +13 -2
- package/docs/HOST_CONFORMANCE.md +38 -0
- package/docs/PROMPT_CONTRACT.md +9 -0
- package/package.json +8 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembler.js","sourceRoot":"","sources":["../../src/prompt/prompt-assembler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-assembler.js","sourceRoot":"","sources":["../../src/prompt/prompt-assembler.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,7 @@ export type AiCoderCompletionRequirements = Readonly<{
|
|
|
65
65
|
}>;
|
|
66
66
|
}>;
|
|
67
67
|
export type AiCoderCompletionIssue = Readonly<{
|
|
68
|
-
code: "ACCEPTANCE_CRITERIA_OPEN" | "DIFF_NOT_REVIEWED" | "FINAL_REPORT_EMPTY" | "FINAL_REPORT_NOT_STORED" | "INSPECTION_MISSING" | "OPEN_PROBLEMS" | "PENDING_APPROVAL" | "RESEARCH_CITATION_MISSING" | "RESEARCH_EVIDENCE_MISSING" | "RUNNING_TOOL_CALL" | "TOKEN_LEDGER_NOT_FINALIZED" | "TRACE_NOT_FINALIZED" | "VALIDATION_FAILED" | "VALIDATION_MISSING" | "WORKSPACE_EVIDENCE_STALE" | "WRITE_EVIDENCE_INVALID" | "WRITE_NOT_VALIDATED";
|
|
68
|
+
code: "ACCEPTANCE_CRITERIA_OPEN" | "DIFF_NOT_REVIEWED" | "FINAL_REPORT_EMPTY" | "FINAL_REPORT_NOT_STORED" | "INSPECTION_MISSING" | "OPEN_PROBLEMS" | "PENDING_APPROVAL" | "RESEARCH_CITATION_MISSING" | "RESEARCH_CITATION_UNSUPPORTED" | "RESEARCH_EVIDENCE_MISSING" | "RUNNING_TOOL_CALL" | "TOKEN_LEDGER_NOT_FINALIZED" | "TRACE_NOT_FINALIZED" | "VALIDATION_FAILED" | "VALIDATION_MISSING" | "WORKSPACE_EVIDENCE_STALE" | "WRITE_EVIDENCE_INVALID" | "WRITE_NOT_VALIDATED";
|
|
69
69
|
detail: string;
|
|
70
70
|
}>;
|
|
71
71
|
export declare function evaluateAiCoderCompletion(snapshot: AiCoderCompletionSnapshot, requirements?: AiCoderCompletionRequirements): Readonly<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-gate.d.ts","sourceRoot":"","sources":["../../src/runtime/completion-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"completion-gate.d.ts","sourceRoot":"","sources":["../../src/runtime/completion-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isAiCoderWorkspaceMutationEvidence, } from "../context/checkpoint.js";
|
|
2
|
+
import { canonicalResearchUrl, researchCitations } from "./research-citations.js";
|
|
2
3
|
function writeIsValidated(write, validations) {
|
|
3
4
|
const coveredBy = (scopePath) => {
|
|
4
5
|
const normalizedScope = scopePath.replaceAll("\\", "/").replace(/^\.\//, "").replace(/\/$/, "") || ".";
|
|
@@ -55,6 +56,17 @@ export function evaluateAiCoderCompletion(snapshot, requirements = {}) {
|
|
|
55
56
|
&& !fetched.some((source) => snapshot.finalReport.includes(source.url))) {
|
|
56
57
|
add("RESEARCH_CITATION_MISSING", "The final report must cite at least one successfully fetched source URL.");
|
|
57
58
|
}
|
|
59
|
+
if (research.requireCitations && fetched.length) {
|
|
60
|
+
// Every cited URL must carry successful fetch evidence. Citing a
|
|
61
|
+
// plausible-but-unfetched URL presents an unverified source as
|
|
62
|
+
// evidence; the rejection feedback lets the model rewrite the report
|
|
63
|
+
// with fetched citations inside the completion-rejection budget.
|
|
64
|
+
const fetchedUrls = new Set(fetched.map((source) => canonicalResearchUrl(source.url)));
|
|
65
|
+
const cited = researchCitations(snapshot.finalReport).filter((url) => !fetchedUrls.has(url));
|
|
66
|
+
if (cited.length) {
|
|
67
|
+
add("RESEARCH_CITATION_UNSUPPORTED", `The final report cites ${cited.length} URL(s) without successful fetch evidence: ${cited.slice(0, 8).join(", ")}. Cite only URLs returned by successful fetch calls.`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
58
70
|
}
|
|
59
71
|
if (snapshot.openProblems?.length) {
|
|
60
72
|
add("OPEN_PROBLEMS", `${snapshot.openProblems.length} unresolved problem(s) remain.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-gate.js","sourceRoot":"","sources":["../../src/runtime/completion-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,GAEnC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"completion-gate.js","sourceRoot":"","sources":["../../src/runtime/completion-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./completion-gate.js";
|
|
|
2
2
|
export * from "./run-controller.js";
|
|
3
3
|
export * from "./runtime-error.js";
|
|
4
4
|
export * from "./runtime-types.js";
|
|
5
|
+
export * from "./research-citations.js";
|
|
5
6
|
export * from "./state-machine.js";
|
|
6
7
|
export * from "./trace-emitter.js";
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./completion-gate.js";
|
|
|
2
2
|
export * from "./run-controller.js";
|
|
3
3
|
export * from "./runtime-error.js";
|
|
4
4
|
export * from "./runtime-types.js";
|
|
5
|
+
export * from "./research-citations.js";
|
|
5
6
|
export * from "./state-machine.js";
|
|
6
7
|
export * from "./trace-emitter.js";
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared citation extraction and URL canonicalization for research evidence.
|
|
3
|
+
* The completion gate and the host research oracle must agree on which URLs
|
|
4
|
+
* count as cited, so both call these helpers instead of maintaining separate
|
|
5
|
+
* normalizations.
|
|
6
|
+
*/
|
|
7
|
+
/** Canonicalizes an http(s) URL for citation comparison: credentials rejected, fragment stripped, trailing slash preserved by the URL parser. */
|
|
8
|
+
export declare function canonicalResearchUrl(value: unknown): string | null;
|
|
9
|
+
/**
|
|
10
|
+
* Extracts the set of cited URLs from a final report. Trailing prose
|
|
11
|
+
* punctuation is stripped while balanced parentheses that belong to the URL
|
|
12
|
+
* (for example /wiki/Retry_(pattern)) are retained.
|
|
13
|
+
*/
|
|
14
|
+
export declare function researchCitations(content: string): string[];
|
|
15
|
+
//# sourceMappingURL=research-citations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research-citations.d.ts","sourceRoot":"","sources":["../../src/runtime/research-citations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iJAAiJ;AACjJ,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CASlE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB3D"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared citation extraction and URL canonicalization for research evidence.
|
|
3
|
+
* The completion gate and the host research oracle must agree on which URLs
|
|
4
|
+
* count as cited, so both call these helpers instead of maintaining separate
|
|
5
|
+
* normalizations.
|
|
6
|
+
*/
|
|
7
|
+
/** Canonicalizes an http(s) URL for citation comparison: credentials rejected, fragment stripped, trailing slash preserved by the URL parser. */
|
|
8
|
+
export function canonicalResearchUrl(value) {
|
|
9
|
+
try {
|
|
10
|
+
const url = new URL(value);
|
|
11
|
+
if (!["http:", "https:"].includes(url.protocol) || url.username || url.password)
|
|
12
|
+
return null;
|
|
13
|
+
url.hash = "";
|
|
14
|
+
return url.href;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Extracts the set of cited URLs from a final report. Trailing prose
|
|
22
|
+
* punctuation is stripped while balanced parentheses that belong to the URL
|
|
23
|
+
* (for example /wiki/Retry_(pattern)) are retained.
|
|
24
|
+
*/
|
|
25
|
+
export function researchCitations(content) {
|
|
26
|
+
return [...new Set((content.match(/https?:\/\/[^\s<>"`[\]]+/g) ?? [])
|
|
27
|
+
.map((match) => {
|
|
28
|
+
let url = match;
|
|
29
|
+
// Markdown emphasis and list punctuation ride outside the URL
|
|
30
|
+
// ("**https://example.com/a**:"), so strip trailing decoration before
|
|
31
|
+
// canonicalizing. Balanced parentheses stay protected below.
|
|
32
|
+
for (;;) {
|
|
33
|
+
const withoutPunctuation = url.replace(/[,.;:!?]+$/, "");
|
|
34
|
+
const withoutEmphasis = withoutPunctuation.replace(/[*_`]+$/, "");
|
|
35
|
+
if (withoutEmphasis === url)
|
|
36
|
+
break;
|
|
37
|
+
url = withoutEmphasis;
|
|
38
|
+
}
|
|
39
|
+
const open = (url.match(/\(/g) ?? []).length;
|
|
40
|
+
let close = (url.match(/\)/g) ?? []).length;
|
|
41
|
+
while (url.endsWith(")") && close > open) {
|
|
42
|
+
url = url.slice(0, -1);
|
|
43
|
+
close--;
|
|
44
|
+
}
|
|
45
|
+
return canonicalResearchUrl(url);
|
|
46
|
+
})
|
|
47
|
+
.filter((url) => url !== null))];
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=research-citations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research-citations.js","sourceRoot":"","sources":["../../src/runtime/research-citations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iJAAiJ;AACjJ,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAe,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC7F,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;aAClE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,8DAA8D;YAC9D,sEAAsE;YACtE,6DAA6D;YAC7D,SAAS,CAAC;gBACR,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACzD,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAClE,IAAI,eAAe,KAAK,GAAG;oBAAE,MAAM;gBACnC,GAAG,GAAG,eAAe,CAAC;YACxB,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC7C,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC5C,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;gBAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAC9E,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -35,6 +35,12 @@ export declare class AiCoderRunController {
|
|
|
35
35
|
private recordNoProgressIncident;
|
|
36
36
|
private countNoProgressEpisode;
|
|
37
37
|
private nudgeRepeatedObservation;
|
|
38
|
+
/**
|
|
39
|
+
* Advisory-only nudge: records model-visible feedback and a trace event
|
|
40
|
+
* without counting a no-progress episode or marking the call as blocked.
|
|
41
|
+
*/
|
|
42
|
+
private addObservationNudge;
|
|
43
|
+
private tracePolicyDecision;
|
|
38
44
|
private shouldAttemptFinalization;
|
|
39
45
|
private enterFinalizationMode;
|
|
40
46
|
private prepareToolCallBatch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-controller.d.ts","sourceRoot":"","sources":["../../src/runtime/run-controller.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"run-controller.d.ts","sourceRoot":"","sources":["../../src/runtime/run-controller.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAGV,oBAAoB,EAEpB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EASlB,MAAM,oBAAoB,CAAC;AA+uB5B,qBAAa,oBAAoB;IAMnB,OAAO,CAAC,QAAQ,CAAC,YAAY;IALzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+D;gBAExD,YAAY,EAAE,sBAAsB;IAMjE,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB;IAInD,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,gBAAgB;IAIvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAwB,GAAG,OAAO;IAO9D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAsB,GAAG,OAAO;IAOrD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBzG,OAAO,CAAC,MAAM;IAyEd,OAAO,CAAC,cAAc;YAMR,MAAM;YAoBN,UAAU;IAOxB,OAAO,CAAC,YAAY;YAWN,gBAAgB;YAsBhB,kBAAkB;IAKhC,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,WAAW;YAaL,uBAAuB;YAuBvB,OAAO;IAkBrB,OAAO,CAAC,mBAAmB;YA6Bb,kBAAkB;YAclB,YAAY;YA4BZ,OAAO;IAoHrB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,6BAA6B;YA+BvB,qBAAqB;YAuBrB,eAAe;YAwGf,OAAO;YAwIP,aAAa;IAgJ3B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,wBAAwB;IAoBhC;;;OAGG;YACW,mBAAmB;YA4BnB,mBAAmB;IAIjC,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,qBAAqB;YAYf,oBAAoB;YAsCpB,eAAe;YAqSf,6BAA6B;YAsD7B,eAAe;IAmB7B,OAAO,CAAC,wBAAwB;IA4DhC,OAAO,CAAC,4BAA4B;YAyBtB,2BAA2B;YAkD3B,gBAAgB;IAoT9B,OAAO,CAAC,kBAAkB;YA8BZ,uBAAuB;YAoCvB,WAAW;YA6GX,cAAc;YAmMd,eAAe;IAyC7B,OAAO,CAAC,MAAM;CAkBf"}
|
|
@@ -19,6 +19,8 @@ const DEFAULT_BUDGET = Object.freeze({
|
|
|
19
19
|
maxRepeatedToolRequests: 2,
|
|
20
20
|
maxToolCalls: 128,
|
|
21
21
|
maxTurns: 48,
|
|
22
|
+
noProgressPolicy: "advisory",
|
|
23
|
+
observationNudgeThresholds: Object.freeze([3, 5, 8]),
|
|
22
24
|
persistenceGraceMs: 10_000,
|
|
23
25
|
toolOutput: Object.freeze({ maxBytes: 48_000, maxTokens: 12_000, tailFraction: 0.25 }),
|
|
24
26
|
});
|
|
@@ -208,6 +210,30 @@ function nonNegativeInteger(value, name) {
|
|
|
208
210
|
throw new RangeError(`${name} must be a non-negative finite number.`);
|
|
209
211
|
return Math.floor(value);
|
|
210
212
|
}
|
|
213
|
+
function normalizeNoProgressPolicy(value) {
|
|
214
|
+
if (value !== "advisory" && value !== "strict") {
|
|
215
|
+
throw new TypeError(`noProgressPolicy must be "advisory" or "strict"; received ${String(value)}.`);
|
|
216
|
+
}
|
|
217
|
+
return value;
|
|
218
|
+
}
|
|
219
|
+
function normalizeObservationNudgeThresholds(value) {
|
|
220
|
+
const values = value ?? DEFAULT_BUDGET.observationNudgeThresholds;
|
|
221
|
+
if (!Array.isArray(values) || values.length === 0) {
|
|
222
|
+
throw new RangeError("observationNudgeThresholds must be a non-empty array.");
|
|
223
|
+
}
|
|
224
|
+
if (values.length > 8)
|
|
225
|
+
throw new RangeError("observationNudgeThresholds must contain at most 8 thresholds.");
|
|
226
|
+
const seen = new Set();
|
|
227
|
+
for (const entry of values) {
|
|
228
|
+
if (!Number.isSafeInteger(entry) || entry < 2) {
|
|
229
|
+
throw new RangeError(`observationNudgeThresholds entries must be integers >= 2; received ${String(entry)}.`);
|
|
230
|
+
}
|
|
231
|
+
if (seen.has(entry))
|
|
232
|
+
throw new RangeError(`observationNudgeThresholds must not contain duplicate threshold ${entry}.`);
|
|
233
|
+
seen.add(entry);
|
|
234
|
+
}
|
|
235
|
+
return Object.freeze([...seen].sort((left, right) => left - right));
|
|
236
|
+
}
|
|
211
237
|
function normalizeBudget(input) {
|
|
212
238
|
return Object.freeze({
|
|
213
239
|
deadlineMs: positiveInteger(input?.deadlineMs ?? DEFAULT_BUDGET.deadlineMs, "deadlineMs"),
|
|
@@ -218,6 +244,8 @@ function normalizeBudget(input) {
|
|
|
218
244
|
maxRepeatedToolRequests: positiveInteger(input?.maxRepeatedToolRequests ?? DEFAULT_BUDGET.maxRepeatedToolRequests, "maxRepeatedToolRequests"),
|
|
219
245
|
maxToolCalls: positiveInteger(input?.maxToolCalls ?? DEFAULT_BUDGET.maxToolCalls, "maxToolCalls"),
|
|
220
246
|
maxTurns: positiveInteger(input?.maxTurns ?? DEFAULT_BUDGET.maxTurns, "maxTurns"),
|
|
247
|
+
noProgressPolicy: normalizeNoProgressPolicy(input?.noProgressPolicy ?? DEFAULT_BUDGET.noProgressPolicy),
|
|
248
|
+
observationNudgeThresholds: normalizeObservationNudgeThresholds(input?.observationNudgeThresholds),
|
|
221
249
|
persistenceGraceMs: positiveInteger(input?.persistenceGraceMs ?? DEFAULT_BUDGET.persistenceGraceMs, "persistenceGraceMs"),
|
|
222
250
|
toolOutput: Object.freeze({
|
|
223
251
|
maxBytes: positiveInteger(input?.toolOutput?.maxBytes ?? DEFAULT_BUDGET.toolOutput.maxBytes, "toolOutput.maxBytes"),
|
|
@@ -1091,6 +1119,16 @@ export class AiCoderRunController {
|
|
|
1091
1119
|
mismatches.push("systemPromptHash");
|
|
1092
1120
|
if (checkpoint.compatibility.taskContractHash !== session.integrity.taskContractHash)
|
|
1093
1121
|
mismatches.push("taskContractHash");
|
|
1122
|
+
const recordedPolicy = checkpoint.noProgress?.policy;
|
|
1123
|
+
if (recordedPolicy !== undefined && recordedPolicy !== session.budget.noProgressPolicy) {
|
|
1124
|
+
mismatches.push(`noProgressPolicy (${recordedPolicy} vs ${session.budget.noProgressPolicy})`);
|
|
1125
|
+
}
|
|
1126
|
+
const recordedThresholds = checkpoint.noProgress?.observationNudgeThresholds;
|
|
1127
|
+
if (recordedThresholds !== undefined
|
|
1128
|
+
&& (recordedThresholds.length !== session.budget.observationNudgeThresholds.length
|
|
1129
|
+
|| recordedThresholds.some((threshold, index) => threshold !== session.budget.observationNudgeThresholds[index]))) {
|
|
1130
|
+
mismatches.push(`observationNudgeThresholds (${recordedThresholds.join(",")} vs ${session.budget.observationNudgeThresholds.join(",")})`);
|
|
1131
|
+
}
|
|
1094
1132
|
if (mismatches.length) {
|
|
1095
1133
|
throw new AiCoderRuntimeError("CHECKPOINT_INCOMPATIBLE", `Checkpoint is incompatible with this run: ${mismatches.join(", ")}.`);
|
|
1096
1134
|
}
|
|
@@ -1519,6 +1557,34 @@ export class AiCoderRunController {
|
|
|
1519
1557
|
"avoid: re-requesting identical bounded observations",
|
|
1520
1558
|
].join("\n"), session.modelTurns);
|
|
1521
1559
|
}
|
|
1560
|
+
/**
|
|
1561
|
+
* Advisory-only nudge: records model-visible feedback and a trace event
|
|
1562
|
+
* without counting a no-progress episode or marking the call as blocked.
|
|
1563
|
+
*/
|
|
1564
|
+
async addObservationNudge(session, call, canonicalToolId, attempt, thresholds) {
|
|
1565
|
+
session.contextManager?.addFeedback([
|
|
1566
|
+
"[GALAXY OBSERVATION NUDGE - trusted runtime state]",
|
|
1567
|
+
attempt === thresholds[0]
|
|
1568
|
+
? `observation: ${canonicalToolId} returned this exact result before; the retained copy is already in context.`
|
|
1569
|
+
: `observation: ${canonicalToolId} has been requested ${attempt} times; the retained result has not produced new work.`,
|
|
1570
|
+
`tool: ${call.name}`,
|
|
1571
|
+
`tool_call_id: ${call.toolCallId}`,
|
|
1572
|
+
"next_strategy: use the retained evidence, change the query or path, or perform the next required action",
|
|
1573
|
+
`advisory_thresholds: ${thresholds.join(", ")}`,
|
|
1574
|
+
"avoid: re-requesting identical bounded observations",
|
|
1575
|
+
].join("\n"), session.modelTurns);
|
|
1576
|
+
await this.tracePolicyDecision(session, Object.freeze({
|
|
1577
|
+
action: "observation_nudge",
|
|
1578
|
+
attempt,
|
|
1579
|
+
canonicalToolId,
|
|
1580
|
+
policy: session.budget.noProgressPolicy,
|
|
1581
|
+
thresholds,
|
|
1582
|
+
toolCallId: call.toolCallId,
|
|
1583
|
+
}));
|
|
1584
|
+
}
|
|
1585
|
+
async tracePolicyDecision(session, payload) {
|
|
1586
|
+
await session.trace.emit("policy_decision", payload);
|
|
1587
|
+
}
|
|
1522
1588
|
shouldAttemptFinalization(session) {
|
|
1523
1589
|
return session.evidence.writes.length > 0
|
|
1524
1590
|
|| session.noProgressEpisodes > 0
|
|
@@ -1605,48 +1671,80 @@ export class AiCoderRunController {
|
|
|
1605
1671
|
const observationFamilyCount = observationFamily === null
|
|
1606
1672
|
? 0
|
|
1607
1673
|
: session.observationFamilies.get(observationFamily) ?? 0;
|
|
1608
|
-
if (observationFamily !== null &&
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1674
|
+
if (observationFamily !== null && session.budget.noProgressPolicy === "advisory") {
|
|
1675
|
+
const attempt = observationFamilyCount + 1;
|
|
1676
|
+
const thresholds = session.budget.observationNudgeThresholds;
|
|
1677
|
+
if (attempt > (thresholds.at(-1) ?? 0)) {
|
|
1678
|
+
this.recordNoProgressIncident(session, call, `${expectedCanonicalToolId ?? call.name} identical observation requested ${attempt} times, beyond the final advisory nudge threshold ${thresholds.at(-1)}`, "act on the retained evidence or finish; identical observations are now blocked");
|
|
1679
|
+
await this.tracePolicyDecision(session, Object.freeze({
|
|
1680
|
+
action: "observation_blocked",
|
|
1681
|
+
attempt,
|
|
1682
|
+
canonicalToolId: expectedCanonicalToolId ?? call.name,
|
|
1683
|
+
policy: session.budget.noProgressPolicy,
|
|
1684
|
+
thresholds,
|
|
1685
|
+
toolCallId: call.toolCallId,
|
|
1686
|
+
}));
|
|
1687
|
+
const result = Object.freeze({
|
|
1688
|
+
canonicalToolId: roundToolSet.canonicalToolIds[call.name] ?? call.name,
|
|
1689
|
+
content: stableJson({
|
|
1690
|
+
error: { code: "NO_PROGRESS", message: `The same observation was requested ${attempt} times without using the retained result.`, retryable: false },
|
|
1691
|
+
ok: false,
|
|
1692
|
+
}),
|
|
1693
|
+
error: Object.freeze({ code: "NO_PROGRESS", message: "Repeated observation blocked.", retryable: false }),
|
|
1622
1694
|
ok: false,
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1695
|
+
summary: "Repeated observation blocked after advisory nudges.",
|
|
1696
|
+
trust: "trusted",
|
|
1697
|
+
});
|
|
1698
|
+
session.evidence.lastToolCalls[session.evidence.lastToolCalls.length - 1] = { ...callRecord, outcome: "failed" };
|
|
1699
|
+
await this.traceToolResult(session, call, result);
|
|
1700
|
+
return Object.freeze({ call, content: result.content, failed: true, kind: "tool", summary: result.summary, trust: result.trust });
|
|
1701
|
+
}
|
|
1702
|
+
if (thresholds.includes(attempt)) {
|
|
1703
|
+
await this.addObservationNudge(session, call, expectedCanonicalToolId ?? call.name, attempt, thresholds);
|
|
1704
|
+
}
|
|
1705
|
+
}
|
|
1706
|
+
else {
|
|
1707
|
+
if (observationFamily !== null && observationFamilyCount >= session.budget.maxObservationRepeats) {
|
|
1708
|
+
// Strict nudge for read-only observations: dispatch the call so the
|
|
1709
|
+
// model receives the actual result, then remind it to use retained
|
|
1710
|
+
// evidence and count one no-progress episode for the round.
|
|
1711
|
+
this.nudgeRepeatedObservation(session, call, expectedCanonicalToolId ?? call.name, observationFamilyCount + 1);
|
|
1712
|
+
}
|
|
1713
|
+
if (session.repeatedToolFingerprint > session.budget.maxRepeatedToolRequests) {
|
|
1714
|
+
this.recordNoProgressIncident(session, call, `${call.name} repeated with identical arguments and workspace state`, "inspect a different source or choose a materially different tool");
|
|
1715
|
+
const result = Object.freeze({
|
|
1716
|
+
canonicalToolId: roundToolSet.canonicalToolIds[call.name] ?? call.name,
|
|
1717
|
+
content: stableJson({
|
|
1718
|
+
error: { code: "NO_PROGRESS", message: "The same tool and arguments were requested more than twice without a state change.", retryable: false },
|
|
1719
|
+
ok: false,
|
|
1720
|
+
}),
|
|
1721
|
+
error: Object.freeze({ code: "NO_PROGRESS", message: "Repeated tool call blocked.", retryable: false }),
|
|
1640
1722
|
ok: false,
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1723
|
+
summary: "Repeated tool call blocked by deterministic no-progress policy.",
|
|
1724
|
+
trust: "trusted",
|
|
1725
|
+
});
|
|
1726
|
+
session.evidence.lastToolCalls[session.evidence.lastToolCalls.length - 1] = { ...callRecord, outcome: "failed" };
|
|
1727
|
+
await this.traceToolResult(session, call, result);
|
|
1728
|
+
return Object.freeze({ call, content: result.content, failed: true, kind: "tool", summary: result.summary, trust: result.trust });
|
|
1729
|
+
}
|
|
1730
|
+
const cyclePeriod = repeatedSuffixPeriod(session.toolCycleHistory);
|
|
1731
|
+
if (cyclePeriod !== null) {
|
|
1732
|
+
this.recordNoProgressIncident(session, call, `a ${cyclePeriod}-call tool cycle repeated without semantic state progress`, "stop repeating successful observations; if required evidence is already present, return the final report");
|
|
1733
|
+
const result = Object.freeze({
|
|
1734
|
+
canonicalToolId: roundToolSet.canonicalToolIds[call.name] ?? call.name,
|
|
1735
|
+
content: stableJson({
|
|
1736
|
+
error: { code: "NO_PROGRESS", message: "A repeated tool cycle was blocked because semantic state did not change.", retryable: false },
|
|
1737
|
+
ok: false,
|
|
1738
|
+
}),
|
|
1739
|
+
error: Object.freeze({ code: "NO_PROGRESS", message: "Repeated tool cycle blocked.", retryable: false }),
|
|
1740
|
+
ok: false,
|
|
1741
|
+
summary: "Repeated tool cycle blocked by deterministic no-progress policy.",
|
|
1742
|
+
trust: "trusted",
|
|
1743
|
+
});
|
|
1744
|
+
session.evidence.lastToolCalls[session.evidence.lastToolCalls.length - 1] = { ...callRecord, outcome: "failed" };
|
|
1745
|
+
await this.traceToolResult(session, call, result);
|
|
1746
|
+
return Object.freeze({ call, content: result.content, failed: true, kind: "tool", summary: result.summary, trust: result.trust });
|
|
1747
|
+
}
|
|
1650
1748
|
}
|
|
1651
1749
|
const toolContext = Object.freeze({
|
|
1652
1750
|
...session.context,
|
|
@@ -1748,7 +1846,9 @@ export class AiCoderRunController {
|
|
|
1748
1846
|
const noProgressDetected = session.noProgressToolCallIds.has(call.toolCallId);
|
|
1749
1847
|
const effectCanChangeState = normalizedResult.effectsAuthority === "host"
|
|
1750
1848
|
&& (normalizedResult.ok || normalizedResult.effects?.approval === "denied");
|
|
1751
|
-
|
|
1849
|
+
// Count every dispatched identical observation attempt, successful or
|
|
1850
|
+
// failed, so advisory nudges and strict nudges reflect requested work.
|
|
1851
|
+
if (observationFamily !== null) {
|
|
1752
1852
|
session.observationFamilies.set(observationFamily, (session.observationFamilies.get(observationFamily) ?? 0) + 1);
|
|
1753
1853
|
}
|
|
1754
1854
|
if (normalizedResult.ok && normalizedResult.effects?.writes?.length)
|
|
@@ -2528,10 +2628,12 @@ export class AiCoderRunController {
|
|
|
2528
2628
|
.sort(([left], [right]) => compareAiCoderText(left, right))
|
|
2529
2629
|
.slice(-128)
|
|
2530
2630
|
.map(([key, value]) => Object.freeze({ key, value }))),
|
|
2631
|
+
observationNudgeThresholds: session.budget.observationNudgeThresholds,
|
|
2531
2632
|
observationFamilies: Object.freeze([...session.observationFamilies.entries()]
|
|
2532
2633
|
.sort(([left], [right]) => compareAiCoderText(left, right))
|
|
2533
2634
|
.slice(-128)
|
|
2534
2635
|
.map(([key, count]) => Object.freeze({ count, key }))),
|
|
2636
|
+
policy: session.budget.noProgressPolicy,
|
|
2535
2637
|
previousTool: repeatedToolIsStillOnCurrentState && lastToolCall !== undefined
|
|
2536
2638
|
? Object.freeze({
|
|
2537
2639
|
argumentsHash: lastToolCall.argumentsHash,
|