Skip to content

feat(periodic-report): optional calendar settings and capability handoff - #4263

Merged
huangruiteng merged 10 commits into
mainfrom
codex/periodic-report-cadence
Sep 12, 2026
Merged

huangruiteng merged 10 commits into
mainfrom
codex/periodic-report-cadence

build(chat): refresh retained assets after main sync

611e065
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis succeeded Sep 12, 2026 in 1m 52s

Annotations

Check failure on line 24 in loopx/capabilities/periodic_report/goal_configuration.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 16 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCVN4PPwATiVk-bvE5L&open=AaCVN4PPwATiVk-bvE5L&pullRequest=4263

Check warning on line 61 in tests/capabilities/test_periodic_report_cadence.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this exception test to have only one invocation possibly throwing an exception.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjIlAB_sm_IMQayC&open=AaCTgjIlAB_sm_IMQayC&pullRequest=4263

Check failure on line 20 in loopx/capabilities/periodic_report/cadence_runtime.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to always return tuples of the same length.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjBPAB_sm_IMQax5&open=AaCTgjBPAB_sm_IMQax5&pullRequest=4263

Check failure on line 20 in loopx/capabilities/periodic_report/cadence_runtime.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 37 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjBPAB_sm_IMQax6&open=AaCTgjBPAB_sm_IMQax6&pullRequest=4263

Check warning on line 74 in loopx/capabilities/periodic_report/cadence_runtime.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested conditional expression into an independent statement.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjBPAB_sm_IMQax7&open=AaCTgjBPAB_sm_IMQax7&pullRequest=4263

Check warning on line 106 in apps/presentation/dashboard/src/features/personal-workspace/capability-configuration-fields.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'value.timezone ?? "UTC"' will use Object's default stringification format ('[object Object]') when stringified.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjMrAB_sm_IMQayP&open=AaCTgjMrAB_sm_IMQayP&pullRequest=4263

Check warning on line 1031 in loopx/capabilities/periodic_report/pending_intent.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this constructor call with a literal.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjCMAB_sm_IMQax9&open=AaCTgjCMAB_sm_IMQax9&pullRequest=4263

Check failure on line 98 in loopx/capabilities/periodic_report/machine_defaults.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 17 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCVN4SnwATiVk-bvE5M&open=AaCVN4SnwATiVk-bvE5M&pullRequest=4263

Check warning on line 70 in tests/capabilities/test_periodic_report_cadence.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this exception test to have only one invocation possibly throwing an exception.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjIlAB_sm_IMQayE&open=AaCTgjIlAB_sm_IMQayE&pullRequest=4263

Check failure on line 18 in loopx/capabilities/periodic_report/cadence.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 19 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgilKAB_sm_IMQax2&open=AaCTgilKAB_sm_IMQax2&pullRequest=4263

Check warning on line 309 in apps/presentation/dashboard/src/features/personal-workspace/machine-configuration-settings.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested ternary operation into an independent statement.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjMJAB_sm_IMQayM&open=AaCTgjMJAB_sm_IMQayM&pullRequest=4263

Check failure on line 20 in apps/presentation/dashboard/src/features/personal-workspace/capability-configuration-fields.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 52 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjMrAB_sm_IMQayO&open=AaCTgjMrAB_sm_IMQayO&pullRequest=4263

Check warning on line 310 in apps/presentation/dashboard/src/features/personal-workspace/machine-configuration-settings.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested ternary operation into an independent statement.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjMJAB_sm_IMQayL&open=AaCTgjMJAB_sm_IMQayL&pullRequest=4263

Check failure on line 17 in apps/presentation/dashboard/src/features/personal-workspace/periodic-report-schedule-field.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 31 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjJrAB_sm_IMQayI&open=AaCTgjJrAB_sm_IMQayI&pullRequest=4263

Check failure on line 85 in loopx/capabilities/periodic_report/cadence_runtime.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "periodic_report.cadence" 3 times.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjBPAB_sm_IMQax4&open=AaCTgjBPAB_sm_IMQax4&pullRequest=4263

Check warning on line 1107 in loopx/capabilities/periodic_report/pending_intent.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested conditional expression into an independent statement.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjCMAB_sm_IMQax_&open=AaCTgjCMAB_sm_IMQax_&pullRequest=4263

Check failure on line 450 in loopx/capabilities/periodic_report/post_writeback_hook.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "sha256:" 3 times.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjDQAB_sm_IMQayA&open=AaCTgjDQAB_sm_IMQayA&pullRequest=4263

Check warning on line 68 in tests/capabilities/test_periodic_report_cadence.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this exception test to have only one invocation possibly throwing an exception.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjIlAB_sm_IMQayD&open=AaCTgjIlAB_sm_IMQayD&pullRequest=4263

Check failure on line 127 in loopx/capabilities/periodic_report/cadence_journal.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 35 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjE9AB_sm_IMQayB&open=AaCTgjE9AB_sm_IMQayB&pullRequest=4263

Check failure on line 1050 in loopx/capabilities/periodic_report/pending_intent.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 31 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjCMAB_sm_IMQax-&open=AaCTgjCMAB_sm_IMQax-&pullRequest=4263

Check warning on line 306 in apps/presentation/dashboard/src/features/personal-workspace/machine-configuration-settings.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested ternary operation into an independent statement.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjMJAB_sm_IMQayK&open=AaCTgjMJAB_sm_IMQayK&pullRequest=4263

Check warning on line 109 in tests/capabilities/test_periodic_report_cadence.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this exception test to have only one invocation possibly throwing an exception.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjIlAB_sm_IMQayF&open=AaCTgjIlAB_sm_IMQayF&pullRequest=4263

Check warning on line 66 in loopx/capabilities/periodic_report/cadence.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace dict constructor call with a dictionary comprehension.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgilKAB_sm_IMQax3&open=AaCTgilKAB_sm_IMQax3&pullRequest=4263

Check warning on line 126 in tests/capabilities/test_periodic_report_cadence_journal.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjIuAB_sm_IMQayG&open=AaCTgjIuAB_sm_IMQayG&pullRequest=4263

Check warning on line 26 in apps/presentation/dashboard/src/features/personal-workspace/periodic-report-schedule-field.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'schedule?.rrule ?? ""' will use Object's default stringification format ('[object Object]') when stringified.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCTgjJrAB_sm_IMQayJ&open=AaCTgjJrAB_sm_IMQayJ&pullRequest=4263