1.8 KiB
1.8 KiB
TESS-M2-001 — Pi Interaction Service
Scope
- Add a generic rostered/systemd Pi operator-interaction service in
packages/mosaic/framework. - Pin the service to
openai/gpt-5.6-sol, high reasoning, and theoperator-interactiontool policy. - Keep identity as provisioning data; the product name appears only in the committed example roster.
Security and Configuration Invariants
- The chosen display/roster name is supplied as data and must exactly match the generic systemd instance.
- The service fails before launch if runtime, model, reasoning, or tool policy differs from the pinned policy.
- Effective-policy output includes only name, runtime, model, reasoning, and tool policy; it does not inspect or output credential variables.
- The default example is replaceable without a source change; the TDD suite
provisions
Novafrom the same profile.
Evidence
src/fleet/tess-service-profile.test.tsproves aNovaprovisioning path, roster parser/env serialization, effective-policy output, fail-fast drift rejection, and absence of the product name from generic source/profile.test-fleet-units.shvalidates the generic interaction systemd unit requires per-agent config and invokes fail-fast startup validation.test-start-agent-session.shproves the tool-policy value is exported into the Pi pane;compose-contract.spec.tsproves it becomes an explicit runtime contract block.- Fresh-worktree dependency install plus root
pnpm typecheck,pnpm lint,pnpm format:check, andpnpm testpassed; package/full fleet suites passed. - Independent Codex code and security reviews passed with no remaining findings.
Delivery Notes
- Branch starts from fresh
origin/mainat86a50138. - PR targets
mainand references issue#708.