You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- operator-review: replace fragile grep with rg -U for multi-line O1 check;
add concrete grep/rg detection patterns for O2 and O6
- security-review: add executable bash detection patterns for S1–S6 so
automated agents can produce pass/fail signals
- cypress-demo: fix incomplete curl URL (add :3000 port); clarify helpers
must be embedded in each demo file (not in sessions.cy.ts); qualify
'complete working example' claim about sessions.cy.ts
- pr-fixer: document that gh pr view returns uppercase state (OPEN/CLOSED/MERGED)
and that non-existent PRs produce non-zero exit + stderr (not JSON)
- pr-fixer/evals: add URL-form and punctuation-trailing PR number fixtures
- scaffold/evals: include integration target in expected_args for natural-
language PagerDuty case so routing failures don't silently pass
- unleash-flag: replace unsafe inline token export with non-echoing read
prompt guidance; add note to log len(token) not the value itself
- jira.log.md: add issue_type normalization note (Story|Bug|Task allowlist,
normalize case, reject unrecognized values)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Cross-reference each create call with `OwnerReferences` in the same function. See `DEVELOPMENT.md` for the required pattern.
37
+
For each `Create(` call in `components/operator/`, verify the created object's `metadata.OwnerReferences` is populated (or `controllerutil.SetControllerReference` is called) in the same function. See `DEVELOPMENT.md` for the required pattern.
Copy file name to clipboardExpand all lines: .claude/commands/jira.log.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ Extract the following from `$ARGUMENTS`:
22
22
23
23
-**Summary** (required): The title/summary of the issue
24
24
-**Description** (optional): Detailed description of the work
25
-
-**Issue Type** (optional): Defaults to `Story`, but can be `Bug` or `Task`. Tasks are tech debt related and not user facing
25
+
-**Issue Type** (optional): Defaults to `Story`, but can be `Bug` or `Task`. Tasks are tech debt related and not user facing. Normalize case before use (e.g. "bug" → "Bug", "TASK" → "Task") and validate against this allowlist; reject unrecognized values with a prompt to the user.
26
26
-**Priority** (optional): Defaults to `Normal`
27
27
28
28
If the user provides a simple sentence, use it as the summary. If they provide multiple lines, use the first line as summary and the rest as description.
@@ -119,7 +119,7 @@ Use the `mcp__jira__jira_create_issue` tool with:
119
119
{
120
120
"project_key": "RHOAIENG",
121
121
"summary": "[user provided summary]",
122
-
"issue_type": "[parsed issue type from step 1]",
122
+
"issue_type": "[validated issue type: normalize to Story|Bug|Task — default Story if unrecognized]",
123
123
"description": "[structured description from template]",
Copy file name to clipboardExpand all lines: .claude/skills/cypress-demo/SKILL.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,15 +47,20 @@ When invoked, create a Cypress test file in `e2e/cypress/e2e/` that records a de
47
47
- Verify `e2e/.env.test` or `e2e/.env` exists with `TEST_TOKEN`
48
48
- Check if `ANTHROPIC_API_KEY` is available (needed for Running state)
49
49
- Verify the kind cluster is up: `kubectl get pods -n ambient-code`
50
-
- Verify the frontend is accessible: `curl -s -o /dev/null -w "%{http_code}" http://localhost`
50
+
- Verify the frontend is accessible: `curl -s -o /dev/null -w "%{http_code}" http://localhost:3000`
51
51
52
52
### 3. Create the demo test file
53
53
54
54
Create `e2e/cypress/e2e/<feature-name>-demo.cy.ts` using the helpers below.
55
55
56
56
#### Required helpers
57
57
58
-
Copy the demo helpers (cursor, caption, click ripple, timing constants) from the reference implementation at `e2e/cypress/e2e/sessions.cy.ts` into each new demo file. The helpers are: `caption()`, `clearCaption()`, `initCursor()`, `moveTo()`, `moveToText()`, `clickEffect()`, `cursorClickText()`, plus timing constants (`LONG`, `PAUSE`, `SHORT`, `TYPE_DELAY`).
58
+
Each demo file must define the following helpers inline (they are not shared utilities — embed them directly in the test file):
See the patterns table below for usage. If a prior demo file already exists in `e2e/cypress/e2e/`, copy the helpers from there; otherwise implement them fresh using the patterns below.
59
64
60
65
### 4. Key patterns
61
66
@@ -77,4 +82,4 @@ npx cypress run --no-runner-ui --spec "cypress/e2e/<name>-demo.cy.ts"
77
82
78
83
### 6. Reference implementation
79
84
80
-
See `e2e/cypress/e2e/sessions.cy.ts` for a complete working example.
85
+
`e2e/cypress/e2e/sessions.cy.ts`is a reference for test structure and Cypress patterns in this repo. Note that sessions.cy.ts is a functional test, not a demo test — it does not contain the cursor/caption/click-ripple helpers listed above. Use it as a guide for selectors, workspace setup, and polling patterns; implement the demo-specific helpers fresh in your new file.
Copy file name to clipboardExpand all lines: .claude/skills/unleash-flag/SKILL.md
+10-3Lines changed: 10 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -169,12 +169,19 @@ This returns 404 (not 403) when the flag is off, so the endpoint appears not to
169
169
170
170
### E2E Testing with Feature Flags
171
171
172
-
When writing E2E tests for flagged features, set the admin token via environment variable (obtain from Unleash UI > API Access, or from deployment secrets):
172
+
When writing E2E tests for flagged features, the Unleash admin token must be set as an environment variable. **Never paste or export the token inline in a shell session** — this risks exposing it in shell history, logs, or terminal recordings.
173
+
174
+
Obtain the token from Unleash UI > API Access or from deployment secrets, then set it using a non-echoing prompt or a secret manager:
In CI, inject it via a secret reference (e.g. GitHub Actions secret, Vault, or sealed secret) — never hard-code or `echo` the value.
181
+
182
+
> **Note**: When logging token-related errors, use `len(token)` to confirm presence without exposing the value. Never include the full token in error messages, API responses, or commit history.
0 commit comments