@prism-d1/cli 1.0.53 → 1.0.54
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.
|
@@ -54,7 +54,6 @@ prism-agent-eval:
|
|
|
54
54
|
echo "⚠️ PRISM_METRICS_ROLE_ARN set but GITLAB_OIDC_TOKEN is empty."
|
|
55
55
|
fi
|
|
56
56
|
script:
|
|
57
|
-
- set +e
|
|
58
57
|
- |
|
|
59
58
|
# Skip if no AWS credentials available
|
|
60
59
|
if ! aws sts get-caller-identity &>/dev/null; then
|
|
@@ -114,7 +113,6 @@ prism-agent-eval:
|
|
|
114
113
|
EVAL_TARGET=$(echo "${AGENT_FILES}" | head -1)
|
|
115
114
|
fi
|
|
116
115
|
|
|
117
|
-
set +e
|
|
118
116
|
OUTPUT=$(./.prism/eval-harness/run-eval.sh "${RUBRIC}" "${EVAL_TARGET}" 2>&1)
|
|
119
117
|
set -e
|
|
120
118
|
|
|
@@ -126,10 +124,10 @@ prism-agent-eval:
|
|
|
126
124
|
# Post MR note
|
|
127
125
|
if [[ -n "${GITLAB_TOKEN:-${CI_JOB_TOKEN}}" ]]; then
|
|
128
126
|
EMOJI=$([[ "${RESULT}" == "PASS" ]] && echo "✅" || echo "❌")
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
127
|
+
echo ""
|
|
128
|
+
echo "## ${EMOJI} PRISM Agent Eval — ${RESULT}"
|
|
129
|
+
echo "Score: ${SCORE} | Agent Files: ${FILE_COUNT} | Mock: ${MOCK_RAN} (exit ${AGENT_EXIT})"
|
|
130
|
+
echo ""
|
|
133
131
|
fi
|
|
134
132
|
|
|
135
133
|
# Emit event
|
|
@@ -46,7 +46,6 @@ prism-eval-gate:
|
|
|
46
46
|
echo "⚠️ PRISM_METRICS_ROLE_ARN set but GITLAB_OIDC_TOKEN is empty."
|
|
47
47
|
fi
|
|
48
48
|
script:
|
|
49
|
-
- set +e
|
|
50
49
|
- |
|
|
51
50
|
# Skip if no AWS credentials available
|
|
52
51
|
if ! aws sts get-caller-identity &>/dev/null; then
|
|
@@ -71,15 +70,11 @@ prism-eval-gate:
|
|
|
71
70
|
if git log -1 --format='%B' "${SHA}" | grep -q 'AI-Origin: ai-generated\|AI-Origin: ai-assisted'; then
|
|
72
71
|
AI_SHAS="${AI_SHAS} ${SHA}"
|
|
73
72
|
fi
|
|
74
|
-
done
|
|
73
|
+
done || true
|
|
75
74
|
AI_SHAS=$(echo "${AI_SHAS}" | xargs)
|
|
76
75
|
|
|
77
76
|
if [[ -z "${AI_SHAS}" ]]; then
|
|
78
77
|
echo "No AI-generated code detected. Skipping eval gate."
|
|
79
|
-
# Post skip note
|
|
80
|
-
curl -s --request POST --header "PRIVATE-TOKEN: ${GITLAB_TOKEN:-${CI_JOB_TOKEN}}" \
|
|
81
|
-
--form "body=✅ **PRISM Eval Gate** — No AI-generated code detected. Skipped." \
|
|
82
|
-
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/merge_requests/${CI_MERGE_REQUEST_IID}/notes" > /dev/null 2>&1 || true
|
|
83
78
|
exit 0
|
|
84
79
|
fi
|
|
85
80
|
|
|
@@ -133,12 +128,13 @@ prism-eval-gate:
|
|
|
133
128
|
[[ "${TOTAL_FILES}" -gt 0 ]] && AVG_SCORE=$(echo "scale=4; ${TOTAL_SCORE} / ${TOTAL_FILES}" | bc -l) || AVG_SCORE="0"
|
|
134
129
|
[[ "${FAIL_COUNT}" -gt 0 ]] && OVERALL="FAIL" || OVERALL="PASS"
|
|
135
130
|
|
|
136
|
-
#
|
|
131
|
+
# Log results
|
|
137
132
|
EMOJI=$([[ "${OVERALL}" == "PASS" ]] && echo "✅" || echo "❌")
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
133
|
+
echo ""
|
|
134
|
+
echo "## ${EMOJI} PRISM Eval Gate — ${OVERALL}"
|
|
135
|
+
echo "Score: ${AVG_SCORE} | Files: ${TOTAL_FILES} | Pass: ${PASS_COUNT} | Fail: ${FAIL_COUNT} | Hallucinations: ${TOTAL_HALLUCINATIONS}"
|
|
136
|
+
echo -e "${RESULTS}"
|
|
137
|
+
echo ""
|
|
142
138
|
|
|
143
139
|
# Emit event
|
|
144
140
|
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
@@ -159,4 +155,5 @@ prism-eval-gate:
|
|
|
159
155
|
\"EventBusName\":\"prism-d1-metrics\",
|
|
160
156
|
\"Detail\":$(echo "${EVAL_EVENT}" | jq -c '.' | jq -Rs '.')}]"
|
|
161
157
|
|
|
162
|
-
[[ "${OVERALL}" == "FAIL" ]] && exit 1
|
|
158
|
+
[[ "${OVERALL:-PASS}" == "FAIL" ]] && exit 1
|
|
159
|
+
exit 0
|