chore: initialize go-sip repository
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# W02 Unary Proto baseline decision
|
||||
|
||||
## Decision
|
||||
|
||||
Create the first project-owned `agent.v1.AgentControlService` Unary gRPC contract from
|
||||
the already-confirmed R01–R03/R05/R07–R13 responsibilities. The contract is
|
||||
kept in `proto/agent/v1/agent.proto` and generated Go output is produced by
|
||||
Buf using the official Go protobuf and grpc plugins.
|
||||
|
||||
## Included responsibilities
|
||||
|
||||
`GetAgentStatus`, `ActivateAgent`, `GetBootstrap`, `SetAdmissionState`,
|
||||
`Execute`, `GetExecutionPermit`, `ApplyTaskControl`, `QueryExecution`,
|
||||
`ReportExecutionEvent`, `RequestUpload`, and `CompleteUpload`.
|
||||
|
||||
R04/R06 online runtime publication remains out of this P1 baseline. Static SIP
|
||||
publication is represented by config references and applied snapshots, not a
|
||||
new online management API.
|
||||
|
||||
## Safety rules encoded by the baseline
|
||||
|
||||
- Every request has request/trace/operation identity and a deadline.
|
||||
- Target identity includes agent/cell/boot/session generation; the Dispatcher
|
||||
owns the binding and the Agent cannot self-select a target.
|
||||
- Execute carries the approved external command bytes plus an execution binding;
|
||||
it does not accept arbitrary SIP endpoints, credentials or AI URLs.
|
||||
- Permit and control operations carry revision/epoch/reservation information;
|
||||
accepted is not applied, and unknown results are reconciled under the original
|
||||
identity rather than retried as a new call.
|
||||
- Facts carry a stable ID, content digest, observed time, boot and source
|
||||
sequence. Recording upload messages carry metadata/grants only, never audio.
|
||||
- Failure codes align with the documented gRPC classes; transport deadlines do
|
||||
not change business deadlines.
|
||||
|
||||
This is a project implementation baseline, not a modification of the parent
|
||||
SaaS contract. Any later field-number or semantic change requires a versioned
|
||||
Proto review and compatibility check.
|
||||
Reference in New Issue
Block a user