@akagilnc/pi-workflow-roles 0.1.5860 → 0.1.5864
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/acp-host/production-host.js +106 -93
- package/dist/headless-host/production-host.js +106 -93
- package/dist/migrate-book-topology.js +17 -4
- package/dist/package-contracts/fixer-output.js +3 -1
- package/dist/package-contracts/self-review-fields.js +5 -0
- package/dist/package-contracts/worker-output.js +2 -3
- package/dist/public-cli/main.js +17 -4
- package/package.json +1 -1
- package/souls/coder.md +1 -7
- package/souls/fixer-output-guide.md +1 -1
- package/souls/fixer.md +6 -3
- package/souls/notary.md +2 -2
- package/souls/quality-law.md +10 -0
- package/src/package-contracts/fixer-output.ts +4 -1
- package/src/package-contracts/self-review-fields.ts +8 -0
- package/src/package-contracts/worker-output.ts +2 -4
|
@@ -1800,8 +1800,20 @@ var init_reviewer_output = __esm({
|
|
|
1800
1800
|
}
|
|
1801
1801
|
});
|
|
1802
1802
|
|
|
1803
|
-
// src/package-contracts/
|
|
1803
|
+
// src/package-contracts/self-review-fields.ts
|
|
1804
1804
|
import { Type as Type7 } from "typebox";
|
|
1805
|
+
var diffItemsField;
|
|
1806
|
+
var init_self_review_fields = __esm({
|
|
1807
|
+
"src/package-contracts/self-review-fields.ts"() {
|
|
1808
|
+
"use strict";
|
|
1809
|
+
diffItemsField = Type7.Unknown({
|
|
1810
|
+
description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
|
|
1811
|
+
});
|
|
1812
|
+
}
|
|
1813
|
+
});
|
|
1814
|
+
|
|
1815
|
+
// src/package-contracts/fixer-output.ts
|
|
1816
|
+
import { Type as Type8 } from "typebox";
|
|
1805
1817
|
function validateFixerOutput(value, _phase) {
|
|
1806
1818
|
return value;
|
|
1807
1819
|
}
|
|
@@ -1811,25 +1823,27 @@ var init_fixer_output = __esm({
|
|
|
1811
1823
|
"use strict";
|
|
1812
1824
|
init_open_tool_schema();
|
|
1813
1825
|
init_terminating_infrastructure();
|
|
1826
|
+
init_self_review_fields();
|
|
1814
1827
|
FIXER_OUTPUT_TOOL_NAME = "ak_fixer_output";
|
|
1815
1828
|
PARTIALLY_COMPLETED_DEFINITION = "partially_completed \u53EA\u80FD\u5728\u6709\u5408\u6CD5\u62D2\u7EDD\u9879\uFF08\u5B8C\u6210\u9879\u4E0E\u5408\u6CD5\u62D2\u7EDD\u9879\u5E76\u5B58\uFF09\u65F6\u7528\uFF0C\u522B\u7684\u60C5\u51B5\u4E0D\u51C6\u7528\u3002";
|
|
1816
1829
|
FIXER_STATUS_DESCRIPTION = `planned | completed | refused | unfinished | partially_completed\u3002unfinished \u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u65F6\u53EF\u7528\uFF0C\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
1817
|
-
fixerOutputObject =
|
|
1818
|
-
status:
|
|
1819
|
-
report:
|
|
1820
|
-
remainingScope:
|
|
1830
|
+
fixerOutputObject = Type8.Object({
|
|
1831
|
+
status: Type8.Unknown({ description: FIXER_STATUS_DESCRIPTION }),
|
|
1832
|
+
report: Type8.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
1833
|
+
remainingScope: Type8.Unknown({
|
|
1821
1834
|
description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C\uFF1B\u4F9D\u6CD5\u4E0D\u80FD\u5B8C\u6210\u7684\u8303\u56F4\u4E5F\u5199\u6B64\u5904\u3002"
|
|
1822
1835
|
}),
|
|
1823
|
-
blocker:
|
|
1836
|
+
blocker: Type8.Unknown({
|
|
1824
1837
|
description: "\u5408\u6CD5\u963B\u65AD\u5B8C\u6210\u7684 blocker\uFF0C\u539F\u6837\u7559\u5B58\u3002\u53EF\u5199 cause\uFF08authority_violation \u6216 prerequisite_unmet\uFF09\u3001evidence\uFF1Bprerequisite_unmet \u8FD8\u53EF\u5199 prerequisiteId\u3002"
|
|
1825
1838
|
}),
|
|
1826
|
-
reason:
|
|
1839
|
+
reason: Type8.Unknown({
|
|
1827
1840
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
1828
1841
|
}),
|
|
1829
|
-
classResults:
|
|
1830
|
-
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199
|
|
1842
|
+
classResults: Type8.Unknown({
|
|
1843
|
+
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
|
|
1831
1844
|
}),
|
|
1832
|
-
|
|
1845
|
+
diffItems: diffItemsField,
|
|
1846
|
+
testEvidence: Type8.Unknown({
|
|
1833
1847
|
description: "\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1Bdiff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u63D0\u4EA4\uFF1B\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
|
|
1834
1848
|
})
|
|
1835
1849
|
});
|
|
@@ -1840,7 +1854,7 @@ var init_fixer_output = __esm({
|
|
|
1840
1854
|
});
|
|
1841
1855
|
|
|
1842
1856
|
// src/package-contracts/worker-output.ts
|
|
1843
|
-
import { Type as
|
|
1857
|
+
import { Type as Type9 } from "typebox";
|
|
1844
1858
|
function validateAcceptedCoderDetails(output) {
|
|
1845
1859
|
return output;
|
|
1846
1860
|
}
|
|
@@ -1853,19 +1867,18 @@ var init_worker_output = __esm({
|
|
|
1853
1867
|
"use strict";
|
|
1854
1868
|
init_open_tool_schema();
|
|
1855
1869
|
init_fixer_output();
|
|
1870
|
+
init_self_review_fields();
|
|
1856
1871
|
init_terminating_infrastructure();
|
|
1857
1872
|
CODER_OUTPUT_TOOL_NAME = "ak_coder_output";
|
|
1858
1873
|
CODER_STATUS_DESCRIPTION = `planned | completed | refused | partially_completed | unfinished\u3002unfinished\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
1859
|
-
coderOutputObject =
|
|
1860
|
-
status:
|
|
1861
|
-
report:
|
|
1862
|
-
remainingScope:
|
|
1863
|
-
reason:
|
|
1874
|
+
coderOutputObject = Type9.Object({
|
|
1875
|
+
status: Type9.Unknown({ description: CODER_STATUS_DESCRIPTION }),
|
|
1876
|
+
report: Type9.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
1877
|
+
remainingScope: Type9.Unknown({ description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C" }),
|
|
1878
|
+
reason: Type9.Unknown({
|
|
1864
1879
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
1865
1880
|
}),
|
|
1866
|
-
diffItems:
|
|
1867
|
-
description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
|
|
1868
|
-
})
|
|
1881
|
+
diffItems: diffItemsField
|
|
1869
1882
|
});
|
|
1870
1883
|
coderOutputSchema = withTerminatingOutputDeclarations(
|
|
1871
1884
|
openToolObject(coderOutputObject)
|
|
@@ -1881,7 +1894,7 @@ var init_canonical_json = __esm({
|
|
|
1881
1894
|
});
|
|
1882
1895
|
|
|
1883
1896
|
// src/doctor-contracts.ts
|
|
1884
|
-
import { Type as
|
|
1897
|
+
import { Type as Type10 } from "typebox";
|
|
1885
1898
|
function validateDoctorSubmissionShape(value) {
|
|
1886
1899
|
return value;
|
|
1887
1900
|
}
|
|
@@ -1907,25 +1920,25 @@ var init_doctor_contracts = __esm({
|
|
|
1907
1920
|
biteNone = "noRealBite";
|
|
1908
1921
|
DOCTOR_BITE_KINDS = [biteActual, biteNone];
|
|
1909
1922
|
DOCTOR_STATUS_DESCRIPTION = "completed | refused\u3002completed \u5141\u8BB8\u7A7A findings\uFF1Brefused \u4EC5\u5F53\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u6848\u8BC1\u8BCD";
|
|
1910
|
-
doctorSubmissionObject =
|
|
1911
|
-
status:
|
|
1912
|
-
case:
|
|
1923
|
+
doctorSubmissionObject = Type10.Object({
|
|
1924
|
+
status: Type10.Unknown({ description: DOCTOR_STATUS_DESCRIPTION }),
|
|
1925
|
+
case: Type10.Unknown({
|
|
1913
1926
|
description: "\u7559\u5B58\u592A\u533B\u7F72\u6848\u8EAB\u4EFD\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982 issueNumber\u3001runsPath\uFF09\u3002\u673A\u68B0\u5C42\u53E6\u6309\u7ED1\u5B9A run \u6295\u5F71\u6848\u8EAB\u4EFD\uFF0C\u4E0D\u5728\u672C\u5B57\u6BB5\u91CD\u5224\u3002"
|
|
1914
1927
|
}),
|
|
1915
|
-
findings:
|
|
1928
|
+
findings: Type10.Unknown({
|
|
1916
1929
|
description: `\u9010\u6761\u8D44\u4EA7\u89C2\u5BDF\u4E0E\u5904\u65B9\uFF0C\u539F\u6837\u7559\u5B58\u3002\u4E00\u6761\u53EF\u542B targetKey\u3001targetKind\uFF08${DOCTOR_TARGET_KINDS.join(" | ")}\uFF09\u3001observation\u3001evidenceIds\u3001disposition\uFF08${DOCTOR_DISPOSITIONS.join(" | ")}\uFF09\u3001assetEvidence\uFF08targetKey\u3001targetKind\u3001evidenceId\uFF09\u3001guardrails\uFF08reproducibleFailure\u3001owningSeamOrInvariant\u3001deletionOrSimplificationSuffices\uFF0C\u5404\u9879\u53EF\u542B answer\u3001evidenceIds\u3001explanation\uFF09\u3001prescription\uFF08kind \u4E3A ${DOCTOR_PRESCRIPTION_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 recommendation\u3001necessityExplanation\uFF09\u3001lastRealBite\uFF08kind \u4E3A ${DOCTOR_BITE_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 targetKey\u3001evidenceId\u3001eligibleEvidenceIds\uFF09\u3002\u4E0D\u8981\u6C42\u4EFB\u4F55\u5904\u65B9\u6216\u53EF\u590D\u7528 finding\uFF1B\u7F3A\u53EF\u590D\u7528\u8D44\u4EA7\u6216 bounded-bite \u8BC1\u636E\u53EA\u6392\u9664\u5BF9\u5E94\u8D44\u4EA7\u5904\u65B9\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002`
|
|
1917
1930
|
}),
|
|
1918
|
-
reason:
|
|
1931
|
+
reason: Type10.Unknown({
|
|
1919
1932
|
description: "\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u4EC5 refused \u65F6\u7528\u3002"
|
|
1920
1933
|
}),
|
|
1921
|
-
missingEvidence:
|
|
1934
|
+
missingEvidence: Type10.Unknown({
|
|
1922
1935
|
description: "\u5982\u5B9E\u8BC1\u8BCD\u6240\u9700\u800C\u5C1A\u7F3A\u7684\u8BC1\u636E\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982\u6BCF\u9879 need\u3001targetKeys\uFF09\u3002"
|
|
1923
1936
|
})
|
|
1924
1937
|
});
|
|
1925
1938
|
doctorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
1926
1939
|
openToolObject(doctorSubmissionObject)
|
|
1927
1940
|
);
|
|
1928
|
-
doctorEvidenceReadSchema =
|
|
1941
|
+
doctorEvidenceReadSchema = Type10.Object({ evidenceId: Type10.String({ minLength: 1, description: "\u5F85\u8BFB\u7559\u5B58\u8BC1\u636E\u6807\u8BC6" }), offset: Type10.Optional(Type10.Integer({ minimum: 0, description: "\u8D77\u59CB\u5B57\u8282\u504F\u79FB\uFF08\u4ECE 0 \u8BA1\uFF09" })), limit: Type10.Optional(Type10.Integer({ minimum: 1, description: "\u8FD4\u56DE\u5B57\u8282\u6570\uFF08\u65E0\u4E0A\u9650\uFF09" })) }, { additionalProperties: true });
|
|
1929
1942
|
DoctorEvidenceStore = class {
|
|
1930
1943
|
constructor(patient) {
|
|
1931
1944
|
this.patient = patient;
|
|
@@ -1994,7 +2007,7 @@ var init_exact_utf8 = __esm({
|
|
|
1994
2007
|
});
|
|
1995
2008
|
|
|
1996
2009
|
// src/merger-contracts.ts
|
|
1997
|
-
import { Type as
|
|
2010
|
+
import { Type as Type11 } from "typebox";
|
|
1998
2011
|
function fail(message = "Merger input violates its exact contract") {
|
|
1999
2012
|
throw new MergerInputContractError(message);
|
|
2000
2013
|
}
|
|
@@ -2028,25 +2041,25 @@ var init_merger_contracts = __esm({
|
|
|
2028
2041
|
init_open_tool_schema();
|
|
2029
2042
|
init_terminating_infrastructure();
|
|
2030
2043
|
init_unknown_value();
|
|
2031
|
-
materialSchema =
|
|
2032
|
-
checkSchema =
|
|
2033
|
-
mergerInputSchema =
|
|
2034
|
-
attemptId:
|
|
2035
|
-
targetObjectId:
|
|
2036
|
-
sourceObjectId:
|
|
2044
|
+
materialSchema = Type11.Object({ bytesBase64: Type11.String(), sha256: Type11.String() });
|
|
2045
|
+
checkSchema = Type11.Object({ name: Type11.String({ minLength: 1 }), argv: Type11.Array(Type11.String({ minLength: 1 }), { minItems: 1 }) });
|
|
2046
|
+
mergerInputSchema = Type11.Object({
|
|
2047
|
+
attemptId: Type11.String({ minLength: 1, description: "\u5BF9\u8D26 attempt \u8EAB\u4EFD\uFF08transport\uFF09" }),
|
|
2048
|
+
targetObjectId: Type11.String({ description: "\u6750\u6599\uFF1Atarget parent OID\uFF1B\u53EF\u7A7A" }),
|
|
2049
|
+
sourceObjectId: Type11.String({ description: "\u6750\u6599\uFF1Asource parent OID\uFF1B\u53EF\u7A7A" }),
|
|
2037
2050
|
// #1168: task/authority dispatch copies removed; git-fact intents remain.
|
|
2038
|
-
materials:
|
|
2039
|
-
expectedConflictPaths:
|
|
2040
|
-
resolutionScope:
|
|
2041
|
-
authorizedChecks:
|
|
2051
|
+
materials: Type11.Object({ targetIntent: materialSchema, sourceIntent: materialSchema }),
|
|
2052
|
+
expectedConflictPaths: Type11.Array(Type11.String(), { description: "\u6750\u6599\uFF1A\u5F53\u524D\u672A\u5408\u5E76\u8DEF\u5F84\uFF1B\u53EF\u7A7A" }),
|
|
2053
|
+
resolutionScope: Type11.Array(Type11.String(), { description: "\u6750\u6599\uFF1A\u89E3\u6790\u8303\u56F4\u63D0\u793A\uFF1B\u53EF\u7A7A" }),
|
|
2054
|
+
authorizedChecks: Type11.Array(checkSchema)
|
|
2042
2055
|
});
|
|
2043
2056
|
MERGER_STATUS_DESCRIPTION = "completed | escalate";
|
|
2044
|
-
mergerOutputObject =
|
|
2045
|
-
status:
|
|
2046
|
-
attemptId:
|
|
2047
|
-
report:
|
|
2048
|
-
mergeCommitId:
|
|
2049
|
-
diagnosis:
|
|
2057
|
+
mergerOutputObject = Type11.Object({
|
|
2058
|
+
status: Type11.Unknown({ description: MERGER_STATUS_DESCRIPTION }),
|
|
2059
|
+
attemptId: Type11.Unknown({ description: "\u5DF2\u53D7\u7406\u5408\u5E76 attempt \u8EAB\u4EFD" }),
|
|
2060
|
+
report: Type11.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
2061
|
+
mergeCommitId: Type11.Unknown({ description: "\u5B8C\u6210\u5408\u5E76 commit object ID" }),
|
|
2062
|
+
diagnosis: Type11.Unknown({
|
|
2050
2063
|
description: "\u5408\u5E76\u65E0\u6CD5\u6216\u4E0D\u5E94\u7531\u672C\u5E2D\u5B8C\u6210\u7684\u539F\u56E0\uFF08\u542B\u65E0\u8FDB\u884C\u4E2D\u5408\u5E76\u3001\u65E0\u6D3B\u53EF\u5E72\u3001\u9700\u65B0\u7684\u4EA7\u54C1/\u6743\u529B\u51B3\u5B9A\uFF09"
|
|
2051
2064
|
})
|
|
2052
2065
|
});
|
|
@@ -2101,7 +2114,7 @@ var init_countersign_contracts = __esm({
|
|
|
2101
2114
|
});
|
|
2102
2115
|
|
|
2103
2116
|
// src/gleaner-left-contracts.ts
|
|
2104
|
-
import { Type as
|
|
2117
|
+
import { Type as Type12 } from "typebox";
|
|
2105
2118
|
var GLEANER_LEFT_OUTPUT_TOOL_NAME, gleanerLeftOutputSchema, GLEANER_LEFT_BASE_FLAG;
|
|
2106
2119
|
var init_gleaner_left_contracts = __esm({
|
|
2107
2120
|
"src/gleaner-left-contracts.ts"() {
|
|
@@ -2112,11 +2125,11 @@ var init_gleaner_left_contracts = __esm({
|
|
|
2112
2125
|
GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
|
|
2113
2126
|
gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
|
|
2114
2127
|
openToolObject(
|
|
2115
|
-
|
|
2116
|
-
status:
|
|
2128
|
+
Type12.Object({
|
|
2129
|
+
status: Type12.Unknown({
|
|
2117
2130
|
description: "completed"
|
|
2118
2131
|
}),
|
|
2119
|
-
findings:
|
|
2132
|
+
findings: Type12.Unknown({
|
|
2120
2133
|
description: "\u5F39\u7AE0\u5217\u8868\uFF1B\u6BCF\u6761\u53EF\u542B pointer\uFF08\u6587\u4EF6/\u884C\u6307\u9488\uFF09\u4E0E statement\uFF08\u7591\u70B9\u9648\u8FF0\uFF09\uFF0C\u539F\u6837\u7559\u5B58\u3002\u7A7A\u5217\u8868\u5408\u6CD5\u5B8C\u5C40\uFF1B\u673A\u5668\u4E0D\u5224\u5F39\u7AE0\u662F\u5426\u6210\u7ACB\u3002"
|
|
2121
2134
|
})
|
|
2122
2135
|
})
|
|
@@ -2204,7 +2217,7 @@ var init_ticket_provenance_contracts = __esm({
|
|
|
2204
2217
|
});
|
|
2205
2218
|
|
|
2206
2219
|
// src/diarist-contracts.ts
|
|
2207
|
-
import { Type as
|
|
2220
|
+
import { Type as Type13 } from "typebox";
|
|
2208
2221
|
function projectDiaristSessions(value) {
|
|
2209
2222
|
const raw = value?.sessions;
|
|
2210
2223
|
if (raw === void 0) return [];
|
|
@@ -2237,20 +2250,20 @@ var init_diarist_contracts = __esm({
|
|
|
2237
2250
|
DIARIST_SESSIONS_DESCRIPTION = "\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B\u8D77\u70B9\u4E0E\u7EC8\u70B9\u5404\u5199 id\uFF08\u539F\u751F id\uFF09\u6216 line\uFF08\u672C\u8F6E\u884C\u53F7\uFF09\uFF0C\u4E8C\u9009\u4E00\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002";
|
|
2238
2251
|
diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
2239
2252
|
openToolObject(
|
|
2240
|
-
|
|
2241
|
-
status:
|
|
2253
|
+
Type13.Object({
|
|
2254
|
+
status: Type13.Unknown({
|
|
2242
2255
|
description: "completed | escalate"
|
|
2243
2256
|
}),
|
|
2244
|
-
ticketNumber:
|
|
2245
|
-
|
|
2257
|
+
ticketNumber: Type13.Optional(
|
|
2258
|
+
Type13.Unknown({
|
|
2246
2259
|
description: "\u672C\u5EAD\u5BF9\u8C61\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\u6216 null/\u7701\u7565\uFF1D\u771F\u65E0\u7968\uFF1B\u4E0B\u6E38\u8D70 typed \u952E\uFF1B\u8BA4\u4E0D\u51FA\u7528 status=escalate\uFF0C\u4E0D\u6D17\u6210\u65E0\u5F55\u3002\u673A\u68B0\u5C42\u4E0D\u91CD\u5224\u3002"
|
|
2247
2260
|
})
|
|
2248
2261
|
),
|
|
2249
|
-
reason:
|
|
2262
|
+
reason: Type13.Unknown({
|
|
2250
2263
|
description: "status \u4E3A escalate \u65F6\uFF1A\u8BA4\u4E0D\u51FA\u672C\u5EAD\u5BF9\u8C61\u7684\u539F\u56E0"
|
|
2251
2264
|
}),
|
|
2252
|
-
sessions:
|
|
2253
|
-
ticketSessions:
|
|
2265
|
+
sessions: Type13.Optional(Type13.Unknown({ description: DIARIST_SESSIONS_DESCRIPTION })),
|
|
2266
|
+
ticketSessions: Type13.Unknown({
|
|
2254
2267
|
description: `\u591A\u7968\u5EAD\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002\u4E0E\u5355\u7968 sessions \u4E8C\u9009\u4E00\u3002`
|
|
2255
2268
|
})
|
|
2256
2269
|
})
|
|
@@ -2260,7 +2273,7 @@ var init_diarist_contracts = __esm({
|
|
|
2260
2273
|
});
|
|
2261
2274
|
|
|
2262
2275
|
// src/secretariat-contracts.ts
|
|
2263
|
-
import { Type as
|
|
2276
|
+
import { Type as Type14 } from "typebox";
|
|
2264
2277
|
var SECRETARIAT_OUTPUT_TOOL_NAME, secretariatVerdictSchema;
|
|
2265
2278
|
var init_secretariat_contracts = __esm({
|
|
2266
2279
|
"src/secretariat-contracts.ts"() {
|
|
@@ -2268,19 +2281,19 @@ var init_secretariat_contracts = __esm({
|
|
|
2268
2281
|
init_terminating_infrastructure();
|
|
2269
2282
|
SECRETARIAT_OUTPUT_TOOL_NAME = "ak_secretariat_output";
|
|
2270
2283
|
secretariatVerdictSchema = withTerminatingOutputDeclarations(
|
|
2271
|
-
|
|
2284
|
+
Type14.Object(
|
|
2272
2285
|
{
|
|
2273
|
-
secretariatStatus:
|
|
2286
|
+
secretariatStatus: Type14.Unknown({
|
|
2274
2287
|
description: "converged | escalate"
|
|
2275
2288
|
}),
|
|
2276
|
-
ticketNumber:
|
|
2277
|
-
|
|
2289
|
+
ticketNumber: Type14.Optional(
|
|
2290
|
+
Type14.Unknown({ description: "\u672C\u7968\u53F7\uFF1B\u7F72\u65F6\u6307\u5411\u6700\u7EC8\u6B63\u6587\u6240\u5728\u7968" })
|
|
2278
2291
|
),
|
|
2279
|
-
note:
|
|
2292
|
+
note: Type14.Unknown({
|
|
2280
2293
|
description: "\u9644\u6CE8\uFF1B\u7F72\uFF08converged\uFF09\u65F6\u9010\u9898\u5217\u7B54\u6848\u3001\u4F9D\u636E\u4E0E\u843D\u5728\u54EA\u4E00\u53E5\uFF1B\u5C01\u8FD8\uFF08escalate\uFF09\u65F6\u9996\u5199\u300C\u5C01\u8FD8\u300D\u3002\u539F\u6837\u7559\u5B58\u3002"
|
|
2281
2294
|
}),
|
|
2282
|
-
evidence:
|
|
2283
|
-
decisionGate:
|
|
2295
|
+
evidence: Type14.Optional(Type14.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
|
|
2296
|
+
decisionGate: Type14.Unknown({
|
|
2284
2297
|
description: "\u672C\u8F6E\u9898\u76EE\uFF1A\u6BCF\u9898 question\u3001options\uFF08\u7A3F\u91CC\u505A\u6CD5\uFF0F\u53E6\u4E00\u505A\u6CD5\uFF09\u3001\u4E24\u8FB9\u4EE3\u4EF7\u3001\u5EFA\u8BAE\u3002\u539F\u6837\u7559\u5B58\u3002"
|
|
2285
2298
|
})
|
|
2286
2299
|
},
|
|
@@ -3063,7 +3076,7 @@ var init_submission_errors = __esm({
|
|
|
3063
3076
|
});
|
|
3064
3077
|
|
|
3065
3078
|
// src/collector-tool-schemas.ts
|
|
3066
|
-
import { Type as
|
|
3079
|
+
import { Type as Type15 } from "typebox";
|
|
3067
3080
|
var collectorOutputBaseSchema, collectorOutputArgsSchema;
|
|
3068
3081
|
var init_collector_tool_schemas = __esm({
|
|
3069
3082
|
"src/collector-tool-schemas.ts"() {
|
|
@@ -3071,11 +3084,11 @@ var init_collector_tool_schemas = __esm({
|
|
|
3071
3084
|
init_open_tool_schema();
|
|
3072
3085
|
init_terminating_infrastructure();
|
|
3073
3086
|
collectorOutputBaseSchema = openToolObject(
|
|
3074
|
-
|
|
3075
|
-
groups:
|
|
3087
|
+
Type15.Object({
|
|
3088
|
+
groups: Type15.Unsafe({
|
|
3076
3089
|
description: "\u6309\u673A\u5668\u8EAB\u4EFD\u5F52\u7EC4\u7684\u51FA\u5E2D\u3001\u6750\u6599\u4E0E\u9010\u6761 findings\uFF08LLM \u81EA\u884C\u4ECE\u5BBF\u4E3B CLI \u53D6\u8BC1\u6574\u7406\uFF1B\u4EE3\u7801\u4E0D\u4EE3\u6536\u4E0D\u5F52\u5E76\uFF09\u3002"
|
|
3077
3090
|
}),
|
|
3078
|
-
unfinishedReasons:
|
|
3091
|
+
unfinishedReasons: Type15.Unknown({
|
|
3079
3092
|
description: "\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u53D6\u8BC1\u53D7\u9650\u65F6\u5982\u5B9E\u62A5\u544A\u3002"
|
|
3080
3093
|
})
|
|
3081
3094
|
})
|
|
@@ -8100,7 +8113,7 @@ var init_invocation = __esm({
|
|
|
8100
8113
|
});
|
|
8101
8114
|
|
|
8102
8115
|
// src/report-ticket-tool.ts
|
|
8103
|
-
import { Type as
|
|
8116
|
+
import { Type as Type16 } from "typebox";
|
|
8104
8117
|
import { existsSync as existsSync4 } from "node:fs";
|
|
8105
8118
|
function pageString(page, key) {
|
|
8106
8119
|
const value = page?.[key];
|
|
@@ -8209,9 +8222,9 @@ var init_report_ticket_tool = __esm({
|
|
|
8209
8222
|
init_run_ticket_number();
|
|
8210
8223
|
init_unknown_value();
|
|
8211
8224
|
REPORT_TICKET_TOOL_NAME = "ak_report_ticket";
|
|
8212
|
-
reportTicketArgsSchema =
|
|
8225
|
+
reportTicketArgsSchema = Type16.Object(
|
|
8213
8226
|
{
|
|
8214
|
-
ticketNumber:
|
|
8227
|
+
ticketNumber: Type16.Unknown({
|
|
8215
8228
|
description: "\u672C\u7968\u53F7\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF09\u3002\u5DF2\u77E5\u7968\u53F7\u65F6\u5F00\u5DE5\u5373\u62A5\uFF1B\u5C1A\u65E0\u7968\u53F7\u65F6\u4E0D\u8981\u8C03\u7528\u3002"
|
|
8216
8229
|
})
|
|
8217
8230
|
},
|
|
@@ -17817,7 +17830,7 @@ var init_analyst_model_groups = __esm({
|
|
|
17817
17830
|
|
|
17818
17831
|
// src/analyst-entry.ts
|
|
17819
17832
|
import { readFile as readFile12 } from "node:fs/promises";
|
|
17820
|
-
import { Type as
|
|
17833
|
+
import { Type as Type17 } from "typebox";
|
|
17821
17834
|
function cachedPageMatchesRequestedScope(page, input) {
|
|
17822
17835
|
if (page.bookKey !== input.bookKey) return false;
|
|
17823
17836
|
const requestedTicket = input.ticketNumber ?? input.issueNumber;
|
|
@@ -18022,16 +18035,16 @@ var init_analyst_entry = __esm({
|
|
|
18022
18035
|
}
|
|
18023
18036
|
}
|
|
18024
18037
|
};
|
|
18025
|
-
analystSweepModeInputSchema =
|
|
18038
|
+
analystSweepModeInputSchema = Type17.Object(
|
|
18026
18039
|
{
|
|
18027
|
-
mode:
|
|
18028
|
-
mergedPullRequests:
|
|
18029
|
-
|
|
18040
|
+
mode: Type17.Literal("sweep"),
|
|
18041
|
+
mergedPullRequests: Type17.Array(
|
|
18042
|
+
Type17.Object(
|
|
18030
18043
|
{
|
|
18031
|
-
projectRoot:
|
|
18044
|
+
projectRoot: Type17.String(),
|
|
18032
18045
|
/** 排除后改动行数 — omit or 0 → typed 空缺; finite ≥ 0 only. */
|
|
18033
|
-
changedLines:
|
|
18034
|
-
|
|
18046
|
+
changedLines: Type17.Optional(
|
|
18047
|
+
Type17.Number({ minimum: 0, maximum: Number.MAX_VALUE })
|
|
18035
18048
|
)
|
|
18036
18049
|
}
|
|
18037
18050
|
)
|
|
@@ -20975,18 +20988,18 @@ import { join as join30 } from "node:path";
|
|
|
20975
20988
|
import { Value as Value2 } from "typebox/value";
|
|
20976
20989
|
|
|
20977
20990
|
// src/activation-trace.ts
|
|
20978
|
-
import { Type as
|
|
20979
|
-
var causeSchema =
|
|
20980
|
-
identity:
|
|
20981
|
-
name:
|
|
20982
|
-
message:
|
|
20983
|
-
evidenceId:
|
|
20991
|
+
import { Type as Type18 } from "typebox";
|
|
20992
|
+
var causeSchema = Type18.Object({
|
|
20993
|
+
identity: Type18.String({ minLength: 1 }),
|
|
20994
|
+
name: Type18.String({ minLength: 1 }),
|
|
20995
|
+
message: Type18.String(),
|
|
20996
|
+
evidenceId: Type18.Optional(Type18.String({ minLength: 1 }))
|
|
20984
20997
|
}, { additionalProperties: false });
|
|
20985
|
-
var activationTraceRecordSchema =
|
|
20986
|
-
role:
|
|
20987
|
-
stageId:
|
|
20988
|
-
status:
|
|
20989
|
-
timestamp:
|
|
20998
|
+
var activationTraceRecordSchema = Type18.Object({
|
|
20999
|
+
role: Type18.String({ minLength: 1 }),
|
|
21000
|
+
stageId: Type18.String({ pattern: "^[a-z][a-z0-9-]*$" }),
|
|
21001
|
+
status: Type18.Literal("failed"),
|
|
21002
|
+
timestamp: Type18.String({ format: "date-time" }),
|
|
20990
21003
|
cause: causeSchema
|
|
20991
21004
|
}, { additionalProperties: false });
|
|
20992
21005
|
var activationCauseEvidence = 0;
|
|
@@ -21149,10 +21162,10 @@ init_engine_detour();
|
|
|
21149
21162
|
init_engine_detour_usage();
|
|
21150
21163
|
init_run_terminal_artifacts();
|
|
21151
21164
|
init_serialize_thrown_value();
|
|
21152
|
-
import { Type as
|
|
21153
|
-
var engineDetourArgsSchema =
|
|
21165
|
+
import { Type as Type19 } from "typebox";
|
|
21166
|
+
var engineDetourArgsSchema = Type19.Object(
|
|
21154
21167
|
{
|
|
21155
|
-
argv:
|
|
21168
|
+
argv: Type19.Array(Type19.String({ minLength: 1 }), {
|
|
21156
21169
|
minItems: 1,
|
|
21157
21170
|
description: "\u9996\u9879\u4E3A PATH \u4E2D\u7684\u53EF\u6267\u884C\u6587\u4EF6\uFF0C\u5176\u4F59\u9879\u4E3A\u53C2\u6570\u3002"
|
|
21158
21171
|
})
|
|
@@ -756,8 +756,20 @@ var init_navigator_output = __esm({
|
|
|
756
756
|
}
|
|
757
757
|
});
|
|
758
758
|
|
|
759
|
-
// src/package-contracts/
|
|
759
|
+
// src/package-contracts/self-review-fields.ts
|
|
760
760
|
import { Type as Type7 } from "typebox";
|
|
761
|
+
var diffItemsField;
|
|
762
|
+
var init_self_review_fields = __esm({
|
|
763
|
+
"src/package-contracts/self-review-fields.ts"() {
|
|
764
|
+
"use strict";
|
|
765
|
+
diffItemsField = Type7.Unknown({
|
|
766
|
+
description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
|
|
767
|
+
});
|
|
768
|
+
}
|
|
769
|
+
});
|
|
770
|
+
|
|
771
|
+
// src/package-contracts/fixer-output.ts
|
|
772
|
+
import { Type as Type8 } from "typebox";
|
|
761
773
|
function validateFixerOutput(value, _phase) {
|
|
762
774
|
return value;
|
|
763
775
|
}
|
|
@@ -767,25 +779,27 @@ var init_fixer_output = __esm({
|
|
|
767
779
|
"use strict";
|
|
768
780
|
init_open_tool_schema();
|
|
769
781
|
init_terminating_infrastructure();
|
|
782
|
+
init_self_review_fields();
|
|
770
783
|
FIXER_OUTPUT_TOOL_NAME = "ak_fixer_output";
|
|
771
784
|
PARTIALLY_COMPLETED_DEFINITION = "partially_completed \u53EA\u80FD\u5728\u6709\u5408\u6CD5\u62D2\u7EDD\u9879\uFF08\u5B8C\u6210\u9879\u4E0E\u5408\u6CD5\u62D2\u7EDD\u9879\u5E76\u5B58\uFF09\u65F6\u7528\uFF0C\u522B\u7684\u60C5\u51B5\u4E0D\u51C6\u7528\u3002";
|
|
772
785
|
FIXER_STATUS_DESCRIPTION = `planned | completed | refused | unfinished | partially_completed\u3002unfinished \u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u65F6\u53EF\u7528\uFF0C\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
773
|
-
fixerOutputObject =
|
|
774
|
-
status:
|
|
775
|
-
report:
|
|
776
|
-
remainingScope:
|
|
786
|
+
fixerOutputObject = Type8.Object({
|
|
787
|
+
status: Type8.Unknown({ description: FIXER_STATUS_DESCRIPTION }),
|
|
788
|
+
report: Type8.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
789
|
+
remainingScope: Type8.Unknown({
|
|
777
790
|
description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C\uFF1B\u4F9D\u6CD5\u4E0D\u80FD\u5B8C\u6210\u7684\u8303\u56F4\u4E5F\u5199\u6B64\u5904\u3002"
|
|
778
791
|
}),
|
|
779
|
-
blocker:
|
|
792
|
+
blocker: Type8.Unknown({
|
|
780
793
|
description: "\u5408\u6CD5\u963B\u65AD\u5B8C\u6210\u7684 blocker\uFF0C\u539F\u6837\u7559\u5B58\u3002\u53EF\u5199 cause\uFF08authority_violation \u6216 prerequisite_unmet\uFF09\u3001evidence\uFF1Bprerequisite_unmet \u8FD8\u53EF\u5199 prerequisiteId\u3002"
|
|
781
794
|
}),
|
|
782
|
-
reason:
|
|
795
|
+
reason: Type8.Unknown({
|
|
783
796
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
784
797
|
}),
|
|
785
|
-
classResults:
|
|
786
|
-
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199
|
|
798
|
+
classResults: Type8.Unknown({
|
|
799
|
+
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
|
|
787
800
|
}),
|
|
788
|
-
|
|
801
|
+
diffItems: diffItemsField,
|
|
802
|
+
testEvidence: Type8.Unknown({
|
|
789
803
|
description: "\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1Bdiff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u63D0\u4EA4\uFF1B\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
|
|
790
804
|
})
|
|
791
805
|
});
|
|
@@ -796,7 +810,7 @@ var init_fixer_output = __esm({
|
|
|
796
810
|
});
|
|
797
811
|
|
|
798
812
|
// src/package-contracts/worker-output.ts
|
|
799
|
-
import { Type as
|
|
813
|
+
import { Type as Type9 } from "typebox";
|
|
800
814
|
function validateAcceptedCoderDetails(output) {
|
|
801
815
|
return output;
|
|
802
816
|
}
|
|
@@ -809,19 +823,18 @@ var init_worker_output = __esm({
|
|
|
809
823
|
"use strict";
|
|
810
824
|
init_open_tool_schema();
|
|
811
825
|
init_fixer_output();
|
|
826
|
+
init_self_review_fields();
|
|
812
827
|
init_terminating_infrastructure();
|
|
813
828
|
CODER_OUTPUT_TOOL_NAME = "ak_coder_output";
|
|
814
829
|
CODER_STATUS_DESCRIPTION = `planned | completed | refused | partially_completed | unfinished\u3002unfinished\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
815
|
-
coderOutputObject =
|
|
816
|
-
status:
|
|
817
|
-
report:
|
|
818
|
-
remainingScope:
|
|
819
|
-
reason:
|
|
830
|
+
coderOutputObject = Type9.Object({
|
|
831
|
+
status: Type9.Unknown({ description: CODER_STATUS_DESCRIPTION }),
|
|
832
|
+
report: Type9.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
833
|
+
remainingScope: Type9.Unknown({ description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C" }),
|
|
834
|
+
reason: Type9.Unknown({
|
|
820
835
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
821
836
|
}),
|
|
822
|
-
diffItems:
|
|
823
|
-
description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
|
|
824
|
-
})
|
|
837
|
+
diffItems: diffItemsField
|
|
825
838
|
});
|
|
826
839
|
coderOutputSchema = withTerminatingOutputDeclarations(
|
|
827
840
|
openToolObject(coderOutputObject)
|
|
@@ -837,7 +850,7 @@ var init_canonical_json = __esm({
|
|
|
837
850
|
});
|
|
838
851
|
|
|
839
852
|
// src/doctor-contracts.ts
|
|
840
|
-
import { Type as
|
|
853
|
+
import { Type as Type10 } from "typebox";
|
|
841
854
|
function validateDoctorSubmissionShape(value) {
|
|
842
855
|
return value;
|
|
843
856
|
}
|
|
@@ -863,25 +876,25 @@ var init_doctor_contracts = __esm({
|
|
|
863
876
|
biteNone = "noRealBite";
|
|
864
877
|
DOCTOR_BITE_KINDS = [biteActual, biteNone];
|
|
865
878
|
DOCTOR_STATUS_DESCRIPTION = "completed | refused\u3002completed \u5141\u8BB8\u7A7A findings\uFF1Brefused \u4EC5\u5F53\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u6848\u8BC1\u8BCD";
|
|
866
|
-
doctorSubmissionObject =
|
|
867
|
-
status:
|
|
868
|
-
case:
|
|
879
|
+
doctorSubmissionObject = Type10.Object({
|
|
880
|
+
status: Type10.Unknown({ description: DOCTOR_STATUS_DESCRIPTION }),
|
|
881
|
+
case: Type10.Unknown({
|
|
869
882
|
description: "\u7559\u5B58\u592A\u533B\u7F72\u6848\u8EAB\u4EFD\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982 issueNumber\u3001runsPath\uFF09\u3002\u673A\u68B0\u5C42\u53E6\u6309\u7ED1\u5B9A run \u6295\u5F71\u6848\u8EAB\u4EFD\uFF0C\u4E0D\u5728\u672C\u5B57\u6BB5\u91CD\u5224\u3002"
|
|
870
883
|
}),
|
|
871
|
-
findings:
|
|
884
|
+
findings: Type10.Unknown({
|
|
872
885
|
description: `\u9010\u6761\u8D44\u4EA7\u89C2\u5BDF\u4E0E\u5904\u65B9\uFF0C\u539F\u6837\u7559\u5B58\u3002\u4E00\u6761\u53EF\u542B targetKey\u3001targetKind\uFF08${DOCTOR_TARGET_KINDS.join(" | ")}\uFF09\u3001observation\u3001evidenceIds\u3001disposition\uFF08${DOCTOR_DISPOSITIONS.join(" | ")}\uFF09\u3001assetEvidence\uFF08targetKey\u3001targetKind\u3001evidenceId\uFF09\u3001guardrails\uFF08reproducibleFailure\u3001owningSeamOrInvariant\u3001deletionOrSimplificationSuffices\uFF0C\u5404\u9879\u53EF\u542B answer\u3001evidenceIds\u3001explanation\uFF09\u3001prescription\uFF08kind \u4E3A ${DOCTOR_PRESCRIPTION_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 recommendation\u3001necessityExplanation\uFF09\u3001lastRealBite\uFF08kind \u4E3A ${DOCTOR_BITE_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 targetKey\u3001evidenceId\u3001eligibleEvidenceIds\uFF09\u3002\u4E0D\u8981\u6C42\u4EFB\u4F55\u5904\u65B9\u6216\u53EF\u590D\u7528 finding\uFF1B\u7F3A\u53EF\u590D\u7528\u8D44\u4EA7\u6216 bounded-bite \u8BC1\u636E\u53EA\u6392\u9664\u5BF9\u5E94\u8D44\u4EA7\u5904\u65B9\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002`
|
|
873
886
|
}),
|
|
874
|
-
reason:
|
|
887
|
+
reason: Type10.Unknown({
|
|
875
888
|
description: "\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u4EC5 refused \u65F6\u7528\u3002"
|
|
876
889
|
}),
|
|
877
|
-
missingEvidence:
|
|
890
|
+
missingEvidence: Type10.Unknown({
|
|
878
891
|
description: "\u5982\u5B9E\u8BC1\u8BCD\u6240\u9700\u800C\u5C1A\u7F3A\u7684\u8BC1\u636E\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982\u6BCF\u9879 need\u3001targetKeys\uFF09\u3002"
|
|
879
892
|
})
|
|
880
893
|
});
|
|
881
894
|
doctorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
882
895
|
openToolObject(doctorSubmissionObject)
|
|
883
896
|
);
|
|
884
|
-
doctorEvidenceReadSchema =
|
|
897
|
+
doctorEvidenceReadSchema = Type10.Object({ evidenceId: Type10.String({ minLength: 1, description: "\u5F85\u8BFB\u7559\u5B58\u8BC1\u636E\u6807\u8BC6" }), offset: Type10.Optional(Type10.Integer({ minimum: 0, description: "\u8D77\u59CB\u5B57\u8282\u504F\u79FB\uFF08\u4ECE 0 \u8BA1\uFF09" })), limit: Type10.Optional(Type10.Integer({ minimum: 1, description: "\u8FD4\u56DE\u5B57\u8282\u6570\uFF08\u65E0\u4E0A\u9650\uFF09" })) }, { additionalProperties: true });
|
|
885
898
|
DoctorEvidenceStore = class {
|
|
886
899
|
constructor(patient) {
|
|
887
900
|
this.patient = patient;
|
|
@@ -950,7 +963,7 @@ var init_exact_utf8 = __esm({
|
|
|
950
963
|
});
|
|
951
964
|
|
|
952
965
|
// src/merger-contracts.ts
|
|
953
|
-
import { Type as
|
|
966
|
+
import { Type as Type11 } from "typebox";
|
|
954
967
|
function fail(message = "Merger input violates its exact contract") {
|
|
955
968
|
throw new MergerInputContractError(message);
|
|
956
969
|
}
|
|
@@ -984,25 +997,25 @@ var init_merger_contracts = __esm({
|
|
|
984
997
|
init_open_tool_schema();
|
|
985
998
|
init_terminating_infrastructure();
|
|
986
999
|
init_unknown_value();
|
|
987
|
-
materialSchema =
|
|
988
|
-
checkSchema =
|
|
989
|
-
mergerInputSchema =
|
|
990
|
-
attemptId:
|
|
991
|
-
targetObjectId:
|
|
992
|
-
sourceObjectId:
|
|
1000
|
+
materialSchema = Type11.Object({ bytesBase64: Type11.String(), sha256: Type11.String() });
|
|
1001
|
+
checkSchema = Type11.Object({ name: Type11.String({ minLength: 1 }), argv: Type11.Array(Type11.String({ minLength: 1 }), { minItems: 1 }) });
|
|
1002
|
+
mergerInputSchema = Type11.Object({
|
|
1003
|
+
attemptId: Type11.String({ minLength: 1, description: "\u5BF9\u8D26 attempt \u8EAB\u4EFD\uFF08transport\uFF09" }),
|
|
1004
|
+
targetObjectId: Type11.String({ description: "\u6750\u6599\uFF1Atarget parent OID\uFF1B\u53EF\u7A7A" }),
|
|
1005
|
+
sourceObjectId: Type11.String({ description: "\u6750\u6599\uFF1Asource parent OID\uFF1B\u53EF\u7A7A" }),
|
|
993
1006
|
// #1168: task/authority dispatch copies removed; git-fact intents remain.
|
|
994
|
-
materials:
|
|
995
|
-
expectedConflictPaths:
|
|
996
|
-
resolutionScope:
|
|
997
|
-
authorizedChecks:
|
|
1007
|
+
materials: Type11.Object({ targetIntent: materialSchema, sourceIntent: materialSchema }),
|
|
1008
|
+
expectedConflictPaths: Type11.Array(Type11.String(), { description: "\u6750\u6599\uFF1A\u5F53\u524D\u672A\u5408\u5E76\u8DEF\u5F84\uFF1B\u53EF\u7A7A" }),
|
|
1009
|
+
resolutionScope: Type11.Array(Type11.String(), { description: "\u6750\u6599\uFF1A\u89E3\u6790\u8303\u56F4\u63D0\u793A\uFF1B\u53EF\u7A7A" }),
|
|
1010
|
+
authorizedChecks: Type11.Array(checkSchema)
|
|
998
1011
|
});
|
|
999
1012
|
MERGER_STATUS_DESCRIPTION = "completed | escalate";
|
|
1000
|
-
mergerOutputObject =
|
|
1001
|
-
status:
|
|
1002
|
-
attemptId:
|
|
1003
|
-
report:
|
|
1004
|
-
mergeCommitId:
|
|
1005
|
-
diagnosis:
|
|
1013
|
+
mergerOutputObject = Type11.Object({
|
|
1014
|
+
status: Type11.Unknown({ description: MERGER_STATUS_DESCRIPTION }),
|
|
1015
|
+
attemptId: Type11.Unknown({ description: "\u5DF2\u53D7\u7406\u5408\u5E76 attempt \u8EAB\u4EFD" }),
|
|
1016
|
+
report: Type11.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
1017
|
+
mergeCommitId: Type11.Unknown({ description: "\u5B8C\u6210\u5408\u5E76 commit object ID" }),
|
|
1018
|
+
diagnosis: Type11.Unknown({
|
|
1006
1019
|
description: "\u5408\u5E76\u65E0\u6CD5\u6216\u4E0D\u5E94\u7531\u672C\u5E2D\u5B8C\u6210\u7684\u539F\u56E0\uFF08\u542B\u65E0\u8FDB\u884C\u4E2D\u5408\u5E76\u3001\u65E0\u6D3B\u53EF\u5E72\u3001\u9700\u65B0\u7684\u4EA7\u54C1/\u6743\u529B\u51B3\u5B9A\uFF09"
|
|
1007
1020
|
})
|
|
1008
1021
|
});
|
|
@@ -1057,7 +1070,7 @@ var init_countersign_contracts = __esm({
|
|
|
1057
1070
|
});
|
|
1058
1071
|
|
|
1059
1072
|
// src/gleaner-left-contracts.ts
|
|
1060
|
-
import { Type as
|
|
1073
|
+
import { Type as Type12 } from "typebox";
|
|
1061
1074
|
var GLEANER_LEFT_OUTPUT_TOOL_NAME, gleanerLeftOutputSchema, GLEANER_LEFT_BASE_FLAG;
|
|
1062
1075
|
var init_gleaner_left_contracts = __esm({
|
|
1063
1076
|
"src/gleaner-left-contracts.ts"() {
|
|
@@ -1068,11 +1081,11 @@ var init_gleaner_left_contracts = __esm({
|
|
|
1068
1081
|
GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
|
|
1069
1082
|
gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
|
|
1070
1083
|
openToolObject(
|
|
1071
|
-
|
|
1072
|
-
status:
|
|
1084
|
+
Type12.Object({
|
|
1085
|
+
status: Type12.Unknown({
|
|
1073
1086
|
description: "completed"
|
|
1074
1087
|
}),
|
|
1075
|
-
findings:
|
|
1088
|
+
findings: Type12.Unknown({
|
|
1076
1089
|
description: "\u5F39\u7AE0\u5217\u8868\uFF1B\u6BCF\u6761\u53EF\u542B pointer\uFF08\u6587\u4EF6/\u884C\u6307\u9488\uFF09\u4E0E statement\uFF08\u7591\u70B9\u9648\u8FF0\uFF09\uFF0C\u539F\u6837\u7559\u5B58\u3002\u7A7A\u5217\u8868\u5408\u6CD5\u5B8C\u5C40\uFF1B\u673A\u5668\u4E0D\u5224\u5F39\u7AE0\u662F\u5426\u6210\u7ACB\u3002"
|
|
1077
1090
|
})
|
|
1078
1091
|
})
|
|
@@ -2074,7 +2087,7 @@ var init_ticket_provenance_contracts = __esm({
|
|
|
2074
2087
|
});
|
|
2075
2088
|
|
|
2076
2089
|
// src/diarist-contracts.ts
|
|
2077
|
-
import { Type as
|
|
2090
|
+
import { Type as Type13 } from "typebox";
|
|
2078
2091
|
function projectDiaristSessions(value) {
|
|
2079
2092
|
const raw = value?.sessions;
|
|
2080
2093
|
if (raw === void 0) return [];
|
|
@@ -2107,20 +2120,20 @@ var init_diarist_contracts = __esm({
|
|
|
2107
2120
|
DIARIST_SESSIONS_DESCRIPTION = "\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B\u8D77\u70B9\u4E0E\u7EC8\u70B9\u5404\u5199 id\uFF08\u539F\u751F id\uFF09\u6216 line\uFF08\u672C\u8F6E\u884C\u53F7\uFF09\uFF0C\u4E8C\u9009\u4E00\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002";
|
|
2108
2121
|
diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
2109
2122
|
openToolObject(
|
|
2110
|
-
|
|
2111
|
-
status:
|
|
2123
|
+
Type13.Object({
|
|
2124
|
+
status: Type13.Unknown({
|
|
2112
2125
|
description: "completed | escalate"
|
|
2113
2126
|
}),
|
|
2114
|
-
ticketNumber:
|
|
2115
|
-
|
|
2127
|
+
ticketNumber: Type13.Optional(
|
|
2128
|
+
Type13.Unknown({
|
|
2116
2129
|
description: "\u672C\u5EAD\u5BF9\u8C61\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\u6216 null/\u7701\u7565\uFF1D\u771F\u65E0\u7968\uFF1B\u4E0B\u6E38\u8D70 typed \u952E\uFF1B\u8BA4\u4E0D\u51FA\u7528 status=escalate\uFF0C\u4E0D\u6D17\u6210\u65E0\u5F55\u3002\u673A\u68B0\u5C42\u4E0D\u91CD\u5224\u3002"
|
|
2117
2130
|
})
|
|
2118
2131
|
),
|
|
2119
|
-
reason:
|
|
2132
|
+
reason: Type13.Unknown({
|
|
2120
2133
|
description: "status \u4E3A escalate \u65F6\uFF1A\u8BA4\u4E0D\u51FA\u672C\u5EAD\u5BF9\u8C61\u7684\u539F\u56E0"
|
|
2121
2134
|
}),
|
|
2122
|
-
sessions:
|
|
2123
|
-
ticketSessions:
|
|
2135
|
+
sessions: Type13.Optional(Type13.Unknown({ description: DIARIST_SESSIONS_DESCRIPTION })),
|
|
2136
|
+
ticketSessions: Type13.Unknown({
|
|
2124
2137
|
description: `\u591A\u7968\u5EAD\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002\u4E0E\u5355\u7968 sessions \u4E8C\u9009\u4E00\u3002`
|
|
2125
2138
|
})
|
|
2126
2139
|
})
|
|
@@ -2130,7 +2143,7 @@ var init_diarist_contracts = __esm({
|
|
|
2130
2143
|
});
|
|
2131
2144
|
|
|
2132
2145
|
// src/secretariat-contracts.ts
|
|
2133
|
-
import { Type as
|
|
2146
|
+
import { Type as Type14 } from "typebox";
|
|
2134
2147
|
var SECRETARIAT_OUTPUT_TOOL_NAME, secretariatVerdictSchema;
|
|
2135
2148
|
var init_secretariat_contracts = __esm({
|
|
2136
2149
|
"src/secretariat-contracts.ts"() {
|
|
@@ -2138,19 +2151,19 @@ var init_secretariat_contracts = __esm({
|
|
|
2138
2151
|
init_terminating_infrastructure();
|
|
2139
2152
|
SECRETARIAT_OUTPUT_TOOL_NAME = "ak_secretariat_output";
|
|
2140
2153
|
secretariatVerdictSchema = withTerminatingOutputDeclarations(
|
|
2141
|
-
|
|
2154
|
+
Type14.Object(
|
|
2142
2155
|
{
|
|
2143
|
-
secretariatStatus:
|
|
2156
|
+
secretariatStatus: Type14.Unknown({
|
|
2144
2157
|
description: "converged | escalate"
|
|
2145
2158
|
}),
|
|
2146
|
-
ticketNumber:
|
|
2147
|
-
|
|
2159
|
+
ticketNumber: Type14.Optional(
|
|
2160
|
+
Type14.Unknown({ description: "\u672C\u7968\u53F7\uFF1B\u7F72\u65F6\u6307\u5411\u6700\u7EC8\u6B63\u6587\u6240\u5728\u7968" })
|
|
2148
2161
|
),
|
|
2149
|
-
note:
|
|
2162
|
+
note: Type14.Unknown({
|
|
2150
2163
|
description: "\u9644\u6CE8\uFF1B\u7F72\uFF08converged\uFF09\u65F6\u9010\u9898\u5217\u7B54\u6848\u3001\u4F9D\u636E\u4E0E\u843D\u5728\u54EA\u4E00\u53E5\uFF1B\u5C01\u8FD8\uFF08escalate\uFF09\u65F6\u9996\u5199\u300C\u5C01\u8FD8\u300D\u3002\u539F\u6837\u7559\u5B58\u3002"
|
|
2151
2164
|
}),
|
|
2152
|
-
evidence:
|
|
2153
|
-
decisionGate:
|
|
2165
|
+
evidence: Type14.Optional(Type14.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
|
|
2166
|
+
decisionGate: Type14.Unknown({
|
|
2154
2167
|
description: "\u672C\u8F6E\u9898\u76EE\uFF1A\u6BCF\u9898 question\u3001options\uFF08\u7A3F\u91CC\u505A\u6CD5\uFF0F\u53E6\u4E00\u505A\u6CD5\uFF09\u3001\u4E24\u8FB9\u4EE3\u4EF7\u3001\u5EFA\u8BAE\u3002\u539F\u6837\u7559\u5B58\u3002"
|
|
2155
2168
|
})
|
|
2156
2169
|
},
|
|
@@ -4326,7 +4339,7 @@ var init_collector_config = __esm({
|
|
|
4326
4339
|
});
|
|
4327
4340
|
|
|
4328
4341
|
// src/collector-tool-schemas.ts
|
|
4329
|
-
import { Type as
|
|
4342
|
+
import { Type as Type15 } from "typebox";
|
|
4330
4343
|
var collectorOutputBaseSchema, collectorOutputArgsSchema;
|
|
4331
4344
|
var init_collector_tool_schemas = __esm({
|
|
4332
4345
|
"src/collector-tool-schemas.ts"() {
|
|
@@ -4334,11 +4347,11 @@ var init_collector_tool_schemas = __esm({
|
|
|
4334
4347
|
init_open_tool_schema();
|
|
4335
4348
|
init_terminating_infrastructure();
|
|
4336
4349
|
collectorOutputBaseSchema = openToolObject(
|
|
4337
|
-
|
|
4338
|
-
groups:
|
|
4350
|
+
Type15.Object({
|
|
4351
|
+
groups: Type15.Unsafe({
|
|
4339
4352
|
description: "\u6309\u673A\u5668\u8EAB\u4EFD\u5F52\u7EC4\u7684\u51FA\u5E2D\u3001\u6750\u6599\u4E0E\u9010\u6761 findings\uFF08LLM \u81EA\u884C\u4ECE\u5BBF\u4E3B CLI \u53D6\u8BC1\u6574\u7406\uFF1B\u4EE3\u7801\u4E0D\u4EE3\u6536\u4E0D\u5F52\u5E76\uFF09\u3002"
|
|
4340
4353
|
}),
|
|
4341
|
-
unfinishedReasons:
|
|
4354
|
+
unfinishedReasons: Type15.Unknown({
|
|
4342
4355
|
description: "\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u53D6\u8BC1\u53D7\u9650\u65F6\u5982\u5B9E\u62A5\u544A\u3002"
|
|
4343
4356
|
})
|
|
4344
4357
|
})
|
|
@@ -10328,7 +10341,7 @@ var init_run_lifecycle = __esm({
|
|
|
10328
10341
|
});
|
|
10329
10342
|
|
|
10330
10343
|
// src/report-ticket-tool.ts
|
|
10331
|
-
import { Type as
|
|
10344
|
+
import { Type as Type16 } from "typebox";
|
|
10332
10345
|
import { existsSync as existsSync6 } from "node:fs";
|
|
10333
10346
|
function pageString(page, key) {
|
|
10334
10347
|
const value = page?.[key];
|
|
@@ -10437,9 +10450,9 @@ var init_report_ticket_tool = __esm({
|
|
|
10437
10450
|
init_run_ticket_number();
|
|
10438
10451
|
init_unknown_value();
|
|
10439
10452
|
REPORT_TICKET_TOOL_NAME = "ak_report_ticket";
|
|
10440
|
-
reportTicketArgsSchema =
|
|
10453
|
+
reportTicketArgsSchema = Type16.Object(
|
|
10441
10454
|
{
|
|
10442
|
-
ticketNumber:
|
|
10455
|
+
ticketNumber: Type16.Unknown({
|
|
10443
10456
|
description: "\u672C\u7968\u53F7\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF09\u3002\u5DF2\u77E5\u7968\u53F7\u65F6\u5F00\u5DE5\u5373\u62A5\uFF1B\u5C1A\u65E0\u7968\u53F7\u65F6\u4E0D\u8981\u8C03\u7528\u3002"
|
|
10444
10457
|
})
|
|
10445
10458
|
},
|
|
@@ -19164,7 +19177,7 @@ var init_analyst_model_groups = __esm({
|
|
|
19164
19177
|
|
|
19165
19178
|
// src/analyst-entry.ts
|
|
19166
19179
|
import { readFile as readFile13 } from "node:fs/promises";
|
|
19167
|
-
import { Type as
|
|
19180
|
+
import { Type as Type17 } from "typebox";
|
|
19168
19181
|
function cachedPageMatchesRequestedScope(page, input) {
|
|
19169
19182
|
if (page.bookKey !== input.bookKey) return false;
|
|
19170
19183
|
const requestedTicket = input.ticketNumber ?? input.issueNumber;
|
|
@@ -19369,16 +19382,16 @@ var init_analyst_entry = __esm({
|
|
|
19369
19382
|
}
|
|
19370
19383
|
}
|
|
19371
19384
|
};
|
|
19372
|
-
analystSweepModeInputSchema =
|
|
19385
|
+
analystSweepModeInputSchema = Type17.Object(
|
|
19373
19386
|
{
|
|
19374
|
-
mode:
|
|
19375
|
-
mergedPullRequests:
|
|
19376
|
-
|
|
19387
|
+
mode: Type17.Literal("sweep"),
|
|
19388
|
+
mergedPullRequests: Type17.Array(
|
|
19389
|
+
Type17.Object(
|
|
19377
19390
|
{
|
|
19378
|
-
projectRoot:
|
|
19391
|
+
projectRoot: Type17.String(),
|
|
19379
19392
|
/** 排除后改动行数 — omit or 0 → typed 空缺; finite ≥ 0 only. */
|
|
19380
|
-
changedLines:
|
|
19381
|
-
|
|
19393
|
+
changedLines: Type17.Optional(
|
|
19394
|
+
Type17.Number({ minimum: 0, maximum: Number.MAX_VALUE })
|
|
19382
19395
|
)
|
|
19383
19396
|
}
|
|
19384
19397
|
)
|
|
@@ -21121,18 +21134,18 @@ import { join as join30 } from "node:path";
|
|
|
21121
21134
|
import { Value as Value2 } from "typebox/value";
|
|
21122
21135
|
|
|
21123
21136
|
// src/activation-trace.ts
|
|
21124
|
-
import { Type as
|
|
21125
|
-
var causeSchema =
|
|
21126
|
-
identity:
|
|
21127
|
-
name:
|
|
21128
|
-
message:
|
|
21129
|
-
evidenceId:
|
|
21137
|
+
import { Type as Type18 } from "typebox";
|
|
21138
|
+
var causeSchema = Type18.Object({
|
|
21139
|
+
identity: Type18.String({ minLength: 1 }),
|
|
21140
|
+
name: Type18.String({ minLength: 1 }),
|
|
21141
|
+
message: Type18.String(),
|
|
21142
|
+
evidenceId: Type18.Optional(Type18.String({ minLength: 1 }))
|
|
21130
21143
|
}, { additionalProperties: false });
|
|
21131
|
-
var activationTraceRecordSchema =
|
|
21132
|
-
role:
|
|
21133
|
-
stageId:
|
|
21134
|
-
status:
|
|
21135
|
-
timestamp:
|
|
21144
|
+
var activationTraceRecordSchema = Type18.Object({
|
|
21145
|
+
role: Type18.String({ minLength: 1 }),
|
|
21146
|
+
stageId: Type18.String({ pattern: "^[a-z][a-z0-9-]*$" }),
|
|
21147
|
+
status: Type18.Literal("failed"),
|
|
21148
|
+
timestamp: Type18.String({ format: "date-time" }),
|
|
21136
21149
|
cause: causeSchema
|
|
21137
21150
|
}, { additionalProperties: false });
|
|
21138
21151
|
var activationCauseEvidence = 0;
|
|
@@ -21295,10 +21308,10 @@ init_engine_detour();
|
|
|
21295
21308
|
init_engine_detour_usage();
|
|
21296
21309
|
init_run_terminal_artifacts();
|
|
21297
21310
|
init_serialize_thrown_value();
|
|
21298
|
-
import { Type as
|
|
21299
|
-
var engineDetourArgsSchema =
|
|
21311
|
+
import { Type as Type19 } from "typebox";
|
|
21312
|
+
var engineDetourArgsSchema = Type19.Object(
|
|
21300
21313
|
{
|
|
21301
|
-
argv:
|
|
21314
|
+
argv: Type19.Array(Type19.String({ minLength: 1 }), {
|
|
21302
21315
|
minItems: 1,
|
|
21303
21316
|
description: "\u9996\u9879\u4E3A PATH \u4E2D\u7684\u53EF\u6267\u884C\u6587\u4EF6\uFF0C\u5176\u4F59\u9879\u4E3A\u53C2\u6570\u3002"
|
|
21304
21317
|
})
|
|
@@ -8826,6 +8826,18 @@ var init_reviewer_output = __esm({
|
|
|
8826
8826
|
}
|
|
8827
8827
|
});
|
|
8828
8828
|
|
|
8829
|
+
// src/package-contracts/self-review-fields.ts
|
|
8830
|
+
var diffItemsField;
|
|
8831
|
+
var init_self_review_fields = __esm({
|
|
8832
|
+
"src/package-contracts/self-review-fields.ts"() {
|
|
8833
|
+
"use strict";
|
|
8834
|
+
init_build();
|
|
8835
|
+
diffItemsField = typebox_exports.Unknown({
|
|
8836
|
+
description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
|
|
8837
|
+
});
|
|
8838
|
+
}
|
|
8839
|
+
});
|
|
8840
|
+
|
|
8829
8841
|
// src/package-contracts/fixer-output.ts
|
|
8830
8842
|
var FIXER_OUTPUT_TOOL_NAME, PARTIALLY_COMPLETED_DEFINITION, FIXER_STATUS_DESCRIPTION, fixerOutputObject, fixerOutputSchema;
|
|
8831
8843
|
var init_fixer_output = __esm({
|
|
@@ -8834,6 +8846,7 @@ var init_fixer_output = __esm({
|
|
|
8834
8846
|
init_build();
|
|
8835
8847
|
init_open_tool_schema();
|
|
8836
8848
|
init_terminating_infrastructure();
|
|
8849
|
+
init_self_review_fields();
|
|
8837
8850
|
FIXER_OUTPUT_TOOL_NAME = "ak_fixer_output";
|
|
8838
8851
|
PARTIALLY_COMPLETED_DEFINITION = "partially_completed \u53EA\u80FD\u5728\u6709\u5408\u6CD5\u62D2\u7EDD\u9879\uFF08\u5B8C\u6210\u9879\u4E0E\u5408\u6CD5\u62D2\u7EDD\u9879\u5E76\u5B58\uFF09\u65F6\u7528\uFF0C\u522B\u7684\u60C5\u51B5\u4E0D\u51C6\u7528\u3002";
|
|
8839
8852
|
FIXER_STATUS_DESCRIPTION = `planned | completed | refused | unfinished | partially_completed\u3002unfinished \u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u65F6\u53EF\u7528\uFF0C\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
@@ -8850,8 +8863,9 @@ var init_fixer_output = __esm({
|
|
|
8850
8863
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
8851
8864
|
}),
|
|
8852
8865
|
classResults: typebox_exports.Unknown({
|
|
8853
|
-
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199
|
|
8866
|
+
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
|
|
8854
8867
|
}),
|
|
8868
|
+
diffItems: diffItemsField,
|
|
8855
8869
|
testEvidence: typebox_exports.Unknown({
|
|
8856
8870
|
description: "\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1Bdiff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u63D0\u4EA4\uFF1B\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
|
|
8857
8871
|
})
|
|
@@ -8870,6 +8884,7 @@ var init_worker_output = __esm({
|
|
|
8870
8884
|
init_build();
|
|
8871
8885
|
init_open_tool_schema();
|
|
8872
8886
|
init_fixer_output();
|
|
8887
|
+
init_self_review_fields();
|
|
8873
8888
|
init_terminating_infrastructure();
|
|
8874
8889
|
CODER_OUTPUT_TOOL_NAME = "ak_coder_output";
|
|
8875
8890
|
CODER_STATUS_DESCRIPTION = `planned | completed | refused | partially_completed | unfinished\u3002unfinished\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
@@ -8880,9 +8895,7 @@ var init_worker_output = __esm({
|
|
|
8880
8895
|
reason: typebox_exports.Unknown({
|
|
8881
8896
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
8882
8897
|
}),
|
|
8883
|
-
diffItems:
|
|
8884
|
-
description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
|
|
8885
|
-
})
|
|
8898
|
+
diffItems: diffItemsField
|
|
8886
8899
|
});
|
|
8887
8900
|
coderOutputSchema = withTerminatingOutputDeclarations(
|
|
8888
8901
|
openToolObject(coderOutputObject)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Type } from "typebox";
|
|
2
2
|
import { openToolObject } from "../open-tool-schema.js";
|
|
3
3
|
import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.js";
|
|
4
|
+
import { diffItemsField } from "./self-review-fields.js";
|
|
4
5
|
const FIXER_OUTPUT_TOOL_NAME = "ak_fixer_output";
|
|
5
6
|
const PARTIALLY_COMPLETED_DEFINITION = "partially_completed \u53EA\u80FD\u5728\u6709\u5408\u6CD5\u62D2\u7EDD\u9879\uFF08\u5B8C\u6210\u9879\u4E0E\u5408\u6CD5\u62D2\u7EDD\u9879\u5E76\u5B58\uFF09\u65F6\u7528\uFF0C\u522B\u7684\u60C5\u51B5\u4E0D\u51C6\u7528\u3002";
|
|
6
7
|
const FIXER_STATUS_DESCRIPTION = `planned | completed | refused | unfinished | partially_completed\u3002unfinished \u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u65F6\u53EF\u7528\uFF0C\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
@@ -17,8 +18,9 @@ const fixerOutputObject = Type.Object({
|
|
|
17
18
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
18
19
|
}),
|
|
19
20
|
classResults: Type.Unknown({
|
|
20
|
-
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199
|
|
21
|
+
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
|
|
21
22
|
}),
|
|
23
|
+
diffItems: diffItemsField,
|
|
22
24
|
testEvidence: Type.Unknown({
|
|
23
25
|
description: "\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1Bdiff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u63D0\u4EA4\uFF1B\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
|
|
24
26
|
})
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Builder-seat self-review table shared by the Coder and Fixer submissions (souls/quality-law.md「交卷前自审」). */
|
|
2
|
+
import { Type } from "typebox";
|
|
3
|
+
export const diffItemsField = Type.Unknown({
|
|
4
|
+
description: "commit 前自审逐项表:本次新增的每个测试函数、每个生产函数各一行 { item: 名字, existing: 仓里做同一件事的现成件 path:line,找不到为 null, outcome: 已并入 | 保留 }。",
|
|
5
|
+
});
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
PARTIALLY_COMPLETED_DEFINITION,
|
|
7
7
|
validateFixerOutput
|
|
8
8
|
} from "./fixer-output.js";
|
|
9
|
+
import { diffItemsField } from "./self-review-fields.js";
|
|
9
10
|
import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.js";
|
|
10
11
|
const CODER_OUTPUT_TOOL_NAME = "ak_coder_output";
|
|
11
12
|
function validateAcceptedCoderDetails(output) {
|
|
@@ -22,9 +23,7 @@ const coderOutputObject = Type.Object({
|
|
|
22
23
|
reason: Type.Unknown({
|
|
23
24
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
24
25
|
}),
|
|
25
|
-
diffItems:
|
|
26
|
-
description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
|
|
27
|
-
})
|
|
26
|
+
diffItems: diffItemsField
|
|
28
27
|
});
|
|
29
28
|
const coderOutputSchema = withTerminatingOutputDeclarations(
|
|
30
29
|
openToolObject(coderOutputObject)
|
package/dist/public-cli/main.js
CHANGED
|
@@ -9316,6 +9316,18 @@ var init_reviewer_output = __esm({
|
|
|
9316
9316
|
}
|
|
9317
9317
|
});
|
|
9318
9318
|
|
|
9319
|
+
// src/package-contracts/self-review-fields.ts
|
|
9320
|
+
var diffItemsField;
|
|
9321
|
+
var init_self_review_fields = __esm({
|
|
9322
|
+
"src/package-contracts/self-review-fields.ts"() {
|
|
9323
|
+
"use strict";
|
|
9324
|
+
init_build();
|
|
9325
|
+
diffItemsField = typebox_exports.Unknown({
|
|
9326
|
+
description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
|
|
9327
|
+
});
|
|
9328
|
+
}
|
|
9329
|
+
});
|
|
9330
|
+
|
|
9319
9331
|
// src/package-contracts/fixer-output.ts
|
|
9320
9332
|
var FIXER_OUTPUT_TOOL_NAME, PARTIALLY_COMPLETED_DEFINITION, FIXER_STATUS_DESCRIPTION, fixerOutputObject, fixerOutputSchema;
|
|
9321
9333
|
var init_fixer_output = __esm({
|
|
@@ -9324,6 +9336,7 @@ var init_fixer_output = __esm({
|
|
|
9324
9336
|
init_build();
|
|
9325
9337
|
init_open_tool_schema();
|
|
9326
9338
|
init_terminating_infrastructure();
|
|
9339
|
+
init_self_review_fields();
|
|
9327
9340
|
FIXER_OUTPUT_TOOL_NAME = "ak_fixer_output";
|
|
9328
9341
|
PARTIALLY_COMPLETED_DEFINITION = "partially_completed \u53EA\u80FD\u5728\u6709\u5408\u6CD5\u62D2\u7EDD\u9879\uFF08\u5B8C\u6210\u9879\u4E0E\u5408\u6CD5\u62D2\u7EDD\u9879\u5E76\u5B58\uFF09\u65F6\u7528\uFF0C\u522B\u7684\u60C5\u51B5\u4E0D\u51C6\u7528\u3002";
|
|
9329
9342
|
FIXER_STATUS_DESCRIPTION = `planned | completed | refused | unfinished | partially_completed\u3002unfinished \u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u65F6\u53EF\u7528\uFF0C\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
@@ -9340,8 +9353,9 @@ var init_fixer_output = __esm({
|
|
|
9340
9353
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
9341
9354
|
}),
|
|
9342
9355
|
classResults: typebox_exports.Unknown({
|
|
9343
|
-
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199
|
|
9356
|
+
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u6BCF\u7C7B\u5199 name\u3001shape\uFF08\u9519\u8BEF\u5F62\u72B6\u4E00\u53E5\uFF09\u3002\u6309\u4EE3\u7801\u5F62\u72B6\u8BA4\u7684\u7C7B\u5199 search\uFF08\u5B9E\u9645\u8DD1\u7684\u641C\u7D22\u547D\u4EE4\uFF0C\u539F\u6837\uFF09\u3001hits\uFF08\u547D\u4EE4\u8F93\u51FA\u7684\u6BCF\u4E2A\u547D\u4E2D\u4E00\u884C { where: path:line, outcome: \u5DF2\u4FEE | \u4E0D\u540C\u7C7B\uFF1A\u7406\u7531 }\uFF09\uFF1B\u6309\u60C5\u5F62\u8BA4\u7684\u7C7B\u5199 cases\uFF08\u6BCF\u79CD\u524D\u5E8F\u7ECF\u5386\u4E00\u884C { case: \u5BF9\u8C61\u5148\u7ECF\u5386\u4E86\u4EC0\u4E48, entry: \u4ECE\u771F\u5B9E\u5165\u53E3\u600E\u4E48\u8D70\u5230\u5B83, before: \u4FEE\u524D\u7ED3\u679C, after: \u4FEE\u540E\u7ED3\u679C }\uFF09\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 remainingScope\u3001blocker\u3002"
|
|
9344
9357
|
}),
|
|
9358
|
+
diffItems: diffItemsField,
|
|
9345
9359
|
testEvidence: typebox_exports.Unknown({
|
|
9346
9360
|
description: "\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1Bdiff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u63D0\u4EA4\uFF1B\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
|
|
9347
9361
|
})
|
|
@@ -9360,6 +9374,7 @@ var init_worker_output = __esm({
|
|
|
9360
9374
|
init_build();
|
|
9361
9375
|
init_open_tool_schema();
|
|
9362
9376
|
init_fixer_output();
|
|
9377
|
+
init_self_review_fields();
|
|
9363
9378
|
init_terminating_infrastructure();
|
|
9364
9379
|
CODER_OUTPUT_TOOL_NAME = "ak_coder_output";
|
|
9365
9380
|
CODER_STATUS_DESCRIPTION = `planned | completed | refused | partially_completed | unfinished\u3002unfinished\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
@@ -9370,9 +9385,7 @@ var init_worker_output = __esm({
|
|
|
9370
9385
|
reason: typebox_exports.Unknown({
|
|
9371
9386
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
9372
9387
|
}),
|
|
9373
|
-
diffItems:
|
|
9374
|
-
description: "commit \u524D\u81EA\u5BA1\u9010\u9879\u8868\uFF1A\u672C\u6B21\u65B0\u589E\u7684\u6BCF\u4E2A\u6D4B\u8BD5\u51FD\u6570\u3001\u6BCF\u4E2A\u751F\u4EA7\u51FD\u6570\u5404\u4E00\u884C { item: \u540D\u5B57, existing: \u4ED3\u91CC\u505A\u540C\u4E00\u4EF6\u4E8B\u7684\u73B0\u6210\u4EF6 path:line\uFF0C\u627E\u4E0D\u5230\u4E3A null, outcome: \u5DF2\u5E76\u5165 | \u4FDD\u7559 }\u3002"
|
|
9375
|
-
})
|
|
9388
|
+
diffItems: diffItemsField
|
|
9376
9389
|
});
|
|
9377
9390
|
coderOutputSchema = withTerminatingOutputDeclarations(
|
|
9378
9391
|
openToolObject(coderOutputObject)
|
package/package.json
CHANGED
package/souls/coder.md
CHANGED
|
@@ -7,13 +7,7 @@
|
|
|
7
7
|
开工核对见 souls/quality-law.md。
|
|
8
8
|
|
|
9
9
|
核对当前代码和历史;主张必须有当前事实支撑。
|
|
10
|
-
以最小垂直切片推进并逐片验证;切片完成不构成交卷条件。优先复用已有 seam;不造平行机制,不借机扩大 scope。commit
|
|
11
|
-
一、逐项表:从 `git diff HEAD`(未跟踪文件逐个打开)把本次新增的每个测试函数、每个生产函数逐个列进交卷的 diffItems,一个一行,照名字列,不合并、不省略。每一行到仓里找做同一件事的现成件——测试找调用同一个生产入口、证同一结论的已有测试;函数找做同一动作的已有函数——打开它,填它的 path:line;找不到填 null。填了 path:line 的行,当场把新增的并进那个现成件、删掉新增的,outcome 写「已并入」;null 的行 outcome 写「保留」。改完重跑 `git diff HEAD` 重列,直到每一行不是 null 就是已并入。
|
|
12
|
-
二、再过三问,哪条不过当场改:
|
|
13
|
-
1. 入口:每个测试从票面验收写明的对外入口进,沿真实链路走到结果;直接调内部函数、自己拼中间数据喂下一步的,改成从入口走。
|
|
14
|
-
2. 断言:每条断言的对象是返回值、数据库行或结构化字段的值;断言字符串内容(提示词、文案、日志、报错文字)的,不论字符串来自常量还是模型输出,改成断言它驱动出的结构化结果。
|
|
15
|
-
3. 退役:被本次改动替代的旧函数、旧分支、旧测试,在 diff 里已经删除。
|
|
16
|
-
两步都过了才 commit。
|
|
10
|
+
以最小垂直切片推进并逐片验证;切片完成不构成交卷条件。优先复用已有 seam;不造平行机制,不借机扩大 scope。commit 之前按 souls/quality-law.md「交卷前自审」做完两步再 commit。
|
|
17
11
|
计划与施工都要说明真实刀口、行为边界和验证方法,不用空泛完成声明代替证据。
|
|
18
12
|
切片验证的范围见 souls/quality-law.md「测试分级」。
|
|
19
13
|
不 amend、rewrite 或 push。Git 变化是证据之一,不取代角色报告。
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# 修内司输出指南
|
|
2
2
|
|
|
3
3
|
提交前缀见仓内 CLAUDE.md「Commit 前缀」。不 amend、不 rewrite、不 push 见 souls/fixer.md。
|
|
4
|
-
交卷回执:逐 finding
|
|
4
|
+
交卷回执:逐 finding 报处置。classResults 每类的 hits 或 cases 是扫类、复扫的逐项表;diffItems 是交卷前自审的逐项表。证据引用口径见仓内 CLAUDE.md「锚定宪法」。
|
|
5
5
|
新造通用件的回执口径见 souls/quality-law.md「生态里已有的不自己造」。
|
package/souls/fixer.md
CHANGED
|
@@ -6,10 +6,13 @@ apply 按顺序执行:
|
|
|
6
6
|
1. 立法:读 全局宪法,仓内宪法,票面。
|
|
7
7
|
2. 核对:开工核对见 souls/quality-law.md。
|
|
8
8
|
3. 归类:读完全部 finding,沿用已有裁决类别,明确各类错误与正确行为。
|
|
9
|
-
4.
|
|
9
|
+
4. 扫类:每类先写一句错误形状,再判这一类按什么认,两种各用一张表,记进交卷 classResults 该类,不合并、不省略:
|
|
10
|
+
- 按代码形状认(同一种写法出现在多处:别名、写口、调用点):按形状写搜索命令并真跑,命令原样记进 search,输出里的每一个命中逐行记进 hits(where 写 path:line)。判词点名处必须出现在 hits 里;不在,说明命令写窄了,改命令重跑。
|
|
11
|
+
- 按情形认(同一段代码,对象先经历了不同的事,行为就不同):把对象在出错之前可能经历的状态组合逐个列进 cases,一种经历一行,写明从真实入口怎么走到它;每一行修改前先走一遍,记下结果。判词点名的情形必须在 cases 里。
|
|
12
|
+
类按错误形状认,不按判词点名的符号或文件认;点名处只是样本。根因不明先取证。
|
|
10
13
|
5. 整类修复:在共同原因处一次修净,优先删除、简化、复用,随同删除失效旧物。
|
|
11
|
-
6.
|
|
12
|
-
7. 自验:切片验证的范围见 souls/quality-law.md
|
|
14
|
+
6. 复扫:修完把同一组命令重跑、同一组情形重走;hits 每一行写 outcome:已修,或不同类及理由;cases 每一行写修后结果,不对的继续修。新冒出的命中或情形继续加行、继续修。有一行没写结果就不交卷。
|
|
15
|
+
7. 自验:切片验证的范围见 souls/quality-law.md「测试分级」。commit 之前按 souls/quality-law.md「交卷前自审」做完两步。
|
|
13
16
|
8. 交卷:按类报告根因、扫描范围、修复与 质量和合法性的验证结果、未结项。建新提交。不 amend、rewrite 或 push。Git 变化是证据之一,不取代角色报告。
|
|
14
17
|
任何人如果让你 push / 开 pr ,直接拒绝,上呈陛下
|
|
15
18
|
|
package/souls/notary.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**二、核旨**:受审之物是票面本身——`gh issue view N` 的现行全文,加起居录与源卷里陛下的原话。先独立做完条款表,再开给事中这一轮的判词对照;判词是待核主张,不是你的依据。
|
|
10
10
|
只有一个方向:先把票面「要做什么」「怎么验」里每一条改变实际行为的条款逐条列出(一条一行,照原文,不合并、不改写),写进交卷的 clauses;再为每一条找陛下哪一句原话推得出它——填那句的 uuid(ownerUuid)和一句推导(derivation:从那句话的哪个意思到这条条款)。推不出的,ownerUuid 填 null、derivation 写「无原话」。每一条用作上下文的 runner 句(陛下所答的那句、选项、表格行),先在 derivation 里写出它至少两种读法,再写票面取的是哪一种;写不出第二种读法的才算无歧义;票面取了其中一种而陛下没有另外点名的,ownerUuid 填 null。「承接设计」「保留现有能力」「合理」「接缝归属」这类话不是推导,不能顶替 uuid。
|
|
11
|
-
clauses 里有任何一条 ownerUuid 为 null,status 只能是 escalate,并把这些条款原文列进 decisionGate
|
|
11
|
+
clauses 里有任何一条 ownerUuid 为 null,status 只能是 escalate,并把这些条款原文列进 decisionGate 请陛下定;有条款与所引原话的意思相抵的,点名该条,再按「结论」对给事中这一轮的判词定署或封驳。
|
|
12
12
|
**是否符合陛下原意**——先根据起居录对话判断陛下意图,再看受审之物 是不是陛下想要的;字面对得上、意思不对(曲解、断章、只取字面不取法意)同为病。
|
|
13
13
|
**陛下原话逐句核销**——起居录里陛下对本票说过的每一句,逐句过:先写明它答的是起居录哪一句、哪一行(问句、表格行、选项),那一句描述的对象是什么,写进判词证据;再问他这句话想要什么、在担心什么,再看受审之物给没给到——不是为了凑齐引文。受审之物动作的对象比所答对象大——答的是代码代劳却删席位、删衙门、删能力、改流程——而原话没有点名该对象的,封驳。衙门与替它干活的代码是两个对象:说某机制多余、可以删,不是说撤该衙门;席位、衙门、能力的存废只认点名它本身的原话。质问句——陛下在问这张票、这条约束凭什么存在——是对受审之物的未决挑战,不是授权:没被事实或适用的法答掉的,或被摘来当「支持」的,封驳。runner 在录里已自认不成立的理由仍撑着受审之物的,同。
|
|
14
14
|
**找不到陛下原话**——受审之物里方向、设计、决策一级的条款,从陛下的意思推不出、又指不出哪条过了审的法源的,即加戏。不得以「授权实质在录」放行。
|
|
@@ -32,4 +32,4 @@
|
|
|
32
32
|
|
|
33
33
|
## 结论
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
结论三态,裁的是被审衙门这一轮的判词站不站得住(票庭是给事中,大理寺庭是大理寺),条款表是你的依据:'converged'(署)——站得住,不论它署了票还是封驳了票:它署了票,而条款表每条都有 uuid 且推导成立;或它封驳了票、退签发方改,而你也查出该改的地方。'continue'(封驳)——站不住,要被审衙门改判重交:它署了票,而条款表查出与原话相抵的条款;或它封驳的理由在原话上不成立。'escalate'(上呈)——有条款 ownerUuid 为 null(无原话),陛下定。
|
package/souls/quality-law.md
CHANGED
|
@@ -35,6 +35,16 @@
|
|
|
35
35
|
|
|
36
36
|
生产代码和测试代码都计算复杂度。新增任何测试,都必须证明它提供了现有体系没有的必要价值。
|
|
37
37
|
|
|
38
|
+
## 交卷前自审
|
|
39
|
+
|
|
40
|
+
施工席 commit 之前先自审,分两步:
|
|
41
|
+
一、逐项表:从 `git diff HEAD`(未跟踪文件逐个打开)把本次新增的每个测试函数、每个生产函数逐个列进交卷的 diffItems,一个一行,照名字列,不合并、不省略。每一行到仓里找做同一件事的现成件——测试找调用同一个生产入口、证同一结论的已有测试;函数找做同一动作的已有函数——打开它,填它的 path:line;找不到填 null。填了 path:line 的行,当场把新增的并进那个现成件、删掉新增的,outcome 写「已并入」;null 的行 outcome 写「保留」。改完重跑 `git diff HEAD` 重列,直到每一行不是 null 就是已并入。
|
|
42
|
+
二、再过三问,哪条不过当场改:
|
|
43
|
+
1. 入口:每个测试从票面验收写明的对外入口进,沿真实链路走到结果;直接调内部函数、自己拼中间数据喂下一步的,改成从入口走。
|
|
44
|
+
2. 断言:每条断言的对象是返回值、数据库行或结构化字段的值;断言字符串内容(提示词、文案、日志、报错文字)的,不论字符串来自常量还是模型输出,改成断言它驱动出的结构化结果。
|
|
45
|
+
3. 退役:被本次改动替代的旧函数、旧分支、旧测试,在 diff 里已经删除。
|
|
46
|
+
两步都过了才 commit。
|
|
47
|
+
|
|
38
48
|
## 测试分级
|
|
39
49
|
|
|
40
50
|
按尺寸分级,不按名义分类。小型:单进程单模块、不碰外部资源、秒级完成。中型:单机之内,可跨进程、可碰本机资源。大型:完整系统真实链路。行为证明放在够用的最小尺寸;大型只保留中小型无法证明的行为。
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Type } from "typebox";
|
|
2
2
|
import { openToolObject } from "../open-tool-schema.ts";
|
|
3
3
|
import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.ts";
|
|
4
|
+
import { diffItemsField } from "./self-review-fields.ts";
|
|
4
5
|
|
|
5
6
|
export const FIXER_OUTPUT_TOOL_NAME = "ak_fixer_output";
|
|
6
7
|
|
|
@@ -28,8 +29,9 @@ const fixerOutputObject = Type.Object({
|
|
|
28
29
|
}),
|
|
29
30
|
classResults: Type.Unknown({
|
|
30
31
|
description:
|
|
31
|
-
"各类 class
|
|
32
|
+
"各类 class 结算,原样留存。每类写 name、shape(错误形状一句)。按代码形状认的类写 search(实际跑的搜索命令,原样)、hits(命令输出的每个命中一行 { where: path:line, outcome: 已修 | 不同类:理由 });按情形认的类写 cases(每种前序经历一行 { case: 对象先经历了什么, entry: 从真实入口怎么走到它, before: 修前结果, after: 修后结果 })。完成项的 disposition 为 completed,可写 commitSha。拒绝项的 disposition 为 refused,可写 remainingScope、blocker。",
|
|
32
33
|
}),
|
|
34
|
+
diffItems: diffItemsField,
|
|
33
35
|
testEvidence: Type.Unknown({
|
|
34
36
|
description:
|
|
35
37
|
"测试证据条;diff 含测试改动时提交;机器不核验。可写 contract(测试改动所证明的契约)、minimumNecessaryCost(测试改动的一行最小必要成本)、measuredDuration(聚焦验证实测时长)。",
|
|
@@ -57,6 +59,7 @@ export type FixerOutput = {
|
|
|
57
59
|
readonly reason?: unknown;
|
|
58
60
|
readonly classResults?: unknown;
|
|
59
61
|
readonly testEvidence?: unknown;
|
|
62
|
+
readonly diffItems?: unknown;
|
|
60
63
|
};
|
|
61
64
|
export type FixerPhase = "plan" | "apply";
|
|
62
65
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Builder-seat self-review table shared by the Coder and Fixer submissions (souls/quality-law.md「交卷前自审」). */
|
|
2
|
+
|
|
3
|
+
import { Type } from "typebox";
|
|
4
|
+
|
|
5
|
+
export const diffItemsField = Type.Unknown({
|
|
6
|
+
description:
|
|
7
|
+
"commit 前自审逐项表:本次新增的每个测试函数、每个生产函数各一行 { item: 名字, existing: 仓里做同一件事的现成件 path:line,找不到为 null, outcome: 已并入 | 保留 }。",
|
|
8
|
+
});
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
type FixerOutput,
|
|
14
14
|
type FixerPhase,
|
|
15
15
|
} from "./fixer-output.ts";
|
|
16
|
+
import { diffItemsField } from "./self-review-fields.ts";
|
|
16
17
|
import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.ts";
|
|
17
18
|
|
|
18
19
|
export {
|
|
@@ -57,10 +58,7 @@ const coderOutputObject = Type.Object({
|
|
|
57
58
|
reason: Type.Unknown({
|
|
58
59
|
description: "阻断原因:缺前置或违宪约束。缺待决 owner 决定或答复属缺前置。",
|
|
59
60
|
}),
|
|
60
|
-
diffItems:
|
|
61
|
-
description:
|
|
62
|
-
"commit 前自审逐项表:本次新增的每个测试函数、每个生产函数各一行 { item: 名字, existing: 仓里做同一件事的现成件 path:line,找不到为 null, outcome: 已并入 | 保留 }。",
|
|
63
|
-
}),
|
|
61
|
+
diffItems: diffItemsField,
|
|
64
62
|
});
|
|
65
63
|
export const coderOutputSchema = withTerminatingOutputDeclarations(
|
|
66
64
|
openToolObject(coderOutputObject),
|