Name: [ADD] viin_ai_workflow: P-OPS-3 Operating Layer workflow adapter + heartbeat routines

State: Killed finished in 323m

PR State: merged

PR Author: David Tran

PR Author Email:

PR: #49

Committer: David Tran

Committer Email: davidtran.hp@gmail.com

Commit: ecca50fae945f6311d56cac772823e6c9f8f5955

Description:

                                            [FIX] viin_ai_workflow,viin_ai_workflow_automation: capture expected error-path logs in tests

Runbot marks a build FAILED when the captured test log contains any
WARNING/ERROR record (odoo lower_logging -> result.had_error_log), even with
0 assertion failures. Two tests exercise deliberate error-paths whose
operator-facing logs leaked into the captured log:

- test_cron_savepoint_isolates_a_failing_routine (WF-8): the poisoned routine
  raises, _cron_run_routines logs its traceback at ERROR (fault-isolation
  signal).
- test_execute_approved_no_published_version_stays_approved: the unpublished
  workflow logs two WARNINGs (graceful no-fake-execute signal).

Wrap each triggering call in self.assertLogs() so the expected records are
captured (propagate=False -> no leak to Runbot) AND asserted to have fired -
stronger than mute_logger: the test now proves the except-branch / degradation
path actually ran. Production logging is unchanged (the logs are correct and
valuable in operation; only the tests own their expected output now).

Verified locally (no API key): 0 failed / 18 tests, 0 leaked WARNING/ERROR.
                                            

Branch: 17.0

Instance ID: 0

Age:

Up-time: