@lazyingart/agintiflow 0.20.296 → 0.20.297
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/package.json +1 -1
- package/scripts/smoke-model-roles.js +20 -0
- package/src/scs-evidence.js +11 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lazyingart/agintiflow",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.297",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "AgInTiFlow is a project-aware agent workspace for hybrid wet-dry R&D, hardware-aware intelligence, software automation, and industrial workflows.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -807,6 +807,17 @@ const readinessOnlyContract = deriveScsTaskContract({
|
|
|
807
807
|
].join("\n"),
|
|
808
808
|
taskProfile: "auto",
|
|
809
809
|
});
|
|
810
|
+
const releaseProofFilenameContract = deriveScsTaskContract({
|
|
811
|
+
goal: [
|
|
812
|
+
'AGINTI_EVIDENCE_SCOPE_JSON: {"mode":"task","request":"Create a task-owned plain-text artifact named scoped-path-release-proof.txt, read it back, and finish without external actions."}',
|
|
813
|
+
"The host writes a final task record after the agent finishes.",
|
|
814
|
+
].join("\n"),
|
|
815
|
+
taskProfile: "auto",
|
|
816
|
+
});
|
|
817
|
+
const explicitPackageReleaseContract = deriveScsTaskContract({
|
|
818
|
+
goal: "Release the package to npm and verify the published version.",
|
|
819
|
+
taskProfile: "auto",
|
|
820
|
+
});
|
|
810
821
|
assert(
|
|
811
822
|
readinessOnlyContract.requiredEvidence.some((item) => item.category === "file") &&
|
|
812
823
|
readinessOnlyContract.requiredEvidence.some((item) => item.category === "command"),
|
|
@@ -816,6 +827,15 @@ assert(
|
|
|
816
827
|
!readinessOnlyContract.requiredEvidence.some((item) => ["publish", "browser", "visual", "artifact"].includes(item.category)),
|
|
817
828
|
"read-only readiness contract required a forbidden external action or target artifact"
|
|
818
829
|
);
|
|
830
|
+
assert(
|
|
831
|
+
releaseProofFilenameContract.requiredEvidence.some((item) => item.category === "file") &&
|
|
832
|
+
!releaseProofFilenameContract.requiredEvidence.some((item) => item.category === "publish"),
|
|
833
|
+
"a release-like artifact filename fabricated an external publication obligation"
|
|
834
|
+
);
|
|
835
|
+
assert(
|
|
836
|
+
explicitPackageReleaseContract.requiredEvidence.some((item) => item.category === "publish"),
|
|
837
|
+
"an explicit package release lost its publication evidence obligation"
|
|
838
|
+
);
|
|
819
839
|
assert(
|
|
820
840
|
uploadContract.exactInputPaths.includes("/tmp/reference-a.png") &&
|
|
821
841
|
uploadContract.exactInputPaths.includes("/tmp/reference-b.png") &&
|
package/src/scs-evidence.js
CHANGED
|
@@ -1439,7 +1439,17 @@ function inferRequirementCategories(goal = "", taskProfile = "", acceptanceCrite
|
|
|
1439
1439
|
) {
|
|
1440
1440
|
categories.add("visual");
|
|
1441
1441
|
}
|
|
1442
|
-
|
|
1442
|
+
const explicitPublishAction =
|
|
1443
|
+
textHas(
|
|
1444
|
+
text,
|
|
1445
|
+
/\b(?:publish|deploy|submit|upload to|generate video|external service|npm publish)\b/
|
|
1446
|
+
) ||
|
|
1447
|
+
textHas(
|
|
1448
|
+
text,
|
|
1449
|
+
/\b(?:release|ship)\s+(?:(?:the|this|that|a|an)\s+)?(?:package|version|build|app|application|software|library|plugin|extension|product)\b|\b(?:release|ship)\s+(?:to|on|via|through)\b|\bcut\s+(?:a\s+)?release\b/
|
|
1450
|
+
) ||
|
|
1451
|
+
/发布|部署|提交|生成视频|外部服务/.test(text);
|
|
1452
|
+
if (explicitPublishAction) {
|
|
1443
1453
|
categories.add("publish");
|
|
1444
1454
|
}
|
|
1445
1455
|
|