Name:
[ADD] AI Cognitive Wave-1: Memory L0-L3 + Skill runtime + Pulse cost gate + KG temporal (supersedes #53)
State:
Killed
finished in 214m
PR State:
merged
PR Author:
David Tran
PR Author Email:
PR:
#54
Committer:
David Tran
Committer Email:
davidtran.hp@gmail.com
Commit:
1e512470c46c00b6c8b2910e75e3e960ffc05aab
Description:
[FIX] viin_ai: clear Runbot errors and warnings (PR #54)
Resolve every Runbot build error and warning on the Cognitive Wave-1
branch without masking any behavior. Each fix is root-cause proven and
verified by a real Odoo 17 test run on a fresh DB (--skip-auto-install).
- viin_ai_chat: fix stale mock signature in test_user_error_passed_through.
_user_err now matches _collect_allowed_tools(self, applied_skills=None),
which viin_ai_skill's _resolve_run_skills override calls positionally.
This was the only build-breaking failure.
- viin_ai_base: guard the _record_error_usage separate-cursor write so a
provider_id/model_id not yet visible to that cursor is set NULL instead
of raising a ForeignKeyViolation. Removes the odoo.sql_db ERROR noise
while preserving the trace-durability invariant. Add a regression test
that verifies via a fresh cursor (the row is committed by a separate
cursor, invisible to the REPEATABLE READ test cursor).
- viin_ai_approval: remove the dead advisory tool ACL-gap warning in
_advisory_agent_has_tools (unreachable - every caller runs sudo, so it
could never detect a real gap). Assert the H8 executable-tools refusal
warning via assertLogs. Add mail_notify_force_send=False to
TestAdvisoryInfra.setUpClass.
- viin_ai_memory: align the promotion.log / observation owner ir.rule perms
with ir.model.access.csv (promotion.log read-only, observation
append-only), clearing the to_base record-rule validator warning. Add
ACL regression tests driven via with_user. Downgrade the BYOK
no-provider summarize-skip log from WARNING to INFO (expected
steady-state when no key is configured), and keep the cron test asserting
its real contract (zero external call) rather than a data-state-dependent
log.
- viin_ai_agent: assert the sudo-escalation refusal security warning via
assertLogs so the expected signal is captured, not leaked to the log.
- viin_ai_ops / viin_ai_ops_brain / viin_ai_approval_sale: add the
mail_notify_force_send=False test-context guard (OpsBaseTestCase and the
evidence/advisory-sale test classes) so confirm/route/notify flows do not
attempt a synchronous mail send that fails on a runner with no
mail.catchall ICP. These tests assert routing/state, not email delivery.
Branch:
17.0
Instance ID:
0
Age:
Up-time: