Repository navigation
Release 0.4.1: Sidecar 0.9 discovery and manual AWS deployment #43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
743122a
95ba60d
8575a2d
c90da3a
496e40b
e97d7b4
7aa7cbd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,47 +1,16 @@ | ||
| # AWS continuous deployment | ||
|
|
||
| CI checks pull requests, pushes to `main`, and manual runs without deploying. | ||
| A pushed `v*` version tag starts `release-pypi.yml`, which runs the full test | ||
| matrix and package checks before publishing to PyPI. AWS deployment depends on | ||
| successful PyPI publication and builds the same tagged source. It publishes an | ||
| immutable ECR image, updates ECS through CloudFormation, and verifies the public | ||
| HTTPS endpoint and authenticated MCP integrations. A failed PyPI publication | ||
| prevents AWS deployment. | ||
|
|
||
| ## GitHub secrets | ||
|
|
||
| Configure repository secrets in `DeepAgentLabs/mcp-server`: | ||
|
|
||
| - `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`: credentials for the dedicated | ||
| `deep-agentic-core-mcp-github-deploy` IAM user. | ||
| - `MCP_SMOKE_KEY`: a dedicated application API key for authenticated health checks. | ||
|
|
||
| These secrets have been installed using the operator's AWS profile. Region | ||
| `us-east-2` is configured in the workflow. Never put credentials in the repo. | ||
|
|
||
| The scoped IAM policy is managed in AWS IAM. It allows ECR publishing, | ||
| CloudFormation change sets on the existing deployment, ECS revision/service | ||
| updates, and passing the two existing runtime roles. Read permissions for load-balancer and CloudFront attributes and deployment | ||
| events allow CloudFormation to resolve existing resource references and report | ||
| failures. Task-definition registration, reads, and deregistration use wildcard | ||
| resources where AWS requires them; service and pass-role permissions are scoped. | ||
| Infrastructure provisioning and database access are handled separately using the operator profile. | ||
|
|
||
| ## Deployment behavior | ||
|
|
||
| Deployments are serialized. Each image tag includes the release tag, run ID, | ||
| and attempt; ECS receives the image digest. Release tags should advance in order; | ||
| rerunning an older release deployment would deploy that older version. | ||
|
|
||
| The deployment script uses the existing CloudFormation template and preserves | ||
| all parameters except `ImageUri`, including the domain and cache credentials. | ||
| It refuses changes outside the ECS task definition and service, and refuses | ||
| service replacement. ECS's deployment circuit breaker rolls back tasks that fail | ||
| to become healthy. A failure of the final MCP smoke check fails the workflow; | ||
| it does not automatically roll back an otherwise completed deployment. | ||
|
|
||
| For infrastructure changes, use the reviewed operator flow in [README.md](README.md). | ||
| To retry a failed release deployment, rerun its failed job in GitHub Actions. | ||
| To deploy new code, prepare and publish a new version tag. Rotate the IAM access key by updating both repository secrets, then | ||
| remove the old key after a successful run. Rotate or revoke the MCP smoke key | ||
| through its application account and update `MCP_SMOKE_KEY` when rotating. | ||
| # AWS deployment and package releases | ||
|
|
||
| From **0.4.1**, GitHub Actions does not deploy AWS. Pull requests and main pushes | ||
| run checks; a `v*` tag validates and publishes PyPI, GitHub Release and MCP Registry | ||
| metadata. Publishing or retrying a release does not update the running AWS service. | ||
|
Comment on lines
+3
to
+5
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
After this release removes the AWS job, AGENTS.md reference: AGENTS.md:L130-L133 Useful? React with 👍 / 👎.
pramodbn27 marked this conversation as resolved.
Resolved
|
||
|
|
||
| The existing Docker build, ECR/CloudFormation deployment and smoke-check scripts | ||
| remain manual operator tools. Follow the reviewed operator flow in | ||
| [README.md](README.md) for an explicit deployment. The service template and runtime | ||
| resources are unchanged by this pipeline change. Do not infer hosted deployment | ||
| version or health from a successful package release. | ||
|
|
||
| Standalone image recipes pin Sidecar 0.9.0 for package discovery; they expose no | ||
| live Sidecar task controls. Use an immutable image reference for manual deployments. | ||
| Existing GitHub AWS secrets are not consumed by the release workflow. Credential | ||
| rotation and infrastructure provisioning remain separate operator responsibilities. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # Sidecar 0.9.0 compatibility | ||
|
|
||
| Sidecar 0.9.0 adds explicit task-authority tool bindings, narrowed delegation, | ||
| ancestor revocation, dispatch-time expiry checks, context reader permissions and | ||
| redacted evidence summaries. Private scope goals/values use explicit host delivery. | ||
|
|
||
| MCP discovery detects installed task-authority/revocation and redacted-evidence APIs without constructing a task. Discovery does not connect to or govern a runtime. Protected MCP servers/credential issuers remain responsible for remote access revocation; Sidecar registries are process-local. | ||
|
|
||
| The core package remains standalone. No new mandatory sibling dependency or | ||
| shared schema is introduced. Constraint-only guardians retain expiry WARN; | ||
| authority-bearing tasks BLOCK on expiry/revocation. Stop revokes descendants; | ||
| restart does not revive grants. Operator intent modification cannot reset a | ||
| delegated grant. Reader/actor identities must come from the trusted harness. | ||
|
|
||
| The fixed comparison has 24 offline synthetic runs (12 per variant): Agent Alone | ||
| dispatches 6/6 unsafe proposals; Sidecar dispatches 0/6, with 2/6 false interventions | ||
| on clean gate/provider-outage controls. Zero live inference cost/tokens are | ||
| synthetic accounting, not an economic or production-reliability claim. Raw | ||
| arguments/journals/operator views remain privileged; redaction is allowlisted, | ||
| not arbitrary secret detection or process isolation. | ||
|
|
||
| See the [Sidecar v0.9 guide](https://github.com/DeepAgentLabs/agentic-sidecar/blob/v0.9.0/website/docs/v0.9.md) | ||
| and [paired evidence](https://github.com/DeepAgentLabs/agentic-sidecar/blob/v0.9.0/tests/validation/v0_9_supervision.json). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,4 +2,4 @@ | |
|
|
||
| __all__ = ["__version__"] | ||
|
|
||
| __version__ = "0.4.0" | ||
| __version__ = "0.4.1" | ||
Uh oh!
There was an error while loading. Please reload this page.