.gitignore
.pre-commit-config.yaml
.secrets.baseline
AGENTS.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
MANIFEST.in
README.md
README.zh-Hans.md
SECURITY.md
alembic.ini
pyproject.toml
uv.lock
.github/dependabot.yml
.github/workflows/dependency-review.yml
.github/workflows/publish.yml
.github/workflows/validate.yml
docs/architecture.md
docs/cli-tree.md
docs/cli.md
scripts/audit_cli_help.py
scripts/check_cli_tree.sh
scripts/check_locale_catalog.py
scripts/dead_code_check.sh
scripts/dependency_health.sh
scripts/doctor.sh
scripts/export_web_openapi.py
scripts/integration_tests.sh
scripts/load_local_env.sh
scripts/vulture_whitelist.py
src/lifeos_cli/__init__.py
src/lifeos_cli/cli.py
src/lifeos_cli/config.py
src/lifeos_cli/i18n.py
src/lifeos_cli/py.typed
src/lifeos_cli.egg-info/PKG-INFO
src/lifeos_cli.egg-info/SOURCES.txt
src/lifeos_cli.egg-info/dependency_links.txt
src/lifeos_cli.egg-info/entry_points.txt
src/lifeos_cli.egg-info/requires.txt
src/lifeos_cli.egg-info/scm_file_list.json
src/lifeos_cli.egg-info/scm_version.json
src/lifeos_cli.egg-info/top_level.txt
src/lifeos_cli/alembic/__init__.py
src/lifeos_cli/alembic/env.py
src/lifeos_cli/alembic/script.py.mako
src/lifeos_cli/alembic/versions/20260409_0600_create_notes_table.py
src/lifeos_cli/alembic/versions/20260409_1200_create_core_domain_tables.py
src/lifeos_cli/alembic/versions/20260409_1300_create_habit_tables.py
src/lifeos_cli/alembic/versions/20260409_1400_create_event_and_timelog_tables.py
src/lifeos_cli/alembic/versions/20260410_0900_remove_area_person_associations.py
src/lifeos_cli/alembic/versions/20260410_1200_add_event_recurrence_support.py
src/lifeos_cli/alembic/versions/20260411_0900_add_timelog_stats_groupby_area_tables.py
src/lifeos_cli/alembic/versions/20260411_1400_add_event_type_to_events.py
src/lifeos_cli/alembic/versions/20260411_1500_add_generic_associations.py
src/lifeos_cli/alembic/versions/20260412_0900_expand_association_models_for_note_links.py
src/lifeos_cli/alembic/versions/20260412_1100_add_habit_cadence_fields.py
src/lifeos_cli/alembic/versions/20260412_1600_prune_placeholder_habit_actions.py
src/lifeos_cli/alembic/versions/20260617_1200_add_timelog_templates.py
src/lifeos_cli/alembic/versions/20260617_1300_add_unified_finance_tables.py
src/lifeos_cli/alembic/versions/20260617_1400_add_event_recurrence_rule.py
src/lifeos_cli/alembic/versions/20260626_1100_declassify_finance_trees.py
src/lifeos_cli/alembic/versions/20260629_0900_allow_multi_asset_finance_entries.py
src/lifeos_cli/alembic/versions/20260629_1000_drop_stale_finance_tree_legacy_columns.py
src/lifeos_cli/alembic/versions/20260703_0900_add_habit_monthday_cadence.py
src/lifeos_cli/alembic/versions/20260704_1100_add_habit_status_changed_date.py
src/lifeos_cli/alembic/versions/20260704_1500_link_habit_action_notes.py
src/lifeos_cli/alembic/versions/20260812_1200_migrate_person_links_to_associations.py
src/lifeos_cli/alembic/versions/20260819_1200_add_health_data_tables.py
src/lifeos_cli/alembic/versions/__init__.py
src/lifeos_cli/application/__init__.py
src/lifeos_cli/application/calendar_adapter.py
src/lifeos_cli/application/configuration.py
src/lifeos_cli/application/database.py
src/lifeos_cli/application/datetime_utils.py
src/lifeos_cli/application/package_metadata.py
src/lifeos_cli/application/serialization.py
src/lifeos_cli/application/time_preferences.py
src/lifeos_cli/cli_support/__init__.py
src/lifeos_cli/cli_support/handler_utils.py
src/lifeos_cli/cli_support/help_audit.py
src/lifeos_cli/cli_support/help_utils.py
src/lifeos_cli/cli_support/init_prompts.py
src/lifeos_cli/cli_support/json_output.py
src/lifeos_cli/cli_support/output_utils.py
src/lifeos_cli/cli_support/parser.py
src/lifeos_cli/cli_support/parser_common.py
src/lifeos_cli/cli_support/runtime_utils.py
src/lifeos_cli/cli_support/time_args.py
src/lifeos_cli/cli_support/resources/__init__.py
src/lifeos_cli/cli_support/resources/area/__init__.py
src/lifeos_cli/cli_support/resources/area/handlers.py
src/lifeos_cli/cli_support/resources/area/parser.py
src/lifeos_cli/cli_support/resources/body_measurement/__init__.py
src/lifeos_cli/cli_support/resources/body_measurement/handlers.py
src/lifeos_cli/cli_support/resources/body_measurement/parser.py
src/lifeos_cli/cli_support/resources/body_measurement/parser_actions.py
src/lifeos_cli/cli_support/resources/data/__init__.py
src/lifeos_cli/cli_support/resources/data/handlers.py
src/lifeos_cli/cli_support/resources/data/parser.py
src/lifeos_cli/cli_support/resources/event/__init__.py
src/lifeos_cli/cli_support/resources/event/handlers.py
src/lifeos_cli/cli_support/resources/event/parser.py
src/lifeos_cli/cli_support/resources/event/parser_actions.py
src/lifeos_cli/cli_support/resources/finance/__init__.py
src/lifeos_cli/cli_support/resources/finance/handlers.py
src/lifeos_cli/cli_support/resources/finance/parser.py
src/lifeos_cli/cli_support/resources/habit/__init__.py
src/lifeos_cli/cli_support/resources/habit/handlers.py
src/lifeos_cli/cli_support/resources/habit/parser.py
src/lifeos_cli/cli_support/resources/habit/parser_actions.py
src/lifeos_cli/cli_support/resources/habit_action/__init__.py
src/lifeos_cli/cli_support/resources/habit_action/handlers.py
src/lifeos_cli/cli_support/resources/habit_action/parser.py
src/lifeos_cli/cli_support/resources/menstrual/__init__.py
src/lifeos_cli/cli_support/resources/menstrual/handlers.py
src/lifeos_cli/cli_support/resources/menstrual/parser.py
src/lifeos_cli/cli_support/resources/menstrual/parser_actions.py
src/lifeos_cli/cli_support/resources/menstrual_factor/__init__.py
src/lifeos_cli/cli_support/resources/menstrual_factor/handlers.py
src/lifeos_cli/cli_support/resources/menstrual_factor/parser.py
src/lifeos_cli/cli_support/resources/menstrual_factor/parser_actions.py
src/lifeos_cli/cli_support/resources/note/__init__.py
src/lifeos_cli/cli_support/resources/note/handlers.py
src/lifeos_cli/cli_support/resources/note/parser.py
src/lifeos_cli/cli_support/resources/note/parser_actions.py
src/lifeos_cli/cli_support/resources/person/__init__.py
src/lifeos_cli/cli_support/resources/person/handlers.py
src/lifeos_cli/cli_support/resources/person/parser.py
src/lifeos_cli/cli_support/resources/planning/__init__.py
src/lifeos_cli/cli_support/resources/planning/handlers.py
src/lifeos_cli/cli_support/resources/planning/parser.py
src/lifeos_cli/cli_support/resources/schedule/__init__.py
src/lifeos_cli/cli_support/resources/schedule/handlers.py
src/lifeos_cli/cli_support/resources/schedule/parser.py
src/lifeos_cli/cli_support/resources/sleep/__init__.py
src/lifeos_cli/cli_support/resources/sleep/handlers.py
src/lifeos_cli/cli_support/resources/sleep/parser.py
src/lifeos_cli/cli_support/resources/sleep/parser_actions.py
src/lifeos_cli/cli_support/resources/tag/__init__.py
src/lifeos_cli/cli_support/resources/tag/handlers.py
src/lifeos_cli/cli_support/resources/tag/parser.py
src/lifeos_cli/cli_support/resources/task/__init__.py
src/lifeos_cli/cli_support/resources/task/handlers.py
src/lifeos_cli/cli_support/resources/task/parser.py
src/lifeos_cli/cli_support/resources/task/parser_read_models.py
src/lifeos_cli/cli_support/resources/task/parser_structure.py
src/lifeos_cli/cli_support/resources/task/parser_write.py
src/lifeos_cli/cli_support/resources/timelog/__init__.py
src/lifeos_cli/cli_support/resources/timelog/bulk_add.py
src/lifeos_cli/cli_support/resources/timelog/handlers.py
src/lifeos_cli/cli_support/resources/timelog/parser.py
src/lifeos_cli/cli_support/resources/timelog/parser_actions.py
src/lifeos_cli/cli_support/resources/timelog/parser_batch.py
src/lifeos_cli/cli_support/resources/timelog/parser_stats.py
src/lifeos_cli/cli_support/resources/vision/__init__.py
src/lifeos_cli/cli_support/resources/vision/handlers.py
src/lifeos_cli/cli_support/resources/vision/parser.py
src/lifeos_cli/cli_support/resources/vision/parser_actions.py
src/lifeos_cli/cli_support/system/__init__.py
src/lifeos_cli/cli_support/system/config_commands.py
src/lifeos_cli/cli_support/system/config_handlers.py
src/lifeos_cli/cli_support/system/db_commands.py
src/lifeos_cli/cli_support/system/init_commands.py
src/lifeos_cli/cli_support/system/web_commands.py
src/lifeos_cli/db/__init__.py
src/lifeos_cli/db/backend_policy.py
src/lifeos_cli/db/base.py
src/lifeos_cli/db/maintenance.py
src/lifeos_cli/db/session.py
src/lifeos_cli/db/sql_expressions.py
src/lifeos_cli/db/types.py
src/lifeos_cli/db/models/__init__.py
src/lifeos_cli/db/models/aggregated_timelog_stats_groupby_area.py
src/lifeos_cli/db/models/area.py
src/lifeos_cli/db/models/association.py
src/lifeos_cli/db/models/body_measurement.py
src/lifeos_cli/db/models/daily_timelog_stats_groupby_area.py
src/lifeos_cli/db/models/event.py
src/lifeos_cli/db/models/event_occurrence_exception.py
src/lifeos_cli/db/models/finance.py
src/lifeos_cli/db/models/habit.py
src/lifeos_cli/db/models/habit_action.py
src/lifeos_cli/db/models/menstrual.py
src/lifeos_cli/db/models/note.py
src/lifeos_cli/db/models/person.py
src/lifeos_cli/db/models/sleep_segment.py
src/lifeos_cli/db/models/tag.py
src/lifeos_cli/db/models/tag_association.py
src/lifeos_cli/db/models/task.py
src/lifeos_cli/db/models/timelog.py
src/lifeos_cli/db/models/timelog_template.py
src/lifeos_cli/db/models/vision.py
src/lifeos_cli/db/services/__init__.py
src/lifeos_cli/db/services/areas.py
src/lifeos_cli/db/services/batching.py
src/lifeos_cli/db/services/body_measurements.py
src/lifeos_cli/db/services/collection_utils.py
src/lifeos_cli/db/services/data_ops.py
src/lifeos_cli/db/services/entity_associations.py
src/lifeos_cli/db/services/entity_person.py
src/lifeos_cli/db/services/entity_tags.py
src/lifeos_cli/db/services/event_support.py
src/lifeos_cli/db/services/events.py
src/lifeos_cli/db/services/finance.py
src/lifeos_cli/db/services/habit_actions.py
src/lifeos_cli/db/services/habit_mutations.py
src/lifeos_cli/db/services/habit_queries.py
src/lifeos_cli/db/services/habit_support.py
src/lifeos_cli/db/services/habits.py
src/lifeos_cli/db/services/integrity_audit.py
src/lifeos_cli/db/services/menstrual.py
src/lifeos_cli/db/services/model_utils.py
src/lifeos_cli/db/services/notes.py
src/lifeos_cli/db/services/person.py
src/lifeos_cli/db/services/person_activity_queries.py
src/lifeos_cli/db/services/planning_lifecycle.py
src/lifeos_cli/db/services/read_models.py
src/lifeos_cli/db/services/recurrence_core.py
src/lifeos_cli/db/services/schedule_queries.py
src/lifeos_cli/db/services/schedules.py
src/lifeos_cli/db/services/sleep.py
src/lifeos_cli/db/services/tags.py
src/lifeos_cli/db/services/task_effort.py
src/lifeos_cli/db/services/task_mutations.py
src/lifeos_cli/db/services/task_queries.py
src/lifeos_cli/db/services/task_support.py
src/lifeos_cli/db/services/tasks.py
src/lifeos_cli/db/services/timelog_stats.py
src/lifeos_cli/db/services/timelog_support.py
src/lifeos_cli/db/services/timelog_templates.py
src/lifeos_cli/db/services/timelogs.py
src/lifeos_cli/db/services/validation_utils.py
src/lifeos_cli/db/services/visions.py
src/lifeos_cli/locales/en/argparse.json
src/lifeos_cli/locales/en/cli_help.json
src/lifeos_cli/locales/en/cli_messages.json
src/lifeos_cli/locales/zh_Hans/argparse.json
src/lifeos_cli/locales/zh_Hans/cli_help.json
src/lifeos_cli/locales/zh_Hans/cli_messages.json
src/lifeos_web/__init__.py
src/lifeos_web/app.py
src/lifeos_web/deps.py
src/lifeos_web/router_utils.py
src/lifeos_web/schemas.py
src/lifeos_web/serialization.py
src/lifeos_web/server.py
src/lifeos_web/response_schemas/__init__.py
src/lifeos_web/response_schemas/areas.py
src/lifeos_web/response_schemas/body_measurements.py
src/lifeos_web/response_schemas/common.py
src/lifeos_web/response_schemas/finance.py
src/lifeos_web/response_schemas/habits.py
src/lifeos_web/response_schemas/menstrual.py
src/lifeos_web/response_schemas/notes.py
src/lifeos_web/response_schemas/person.py
src/lifeos_web/response_schemas/planned_events.py
src/lifeos_web/response_schemas/preferences.py
src/lifeos_web/response_schemas/sleep.py
src/lifeos_web/response_schemas/stats.py
src/lifeos_web/response_schemas/tags.py
src/lifeos_web/response_schemas/tasks.py
src/lifeos_web/response_schemas/timelogs.py
src/lifeos_web/response_schemas/visions.py
src/lifeos_web/routers/__init__.py
src/lifeos_web/routers/areas.py
src/lifeos_web/routers/body_measurements.py
src/lifeos_web/routers/finance.py
src/lifeos_web/routers/habits.py
src/lifeos_web/routers/health.py
src/lifeos_web/routers/menstrual.py
src/lifeos_web/routers/notes.py
src/lifeos_web/routers/person.py
src/lifeos_web/routers/planned_events.py
src/lifeos_web/routers/preferences.py
src/lifeos_web/routers/sleep.py
src/lifeos_web/routers/stats.py
src/lifeos_web/routers/tags.py
src/lifeos_web/routers/tasks.py
src/lifeos_web/routers/timelog_templates.py
src/lifeos_web/routers/timelogs.py
src/lifeos_web/routers/visions.py
tests/__init__.py
tests/cli_integration_support.py
tests/config_support.py
tests/conftest.py
tests/support.py
tests/test_backend_policy.py
tests/test_calendar_adapter.py
tests/test_cli_data.py
tests/test_cli_domains_records.py
tests/test_cli_domains_workflows.py
tests/test_cli_finance.py
tests/test_cli_habit_action.py
tests/test_cli_health.py
tests/test_cli_help_audit.py
tests/test_cli_help_content.py
tests/test_cli_help_hierarchy.py
tests/test_cli_help_zh_hans.py
tests/test_cli_init.py
tests/test_cli_integration_data.py
tests/test_cli_integration_habits.py
tests/test_cli_integration_notes.py
tests/test_cli_integration_resources.py
tests/test_cli_integration_schedule.py
tests/test_cli_integration_system.py
tests/test_cli_integration_time.py
tests/test_cli_json_output.py
tests/test_cli_notes.py
tests/test_cli_parser_core.py
tests/test_cli_planning.py
tests/test_cli_runtime_utils.py
tests/test_cli_schedule.py
tests/test_cli_sqlite_workflow.py
tests/test_cli_time_args.py
tests/test_cli_timelog_bulk_add.py
tests/test_cli_timelog_stats.py
tests/test_config.py
tests/test_data_ops.py
tests/test_datetime_utils.py
tests/test_db_maintenance.py
tests/test_db_session.py
tests/test_domain_services_core.py
tests/test_domain_services_tasks_and_habits.py
tests/test_domain_services_time.py
tests/test_entity_associations.py
tests/test_finance_services.py
tests/test_health_services.py
tests/test_i18n.py
tests/test_integration_support_contracts.py
tests/test_integrity_audit.py
tests/test_integrity_audit_postgres.py
tests/test_migration_person_links.py
tests/test_note_model.py
tests/test_note_services.py
tests/test_person_activity_queries.py
tests/test_recurrence_core.py
tests/test_repository_contracts.py
tests/test_router_utils.py
tests/test_schedule_queries.py
tests/test_session_soft_delete_scope.py
tests/test_tag_services.py
tests/test_time_preferences.py
tests/test_timelog_stats.py
tests/test_timelog_templates.py
tests/test_validation_utils.py
tests/test_web_api_contracts.py
tests/test_web_api_health_http.py
tests/test_web_api_http.py
tests/test_web_cli.py
tests/test_web_commit_middleware.py
tests/test_web_server_binding.py