Repository navigation
feat: add Operations demonstrator and agent workspace - #109
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: adcb943411
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| self.runs = sorted( | ||
| (run for runs in grouped.values() for run in runs[-self.max_runs:]), | ||
| key=lambda run: run.started_ns, |
There was a problem hiding this comment.
Preserve captured baselines when bounding run history
Once a workload exceeds max_runs (200 by default), this slice evicts the healthy runs from which _baseline() derives its reference and replaces them with later incident samples. With sustained corruption, even the first anomalous sample entering the ten-run baseline can inflate pstdev enough for _is_anomalous() to stop firing, so the watcher reports recovered while the fault is still present. Keep the initial baseline separately and bound only the post-baseline history.
Useful? React with 👍 / 👎.
| variables = self._gateway_manifest_variables( | ||
| include_secret_manager=include_secret_manager, | ||
| include_telemetry=include_telemetry, | ||
| secret_manager_environment=secret_manager_environment, | ||
| telemetry_environment=telemetry_environment, |
There was a problem hiding this comment.
Reload the TLS hostname before refreshing bindings
When a persisted managed-TLS gateway is reopened, __post_init__() resets the runtime-only _tls_hostname to an empty string and setup() is not rerun for the already-deployed service. Changing its telemetry or secret-manager binding now reaches this renderer through _refresh_runtime_bindings(), producing and applying an Ingress with an empty host and breaking the configured hostname route. Reload the TLS metadata before rendering a runtime-binding update, or persist the validated hostname.
Useful? React with 👍 / 👎.
| save_run( | ||
| OperationsAgentRun( | ||
| id=run_id, | ||
| agent_id=str((self.agent or {}).get("id") or ""), |
There was a problem hiding this comment.
Keep async answers attached to the originating agent
If the user selects another team member while a question request is in flight, this callback reads the new mutable self.agent and updates the existing run with that agent's ID. Because save_operations_agent_run() updates agent_id on conflict, the original question and its answer are moved into the newly selected agent's history and attributed incorrectly. Capture the originating agent ID when launching the worker and pass it into the callback.
Useful? React with 👍 / 👎.
Summary
Validation