Purpose
Implement a multi-horizon time perception and decision layer that influences:
- Chat interactions (what the assistant says/asks/frames)
- Autonomous operation decisioning (what actions it takes, when, and with what guardrails)
- Inbox ranking (ordering + bundling + deferral logic across tools)
The layer must support simultaneous reasoning across time scales:
- Ultimate (values / civilizational / existential)
- Conventional (lifespan / narrative coherence)
- Strategic (1–10 years)
- Tactical (weeks–months)
- Pragmatic (days–weeks, time-bound opportunity windows)
- Daily (circadian / schedule rhythms)
1. Core Concepts
1.1 Horizons
Define six horizons H = {U, C, S, T, P, D}. Each horizon provides:
- a scoring function for items (messages, tasks, notifications, proposed actions)
- a weight
w(h) ∈ [0,1], Σ w = 1, dynamically determined by state
1.2 Governance Model
Temporal governance is a control system:
- Inputs: environment/system/user state
- Outputs: horizon weights + constraints + explanations
- Behaviors: ranking, chat policy shaping, autonomy gating
TGL provides:
- weights: current
wvector - policies: thresholds, dominance limits, forbidden actions, escalation rules
- rationales: human-readable explanation snippets
1.3 Objects the Layer Operates On
Normalize everything into "Items" with common metadata:
- Chat turn (incoming/outgoing)
- Inbox event (email, ticket update, slack msg, calendar ping, etc.)
- Task / project artifact
- Proposed autonomous action (send email, update Jira, schedule meeting, create ticket, etc.)
2. Requirements
2.1 Functional Requirements
-
Multi-horizon scoring for any Item:
returns scoress_U..s_Dplus evidence -
Dynamic horizon weighting:
computewbased on state (crisis, runway, deadlines, energy, etc.) -
Policy gating for autonomy:
prevent actions misaligned with higher horizons or violating thresholds -
Inbox ranking:
compute rank score, produce ordering + bundles + deferrals -
Chat modulation:
adapt responses (tone, questions, framing, suggested next steps) based onwand horizon conflict -
Persistence:
store long-lived goals/values, projects, and horizon baselines without requiring constant re-elicitation -
Explainability:
show "why" at the horizon level (compact and actionable)
2.2 Non-Functional Requirements
- Latency: inbox ranking should run in < 300ms per item on average (amortized, cached embeddings ok)
- Robustness: degrade gracefully when goals/state unknown
- Auditable: log horizon scores, weights, and gating decisions
- Safety: strict action permissions + reversible operations
3. System Architecture
A) Goal & Values Graph (GVG)
- persistent ontology: values → life goals → strategic objectives → initiatives → tasks
- supports versioning + confidence levels + source attribution
B) State Estimator (SE)
Produces a StateVector periodically and on triggers.
- user state: timezone, typical rhythms, calendar load, inferred energy windows (optional)
- system state: backlog, open projects, SLA, customer churn risk proxies
- environment state: deadlines, market/opportunity signals (optional)
C) Horizon Weight Controller (HWC)
Computes w and policies from StateVector.
- enforces dominance limits ("no tactical dominance > X days without review")
- manages drift ("strategic underweighted debt")
D) Multi-Horizon Scorer (MHS)
Given Item + GVG + StateVector:
- outputs
s_U..s_D, evidence, extracted constraints (deadlines, stakeholder urgency, etc.)
E) Temporal Decision Engine (TDE)
- ranks inbox items
- chooses next autonomous actions
- shapes chat response directives (questions to ask, framing, caution level)
4. Data Model
4.1 Item Schema (minimal)
item_id
type ∈ {email, jira_update, slack_msg, calendar, task, chat_turn, proposed_action, …}
source (tool + account)
timestamp_created, timestamp_received
deadline (optional, extracted)
stakeholders (optional)
content (text) + content_embedding (optional)
thread_id (optional)
references (links to objects: ticket id, order id, customer id, etc.)
4.2 Goal & Values Graph
Nodes:
- Value (Ultimate)
- LifeGoal (Conventional)
- Objective (Strategic)
- Initiative (Tactical)
- Task (Tactical/Pragmatic)
Edges: aligns_with, supports, blocks, depends_on
Node fields:
priority, confidence, time_horizon, review_period, owner, tags
4.3 StateVector
now (timezone-aware)
calendar_load_next_7d
deadline_density (count weighted by severity)
backlog_pressure (queue size, SLA risk)
opportunity_signals (optional)
runway_risk / customer_risk proxies (optional)
energy_phase ∈ {morning, afternoon, evening, late} (simple heuristic ok)
recent_horizon_dominance (rolling window)
5. Algorithms
5.1 Multi-Horizon Scoring
For each Item compute s_h ∈ [0,1]. Suggested approach (hybrid):
- Symbolic extractors: deadlines, "ASAP", meeting times, SLA mentions, stakeholders, financial amounts
- Semantic match: embedding similarity Item ↔ relevant goal nodes
- Rules: e.g., deadline within 48h boosts T and P; recurring daily routines boosts D
Example:
- U score: similarity to values + penalty if violates values constraints
- C score: similarity to life goals + projects with long identity relevance
- S score: similarity to strategic objectives + compounding signals
- T score: relevance to active initiatives + near-term deliverables
- P score: windowed opportunity, expiring soon, coordination constraints
- D score: fit to current energy phase + time-of-day appropriateness
Output:
- scores:
{U,C,S,T,P,D} - evidence: top matching goal nodes + extracted signals + why
5.2 Horizon Weight Controller
Compute w = f(StateVector) with: baseline weights (user-configurable), state-based modifiers,
normalization.
Minimal viable HWC:
- If
deadline_densityhigh → increase T, P - If
backlog_pressurehigh → increase T - If
opportunity_signalshigh → increase P - If "no progress on objectives" detected → increase S
- If
energy_phaselow → increase D (for scheduling), but cap it so D doesn't dominate "importance"
Add governance constraints:
- dominance_cap: if
w_T > 0.40for > N days → trigger strategic review prompt in chat - drift_debt: accumulate when strategic underweighted
Deliverables: w vector, policy (thresholds, max
autonomy level, review triggers)
5.3 Aggregated Rank Score (Inbox)
RankScore(Item) should combine:
- weighted horizon score
- urgency model (deadline proximity, SLA, stakeholder importance)
- novelty/recency decay
- thread-aware bundling
Proposed:
base = Σ w_h * s_h
urgency = g(deadline, SLA, escalation keywords)
decay = exp(-λ * age) (for "attention", not for "importance")
thread_boost: if current focus thread matches, boost slightly
final: score = base + α*urgency + β*thread_boost - γ*spam_risk
Outputs: ordered list, bundles by (project, stakeholder, thread, initiative), deferrals with "wake-up" triggers (date/time or event)
5.4 Autonomy Gating
Autonomous actions must pass:
- permission checks (tool permissions, user-defined)
- risk checks (sending external comms > internal note)
- horizon constraints:
- require
s_Uabove threshold for certain categories - require conflict not present (e.g., strong C/S misalignment)
- require
- uncertainty checks (low confidence → ask in chat)
Define Action Levels:
- L0: suggest only
- L1: draft (email/Jira comment) but do not send
- L2: execute reversible internal actions (tag, label, create task)
- L3: execute external actions (send email, change ticket state) with strict gating
Gating output must include a short "why" and the horizon conflict, if any.
6. Chat Interaction Specification
TGL must influence chat in three ways:
6.1 Framing
When responding, the assistant should choose a framing mode based on dominant horizons:
- Strategic-dominant: propose compounding moves, reduce noise, map tasks to objectives
- Tactical-dominant: prioritize immediate risk reduction, crisp steps, minimal reflection
- Pragmatic-dominant: highlight time windows, make fast decisions, coordinate stakeholders
- Daily-dominant: schedule, batch, protect deep work
6.2 Questions the Assistant Asks
When confidence is low, ask the right horizon question:
- If unclear values conflict → ask ultimate/life intent
- If unclear initiative linkage → ask tactical context
- If unclear opportunity window → ask time constraints
6.3 Conflict Surfacing
If a high-urgency item is misaligned with strategy, chat should explicitly surface the conflict, the cost of delay, and the trade-off recommendation.
Example behavior: "This is urgent (T/P), but it pulls you away from Objective X (S). Do you want a tactical sprint or a strategic deferral?"
7. Implementation Plan
Phase 1: MVP (2–4 weeks engineering time)
- Item schema + ingest pipeline
- GVG minimal nodes (manual entry + import from existing project metadata)
- Basic MHS scoring (rules + embeddings)
- Simple HWC weighting rules
- Inbox ranking with explanations
- Autonomy gating limited to L0–L2
Phase 2: Learned Models & Personalization
- Train/fit weight controller parameters to user feedback (bandit / preference learning)
- Better horizon scoring via supervised labels ("this was strategic", "this was urgent")
- Dominance/drift metrics and periodic review prompts
Phase 3: Multi-agent & Memory
- separate agents per horizon (U/C/S/T/P/D) that vote
- arbitration layer is HWC + policy
- long-term memory updates with confidence and provenance
8. Evaluation & Experiments
8.1 Offline Metrics
- Ranking quality: NDCG@k using human-labeled importance/urgency
- Action safety: false-positive autonomy executions (must be ~0)
- Horizon attribution accuracy: agreement with expert labels
8.2 Online Metrics
- Time-to-important: how fast user reaches top-priority items
- Context switching reduction: fewer thread hops per session
- Strategic progress: proportion of weekly time spent on S-aligned items
- User satisfaction: lightweight "was this the right horizon?" feedback
8.3 Ablations
- No horizons (baseline)
- Fixed weights vs dynamic weights
- Rules-only vs hybrid vs learned
- With/without dominance constraints
9. Open Research Questions
- How to infer life goals without being intrusive
- How to prevent "urgency addiction" when tactical signals stay high
- How to build trust: explanations that are short but convincing
- How to quantify "compounding" and "option value" from text streams
- How to represent ultimate horizon without becoming moralizing or brittle