Fixed
- A caller's
datasourceis bounded before it reaches the audit row (#370). The name is caller-written text and arrives at_record_executionbefore anything establishes that it names a datasource we serve, so an arbitrarily long value was stored once per call. The statement beside it has always been capped; this column was missed. It now sharesLOG_DATASOURCE_MAX_CHARSwith the refusal log line, so the line and the row cannot disagree about what was sent.
Internal
- The wheel's contents are asserted (#122). Every test runs against an editable install, where
migrations/andstatic/resolve into the source tree whatever the packaging config says — so that config was the one part of the repo the suite could not see, and it has shipped broken once. A test now builds a wheel and looks inside it. - The test suite no longer reads or writes the developer's own machine (#293).
artifacts_dir()resolved a pointer at~/.config/agami/pathand then~/agami-artifacts, one level earlier than the fixtures isolating files inside that directory, so a realorg_idleaked into tests assertinglocal— 41 failures on a maintainer's machine and none in CI. The legacy-home migration was worse than a leak: it moves~/.agami, and a subprocess re-resolved it from the real home regardless of what this process had patched.
Full changelog: https://github.com/AgamiAI/agami-core/blob/main/CHANGELOG.md