This is an isolated production canary for validating EmDashBot end to end before the demo. It is not a product issue.
Phase one: direct implementation canary
Create only these canary-specific files under infra/emdash-bot/evals/canary/:
lifecycle-canary.ts, exporting getLifecycleCanaryPhase() that returns the literal string "phase-one".
lifecycle-canary.test.ts, using the repository’s existing Vitest setup to assert that behavior.
Do not modify production code or unrelated files. Run the narrow canary test and the required focused lint/format checks. This is private infrastructure, so no changeset is needed.
After this first canary PR is accepted, the same issue will be reused to validate repro → diagnosis carry-forward → implementation.
This is an isolated production canary for validating EmDashBot end to end before the demo. It is not a product issue.
Phase one: direct implementation canary
Create only these canary-specific files under
infra/emdash-bot/evals/canary/:lifecycle-canary.ts, exportinggetLifecycleCanaryPhase()that returns the literal string"phase-one".lifecycle-canary.test.ts, using the repository’s existing Vitest setup to assert that behavior.Do not modify production code or unrelated files. Run the narrow canary test and the required focused lint/format checks. This is private infrastructure, so no changeset is needed.
After this first canary PR is accepted, the same issue will be reused to validate repro → diagnosis carry-forward → implementation.