@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
- NOTE="## ${EMOJI} PRISM Agent Eval — ${RESULT}\n\n**Score**: ${SCORE} | **Agent Files**: ${FILE_COUNT} | **Mock**: ${MOCK_RAN} (exit ${AGENT_EXIT})"
130
- curl -s --request POST --header "PRIVATE-TOKEN: ${GITLAB_TOKEN:-${CI_JOB_TOKEN}}" \
131
- --form "body=${NOTE}" \
132
- "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/merge_requests/${CI_MERGE_REQUEST_IID}/notes" > /dev/null
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-ai-metrics:
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
@@ -48,7 +48,6 @@ prism-dora-weekly:
48
48
  echo "⚠️ PRISM_METRICS_ROLE_ARN set but GITLAB_OIDC_TOKEN is empty."
49
49
  fi
50
50
  script:
51
- - set +e
52
51
  - |
53
52
  # Skip if no AWS credentials available
54
53
  if ! aws sts get-caller-identity &>/dev/null; then
@@ -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
- # Post MR note
131
+ # Log results
137
132
  EMOJI=$([[ "${OVERALL}" == "PASS" ]] && echo "✅" || echo "❌")
138
- NOTE="## ${EMOJI} PRISM Eval Gate — ${OVERALL}\n\n**Score**: ${AVG_SCORE} | **Files**: ${TOTAL_FILES} | **Pass**: ${PASS_COUNT} | **Fail**: ${FAIL_COUNT} | **Hallucinations**: ${TOTAL_HALLUCINATIONS}\n\n| File | Rubric | Score | Result |\n|---|---|---|---|\n$(echo -e "${RESULTS}")\n\n> Threshold: 0.82 | Model: claude-sonnet-4-20250514"
139
- curl -s --request POST --header "PRIVATE-TOKEN: ${GITLAB_TOKEN:-${CI_JOB_TOKEN}}" \
140
- --form "body=${NOTE}" \
141
- "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/merge_requests/${CI_MERGE_REQUEST_IID}/notes" > /dev/null 2>&1 || true
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 || exit 0
158
+ [[ "${OVERALL:-PASS}" == "FAIL" ]] && exit 1
159
+ exit 0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prism-d1/cli",
3
- "version": "1.0.53",
3
+ "version": "1.0.54",
4
4
  "description": "PRISM D1 Velocity CLI — AI development lifecycle assessment tool",
5
5
  "author": "andklee",
6
6
  "engines": {