[FIX] viin_ai_ops_brain: sudo Brain reads in approval-rationale evidence write
The 'Generate Approval Rationale' button is callable by any user with write on
the proposal (no group on the view) and writes an internal audit page under sudo.
But the Brain-config reads on that path ran as the calling user: the rationale
template content_html, the evidence vault auto_approve flag, and the originating
viin.ai.trace business id. A non-Brain (or non-author) user hit AccessError on
the vault/template, and the T5 trace attribution silently degraded to the
no-trace sentinel under the trace own-records rule. Read all three under sudo
(consistent with the already-sudo'd page + link create) so evidence is written
with full-fidelity attribution regardless of who triggers it. Adds a red-before-
green test: a non-author non-manager trigger records the REAL trace_id.
| Subbuilds | Name | State | Detail |
|---|---|---|---|
| Build 385480 | Check the quality with Pylint: from test_lint to test_pylint 14m | Failed | Log |
| Build 385481 | At install tests: from account to website_twitter 168m | Succeed | Log |
| Build 385482 | Post install tests: step install all modules 89m | Succeed | Log |
| Build 385483 | Post install tests: from account to payment_asiapay 159m | Succeed | Log |
| Build 385484 | Post install tests: from payment_authorize to test_website_slides_full 184m | Succeed | Log |
| Build 385485 | Post install tests: from test_xlsx_export to to_website_docs_odoo_data 79m | Succeed | Log |
| Build 385486 | Post install tests: from to_website_odoo_version to viin_estimate 84m | Failed | Log |
| Build 385487 | Post install tests: from viin_estimate_approval to viin_pricelist_validity_advance 39m | Failed | Log |
| Build 385488 | Post install tests: from viin_product_multi_barcodes to website_twitter 59m | Succeed | Log |
| Build 385489 | Test install all modules without demo data: from account to website_twitter 68m | Succeed | Log |
| Create Date | Level | Message |
|---|---|---|
| 06/13/2026 19:40:34 | INFO |
Updated repository Viindoo-odoo
|
| 06/13/2026 19:40:34 | INFO |
Updated repository Viindoo-tvtmaaddons
|
| 06/13/2026 19:40:34 | INFO |
Updated repository Viindoo-erponline-enterprise
|
| 06/13/2026 19:40:34 | INFO |
Updated repository Viindoo-branding
|
| 06/13/2026 19:40:34 | INFO |
Cloned repository Viindoo-ai
|
| 06/13/2026 19:55:11 | ERROR |
Subbuild # 385480:
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-637398f-222167/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-637398f-222167/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 19:55:11 | ERROR |
Subbuild # 385480:
odoo.modules.loading: Module test_pylint: 1 failures, 0 errors of 7 tests
|
| 06/13/2026 19:55:11 | ERROR |
Subbuild # 385480:
odoo.modules.loading: At least one test failed when loading the modules.
|
| 06/13/2026 19:55:11 | ERROR |
Subbuild # 385480:
odoo.tests.result: 1 failed, 0 error(s) of 24 tests when loading database 'rb-637398f-222167-385480'
|
| 06/13/2026 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 22:35:24 | ERROR |
Subbuild # 385486:
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 21:50:08 | ERROR |
Subbuild # 385487:
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 21:50:08 | ERROR |
Subbuild # 385487:
odoo.tests.result: 0 failed, 1 error(s) of 1579 tests when loading database 'rb-637398f-222167-385487'
|