[ADD] viin_ai_ops: P-OPS-4 Ops Cockpit dashboard + ops-manager governance gate
OWL client action 'Ops Cockpit' under AI > Reporting: a COO/CFO governance
pane-of-glass with 6 ACL-respecting metric tiles (pending_approvals,
stuck_workflow, fail_rate, cost_per_goal, stale_evidence, ai_action_backlog) via
retrieve_ops_cockpit() running as the user (read_group/search_count, no sudo, no
raw SQL). Cross-module metrics flow through a decoupling provider hook so
viin_ai_ops gains zero dependency edges. Company-wide view gated on
group_ai_ops_manager (not base.group_system); tiles drill into the same records
within the user's scope. Semantic v17 design tokens (no hardcoded color), AA
contrast, responsive.
| Subbuilds | Name | State | Detail |
|---|---|---|---|
| Build 385470 | Check the quality with Pylint: from test_lint to test_pylint 14m | Failed | Log |
| Build 385471 | At install tests: from account to website_twitter 134m | Succeed | Log |
| Build 385472 | Post install tests: step install all modules 74m | Succeed | Log |
| Build 385473 | Post install tests: from account to payment_asiapay 155m | Succeed | Log |
| Build 385474 | Post install tests: from payment_authorize to test_website_slides_full 180m | Succeed | Log |
| Build 385475 | Post install tests: from test_xlsx_export to to_website_docs_odoo_data 70m | Succeed | Log |
| Build 385476 | Post install tests: from to_website_odoo_version to viin_estimate 74m | Failed | Log |
| Build 385477 | Post install tests: from viin_estimate_approval to viin_pricelist_validity_advance 29m | Failed | Log |
| Build 385478 | Post install tests: from viin_product_multi_barcodes to website_twitter 54m | Succeed | Log |
| Build 385479 | Test install all modules without demo data: from account to website_twitter 55m | Succeed | Log |
| Create Date | Level | Message |
|---|---|---|
| 06/13/2026 18:20:01 | INFO |
Updated repository Viindoo-odoo
|
| 06/13/2026 18:20:01 | INFO |
Updated repository Viindoo-tvtmaaddons
|
| 06/13/2026 18:20:01 | INFO |
Updated repository Viindoo-erponline-enterprise
|
| 06/13/2026 18:20:01 | INFO |
Updated repository Viindoo-branding
|
| 06/13/2026 18:20:01 | INFO |
Cloned repository Viindoo-ai
|
| 06/13/2026 18:35:29 | ERROR |
Subbuild # 385470:
odoo.addons.test_pylint.tests.test_eslint: FAIL: TestESLint.test_eslint
Traceback (most recent call last):
File "/data/build/Viindoo-tvtmaaddons-17.0/test_pylint/tests/test_eslint.py", line 67, in test_eslint
self.assertEqual(process.returncode, 0, msg=f"""
AssertionError: 1 != 0 :
stdout:
/data/build/rb-c97e3ae-222166/viin_ai_ops/static/src/ops_cockpit/ops_cockpit.js
219:19 error Replace `⏎············"Live·metrics·could·not·be·loaded·right·now·—·showing·safe·defaults."⏎········` with `"Live·metrics·could·not·be·loaded·right·now·—·showing·safe·defaults."` prettier/prettier
393:98 error Delete `,` prettier/prettier
398:95 error Delete `,` prettier/prettier
/data/build/rb-c97e3ae-222166/viin_ai_ops/static/tests/tours/cockpit_tour.js
63:23 error Insert `⏎···············` prettier/prettier
64:17 error Insert `····` prettier/prettier
65:1 error Insert `····` prettier/prettier
66:1 error Insert `····` prettier/prettier
67:1 error Insert `····` prettier/prettier
✖ 8 problems (8 errors, 0 warnings)
8 errors and 0 warnings potentially fixable with the `--fix` option.
Perhaps you might benefit from installing the tooling found at:
https://github.com/odoo/odoo/wiki/Javascript-coding-guidelines#use-a-linter
stderr:
|
| 06/13/2026 18:35:29 | ERROR |
Subbuild # 385470:
odoo.modules.loading: Module test_pylint: 1 failures, 0 errors of 7 tests
|
| 06/13/2026 18:35:29 | ERROR |
Subbuild # 385470:
odoo.modules.loading: At least one test failed when loading the modules.
|
| 06/13/2026 18:35:29 | ERROR |
Subbuild # 385470:
odoo.tests.result: 1 failed, 0 error(s) of 24 tests when loading database 'rb-c97e3ae-222166-385470'
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 297) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 298) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 299) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 300) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 301) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 302) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 303) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 304) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 305) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 306) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 307) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 308) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 309) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 310) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 311) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 312) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 324) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 325) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 326) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:50:18 | ERROR |
Subbuild # 385476:
odoo.addons.mail.models.mail_mail: failed sending mail (id: 327) due to You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-17.0/addons/mail/models/mail_mail.py", line 664, in _send
msg = SendIrMailServer.build_email(
File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/ir_mail_server.py", line 526, in build_email
assert email_from, self.NO_FOUND_FROM
AssertionError: You must either provide a sender address explicitly or configure using the combination of `mail.catchall.domain` and `mail.default.from` ICPs, in the server configuration file or with the --email-from startup parameter.
|
| 06/13/2026 20:05:07 | ERROR |
Subbuild # 385477:
odoo.addons.viin_helpdesk_project.tests.test_access_rights: ERROR: TestAccessTicket.test_user_who_following_task_or_project_read_ticket
Traceback (most recent call last):
File "/data/build/Viindoo-tvtmaaddons-17.0/viin_helpdesk_project/tests/test_access_rights.py", line 13, in test_user_who_following_task_or_project_read_ticket
ticket = self.env['viin.helpdesk.ticket'].with_user(self.env.ref('base.user_admin')).create({
File "<decorator-gen-1794>", line 2, in create
File "/data/build/Viindoo-odoo-17.0/odoo/api.py", line 430, in _model_create_multi
return create(self, [arg])
File "/data/build/Viindoo-tvtmaaddons-17.0/viin_helpdesk/models/helpdesk_ticket.py", line 336, in create
vals['stage_id'] = team.stage_ids[:1].id
File "/data/build/Viindoo-odoo-17.0/odoo/fields.py", line 2940, in __get__
return super().__get__(records, owner)
File "/data/build/Viindoo-odoo-17.0/odoo/fields.py", line 1182, in __get__
recs._fetch_field(self)
File "/data/build/Viindoo-odoo-17.0/odoo/models.py", line 3824, in _fetch_field
self.fetch(fnames)
File "/data/build/Viindoo-odoo-17.0/odoo/models.py", line 3863, in fetch
self.check_access_rule('read')
File "/data/build/Viindoo-odoo-17.0/odoo/models.py", line 4169, in check_access_rule
raise self.env['ir.rule']._make_access_error(operation, forbidden)
odoo.exceptions.AccessError: Uh-oh! Looks like you have stumbled upon some top-secret records.
Sorry, Mitchell Admin (id=2) doesn't have 'read' access to:
- Helpdesk Team (viin.helpdesk.team)
If you really, really need access, perhaps you can win over your friendly administrator with a batch of freshly baked cookies.
|
| 06/13/2026 20:05:07 | ERROR |
Subbuild # 385477:
odoo.tests.result: 0 failed, 1 error(s) of 1579 tests when loading database 'rb-c97e3ae-222166-385477'
|