daax-dev / daax-dev/daax-devtools
[testcontainers]: Emit hawkeye lifecycle events from testcontainer startup/teardown
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Issue: [testcontainers]: Emit hawkeye lifecycle events from testcontainer startup/teardown
Feature: testcontainers
Priority: high
Labels: testcontainers, hawkeye, high-priority, observability
Description
Testcontainers currently have no integration with hawkeye. When a test runs inside a daax testcontainer, hawkeye has no visibility into: which containers started, whether setup succeeded, test coverage produced, or teardown was clean. Hawkeye should receive structured lifecycle events from testcontainer execution so it can enforce quality gates and contribute to the agentic retrospective.
Intel driver: Sofy AI testing agents (sofy.ai, 2026-04-05) — "agents integrate directly into your pipelines and act as MCP agents communicating with other agents." AWS DevOps Agent GA — agent-level observability is becoming a first-class CI concern. Martin Fowler harness engineering — the harness needs to observe the entire test lifecycle.
What
Define hawkeye lifecycle event schema for testcontainers:
testcontainer.started— container ID, image, services, timestamptestcontainer.ready— readiness time, health check resultstestcontainer.test.run— test file, pass/fail, coverage deltatestcontainer.teardown— cleanup success/failure, resource cleanup confirmation
Emit these events via hawkeye's event bus during test execution.
Why
Without this visibility, hawkeye quality gates can't enforce test coverage requirements that span container-level integration tests. The retrospective loop also needs this data to correlate agent-written code with test outcomes.
Definition of Done
- Each lifecycle event is emitted to hawkeye event bus within 100ms of the underlying event
-
testcontainer.test.runevent includes coverage delta (not just pass/fail) - Hawkeye policy can gate on
coverage.delta < -5%(reject if coverage drops by more than 5 points) - Events are visible in hawkeye audit trail with container ID as correlation key
- Test: run a testcontainer that fails coverage gate → hawkeye blocks the agent's next action and emits actionable feedback
- Events survive testcontainer crash (emitted before teardown, not after)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the testcontainer startup and teardown entry points, hawkeye's event bus, and the existing audit-trail and policy-gate tests. Define the four lifecycle event payloads and their correlation data before tracing how coverage results are produced. Done means events meet the timing, crash-survival, coverage-gating, audit-trail, and blocking behavior listed in the definition of done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- observability, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100