fix(3561): gate ultraplan runtime on Claude Code markers
This commit is contained in:
@@ -29,7 +29,16 @@ Use /gsd:plan-phase for stable local planning.
|
||||
Check that the session is running inside Claude Code:
|
||||
|
||||
```bash
|
||||
echo "$CLAUDE_CODE_VERSION"
|
||||
if [ "$CLAUDECODE" = "1" ] || [ -n "$CLAUDE_CODE_ENTRYPOINT" ]; then
|
||||
CC_VERSION="$(claude --version 2>/dev/null | awk '{print $1}')"
|
||||
if [ -n "$CC_VERSION" ] && [ "$(printf '%s\n' "2.1.91" "$CC_VERSION" | sort -V | head -n1)" != "2.1.91" ]; then
|
||||
echo ""
|
||||
else
|
||||
echo "claude-code:${CC_VERSION:-unknown}"
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
```
|
||||
|
||||
If the output is empty or unset, display the following error and exit:
|
||||
|
||||
@@ -86,8 +86,11 @@ describe('ultraplan-phase workflow beta marker', () => {
|
||||
describe('ultraplan-phase workflow runtime gate', () => {
|
||||
const content = fs.readFileSync(WF_PATH, 'utf-8');
|
||||
|
||||
test('checks CLAUDE_CODE_VERSION to detect Claude Code runtime', () => {
|
||||
assert.ok(content.includes('CLAUDE_CODE_VERSION'), 'workflow must gate on CLAUDE_CODE_VERSION env var');
|
||||
test('checks Claude Code runtime markers instead of version env var', () => {
|
||||
assert.ok(
|
||||
content.includes('CLAUDECODE') || content.includes('CLAUDE_CODE_ENTRYPOINT'),
|
||||
'workflow must gate on Claude Code runtime marker env vars'
|
||||
);
|
||||
});
|
||||
|
||||
test('error message references /gsd-plan-phase as local alternative', () => {
|
||||
|
||||
Reference in New Issue
Block a user