@t275005746/gse 0.1.1 → 0.1.2
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/.gse/state.json +147 -26
- package/CHANGELOG.md +19 -3
- package/README.md +13 -6
- package/README.zh-CN.md +13 -6
- package/SKILL.md +32 -12
- package/assets/templates/dispatch-packet.md +22 -14
- package/assets/templates/evidence.md +11 -5
- package/assets/templates/role-fallback-packet.md +49 -0
- package/package.json +18 -10
- package/references/agent-roles.md +41 -20
- package/references/commands.md +74 -45
- package/references/drift-audit.md +2 -1
- package/references/evidence-taxonomy.md +46 -9
- package/references/file-ownership.md +17 -13
- package/references/final-form-roadmap.md +201 -0
- package/references/final-readiness.md +3 -3
- package/references/host-adapters.md +38 -10
- package/references/learning-system.md +24 -8
- package/references/maintenance-cadence.md +51 -0
- package/references/project-guards.md +52 -0
- package/references/quality-gates.md +18 -11
- package/references/role-dispatch-fallback.md +54 -0
- package/references/tool-adapters.md +13 -3
- package/scripts/audit-close-gate-hardening.mjs +188 -0
- package/scripts/audit-close-gate.mjs +219 -33
- package/scripts/audit-command-execution.mjs +30 -17
- package/scripts/audit-commands.mjs +7 -5
- package/scripts/audit-completion-plan-drill.mjs +230 -0
- package/scripts/audit-completion-readiness.mjs +9 -6
- package/scripts/audit-continue-preflight.mjs +234 -0
- package/scripts/audit-evidence-levels.mjs +217 -0
- package/scripts/audit-evidence-review-queue.mjs +206 -0
- package/scripts/audit-final-acceptance-packet.mjs +9 -9
- package/scripts/audit-final-form-progress-report.mjs +19 -18
- package/scripts/audit-final-form-roadmap.mjs +157 -0
- package/scripts/audit-final-form-stale-copy.mjs +2 -2
- package/scripts/audit-final-readiness.mjs +3 -3
- package/scripts/audit-fresh-session-readiness.mjs +1 -1
- package/scripts/audit-host-capabilities.mjs +237 -0
- package/scripts/audit-installed-sync.mjs +203 -0
- package/scripts/audit-learning-drift.mjs +292 -0
- package/scripts/audit-learning-promotion.mjs +351 -0
- package/scripts/audit-learning-system.mjs +24 -14
- package/scripts/audit-local-final-form-completion.mjs +11 -10
- package/scripts/audit-maintenance-cadence.mjs +139 -0
- package/scripts/audit-maintenance-snapshot.mjs +181 -0
- package/scripts/audit-npm-package-metadata.mjs +8 -2
- package/scripts/audit-npm-publish-dry-run.mjs +10 -4
- package/scripts/audit-npm-tarball-install.mjs +9 -3
- package/scripts/audit-owner-external-gate-kit.mjs +12 -11
- package/scripts/audit-project-guards.mjs +189 -0
- package/scripts/audit-project.mjs +14 -11
- package/scripts/audit-public-acceptance-handoff.mjs +10 -10
- package/scripts/audit-public-acceptance-readiness.mjs +6 -6
- package/scripts/audit-public-release-checklist.mjs +17 -15
- package/scripts/audit-release-bundle.mjs +13 -11
- package/scripts/audit-release-owner-action-plan-drill.mjs +5 -4
- package/scripts/audit-release-owner-action-plan.mjs +10 -10
- package/scripts/audit-release-status-manifest.mjs +4 -4
- package/scripts/audit-roadmap-consistency.mjs +11 -7
- package/scripts/audit-role-dispatch-fallback.mjs +212 -0
- package/scripts/audit-session-sync.mjs +127 -0
- package/scripts/audit-state-freshness.mjs +6 -5
- package/scripts/audit-state-repair.mjs +360 -0
- package/scripts/audit-target-hardening-drills.mjs +267 -0
- package/scripts/audit-tool-fallback-policy.mjs +180 -0
- package/scripts/audit-ui-browser-evidence-policy.mjs +191 -0
- package/scripts/audit-validation-profiles.mjs +6 -4
- package/scripts/backfill-evidence-levels.mjs +98 -0
- package/scripts/check-encoding.mjs +72 -0
- package/scripts/generate-continue-packet.mjs +1214 -0
- package/scripts/generate-final-acceptance-packet.mjs +23 -8
- package/scripts/generate-final-form-progress-report.mjs +25 -23
- package/scripts/generate-host-runtime-evidence-handoff.mjs +23 -16
- package/scripts/generate-maintenance-snapshot.mjs +216 -0
- package/scripts/generate-public-acceptance-handoff.mjs +26 -14
- package/scripts/generate-release-owner-action-plan.mjs +4 -3
- package/scripts/generate-release-status-manifest.mjs +4 -3
- package/scripts/init-project.mjs +144 -63
- package/scripts/record-learning.mjs +37 -8
- package/scripts/record-session-sync.mjs +87 -0
- package/scripts/run-gse-command.mjs +79 -47
- package/scripts/run-validation-profile.mjs +24 -5
- package/scripts/validate-gse.mjs +216 -0
package/scripts/validate-gse.mjs
CHANGED
|
@@ -590,6 +590,18 @@ checks.push({
|
|
|
590
590
|
: null,
|
|
591
591
|
stderr: roadmapConsistency.stderr,
|
|
592
592
|
})
|
|
593
|
+
const finalFormRoadmap = run(process.execPath, [path.join(root, 'scripts', 'audit-final-form-roadmap.mjs'), '--root', root, '--json'])
|
|
594
|
+
const finalFormRoadmapData = parseJson(finalFormRoadmap.stdout)
|
|
595
|
+
checks.push({
|
|
596
|
+
id: 'validate-14b',
|
|
597
|
+
label: 'final-form roadmap contract audit',
|
|
598
|
+
status: finalFormRoadmap.status === 0 ? 'passed' : 'failed',
|
|
599
|
+
command: finalFormRoadmap.command,
|
|
600
|
+
summary: finalFormRoadmapData
|
|
601
|
+
? { status: finalFormRoadmapData.summary?.status, checks: finalFormRoadmapData.summary ? finalFormRoadmapData.summary.passed + '/' + finalFormRoadmapData.summary.total : null, finalFormRoadmap: finalFormRoadmapData.workflows?.finalFormRoadmap }
|
|
602
|
+
: null,
|
|
603
|
+
stderr: finalFormRoadmap.stderr,
|
|
604
|
+
})
|
|
593
605
|
if (skipCompletionReadiness) {
|
|
594
606
|
checks.push({
|
|
595
607
|
id: 'validate-15',
|
|
@@ -983,6 +995,114 @@ checks.push({
|
|
|
983
995
|
: null,
|
|
984
996
|
stderr: commandSemantics.stderr,
|
|
985
997
|
})
|
|
998
|
+
const continuePreflight = run(process.execPath, [path.join(root, 'scripts', 'audit-continue-preflight.mjs'), '--root', root, '--json'])
|
|
999
|
+
const continuePreflightData = parseJson(continuePreflight.stdout)
|
|
1000
|
+
checks.push({
|
|
1001
|
+
id: 'validate-22a',
|
|
1002
|
+
label: '/gse continue hard preflight audit',
|
|
1003
|
+
status: continuePreflight.status === 0 ? 'passed' : 'failed',
|
|
1004
|
+
command: continuePreflight.command,
|
|
1005
|
+
summary: continuePreflightData
|
|
1006
|
+
? { status: continuePreflightData.summary?.status, checks: continuePreflightData.summary ? continuePreflightData.summary.passed + '/' + continuePreflightData.summary.total : null, continueHardPreflight: continuePreflightData.workflows?.continueHardPreflight, stateCompaction: continuePreflightData.workflows?.stateCompaction }
|
|
1007
|
+
: null,
|
|
1008
|
+
stderr: continuePreflight.stderr,
|
|
1009
|
+
})
|
|
1010
|
+
const completionPlanDrill = run(process.execPath, [path.join(root, 'scripts', 'audit-completion-plan-drill.mjs'), '--root', root, '--json'])
|
|
1011
|
+
const completionPlanDrillData = parseJson(completionPlanDrill.stdout)
|
|
1012
|
+
checks.push({
|
|
1013
|
+
id: 'validate-22a1',
|
|
1014
|
+
label: '/gse continue completion plan drill audit',
|
|
1015
|
+
status: completionPlanDrill.status === 0 ? 'passed' : 'failed',
|
|
1016
|
+
command: completionPlanDrill.command,
|
|
1017
|
+
summary: completionPlanDrillData
|
|
1018
|
+
? { status: completionPlanDrillData.summary?.status, checks: completionPlanDrillData.summary ? completionPlanDrillData.summary.passed + '/' + completionPlanDrillData.summary.total : null, completionPlanDrill: completionPlanDrillData.workflows?.completionPlanDrill, cleanWorktreeFalsePositiveGuard: completionPlanDrillData.workflows?.cleanWorktreeFalsePositiveGuard }
|
|
1019
|
+
: null,
|
|
1020
|
+
stderr: completionPlanDrill.stderr,
|
|
1021
|
+
})
|
|
1022
|
+
const projectGuards = run(process.execPath, [path.join(root, 'scripts', 'audit-project-guards.mjs'), '--root', root, '--json'])
|
|
1023
|
+
const projectGuardsData = parseJson(projectGuards.stdout)
|
|
1024
|
+
checks.push({
|
|
1025
|
+
id: 'validate-22a2',
|
|
1026
|
+
label: 'project guard preflight audit',
|
|
1027
|
+
status: projectGuards.status === 0 ? 'passed' : 'failed',
|
|
1028
|
+
command: projectGuards.command,
|
|
1029
|
+
summary: projectGuardsData
|
|
1030
|
+
? { status: projectGuardsData.summary?.status, checks: projectGuardsData.summary ? projectGuardsData.summary.passed + '/' + projectGuardsData.summary.total : null, projectGuards: projectGuardsData.workflows?.projectGuards, initProjectGuardScaffold: projectGuardsData.workflows?.initProjectGuardScaffold }
|
|
1031
|
+
: null,
|
|
1032
|
+
stderr: projectGuards.stderr,
|
|
1033
|
+
})
|
|
1034
|
+
const evidenceLevels = run(process.execPath, [path.join(root, 'scripts', 'audit-evidence-levels.mjs'), '--root', root, '--target', root, '--json'])
|
|
1035
|
+
const evidenceLevelsData = parseJson(evidenceLevels.stdout)
|
|
1036
|
+
checks.push({
|
|
1037
|
+
id: 'validate-22a3',
|
|
1038
|
+
label: 'explicit evidence level taxonomy audit',
|
|
1039
|
+
status: evidenceLevels.status === 0 ? 'passed' : 'failed',
|
|
1040
|
+
command: evidenceLevels.command,
|
|
1041
|
+
summary: evidenceLevelsData
|
|
1042
|
+
? { status: evidenceLevelsData.summary?.status, checks: evidenceLevelsData.summary ? evidenceLevelsData.summary.passed + '/' + evidenceLevelsData.summary.total : null, evidenceLevels: evidenceLevelsData.workflows?.evidenceLevels, downgraded: evidenceLevelsData.workflows?.downgraded, missingLevel: evidenceLevelsData.workflows?.missingLevel }
|
|
1043
|
+
: null,
|
|
1044
|
+
stderr: evidenceLevels.stderr,
|
|
1045
|
+
})
|
|
1046
|
+
const evidenceReviewQueue = run(process.execPath, [path.join(root, 'scripts', 'audit-evidence-review-queue.mjs'), '--root', root, '--target', root, '--json'])
|
|
1047
|
+
const evidenceReviewQueueData = parseJson(evidenceReviewQueue.stdout)
|
|
1048
|
+
checks.push({
|
|
1049
|
+
id: 'validate-22a3a',
|
|
1050
|
+
label: 'historical evidence review queue audit',
|
|
1051
|
+
status: evidenceReviewQueue.status === 0 ? 'passed' : 'failed',
|
|
1052
|
+
command: evidenceReviewQueue.command,
|
|
1053
|
+
summary: evidenceReviewQueueData
|
|
1054
|
+
? { status: evidenceReviewQueueData.summary?.status, checks: evidenceReviewQueueData.summary ? evidenceReviewQueueData.summary.passed + '/' + evidenceReviewQueueData.summary.total : null, evidenceReviewQueue: evidenceReviewQueueData.workflows?.evidenceReviewQueue, needsReview: evidenceReviewQueueData.reviewQueue?.needsReview, eligibleForStrongerReview: evidenceReviewQueueData.reviewQueue?.eligibleForStrongerReview }
|
|
1055
|
+
: null,
|
|
1056
|
+
stderr: evidenceReviewQueue.stderr,
|
|
1057
|
+
})
|
|
1058
|
+
const uiBrowserEvidencePolicy = run(process.execPath, [path.join(root, 'scripts', 'audit-ui-browser-evidence-policy.mjs'), '--root', root, '--target', root, '--json'])
|
|
1059
|
+
const uiBrowserEvidencePolicyData = parseJson(uiBrowserEvidencePolicy.stdout)
|
|
1060
|
+
checks.push({
|
|
1061
|
+
id: 'validate-22a3b',
|
|
1062
|
+
label: 'UI/browser evidence policy audit',
|
|
1063
|
+
status: uiBrowserEvidencePolicy.status === 0 ? 'passed' : 'failed',
|
|
1064
|
+
command: uiBrowserEvidencePolicy.command,
|
|
1065
|
+
summary: uiBrowserEvidencePolicyData
|
|
1066
|
+
? { status: uiBrowserEvidencePolicyData.summary?.status, checks: uiBrowserEvidencePolicyData.summary ? uiBrowserEvidencePolicyData.summary.passed + '/' + uiBrowserEvidencePolicyData.summary.total : null, uiBrowserEvidencePolicy: uiBrowserEvidencePolicyData.workflows?.uiBrowserEvidencePolicy, targetDowngrades: uiBrowserEvidencePolicyData.workflows?.targetDowngrades }
|
|
1067
|
+
: null,
|
|
1068
|
+
stderr: uiBrowserEvidencePolicy.stderr,
|
|
1069
|
+
})
|
|
1070
|
+
const roleDispatchFallback = run(process.execPath, [path.join(root, 'scripts', 'audit-role-dispatch-fallback.mjs'), '--root', root, '--target', root, '--json'])
|
|
1071
|
+
const roleDispatchFallbackData = parseJson(roleDispatchFallback.stdout)
|
|
1072
|
+
checks.push({
|
|
1073
|
+
id: 'validate-22a4',
|
|
1074
|
+
label: 'role dispatch fallback packet audit',
|
|
1075
|
+
status: roleDispatchFallback.status === 0 ? 'passed' : 'failed',
|
|
1076
|
+
command: roleDispatchFallback.command,
|
|
1077
|
+
summary: roleDispatchFallbackData
|
|
1078
|
+
? { status: roleDispatchFallbackData.summary?.status, checks: roleDispatchFallbackData.summary ? roleDispatchFallbackData.summary.passed + '/' + roleDispatchFallbackData.summary.total : null, roleDispatchFallback: roleDispatchFallbackData.workflows?.roleDispatchFallback, packets: roleDispatchFallbackData.workflows?.packets, sequentialFallbackRoles: roleDispatchFallbackData.workflows?.sequentialFallbackRoles }
|
|
1079
|
+
: null,
|
|
1080
|
+
stderr: roleDispatchFallback.stderr,
|
|
1081
|
+
})
|
|
1082
|
+
const closeGateHardening = run(process.execPath, [path.join(root, 'scripts', 'audit-close-gate-hardening.mjs'), '--root', root, '--json'])
|
|
1083
|
+
const closeGateHardeningData = parseJson(closeGateHardening.stdout)
|
|
1084
|
+
checks.push({
|
|
1085
|
+
id: 'validate-22a6',
|
|
1086
|
+
label: 'close gate fake-dispatch and file-ownership hardening audit',
|
|
1087
|
+
status: closeGateHardening.status === 0 ? 'passed' : 'failed',
|
|
1088
|
+
command: closeGateHardening.command,
|
|
1089
|
+
summary: closeGateHardeningData
|
|
1090
|
+
? { status: closeGateHardeningData.summary?.status, checks: closeGateHardeningData.summary ? closeGateHardeningData.summary.passed + '/' + closeGateHardeningData.summary.total : null, fakeDispatchCloseGate: closeGateHardeningData.workflows?.fakeDispatchCloseGate, fileOwnershipCloseGate: closeGateHardeningData.workflows?.fileOwnershipCloseGate }
|
|
1091
|
+
: null,
|
|
1092
|
+
stderr: closeGateHardening.stderr,
|
|
1093
|
+
})
|
|
1094
|
+
const stateRepair = run(process.execPath, [path.join(root, 'scripts', 'audit-state-repair.mjs'), '--root', root, '--target', root, '--json'])
|
|
1095
|
+
const stateRepairData = parseJson(stateRepair.stdout)
|
|
1096
|
+
checks.push({
|
|
1097
|
+
id: 'validate-22a5',
|
|
1098
|
+
label: 'state and evidence repair path audit',
|
|
1099
|
+
status: stateRepair.status === 0 ? 'passed' : 'failed',
|
|
1100
|
+
command: stateRepair.command,
|
|
1101
|
+
summary: stateRepairData
|
|
1102
|
+
? { status: stateRepairData.summary?.status, actions: stateRepairData.summary?.actions, hard: stateRepairData.summary?.hard, warnings: stateRepairData.summary?.warnings, writes: stateRepairData.summary?.writes }
|
|
1103
|
+
: null,
|
|
1104
|
+
stderr: stateRepair.stderr,
|
|
1105
|
+
})
|
|
986
1106
|
const learningSystem = run(process.execPath, [path.join(root, 'scripts', 'audit-learning-system.mjs'), '--root', root, '--json'])
|
|
987
1107
|
const learningSystemData = parseJson(learningSystem.stdout)
|
|
988
1108
|
checks.push({
|
|
@@ -995,6 +1115,102 @@ checks.push({
|
|
|
995
1115
|
: null,
|
|
996
1116
|
stderr: learningSystem.stderr,
|
|
997
1117
|
})
|
|
1118
|
+
const learningPromotion = run(process.execPath, [path.join(root, 'scripts', 'audit-learning-promotion.mjs'), '--root', root, '--target', root, '--json'])
|
|
1119
|
+
const learningPromotionData = parseJson(learningPromotion.stdout)
|
|
1120
|
+
checks.push({
|
|
1121
|
+
id: 'validate-22c',
|
|
1122
|
+
label: 'learning promotion automation audit',
|
|
1123
|
+
status: learningPromotion.status === 0 ? 'passed' : 'failed',
|
|
1124
|
+
command: learningPromotion.command,
|
|
1125
|
+
summary: learningPromotionData
|
|
1126
|
+
? { status: learningPromotionData.summary?.status, checks: learningPromotionData.summary ? learningPromotionData.summary.passed + '/' + learningPromotionData.summary.total : null, promoted: learningPromotionData.summary?.promoted, guardCandidates: learningPromotionData.summary?.guardCandidates }
|
|
1127
|
+
: null,
|
|
1128
|
+
stderr: learningPromotion.stderr,
|
|
1129
|
+
})
|
|
1130
|
+
const learningDrift = run(process.execPath, [path.join(root, 'scripts', 'audit-learning-drift.mjs'), '--root', root, '--target', root, '--json'])
|
|
1131
|
+
const learningDriftData = parseJson(learningDrift.stdout)
|
|
1132
|
+
checks.push({
|
|
1133
|
+
id: 'validate-22c2',
|
|
1134
|
+
label: 'learning promotion drift audit',
|
|
1135
|
+
status: learningDrift.status === 0 ? 'passed' : 'failed',
|
|
1136
|
+
command: learningDrift.command,
|
|
1137
|
+
summary: learningDriftData
|
|
1138
|
+
? { status: learningDriftData.summary?.status, checks: learningDriftData.summary ? learningDriftData.summary.passed + '/' + learningDriftData.summary.total : null, candidates: learningDriftData.summary?.candidates, enforced: learningDriftData.summary?.enforced, highUnenforced: learningDriftData.summary?.highUnenforced }
|
|
1139
|
+
: null,
|
|
1140
|
+
stderr: learningDrift.stderr,
|
|
1141
|
+
})
|
|
1142
|
+
const hostCapabilities = run(process.execPath, [path.join(root, 'scripts', 'audit-host-capabilities.mjs'), '--root', root, '--target', root, '--json'])
|
|
1143
|
+
const hostCapabilitiesData = parseJson(hostCapabilities.stdout)
|
|
1144
|
+
checks.push({
|
|
1145
|
+
id: 'validate-22d',
|
|
1146
|
+
label: 'host capability record audit',
|
|
1147
|
+
status: hostCapabilities.status === 0 ? 'passed' : 'failed',
|
|
1148
|
+
command: hostCapabilities.command,
|
|
1149
|
+
summary: hostCapabilitiesData
|
|
1150
|
+
? { status: hostCapabilitiesData.summary?.status, checks: hostCapabilitiesData.summary ? hostCapabilitiesData.summary.passed + '/' + hostCapabilitiesData.summary.total : null, hostCapabilityRecords: hostCapabilitiesData.workflows?.hostCapabilityRecords, nativeSlashCommandBoundary: hostCapabilitiesData.workflows?.nativeSlashCommandBoundary }
|
|
1151
|
+
: null,
|
|
1152
|
+
stderr: hostCapabilities.stderr,
|
|
1153
|
+
})
|
|
1154
|
+
const toolFallbackPolicy = run(process.execPath, [path.join(root, 'scripts', 'audit-tool-fallback-policy.mjs'), '--root', root, '--target', root, '--json'])
|
|
1155
|
+
const toolFallbackPolicyData = parseJson(toolFallbackPolicy.stdout)
|
|
1156
|
+
checks.push({
|
|
1157
|
+
id: 'validate-22d2',
|
|
1158
|
+
label: 'optional tool fallback policy audit',
|
|
1159
|
+
status: toolFallbackPolicy.status === 0 ? 'passed' : 'failed',
|
|
1160
|
+
command: toolFallbackPolicy.command,
|
|
1161
|
+
summary: toolFallbackPolicyData
|
|
1162
|
+
? { status: toolFallbackPolicyData.summary?.status, checks: toolFallbackPolicyData.summary ? toolFallbackPolicyData.summary.passed + '/' + toolFallbackPolicyData.summary.total : null, optionalToolFallbackPolicy: toolFallbackPolicyData.workflows?.optionalToolFallbackPolicy }
|
|
1163
|
+
: null,
|
|
1164
|
+
stderr: toolFallbackPolicy.stderr,
|
|
1165
|
+
})
|
|
1166
|
+
const targetHardeningDrills = run(process.execPath, [path.join(root, 'scripts', 'audit-target-hardening-drills.mjs'), '--root', root, '--json'])
|
|
1167
|
+
const targetHardeningDrillsData = parseJson(targetHardeningDrills.stdout)
|
|
1168
|
+
checks.push({
|
|
1169
|
+
id: 'validate-22e',
|
|
1170
|
+
label: 'target project hardening drill audit',
|
|
1171
|
+
status: targetHardeningDrills.status === 0 ? 'passed' : 'failed',
|
|
1172
|
+
command: targetHardeningDrills.command,
|
|
1173
|
+
summary: targetHardeningDrillsData
|
|
1174
|
+
? { status: targetHardeningDrillsData.summary?.status, checks: targetHardeningDrillsData.summary ? targetHardeningDrillsData.summary.passed + '/' + targetHardeningDrillsData.summary.total : null, mode: targetHardeningDrillsData.summary?.mode, targetHardeningDrills: targetHardeningDrillsData.workflows?.targetHardeningDrills }
|
|
1175
|
+
: null,
|
|
1176
|
+
stderr: targetHardeningDrills.stderr,
|
|
1177
|
+
})
|
|
1178
|
+
const maintenanceCadence = run(process.execPath, [path.join(root, 'scripts', 'audit-maintenance-cadence.mjs'), '--root', root, '--json'])
|
|
1179
|
+
const maintenanceCadenceData = parseJson(maintenanceCadence.stdout)
|
|
1180
|
+
checks.push({
|
|
1181
|
+
id: 'validate-22f',
|
|
1182
|
+
label: 'maintenance cadence audit',
|
|
1183
|
+
status: maintenanceCadence.status === 0 ? 'passed' : 'failed',
|
|
1184
|
+
command: maintenanceCadence.command,
|
|
1185
|
+
summary: maintenanceCadenceData
|
|
1186
|
+
? { status: maintenanceCadenceData.summary?.status, checks: maintenanceCadenceData.summary ? maintenanceCadenceData.summary.passed + '/' + maintenanceCadenceData.summary.total : null, maintenanceCadence: maintenanceCadenceData.workflows?.maintenanceCadence }
|
|
1187
|
+
: null,
|
|
1188
|
+
stderr: maintenanceCadence.stderr,
|
|
1189
|
+
})
|
|
1190
|
+
const maintenanceSnapshot = run(process.execPath, [path.join(root, 'scripts', 'audit-maintenance-snapshot.mjs'), '--root', root, '--json'])
|
|
1191
|
+
const maintenanceSnapshotData = parseJson(maintenanceSnapshot.stdout)
|
|
1192
|
+
checks.push({
|
|
1193
|
+
id: 'validate-22f2',
|
|
1194
|
+
label: 'maintenance snapshot audit',
|
|
1195
|
+
status: maintenanceSnapshot.status === 0 ? 'passed' : 'failed',
|
|
1196
|
+
command: maintenanceSnapshot.command,
|
|
1197
|
+
summary: maintenanceSnapshotData
|
|
1198
|
+
? { status: maintenanceSnapshotData.summary?.status, checks: maintenanceSnapshotData.summary ? maintenanceSnapshotData.summary.passed + '/' + maintenanceSnapshotData.summary.total : null, maintenanceSnapshot: maintenanceSnapshotData.workflows?.maintenanceSnapshot }
|
|
1199
|
+
: null,
|
|
1200
|
+
stderr: maintenanceSnapshot.stderr,
|
|
1201
|
+
})
|
|
1202
|
+
const installedSync = run(process.execPath, [path.join(root, 'scripts', 'audit-installed-sync.mjs'), '--root', root, '--json'])
|
|
1203
|
+
const installedSyncData = parseJson(installedSync.stdout)
|
|
1204
|
+
checks.push({
|
|
1205
|
+
id: 'validate-22g',
|
|
1206
|
+
label: 'installed sync freshness audit',
|
|
1207
|
+
status: installedSync.status === 0 ? 'passed' : 'failed',
|
|
1208
|
+
command: installedSync.command,
|
|
1209
|
+
summary: installedSyncData
|
|
1210
|
+
? { status: installedSyncData.summary?.status, checks: installedSyncData.summary ? installedSyncData.summary.passed + '/' + installedSyncData.summary.total : null, freshPackage: installedSyncData.workflows?.freshPackage, installedSync: installedSyncData.workflows?.installedSync }
|
|
1211
|
+
: null,
|
|
1212
|
+
stderr: installedSync.stderr,
|
|
1213
|
+
})
|
|
998
1214
|
const readmeDocs = run(process.execPath, [path.join(root, 'scripts', 'audit-readme-docs.mjs'), '--root', root, '--json'])
|
|
999
1215
|
const readmeDocsData = parseJson(readmeDocs.stdout)
|
|
1000
1216
|
checks.push({
|