feat(tess): add configurable pi interaction service
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
This commit is contained in:
@@ -15,6 +15,21 @@ default tmux server.
|
||||
|
||||
- `examples/minimal.yaml` starts one local canary slot.
|
||||
- `examples/local-canary.yaml` starts a small generic dogfood fleet.
|
||||
- `examples/operator-interaction.yaml` is an example Pi operator-interaction
|
||||
service; replace its example agent name before provisioning.
|
||||
|
||||
## Operator interaction service
|
||||
|
||||
`services/operator-interaction.yaml` pins the Pi runtime, GPT-5.6 Sol model,
|
||||
high reasoning, and the `operator-interaction` tool policy. The agent identity
|
||||
is provisioning data: choose a roster name, generate its per-agent environment
|
||||
file, then start the matching generic systemd instance. The service fails before
|
||||
launch if the configured identity does not match the instance or any pinned
|
||||
policy field drifts.
|
||||
|
||||
The installed `tools/fleet/print-interaction-effective-policy.sh` prints only
|
||||
the resolved name, runtime, model, reasoning, and tool policy. It never reads
|
||||
or prints credential variables.
|
||||
|
||||
Initialize a roster:
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# Example instance only. Replace `Tess` with the chosen provisioned identity.
|
||||
version: 1
|
||||
transport: tmux
|
||||
tmux:
|
||||
socket_name: mosaic-fleet
|
||||
holder_session: _holder
|
||||
defaults:
|
||||
working_directory: ~/src
|
||||
runtimes:
|
||||
pi:
|
||||
reset_command: /new
|
||||
agents:
|
||||
- name: Tess
|
||||
runtime: pi
|
||||
class: operator-interaction
|
||||
model_hint: openai/gpt-5.6-sol
|
||||
reasoning_level: high
|
||||
tool_policy: operator-interaction
|
||||
persistent_persona: true
|
||||
@@ -0,0 +1,11 @@
|
||||
# Operator Interaction — fleet role definition
|
||||
|
||||
The **operator-interaction** role is the authorized human interaction plane for
|
||||
Mosaic. It presents runtime and fleet state, mediates approved actions, and
|
||||
hands coding or general orchestration work to Mos.
|
||||
|
||||
## Boundaries
|
||||
|
||||
- It does not claim Mos-owned coding or general orchestration work.
|
||||
- It exposes only the configured, observable tool policy.
|
||||
- It does not receive or surface credentials in its effective policy.
|
||||
@@ -105,6 +105,18 @@
|
||||
"modelHint": {
|
||||
"type": "string"
|
||||
},
|
||||
"reasoning_level": {
|
||||
"type": "string"
|
||||
},
|
||||
"reasoningLevel": {
|
||||
"type": "string"
|
||||
},
|
||||
"tool_policy": {
|
||||
"type": "string"
|
||||
},
|
||||
"toolPolicy": {
|
||||
"type": "string"
|
||||
},
|
||||
"persistent_persona": {
|
||||
"oneOf": [{ "type": "boolean" }, { "type": "string" }]
|
||||
},
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# Generic service policy. Provisioning supplies the agent name as data.
|
||||
runtime: pi
|
||||
model: openai/gpt-5.6-sol
|
||||
reasoning: high
|
||||
tool_policy: operator-interaction
|
||||
Reference in New Issue
Block a user