@lazyingart/agintiflow 0.20.267 → 0.20.269
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lazyingart/agintiflow",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.269",
|
|
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",
|
|
@@ -5308,6 +5308,11 @@ try {
|
|
|
5308
5308
|
);
|
|
5309
5309
|
const generatedDeckValidator =
|
|
5310
5310
|
"python3 /tmp/presentation_deck_contract.py --root .";
|
|
5311
|
+
await fs.writeFile(
|
|
5312
|
+
path.join(workspace, "build_deck.py"),
|
|
5313
|
+
"print('build canonical deck')\n",
|
|
5314
|
+
"utf8"
|
|
5315
|
+
);
|
|
5311
5316
|
const staleGeneratedDeckState = {
|
|
5312
5317
|
goal: [
|
|
5313
5318
|
"Rebuild the canonical presentation output after repairing build_deck.py.",
|
|
@@ -5353,6 +5358,20 @@ try {
|
|
|
5353
5358
|
failureSummary: "acceptance failed: deck omits source-grounded phrase: single reader",
|
|
5354
5359
|
}],
|
|
5355
5360
|
},
|
|
5361
|
+
completionEvidenceRepair: {
|
|
5362
|
+
key: "stale-generated-deck-repair",
|
|
5363
|
+
at: "2026-08-27T19:00:00.000Z",
|
|
5364
|
+
mutationRevision: 9,
|
|
5365
|
+
requiresFreshFileMutation: true,
|
|
5366
|
+
requiredFreshMutationRevision: 10,
|
|
5367
|
+
},
|
|
5368
|
+
sourceCodeQuality: {
|
|
5369
|
+
checked: true,
|
|
5370
|
+
ok: true,
|
|
5371
|
+
paths: ["build_deck.py"],
|
|
5372
|
+
defects: [],
|
|
5373
|
+
mutationRevision: 9,
|
|
5374
|
+
},
|
|
5356
5375
|
},
|
|
5357
5376
|
};
|
|
5358
5377
|
const staleGeneratedDeckRuntime = nextStepRuntimeConfig(
|
|
@@ -5377,12 +5396,50 @@ try {
|
|
|
5377
5396
|
assert(
|
|
5378
5397
|
staleGeneratedDeckRuntime.generatedArtifactProducerPending === true &&
|
|
5379
5398
|
staleGeneratedDeckRuntime.generatedArtifactProducerCommand === "python3 build_deck.py" &&
|
|
5399
|
+
staleGeneratedDeckRuntime.completionFreshMutationRequired !== true &&
|
|
5380
5400
|
staleGeneratedDeckPhase?.mode === "generated-artifact-producer" &&
|
|
5381
5401
|
staleGeneratedDeckPhase?.command === "python3 build_deck.py",
|
|
5382
5402
|
`a stale generated artifact did not recover its exact safe producer before validation: ${JSON.stringify(
|
|
5383
5403
|
staleGeneratedDeckRuntime
|
|
5384
5404
|
)}`
|
|
5385
5405
|
);
|
|
5406
|
+
const staleGeneratedDeckSourceDefectState = JSON.parse(
|
|
5407
|
+
JSON.stringify(staleGeneratedDeckState)
|
|
5408
|
+
);
|
|
5409
|
+
staleGeneratedDeckSourceDefectState.meta.sourceCodeQuality = {
|
|
5410
|
+
checked: true,
|
|
5411
|
+
ok: false,
|
|
5412
|
+
paths: ["build_deck.py"],
|
|
5413
|
+
defects: ["build_deck.py still contains a concrete source defect"],
|
|
5414
|
+
mutationRevision: 9,
|
|
5415
|
+
};
|
|
5416
|
+
const staleGeneratedDeckSourceDefectRuntime = nextStepRuntimeConfig(
|
|
5417
|
+
{
|
|
5418
|
+
provider: "deepseek",
|
|
5419
|
+
taskProfile: "slides",
|
|
5420
|
+
commandCwd: workspace,
|
|
5421
|
+
goal: staleGeneratedDeckSourceDefectState.goal,
|
|
5422
|
+
},
|
|
5423
|
+
staleGeneratedDeckSourceDefectState
|
|
5424
|
+
);
|
|
5425
|
+
const staleGeneratedDeckSourceDefectPhase = buildKnownConstrainedPhasePlan(
|
|
5426
|
+
{
|
|
5427
|
+
provider: "deepseek",
|
|
5428
|
+
taskProfile: "slides",
|
|
5429
|
+
commandCwd: workspace,
|
|
5430
|
+
goal: staleGeneratedDeckSourceDefectState.goal,
|
|
5431
|
+
},
|
|
5432
|
+
staleGeneratedDeckSourceDefectState,
|
|
5433
|
+
staleGeneratedDeckSourceDefectRuntime
|
|
5434
|
+
);
|
|
5435
|
+
assert(
|
|
5436
|
+
staleGeneratedDeckSourceDefectRuntime.completionFreshMutationRequired === true &&
|
|
5437
|
+
staleGeneratedDeckSourceDefectPhase?.mode !== "generated-artifact-producer",
|
|
5438
|
+
`a retained source-quality defect was incorrectly bypassed by a stale artifact producer: ${JSON.stringify({
|
|
5439
|
+
runtime: staleGeneratedDeckSourceDefectRuntime,
|
|
5440
|
+
phase: staleGeneratedDeckSourceDefectPhase,
|
|
5441
|
+
})}`
|
|
5442
|
+
);
|
|
5386
5443
|
recordProjectVerificationOutcome(
|
|
5387
5444
|
staleGeneratedDeckState,
|
|
5388
5445
|
{
|
|
@@ -5392,6 +5449,12 @@ try {
|
|
|
5392
5449
|
args: { command: "python3 build_deck.py" },
|
|
5393
5450
|
stdout: "Wrote output/deck.pptx\n",
|
|
5394
5451
|
stderr: "",
|
|
5452
|
+
commandPolicy: {
|
|
5453
|
+
category: "toolchain",
|
|
5454
|
+
writesWorkspace: true,
|
|
5455
|
+
mayMutateProject: false,
|
|
5456
|
+
substantiveTest: false,
|
|
5457
|
+
},
|
|
5395
5458
|
},
|
|
5396
5459
|
{
|
|
5397
5460
|
provider: "deepseek",
|
package/src/agent-runner.js
CHANGED
|
@@ -6045,14 +6045,15 @@ export function recordProjectVerificationOutcome(state = {}, toolResult = {}, co
|
|
|
6045
6045
|
// verification regardless of its final exit status. Test identity and
|
|
6046
6046
|
// mutation capability are independent: a generator or snapshot-updating
|
|
6047
6047
|
// test still advances the revision, then records its evidence there.
|
|
6048
|
+
const generatedArtifactProducer = safeProjectProducerSegment(command, config);
|
|
6048
6049
|
const projectContentMutation = Boolean(
|
|
6049
6050
|
command &&
|
|
6050
6051
|
toolResult.blocked !== true &&
|
|
6051
|
-
|
|
6052
|
+
(
|
|
6053
|
+
commandCanMutateProjectContent(mutationCommand, commandPolicy) ||
|
|
6054
|
+
generatedArtifactProducer
|
|
6055
|
+
)
|
|
6052
6056
|
);
|
|
6053
|
-
const generatedArtifactProducer = projectContentMutation
|
|
6054
|
-
? safeProjectProducerSegment(command, config)
|
|
6055
|
-
: "";
|
|
6056
6057
|
let requiredBatch = currentRequiredCommandBatch(verification, requiredCommands);
|
|
6057
6058
|
const activeExecutionContract = state.meta?.activeExecutionContract;
|
|
6058
6059
|
const activeTurnCommands =
|
|
@@ -11302,6 +11303,12 @@ export function nextStepRuntimeConfig(config = {}, state = {}) {
|
|
|
11302
11303
|
if (pendingArtifactProducerCommand) {
|
|
11303
11304
|
runtimeConfig.generatedArtifactProducerPending = true;
|
|
11304
11305
|
runtimeConfig.generatedArtifactProducerCommand = pendingArtifactProducerCommand;
|
|
11306
|
+
if (!retainedSourceQualityRepairRequired) {
|
|
11307
|
+
delete runtimeConfig.completionFreshMutationRequired;
|
|
11308
|
+
delete runtimeConfig.completionFreshMutationRevision;
|
|
11309
|
+
delete runtimeConfig.completionFreshMutationPaths;
|
|
11310
|
+
delete runtimeConfig.completionFreshMutationNeedsSourceRead;
|
|
11311
|
+
}
|
|
11305
11312
|
}
|
|
11306
11313
|
if (retainedFailedTest) {
|
|
11307
11314
|
const repositoryStateRepairMarker = state.meta?.repositoryStateRepair;
|
|
@@ -14901,7 +14908,9 @@ async function executeTool(browserState, toolCall, snapshot, config, store, obse
|
|
|
14901
14908
|
packageInstallPolicy: policy.packageInstallPolicy,
|
|
14902
14909
|
needsNetwork: Boolean(policy.needsNetwork),
|
|
14903
14910
|
writesWorkspace: Boolean(policy.writesWorkspace),
|
|
14904
|
-
|
|
14911
|
+
...(typeof policy.mayMutateProject === "boolean"
|
|
14912
|
+
? { mayMutateProject: policy.mayMutateProject }
|
|
14913
|
+
: {}),
|
|
14905
14914
|
substantiveTest: Boolean(policy.substantiveTest),
|
|
14906
14915
|
gitOnly: Boolean(policy.gitOnly),
|
|
14907
14916
|
noMatchExitIsSuccess: Boolean(policy.noMatchExitIsSuccess),
|