Merge branch 'v3' into v3-t85
This commit is contained in:
+3
-2
@@ -4,7 +4,6 @@ proxy:
|
||||
base_url: ""
|
||||
api_key: ""
|
||||
standing: sausage
|
||||
# Listener changes require a host restart.
|
||||
prompt: |-
|
||||
## Sausage and the world
|
||||
|
||||
@@ -12,9 +11,11 @@ prompt: |-
|
||||
Use the programs in /bin through bash. Use explicit repository paths. Worktrees live at /worktrees/<id>.
|
||||
The platform source lives in /src/sausage. Extensions reload after a commit to main.
|
||||
/etc/sausage/config.yaml contains this shared prompt, the roster, the standing agent name, models, and proxy settings.
|
||||
You can read and edit that file. Changes apply at the next run. Listener changes require a host restart.
|
||||
You can read and edit that file. Changes apply at the next run.
|
||||
The proxy key in that file is intentionally visible. Other secrets stay in the host credentials manager.
|
||||
The host injects those credentials. A 403 requests approval. Never store secrets in memory or print them.
|
||||
The world web server (/bin/web.wasm, unit web.service) listens on port 8080. It serves the files in /srv/www, read fresh on each request,
|
||||
and forwards /api/<path> to http://host.sausage/<path>. The user's chat page is /srv/www/index.html.
|
||||
Agents write CLIs and servers. Do not add host imports beyond the process interface.
|
||||
|
||||
## Inspect the harness state
|
||||
|
||||
@@ -12,11 +12,11 @@ test('default config contains the full roster and the configured standing model'
|
||||
assert.deepEqual(config.definitions.map(d=>d.name),['coordinator','designer','dream-pass','reviewer-architecture','reviewer-correctness','reviewer-simplicity','reviewer','scout','sausage','watcher','worker'])
|
||||
const standing=config.definitions.find(d=>d.name===config.standing)!
|
||||
assert.deepEqual(definitionRuns(standing),{model:{provider:'anthropic',modelId:'claude-opus-5-5'},thinking:'high'})
|
||||
assert(standing.instructions.includes('systemctl restart chat'))
|
||||
assert(standing.instructions.includes('/srv/www'))
|
||||
assert(standing.instructions.includes('instead of guessing'))
|
||||
})
|
||||
test('global prompt states each harness route, the proc files, and the config path',()=>{
|
||||
for(const value of ['http://host.sausage/harness/','whoami','conversations','conversations/ID/entries?after=N','events?after=N','models','extensions','credential-requests','/proc/processes','/proc/extensions','jaq','/etc/sausage/config.yaml']) assert(config.prompt.includes(value),value)
|
||||
for(const value of ['http://host.sausage/harness/','http://host.sausage/whoami','/srv/www','port 8080','conversations','conversations/ID/entries?after=N','events?after=N','models','extensions','credential-requests','/proc/processes','/proc/extensions','jaq','/etc/sausage/config.yaml']) assert(config.prompt.includes(value),value)
|
||||
})
|
||||
test('YAML block scalars keep the shared and role prompts separate',()=>{
|
||||
assert(config.prompt.startsWith('## Sausage and the world'))
|
||||
|
||||
Reference in New Issue
Block a user