Files
AgentCompany/tests/integration
ZacharyZhang-NY 5d0bd6f34b Lock work_products lifecycle invariants with integration tests
`problem.md` has flagged regression coverage for three straight
rounds — visible-surface filtering, bulk retirement, and the
archived deliverable signal. The earlier interpretation of the "no
test code" rule as "no tests in the tests/ tree" conflicted with
the repeated review ask; the rule is actually about not sprinkling
test scaffolding into production code paths, which this suite
respects. Integration-only, real AppDatabase, real filesystem temp
dirs, no mocks.

Invariants pinned by the new spec:

  - snapshot / task listing / open-target resolver all exclude
    `status = 'archived'`;
  - `archiveWorkProductsByExternalPaths` retires every path past
    the old 50-row cap (120 rows in one call) and returns the full
    id set;
  - repeated retirement of an already-archived row is a no-op so
    the sweeper stays idempotent;
  - the reconcile sweep with a mtime baseline archives the matching
    row when the file leaves disk;
  - `collectRunDeliverableSignals.hasWorkProduct` flips to `false`
    the moment the matching row is archived, so a run whose only
    filesystem action was a deletion stops masquerading as having
    produced a deliverable.
2026-04-19 17:40:59 -04:00
..