@sjawhar/opencode-legion-envoy 5.6.2 → 5.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/opencode-legion-envoy",
3
- "version": "5.6.2",
3
+ "version": "5.6.4",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/src/server.js",
@@ -84,7 +84,8 @@ a new version that keeps the human's own text, never a second "spec" artifact be
84
84
  it for your inference; an answer that is only a chosen option is recorded in the form
85
85
  `<name> chose "Commit author" on the question below (<date>)`, naming them from `dispatch_whoami`
86
86
  or the conversation, or "the person" when the token names no owner — never a name you were not
87
- given. A point you inferred says so, with the reasoning; during a live brainstorming
87
+ given. A point you inferred says so, with the reasoning — a security concern, a restriction, or
88
+ a cost nobody measured is exactly this, not a settled constraint; during a live brainstorming
88
89
  conversation, `skill://dispatch-brainstorming` is stricter and keeps an inference out of the spec
89
90
  until the human has agreed to it. One carried in from another document keeps its provenance: an
90
91
  agent's inference there is marked one here, or stays out until the human raises it.
@@ -170,6 +170,20 @@ and request approval again as this section says. Later waves, re-scoping open ch
170
170
  same Acceptance, and integration-failure children need no spec edit and no new approval, and a
171
171
  child issue's spec is never gated: the root approval covers the tree.
172
172
 
173
+ **A decision block for a read no pod can make.** An acceptance criterion sometimes needs
174
+ evidence from a production or external system before a human can approve it: a measurement, a
175
+ current count, a stored record. Check first whether the evidence is already reachable through a
176
+ credential this tree's own pods carry — the model route every pod already has, and any further
177
+ identity the operator's deployment configuration grants pods (read the pod's own environment,
178
+ for example `AWS_CONFIG_FILE` or `AGENT_SECRETS_URL`, rather than assuming there is none; a
179
+ credential can exist without any skill having told you so). When the evidence genuinely is not
180
+ reachable, do not have a different running session perform the read on this tree's behalf and
181
+ fold the result into the spec as if it were routine: write the missing capability as its own
182
+ decision block — which external system, which read or write, why the spec needs it — addressed
183
+ to the human, in the same spirit as the implementer reports a production-check gap (section 6) and leave it
184
+ open until the human resolves it. A workaround substituted for that record only hides the gap
185
+ from the next tree that hits it.
186
+
173
187
  ## 2. Children in flight
174
188
 
175
189
  Release only the next useful wave. A release is an explicit lifecycle write:
@@ -239,6 +239,17 @@ artifact, not a broken credential. Run credentialed commands from your own bash
239
239
  run that may outlast a minute with `gh run watch` in bash, which redeems once and then runs on the
240
240
  token it got.
241
241
 
242
+ **Other credentials your pod may already carry.** Before reporting that a read is unreachable,
243
+ check for them rather than assuming none exist: `AGENT_SECRETS_URL` and `AGENT_SECRETS_KEY_DIR`
244
+ are set when the deployment enrolls pods with the agent-secrets broker (`docs/kubernetes.md`,
245
+ "Operator configuration"), in which case `agent-secrets <SECRET> -- <command>` runs `<command>`
246
+ with only the secrets this pod generation's grant allows — refuses closed, naming the secret, if
247
+ the rule does not allow it. `AWS_CONFIG_FILE` is set when the deployment's `pod.volumes` carries a
248
+ further projected token beyond the model route's own; read the file it names for what profiles it
249
+ configures before assuming the AWS CLI has nothing to reach. Neither variable existing is a
250
+ guarantee the read you need is covered — a refusal from either still means what it says — but
251
+ neither should be assumed absent without checking.
252
+
242
253
  ## GitHub PR comment attribution
243
254
 
244
255
  Append this exact structured footer to **every** pull-request comment and review that this