PM Time Tracker Bridge
Connects Mission Control items to the Time Tracker: a Time tab in the item card starts and stops timers and shows the time logged against that item, and the same entry appears on the Time Tracker's Today timeline. Covers the invariants, the data model, and the channels behind it.
What it is
PM Time Tracker Bridge connects Mission Control items to the Time Tracker -- a Time tab in the item card lets you start/stop timers and view logged time against any PM item, directly from the board.
Starting a timer from an item card creates a time entry linked to that PM item (pm_item_id on
time_entries). The entry appears in both the item card's Time tab and the Time Tracker's Today
timeline (with a PM item name chip).
Where to find it
In two places. On the board, an item card carries a Time tab where a timer is started and stopped and the logged time for that item is listed. In the Time Tracker, the same entry shows up on the Today timeline, tagged with a chip carrying the PM item's name.
How it behaves
All Time Tracker invariants are preserved:
- Single-running: starting a timer auto-stops any running entry (reuses the existing
TIME_TRACKER_ENTRY_STARTchannel, extended with optionalpmItemId) - Derive-once money: billable amounts are derived at read time using BigInt-exact multiply/divide (never stored per entry)
- Plugin isolation: the Mission Control plugin communicates only through
window.__AMC_MISSION_CONTROL_SESSION__bridge methods, never importing AMC modules directly
There are no dedicated settings; the feature requires both Mission Control and the Time Tracker to be enabled.
For agents
Two read-only channels were added (both in BLOCKED_CHANNELS for desktop-only):
TIME_TRACKER_PM_ENTRIES-- list time entries for a PM itemTIME_TRACKER_PM_TOTAL-- total time + billable amount for a PM item
Timer start/stop reuses the existing Time Tracker channels -- no new write channels were added.
Data model
| Column | Type | Table | Purpose |
|---|---|---|---|
pm_item_id |
TEXT, nullable | time_entries |
Links entry to a PM item |
pm_item_name |
TEXT, nullable | time_entries |
Denormalized name for display |
A filtered index (idx_time_entries_pm_item) covers non-null pm_item_id.
Settings: no dedicated settings. Requires missionControlEnabled and the Time Tracker to be
enabled.
Related
The time side of this bridge is documented in time-tracker.md, and the board side in mission-control.md -- the parent page. Because a timer is started from an item card, pm-my-work.md is often the quicker way to reach your own items. The full behavioural contract is recorded in pm-time-tracker-bridge-contract.md, and every other page in this library is listed in INDEX.md.
Last verified 2026-09-23