Business Performance Consulting Sdn Bhd User Guides
04

Data Flow

Odoo 19 Enterprise · BPC Session

How my task state moves between Odoo, local files, GitHub, and the other machine. Useful when something feels out of sync.

1

Odoo is the source of truth

All my actual task data — what exists, what stage, what priority, what deadline — lives in Odoo. Nothing else changes that state. The scripts only READ from Odoo during normal operation. The one exception is the initial seed which created the tasks, but that is a one-shot operation.

2

exports/latest.json — the snapshot

Every session open, session close, or session pull writes a fresh snapshot of my open To-do tasks to exports/latest.json. This includes task name, description, tag, personal stage, priority, deadline, and timestamps. It is a read-mostly file — I should not edit it by hand. The file is in git so both machines see the same snapshot.

3

exports/sessions.log — the audit trail

One line per open or close event. Format: timestamp | OPEN or CLOSE | machine | extra info. Useful to trace "when did I last work on this" across machines. Purely additive — never rewritten.

4

Git as transport

The scripts folder, config.json, and exports/ are all tracked in the bpc-war-plan repo on GitHub. session close pushes, session open pulls. This is how the two machines share state. Nothing secret is in git — scripts/config.json has URL, DB, username but the password is only in each machine Keychain.

5

What Claude reads

Claude sees exports/latest.json when I share it in a chat. Claude never connects to Odoo directly. This means the snapshot freshness limits how up-to-date Claude can be. Running session pull right before asking Claude a task-related question gives Claude the freshest data.

Staleness budget If I did not run any session command today and I ask Claude about my tasks, Claude sees yesterday data. This is usually fine but worth remembering if I just made big changes in Odoo.