daax-dev / daax-dev/daax-devtools

[testcontainers]: Emit hawkeye lifecycle events from testcontainer startup/teardown

Open
#8 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

hawkeye high-priority observability testcontainers
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, timestamp
  • testcontainer.ready — readiness time, health check results
  • testcontainer.test.run — test file, pass/fail, coverage delta
  • testcontainer.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.run event 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.