Skip to main content

← Nav Continuity Layer → Agent Platform Phase 0 · Prompt Deck · Pictures

Nav Continuity Layer Spec

How do we think slowly so the agent starts fast and the context never breaks?

Intent Contract

Agent autonomy boundary. Not parsed by engineering — governance instrument for humans and agents.

DimensionStatement
ObjectiveEliminate manual re-briefing at session start — the system carries the cognitive load of context transfer between sessions.
Outcomes1. nav-briefing.md generates without manual CLI commands on startup. 2. Median session start to productive interaction <30 seconds. 3. Zero copy-paste re-briefing over 10 sessions.
Health MetricsScript execution <5s. Injected context <2000 tokens. No hallucinated context (100% accuracy).
ConstraintsHard: Token budget enforced — context bloat breaks LLM window. Steering: Bash over TypeScript for IDE-agnostic execution.
AutonomyAllowed: Briefing format, aggregation logic, file layout. Escalate: Memory schema changes, new data sources. Never: Modify user working memory without explicit trigger.
Stop RulesComplete when: 10 consecutive sessions start productive in <30s. Halt when: compiler takes >10s or injects >2000 tokens.

Build Contract

The deliverable. Engineering builds from this. Commissioning reads this. Every row has an acceptance test.

Job: Seamless Session Start

#FunctionArtifactVerificationValueState
1Gather latest plans, receipts, issues at session startBriefing compiler script (team-activation.sh)nav-briefing.md contains current plan, open blockers, last 3 receiptsPre-compiled context, no manual gatheringLive
2Read/write persistent context between sessionsMemory ledger (WM-NAV.md + working-memory.json)State persists across sessions; next session reads previous state correctlyInstitutional memory survives session endLive
3Trigger context injection at session startBoot hook (.claude/hooks/ SessionStart)Hook fires on terminal/session open, briefing visible before first user inputZero-click executionLive

Principles

What truths constrain the design?

The Job

ElementDetail
SituationEvery build session starts cold — 5 minutes of re-briefing, pasting changelogs, explaining what happened.
IntentionAgent greets with a pre-compiled briefing summarizing the plan, issues, and recent receipts.
ObstacleNo persistent, agent-readable memory layer injecting context automatically.
Hardest ThingContext bloat — too much context is worse than none. The token budget is the design constraint.

Why Now

Inside a session, the interaction is formidable. Between sessions, the institutional memory evaporates. This is the single highest-leverage improvement available to the human-AI collaboration layer right now. Every other PRD benefits from faster session starts.

Design Constraints

ConstraintRationale
Token budget <2000Context bloat breaks the LLM window and degrades response quality
Bash, not TypeScriptIDE-agnostic — works in any terminal, no build step
Graceful degradationIf Convex is unreachable, hook degrades to "Comms: unavailable"
No hallucinated contextBriefing must be 100% accurate — wrong context worse than no context

Performance

How do we know it's working?

Priority Score

PRIORITY = Pain x Demand x Edge x Trend x Conversion

DimensionScore (1-5)Evidence
Pain5Manual re-briefing takes ~5m per session, repetitive chore.
Demand5Nav explicitly raised this via the Tight Five command as maximum appetite.
Edge4Utilizing local immutable KB ecosystem over waiting for IDE vendor features.
Trend4All AI engineering agents are moving towards state persistence.
Conversion5Drastically increases throughput of all subsequent venture PRD builds.
Composite20005 x 5 x 4 x 4 x 5 — Strong Build Now

Quality Targets

SignalMeasurementTarget
TelemetryRe-briefing copy-paste occurrencesZero over next 10 sessions
QualityAccuracy of nav-briefing.md100% (no hallucinated context)
PerformanceScript execution timeUnder 5 seconds

Kill signal: If the compiler script takes over 10 seconds to run or injects over 2000 tokens of context, pare down the scope.

Platform

What do we control?

Current State

ComponentBuiltWiredWorkingNotes
team-activation.shYesYesYesSessionStart hook, branch + plan loading
session-bootstrap-context.shYesYesYesDecisions, handoffs, blockers
WM-NAV.mdYesYesYesNavigation working memory
working-memory.jsonYesYesYesOrchestrator cognitive workspace
agent-comms.tsYesYesPartialConvex comms — degrades gracefully

Build Ratio

~90% composition (existing hooks, memory files, Convex client), ~10% new (aggregation logic, token budget enforcement).

Protocols

How do we coordinate?

Architecture

Hook fires on terminal/session initiation
|
v
Reader accesses plan.json, recent .ai/receipts/, issues
|
v
Synthesizer writes active state to nav-briefing.md
|
v
Context Injector loads briefing via team-activation.sh
|
v
Persists state to WM-NAV.md + working-memory.json

Build Order

SprintFeaturesWhatEffortAcceptance
S1#2Standardize WM-NAV.md + working-memory.json schema2dSchema documented, receipt aggregation working
S2#1Build nav-briefing.md layout engine2dBriefing includes plan, blockers, last 3 receipts
S3#3Attach to IDE/CLI session boot hook1dZero-click: open terminal, briefing visible

Commissioning

#FeatureInstallTestOperationalOptimize
1Briefing CompilerPassPassPass--
2Memory LedgerPassPassPass--
3Boot HookPassPassPass--

All 3 features at L2 (functional, not yet independently verified at L3).

Agent-Facing Spec

Commands:

bash .claude/hooks/team-activation.sh    # Manual trigger
cat .ai/nav-briefing.md # Read current briefing

Boundaries: Always: read memory files, generate briefing. Ask first: change memory schema. Never: overwrite user working memory without trigger.

Players

Who creates harmony?

Demand-Side Jobs

Job 1: Seamless Session Start

Situation: Opening IDE/Chat CLI to start a build session.

ElementDetail
Struggling momentFinding the current active plan, last receipts, explaining context to AI
Current workaroundManually paste changelogs and context into the chat at start
What progress looks likeAgent greets with pre-compiled briefing. Productive work in <30s.
Hidden objection"The briefing will be wrong and I'll spend more time correcting it"
Switch triggerThird session in a row where you paste the same context block

Features that serve this job: #1, #2, #3

Role Definitions

RoleAccessPermissions
Nav (agent)Full read of memory filesGenerate briefing, update WM-NAV.md
UserRead briefing outputAdjust working memory, override briefing

Relationship to Other PRDs

PRDRelationshipData Flow
Agent PlatformParentNav Continuity = Phase 3 (Comms) + Phase 4.5 (Receipts)
Agent ReceiptsInputReceipts feed the briefing compiler

Context