Dump the router prompt where the labeler can read it (V-661)
The training workspace labels with routeSystem and routeGrammar, and it held its own copies. V-660 changed both. A retyped prompt drifts silently, which is the problem llm/check_prompt_parity.py exists for on the other side. Inert unless MAVEN_DUMP_PROMPT names a directory. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ptwopxyo3Z2kwFckHkLvN
This commit is contained in:
@@ -0,0 +1,22 @@
|
|||||||
|
package router
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TestDumpPrompt writes the router prompt and grammar to disk so the training
|
||||||
|
// workspace labels with the daemon's own contract rather than a retyped copy.
|
||||||
|
// It is inert unless MAVEN_DUMP_PROMPT names a directory.
|
||||||
|
func TestDumpPrompt(t *testing.T) {
|
||||||
|
dir := os.Getenv("MAVEN_DUMP_PROMPT")
|
||||||
|
if dir == "" {
|
||||||
|
t.Skip("MAVEN_DUMP_PROMPT unset")
|
||||||
|
}
|
||||||
|
if err := os.WriteFile(dir+"/route_system.txt", []byte(routeSystem), 0o644); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if err := os.WriteFile(dir+"/route_grammar.gbnf", []byte(routeGrammar), 0o644); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user