fix(voyage): escape ! prefix in trekexecute Phase 8 doc-block
Slash-command-parseren matcher !`...` selv inne i ```bash markdown-fences,
som gjorde at Phase 8 NEXT-SESSION-PROMPT-template eksekverte ved skill-load
med literale {project_dir}/{next_session_brief_path}/{next_session_label}/
{status}-strenger som argv. Det ga ENOENT på .session-state.local.json.tmp
og blokkerte hele /trekexecute skill-loadet.
Fjern !`...`-wrapperen og merk blokken eksplisitt som runtime-template.
Pattern matcher nå konvensjonen brukt andre steder i samme fil
(linje 202-208) der ```bash brukes for orkestrator-instruksjon uten
auto-eksekvering.
Wave 0 av v4.1-execute — pre-requisite for å låse opp /trekexecute
skill-invokasjon mot .claude/projects/2026-05-08-voyage-v4.1-modellprofiler/
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
041e3cc6b3
commit
ce9b06dd16
1 changed files with 10 additions and 2 deletions
|
|
@ -1358,7 +1358,7 @@ producer drift between project-dir and plugin-root candidates. Use a single
|
||||||
ESM inline block so state-file + prompt-file writes succeed or fail together:
|
ESM inline block so state-file + prompt-file writes succeed or fail together:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
!`node --input-type=module -e "
|
node --input-type=module -e "
|
||||||
import path from 'node:path';
|
import path from 'node:path';
|
||||||
import { writeFileSync } from 'node:fs';
|
import { writeFileSync } from 'node:fs';
|
||||||
import { atomicWriteJson } from './lib/util/atomic-write.mjs';
|
import { atomicWriteJson } from './lib/util/atomic-write.mjs';
|
||||||
|
|
@ -1368,9 +1368,17 @@ const stateObj = { schema_version: 1, project: dir, next_session_brief_path: bri
|
||||||
atomicWriteJson(path.join(dir, '.session-state.local.json'), stateObj);
|
atomicWriteJson(path.join(dir, '.session-state.local.json'), stateObj);
|
||||||
const promptBody = '---\\nproduced_by: trekexecute\\nproduced_at: ' + now + '\\nproject: ' + dir + '\\nstatus: ' + status + '\\n---\\n\\n# ' + label + '\\n\\nResume via /trekcontinue.\\n';
|
const promptBody = '---\\nproduced_by: trekexecute\\nproduced_at: ' + now + '\\nproject: ' + dir + '\\nstatus: ' + status + '\\n---\\n\\n# ' + label + '\\n\\nResume via /trekcontinue.\\n';
|
||||||
writeFileSync(path.join(dir, 'NEXT-SESSION-PROMPT.local.md'), promptBody);
|
writeFileSync(path.join(dir, 'NEXT-SESSION-PROMPT.local.md'), promptBody);
|
||||||
" '{project_dir}' '{next_session_brief_path}' '{next_session_label}' '{status}'`
|
" '{project_dir}' '{next_session_brief_path}' '{next_session_label}' '{status}'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> Note: this block is a runtime template for Phase 8 orchestration; the
|
||||||
|
> `{project_dir}`/`{next_session_brief_path}`/`{next_session_label}`/`{status}`
|
||||||
|
> placeholders are filled in by the orchestrator at execution time. The
|
||||||
|
> leading `!` prefix that previously wrapped this block was removed because
|
||||||
|
> Claude Code's slash-command parser auto-executes `!`...` patterns at
|
||||||
|
> skill-load time, even inside bash code fences — see
|
||||||
|
> `docs/HANDOVER-CONTRACTS.md` § Handover 7 Lifecycle for context.
|
||||||
|
|
||||||
This single insertion covers every multi-session execution path that
|
This single insertion covers every multi-session execution path that
|
||||||
converges here (Path A: successful single session, Path B: `--session N`
|
converges here (Path A: successful single session, Path B: `--session N`
|
||||||
explicit, Path C: compaction-survival recovery, Path D: standard plan
|
explicit, Path C: compaction-survival recovery, Path D: standard plan
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue