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
chore(tooling): refresh managed config + source credentials from env (#511)
* chore(tooling): refresh managed config to current Vergil tooling/actions
Items 1/3/6/7 of the fleet refresh (epic mq-rest-admin-project/.github#14):
marketplace -> vergil-claude-plugin; embed canonical CLAUDE.md template
(+ vrg-docker-run -> vrg-container-run); ignore .vergil/; cd.yml release
uses secrets: inherit (fixes CD startup_failure). Hook guard (item 2)
already landed via #509. audit COMPLIANT; vrg-validate passes. Refs #510.
* fix(security): source test and example credentials from the environment
Updated CodeQL/Semgrep rulesets flag hard-coded credentials. Remove all
hard-coded password literals from test and example code:
- tests/pymqrest/{test_auth,test_session,test_ensure,test_sync}.py:
TEST_PASSWORD now reads MQ_TEST_PASSWORD from the env (defaults empty);
mock transports ignore the value and assertions compare against the
same constant.
- examples/*.py __main__ blocks: require MQ_ADMIN_PASSWORD from the env
instead of defaulting to a hard-coded "mqadmin".
vrg-validate (incl. 100% coverage) passes. Refs #510.
* fix(security): use verified SSL context in archived extraction scripts
Semgrep python.lang.security.unverified-ssl-context flagged
ssl._create_unverified_context() in the archived MQSC doc-extraction
scripts. They fetch public IBM docs (https://www.ibm.com/docs, valid
certs), so switch to ssl.create_default_context() — verification works
and the insecure context is removed. Scripts are archived/not run in CI;
change is static-clean for the scanner and more correct if re-run.
Refs #510.
---------
Co-authored-by: Phillip Moore <w.phillip.moore@gmail.com>
Copy file name to clipboardExpand all lines: CLAUDE.md
+32-10Lines changed: 32 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,27 +36,27 @@ on-ramp.
36
36
### Structure
37
37
38
38
```text
39
-
~/dev/github/mq-rest-admin-python/ ← sessions ALWAYS start here
39
+
<project-root>/ ← sessions ALWAYS start here
40
40
.git/
41
-
CLAUDE.md, src/, tests/, … ← main worktree (usually `develop`)
42
-
.worktrees/ ← container for parallel worktrees
43
-
issue-454-adopt-worktree-convention/ ← worktree on feature/454-...
41
+
CLAUDE.md, … ← main worktree (usually `develop`)
42
+
.worktrees/ ← container for parallel worktrees
43
+
issue-<N>-<short-slug>/ ← worktree on feature/<N>-<short-slug>
44
44
…
45
45
```
46
46
47
47
### Rules
48
48
49
49
1.**Sessions always start at the project root.**
50
-
`cd ~/dev/github/mq-rest-admin-python && claude` — never from inside
51
-
`.worktrees/<name>/`. This keeps the memory-path slug stable and shared.
50
+
Never start Claude from inside `.worktrees/<name>/`. This keeps the
51
+
memory-path slug stable and shared.
52
52
2.**Each parallel agent is assigned exactly one worktree.** The session
53
53
prompt names the worktree (see Agent prompt contract below).
54
54
- For Read / Edit / Write tools: use the worktree's absolute path.
55
55
- For Bash commands that touch files: `cd` into the worktree first,
56
56
or use absolute paths.
57
57
3.**The main worktree is read-only.** All edits flow through a worktree
58
58
on a feature branch — the logical endpoint of the standing
59
-
"no direct commits to `develop`" policy.
59
+
"no direct commits to develop" policy.
60
60
4.**One worktree per issue.** Don't stack in-flight issues. When a
61
61
branch lands, remove the worktree before starting the next.
62
62
5.**Naming: `issue-<N>-<short-slug>`.**`<N>` is the GitHub issue
@@ -70,22 +70,44 @@ placeholders):
70
70
```text
71
71
You are working on issue #<N>: <issue title>.
72
72
73
-
Your worktree is: /Users/pmoore/dev/github/mq-rest-admin-python/.worktrees/issue-<N>-<slug>/
73
+
Your worktree is: <project-root>/.worktrees/issue-<N>-<slug>/
74
74
Your branch is: feature/<N>-<slug>
75
75
76
76
Rules for this session:
77
77
- Do all git operations from inside your worktree:
78
-
cd <absolute-worktree-path> && git <command>
78
+
cd <absolute-worktree-path> && vrg-git <command>
79
79
- For Read / Edit / Write tools, use the absolute worktree path.
80
80
- For Bash commands that touch files, cd into the worktree first
81
81
or use absolute paths.
82
82
- Do not edit files at the project root. The main worktree is
83
83
read-only — all changes flow through your worktree on your
84
84
feature branch.
85
+
- When you need to run validation, run it from inside your worktree
86
+
(vrg-container-run mounts the current directory).
85
87
```
86
88
87
89
All fields are required.
88
90
91
+
## Shell command policy
92
+
93
+
Use `vrg-git` instead of `git` for all git operations. Use `vrg-gh`
94
+
instead of `gh` for all GitHub CLI operations. These wrappers enforce
95
+
subcommand allowlists, flag deny lists, and credential selection.
96
+
97
+
Raw `git` and `gh` are denied by the permission model. If a command
98
+
is not available through the wrappers, explain the situation to the
99
+
human who can run it directly via `! <command>` in the prompt.
100
+
101
+
## Validation
102
+
103
+
```bash
104
+
vrg-container-run -- vrg-validate
105
+
```
106
+
107
+
This is the **only** validation command. Do not run individual linters,
108
+
formatters, or other tools outside of `vrg-validate`. If a tool is not
109
+
invoked by `vrg-validate`, it is not part of the validation pipeline.
110
+
89
111
## Project Overview
90
112
91
113
`pymqrest` is a Python wrapper for the IBM MQ administrative REST API. The project provides a Python mapping layer for MQ REST API attribute translations and command metadata experiments. The current focus is on attribute mapping and metadata modeling.
@@ -123,7 +145,7 @@ gates.
123
145
### Validation
124
146
125
147
```bash
126
-
vrg-docker-run -- vrg-validate # Full validation (runs in dev container)
148
+
vrg-container-run -- vrg-validate # Full validation (runs in dev container)
0 commit comments