@lazyingart/agintiflow 0.20.279 → 0.20.280

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.279",
3
+ "version": "0.20.280",
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",
@@ -191,15 +191,6 @@ try {
191
191
  const readOnlyVerificationState = {
192
192
  goal: readOnlyVerificationGoal,
193
193
  messages: [
194
- toolMessage({
195
- toolName: "run_command",
196
- ok: true,
197
- exitCode: 0,
198
- args: { command: "git commit -m 'Complete retained repair'" },
199
- stdout: "[main abcdef1] Complete retained repair\n 1 file changed, 1 insertion(+)",
200
- goalRevision: 13,
201
- projectMutationRevision: 19,
202
- }),
203
194
  toolMessage({
204
195
  toolName: "run_command",
205
196
  ok: true,
@@ -265,6 +256,12 @@ try {
265
256
  },
266
257
  buildScsEvidenceLedger({ state: readOnlyVerificationState })
267
258
  );
259
+ assert(
260
+ readOnlyVerificationState.messages.every(
261
+ (message) => !String(message.content || "").includes("git commit")
262
+ ),
263
+ "read-only compaction regression accidentally retained the historical commit message"
264
+ );
268
265
  assert(
269
266
  readOnlyGitEvaluation.missingGitActions.length === 0,
270
267
  "a prior verified same-task commit did not satisfy a read-only completion continuation"
@@ -3359,7 +3359,20 @@ export function buildScsEvidenceLedger({ state = {}, context = {} } = {}) {
3359
3359
  .slice(-80)
3360
3360
  .map((item) => revalidateArtifactEvidence(item, state, context));
3361
3361
  const verifiedItems = items.filter((item) => item?.verified !== false);
3362
- const categories = unique(verifiedItems.map((item) => item.category));
3362
+ const durableGitEvidence = (
3363
+ Array.isArray(state.meta?.durableGitEvidence) ? state.meta.durableGitEvidence : []
3364
+ )
3365
+ .map((item) => ({
3366
+ action: String(item?.action || "").toLowerCase(),
3367
+ goalRevision: Math.max(0, Number(item?.goalRevision || 0)),
3368
+ mutationRevision: Math.max(0, Number(item?.mutationRevision || 0)),
3369
+ }))
3370
+ .filter((item) => item.action)
3371
+ .slice(-80);
3372
+ const categories = unique([
3373
+ ...verifiedItems.map((item) => item.category),
3374
+ ...(durableGitEvidence.length ? ["git"] : []),
3375
+ ]);
3363
3376
  const toolNames = unique(verifiedItems.map((item) => item.toolName).filter(Boolean));
3364
3377
  const blockerEvents = events
3365
3378
  .filter((event) => ["tool.blocked", "tool.failed"].includes(String(event?.type || "")))
@@ -3392,6 +3405,7 @@ export function buildScsEvidenceLedger({ state = {}, context = {} } = {}) {
3392
3405
  toolNames,
3393
3406
  blockerCount: blockers.length,
3394
3407
  blockers,
3408
+ durableGitEvidence,
3395
3409
  items: items.map((item, index) => ({
3396
3410
  id: `e${String(index + 1).padStart(3, "0")}`,
3397
3411
  ...item,
@@ -3410,8 +3424,26 @@ export function evaluateScsEvidence(contract = {}, ledger = {}) {
3410
3424
  0,
3411
3425
  Number(contract.requiredGitMutationRevision || 0)
3412
3426
  );
3427
+ const durableGitEvidence = (
3428
+ Array.isArray(ledger.durableGitEvidence) ? ledger.durableGitEvidence : []
3429
+ ).filter(
3430
+ (item) =>
3431
+ item?.action &&
3432
+ (requiredGitRevision === 0 || Number(item?.goalRevision || 0) >= requiredGitRevision) &&
3433
+ (requiredGitMutationRevision === 0 ||
3434
+ Number(item?.mutationRevision || 0) >= requiredGitMutationRevision)
3435
+ );
3436
+ const observedGitEvidence = durableGitEvidence.length
3437
+ ? durableGitEvidence.map((item) => ({
3438
+ category: "git",
3439
+ verified: true,
3440
+ gitAction: item.action,
3441
+ goalRevision: item.goalRevision,
3442
+ mutationRevision: item.mutationRevision,
3443
+ }))
3444
+ : ledgerItems;
3413
3445
  const observedGitActionSequence =
3414
- ledgerItems
3446
+ observedGitEvidence
3415
3447
  .filter(
3416
3448
  (item) =>
3417
3449
  item?.category === "git" &&