Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
1990477
docs(645): review MicroVM readiness and plan P3
isadeks Sep 13, 2026
b515592
fix(agent): drain server test threads before state reset (#841)
isadeks Sep 13, 2026
564ccc1
fix(compute): allow scoped MicroVM payload cleanup (#817)
isadeks Sep 13, 2026
5490d64
fix(agent): refresh heartbeat atomically after approval (#645)
isadeks Sep 13, 2026
3f6671b
docs(645): record completed MicroVM prerequisite fixes
isadeks Sep 13, 2026
8c04dd3
fix(agent): classify unreadable MicroVM payload streams (#817)
isadeks Sep 13, 2026
2e20d54
fix(compute): stabilize MicroVM failure classification (#817)
isadeks Sep 13, 2026
cfe95c5
fix(contracts): require validation for MicroVM ARN fields (#817)
isadeks Sep 13, 2026
f037efe
docs(645): track completed P2 error and contract fixes
isadeks Sep 13, 2026
e994447
fix(compute): recover MicroVM starts across lost responses (#645)
isadeks Sep 13, 2026
0f4545c
docs(645): record MicroVM start recovery and remaining gates
isadeks Sep 13, 2026
0bb9524
fix(orchestrator): reserve and release task capacity atomically (#645)
isadeks Sep 13, 2026
102b9ef
docs(645): record capacity replay proof and metadata security gap
isadeks Sep 13, 2026
5ea6727
fix(security): protect coordinator task metadata from agents (#645)
isadeks Sep 13, 2026
82a9df8
fix(security): authenticate task payload bootstrap for ECS and MicroV…
isadeks Sep 13, 2026
6a8ab35
fix(agent): report logging failures and verify registry delivery (#645)
isadeks Sep 13, 2026
f3e684d
feat(compute): add MicroVM lifecycle foundations (#645)
isadeks Sep 13, 2026
eb7e207
feat(compute): persist MicroVM sleep and wake intent (#645)
isadeks Sep 14, 2026
1694182
fix(bootstrap): pass execution role to nested stacks (#645)
isadeks Sep 14, 2026
4ea7e88
fix(cdk): scope global resource names by region (#645)
isadeks Sep 14, 2026
edaa144
fix(cdk): scope registry waiter name to deployment (#645)
isadeks Sep 14, 2026
29dcaa7
fix(cdk): retain scoped Jira exception in overflow policy (#645)
isadeks Sep 14, 2026
98aed92
docs: record clean P2 deployment and remaining live gates (#645)
isadeks Sep 14, 2026
e04f85c
docs: record P2 live task and cancellation checks (#645)
isadeks Sep 14, 2026
e8c2961
fix(cli): configure and preserve repository verification commands
isadeks Sep 14, 2026
70f1bf5
docs: record live repository checks and remaining MicroVM gates
isadeks Sep 14, 2026
5394571
Revert "fix(cli): configure and preserve repository verification comm…
isadeks Sep 14, 2026
011d8f0
docs: record CLI rollback and restored mise defaults
isadeks Sep 14, 2026
76341d4
fix(microvm): rebuild managed images from immutable artifacts
isadeks Sep 14, 2026
364ea18
docs(microvm): record clean image update and repeat deployment
isadeks Sep 14, 2026
2e0262c
test(microvm): verify live P2 payload failure boundaries
isadeks Sep 14, 2026
770df63
test(microvm): verify live start replay and recovery
isadeks Sep 14, 2026
6ea275c
feat(agent): add MicroVM approval pause barrier
isadeks Sep 14, 2026
585d545
fix(agent): renew MicroVM credentials without ambient fallback
isadeks Sep 14, 2026
c6aee5c
feat(agent): checkpoint MicroVM approval sleep and wake
isadeks Sep 14, 2026
de926a5
feat(microvm): verify lifecycle support for each launched image
isadeks Sep 15, 2026
dc98a3e
feat(microvm): supervise approval suspension and recovery
isadeks Sep 15, 2026
2a57872
docs(microvm): align image warnings with P3 supervisor status
isadeks Sep 15, 2026
2c51c9e
fix(orchestrator): retain versions needed by durable executions
isadeks Sep 15, 2026
f19429d
fix(microvm): stop approval workers on cancellation
isadeks Sep 15, 2026
61e1176
docs(microvm): record P3 deployment and six live guest checks
isadeks Sep 15, 2026
92e1f77
fix: preserve approval callbacks through MicroVM suspension (#645)
isadeks Sep 15, 2026
2b61a4b
docs: record P3 callback acceptance and wake failures (#645)
isadeks Sep 16, 2026
9ee3214
fix: handle pending state during MicroVM wake (#645)
isadeks Sep 16, 2026
8ae2bf2
fix: preserve MicroVM startup allowance (#645)
isadeks Sep 16, 2026
78c79a6
docs: record verified MicroVM wake timers (#645)
isadeks Sep 16, 2026
3fe740b
docs: distinguish paused HTTP resets from wake refusals (#645)
isadeks Sep 16, 2026
bf6127d
feat: add correlated MicroVM lifecycle diagnostics (#645)
isadeks Sep 16, 2026
15514e1
docs: track Lambda MicroVM service feedback and current P3 status (#645)
isadeks Sep 16, 2026
d86f403
docs: record diagnostics rollout and AWS transport checks (#645)
isadeks Sep 16, 2026
e17a4a5
fix: explain MicroVM supervision read failures (#645)
isadeks Sep 16, 2026
2fef9cb
docs: record MicroVM race checks and feedback rollout (#645)
isadeks Sep 16, 2026
a267849
feat(645): configure per-task MicroVM approval sleep delay
isadeks Sep 16, 2026
bf57112
docs: record sleep controls and AWS capacity verification
isadeks Sep 16, 2026
934c687
docs: record durable registration and orphan recovery checks
isadeks Sep 16, 2026
bd435b5
docs: record AgentCore compatibility and cleanup proof (#645)
isadeks Sep 16, 2026
a140c77
fix(microvm): classify generic wake-hook failures (#645)
isadeks Sep 16, 2026
30d101c
docs: record independently observed wake failure (#645)
isadeks Sep 16, 2026
e560fbe
docs: record deployed wake failure guidance (#645)
isadeks Sep 16, 2026
94a931f
docs: verify capacity protocol upgrade and rollback (#645)
isadeks Sep 16, 2026
224c76b
docs: correct stale ECS sizing and build comments (#645)
isadeks Sep 16, 2026
c9f450a
docs: distinguish MicroVM credential renewal path (#645)
isadeks Sep 16, 2026
8b44f76
docs: link capacity evidence and comment review (#645)
isadeks Sep 16, 2026
268d033
fix(microvm): close lifecycle connections before freezing
isadeks Sep 16, 2026
ab2a253
docs(microvm): record connection-close rollout and acceptance
isadeks Sep 16, 2026
87802a8
fix(ecs): wire approval storage into both task definitions
isadeks Sep 17, 2026
a6bf474
docs: record final-image lifecycle and ECS acceptance
isadeks Sep 17, 2026
cd99f22
docs: verify repository wake path and correct workflow comments
isadeks Sep 17, 2026
9274d26
docs: verify AgentCore task permission boundaries
isadeks Sep 17, 2026
6ba7fd9
fix: clarify dispatch feedback and verify remote MCP wake path
isadeks Sep 17, 2026
a2dc0c9
feat: nest MicroVM compute and complete approval cancellation feedback
isadeks Sep 17, 2026
0467de9
docs: record MicroVM refactor limitation and session recovery
isadeks Sep 17, 2026
2d6edb4
feat: add verified conversation checkpoints for MicroVM continuation …
isadeks Sep 17, 2026
51e36ce
feat: preserve workspace state for MicroVM continuation (#645)
isadeks Sep 17, 2026
63e6bca
feat(compute): complete P3 continuation and rollout integration
isadeks Sep 18, 2026
d0a8154
chore(compute): sync P3 with current main
isadeks Sep 18, 2026
2f82f96
feat(migration): validate staged CloudFormation templates
isadeks Sep 18, 2026
189051b
feat(migration): preserve legacy worker permissions during cutover
isadeks Sep 18, 2026
848539c
docs(microvm): describe integrated continuation and recovery
isadeks Sep 18, 2026
7891b0b
docs(microvm): replace investigation notebooks with focused guidance
isadeks Sep 18, 2026
f95decc
docs(microvm): keep service-team feedback outside the repository
isadeks Sep 18, 2026
9e7f0a3
Merge branch 'main' into feat/645-microvm-p3
isadeks Sep 18, 2026
15e171d
refactor(approvals): share authenticated decision paths across channels
isadeks Sep 18, 2026
48ec3e7
feat(approvals): bind Linear comments to retry-safe decisions
isadeks Sep 18, 2026
b3b164e
feat(linear): accept owner approval replies and wake waiting workers
isadeks Sep 18, 2026
5ca974a
docs(approvals): explain native Linear decisions and backend behavior
isadeks Sep 18, 2026
d921441
test(linear): cover approval reply routing and retry propagation
isadeks Sep 18, 2026
2e2f1ae
fix(approvals): retain closed Linear bindings independently of delivery
isadeks Sep 18, 2026
5c3552e
fix(linear): generate UUIDv4 approval comment identifiers
isadeks Sep 18, 2026
24b52a6
fix(linear): bundle SDK clients for approval wake and recovery
isadeks Sep 18, 2026
8187509
docs(verification): record native Linear approval acceptance
isadeks Sep 18, 2026
4ffe36e
fix(approvals): explain the action before technical details
isadeks Sep 18, 2026
edee8a7
fix(cdk): nest concurrency maintenance to restore stack budget
isadeks Sep 18, 2026
1a03d93
docs(verification): record green build and stack budget fix
isadeks Sep 18, 2026
08baca5
Merge branch 'main' into feat/645-microvm-p3
isadeks Sep 18, 2026
95591d4
fix(linear): verify approval replies against authoritative comments
isadeks Sep 18, 2026
94c975b
fix(cdk): preserve flat MicroVM layout unless nesting is explicit
isadeks Sep 18, 2026
71adb3f
fix(agent): distinguish terminal status races from revoked worker leases
isadeks Sep 18, 2026
1d6b678
fix(microvm): detect checkpoint SDK drift and report unavailable reco…
isadeks Sep 18, 2026
70dea63
test(microvm): require real DynamoDB transactions in CI
isadeks Sep 18, 2026
7b28ff0
fix(microvm): close the retained launch lease on terminal cleanup
isadeks Sep 18, 2026
80977e7
refactor(microvm): share receipt serialization without changing store…
isadeks Sep 18, 2026
036beae
test(microvm): exercise manifest rejection and restore rollback
isadeks Sep 18, 2026
f21881a
test(bootstrap): cover managed MicroVM and nested resource permissions
isadeks Sep 18, 2026
421146a
docs(microvm): repair runbook links and clarify approval lifetime limits
isadeks Sep 18, 2026
09b7941
fix(approvals): move worker writes behind a task-scoped trusted service
isadeks Sep 18, 2026
eda5cb5
test(approvals): use complete pending requests in transport fixtures
isadeks Sep 18, 2026
a45922a
test(microvm): include trusted approval service in platform contract
isadeks Sep 19, 2026
7fc02a5
test(cdk): keep MicroVM security synthesis independent of EC2
isadeks Sep 19, 2026
235a6fb
test(microvm): verify approval API transport in complete platform config
isadeks Sep 19, 2026
de73239
docs(security): describe trusted approval writes and updated request …
isadeks Sep 19, 2026
2ae8f11
fix(645): keep flat MicroVM deployments within resource budget
isadeks Sep 21, 2026
1252519
test(645): pin manifest guards and approval lease fencing
isadeks Sep 21, 2026
1443e3d
fix(645): reject Linear consent from worker OAuth identity
isadeks Sep 21, 2026
e59cda4
fix(645): surface terminal write failure and retry transaction conflicts
isadeks Sep 21, 2026
f82704d
fix(645): validate approval writer configuration before execution
isadeks Sep 21, 2026
22d8bae
fix(645): classify checkpoint failures and exercise SDK recovery in CI
isadeks Sep 21, 2026
02ad141
fix(645): tolerate transport line endings in Linear comment recovery
isadeks Sep 21, 2026
2668258
docs(645): clarify approval trust boundaries and verify rendered links
isadeks Sep 21, 2026
c00d33c
test(645): supply approval service in MicroVM composition fixtures
isadeks Sep 21, 2026
b71bef0
test(645): pin approval endpoint forwarding across compute backends
isadeks Sep 21, 2026
359b69b
fix(645): respect terminal cancellation races and test pipeline wiring
isadeks Sep 21, 2026
da8344d
fix(645): classify checkpoint failures without assuming corrupt data
isadeks Sep 21, 2026
7439ecb
fix(645): reject missing cloud approval configuration with actionable…
isadeks Sep 21, 2026
5d99bf0
fix(645): fence continuation cursor updates during overlapping sweeps
isadeks Sep 21, 2026
c3ae2f0
test(645): pin recovery health and conservative Linear replay handling
isadeks Sep 21, 2026
9f3d564
docs(645): explain upgrade overlap and checkpoint diagnostics
isadeks Sep 21, 2026
39ff089
test(645): keep pipeline regression fixtures type-safe
isadeks Sep 21, 2026
159576e
fix(645): retain validation for platform worker lease tokens
isadeks Sep 21, 2026
7384f9b
fix: retry contended task capacity transactions (#645)
isadeks Sep 22, 2026
2a79c0e
Merge branch 'main' into feat/645-microvm-p3
isadeks Sep 22, 2026
68bdbfa
docs(645): clarify MicroVM lifetime and active cleanup
isadeks Sep 22, 2026
35f05bb
feat(645): default MicroVM infrastructure to nested stacks
isadeks Sep 22, 2026
0da9cf3
fix(645): warn before implicit nested MicroVM deployment
isadeks Sep 22, 2026
c6f9635
docs(645): align worker and infrastructure comments with P3
isadeks Sep 22, 2026
548bdf4
docs(645): refresh approval contracts and supported response flows
isadeks Sep 22, 2026
9a64892
Merge branch 'main' into feat/645-microvm-p3
isadeks Sep 22, 2026
5651ccc
fix(microvm): configure CLI approval replacement admission
isadeks Sep 22, 2026
0821220
fix(microvm): clean fenced attempts that never launched
isadeks Sep 22, 2026
6579756
fix(microvm): tolerate advisory credential refresh outages
isadeks Sep 22, 2026
1a0d527
fix(microvm): require explicit layout until migration is verified
isadeks Sep 22, 2026
0352a7c
fix(microvm): retire hook-denied calls from SDK error results
isadeks Sep 22, 2026
c52d4a1
test(microvm): exercise failed replacement cleanup in DynamoDB
isadeks Sep 22, 2026
c9c8759
fix(microvm): default uv installs to checkpoint-safe copies
isadeks Sep 22, 2026
564d9a8
fix(microvm): confirm worker state after termination conflicts
isadeks Sep 22, 2026
63ef34d
fix(approvals): explain inactive MicroVM worker leases
isadeks Sep 22, 2026
e1a099c
docs(microvm): correct approval defaults and live verification commands
isadeks Sep 22, 2026
a42e528
test(microvm): cover heartbeat boundaries and format review regressions
isadeks Sep 22, 2026
a6eeab4
fix(cdk): preserve unused MicroVM settings on other backends
isadeks Sep 22, 2026
ffcbe7e
docs(microvm): distinguish pending CLI wake acceptance from Linear co…
isadeks Sep 22, 2026
bf7c271
docs: sync verification acceptance mirror
isadeks Sep 22, 2026
440ffd6
chore(cdk): leave region-scoped dashboard/OAC renames to a separate PR
Sep 23, 2026
36f0940
chore(645): drop test-only migration helpers and diagnostic probes
Sep 23, 2026
9c1255f
refactor(approvals): share the post-commit audit and wake tail
Sep 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ abca-worktrees/
# Test/coverage output
coverage/
**/coverage/
.jest-cache/
**/.jest-cache/
test-reports/
**/test-reports/
.pytest_cache/
**/.pytest_cache/
# Coverage data FILES, not just the directories above. pytest-cov writes
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/build.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,19 @@ PRs labeled `auto-approve` are approved automatically by the `auto-approve` work

If `prek install` fails with "refusing to install hooks with `core.hooksPath` set", another tool owns your hooks. Either unset it (`git config --unset-all core.hooksPath`) or integrate these checks into your hook manager.

The build's transaction tests use DynamoDB Local through
`ABCA_DDB_LOCAL_ENDPOINT` (a loopback HTTP endpoint). CI starts a Docker service
pinned by image digest and supplies its mapped port to both CDK and Python tests;
those tests fail if `CI=true` without an endpoint. To reproduce locally, start
DynamoDB Local with `-inMemory -sharedDb`, bind port 8000 to loopback, and run
`ABCA_DDB_LOCAL_ENDPOINT=http://127.0.0.1:8000 mise run build`.

The pinned SDK continuation probe also runs in CI. Locally enable it with
`ABCA_TEST_SDK_CONTINUATION=1` when running
`agent/tests/test_continuation_sdk_probe.py`. It uses a local simulated Bedrock
endpoint and synthetic credentials; it does not require an AWS account or model
billing.

## Versioning

The project uses semantic versioning based on [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/):
Expand Down
5 changes: 5 additions & 0 deletions agent/.vulture_allowlist.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,8 @@
hook_context # unused variable (src/hooks.py:132)
hook_context # unused variable (src/hooks.py:918)
hook_context # unused variable (src/hooks.py:1258)

# urllib's HTTPRedirectHandler supplies this named parameter to redirect_request.
# The bootstrap override intentionally rejects every redirect without inspecting
# its destination; retain the standard-library callback signature.
newurl # unused variable (src/payload_bootstrap.py:_NoRedirect.redirect_request)
4 changes: 4 additions & 0 deletions agent/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ Root `mise run build` includes `//agent:quality` in parallel with `//cdk:build`.
| `progress_writer.py` | `agent/tests/test_progress_writer.py` |
| `hooks.py`, `policy.py` | `agent/tests/test_hooks.py`, `test_policy.py` |
| `pipeline.py`, `runner.py` | `agent/tests/test_pipeline.py`, etc. |
| `microvm_lifecycle.py`, `microvm_checkpoint.py` | `test_microvm_lifecycle.py`, `test_microvm_checkpoint.py`; checkpoint transaction tests require `ABCA_DDB_LOCAL_ENDPOINT` in CI |
| `approval_requests.py`, `task_state.py` | `test_approval_requests.py`, `test_task_state.py`; SigV4 writer protocol and persistence outcomes |
| `continuation_*.py` | Matching `test_continuation_*.py`: capture, storage, safe restore, SDK session and usage recovery |

Use `@pytest.fixture(autouse=True)` to reset shared module state between tests when handlers use circuit breakers or caches.

Expand Down Expand Up @@ -91,4 +94,5 @@ def test_a():
- **Cedar parity** — `cedarpy==4.8.4` (agent) and `@cedar-policy/cedar-wasm` 4.8.2 (cdk) must move together. See [cdk/AGENTS.md](../cdk/AGENTS.md) and `docs/design/CEDAR_HITL_GATES.md` §15.6.
- **Forgotten consumer** — Progress event schema changes need `cli/src/commands/watch.ts` and `test_progress_writer.py` updates.
- **Image bundle** — CDK deploys this tree; root `mise run build` always runs agent quality.
- **Continuation compatibility** — the SDK pin must match `contracts/constants.json` → `microvm_continuation.verified_sdk_version`. Verify real SDK session recovery before updating both. Persisted checkpoint identities are versioned wire data; renaming a Python field can invalidate existing checkpoints.
- **Un-attributed AWS SDK client (#319)** — build clients via `aws_session.tenant_client`/`tenant_resource` (tenant-scoped) or `aws_session.platform_client` (unscoped, still attributed); a naked `boto3.client(...)` silently drops solution attribution.
4 changes: 3 additions & 1 deletion agent/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,9 @@ COPY agent/prepare-commit-msg.sh /app/
# Claude Code managed settings (#215). The highest-precedence settings layer —
# loaded regardless of setting_sources and unoverridable by the untrusted cloned
# repo's project .claude/settings.json. Carries awsCredentialExport so Bedrock
# calls use session-tagged, refreshable credentials for cost attribution.
# calls use session-tagged credentials for cost attribution. For MicroVM workers,
# the helper returns no exported keys: the parent's scoped container provider
# handles renewal without Claude's stale awsCredentialExport cache.
# Placing awsCredentialExport (an arbitrary command) anywhere the target repo
# can influence would be RCE with the compute role, so it lives ONLY here.
COPY agent/managed-settings.json /etc/claude-code/managed-settings.json
Expand Down
Loading
Loading