You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create an observability timeline that correlates model calls, tool spans, permission decisions, validation gates, state transitions, cost, cache hits, circuit-breaker behavior, and user prompts across a Forge task.
Problem / Opportunity
Forge has rich runtime pieces: structured logging, events, sessions, tasks, cost tracking, prompt cache, provider routing, rate limiting, circuit breakers, validation gates, and UI WebSocket streams. These are currently useful in isolation, but users need a unified task-level view to answer:
Where did this task spend time?
Which model/provider was called for each agent role?
Which tool action failed or retried?
Did validation fail because of lint, typecheck, or build?
How much did the task cost, and what was cached?
Did fallback routing or circuit breakers affect the outcome?
This feature would make Forge easier to debug, optimize, and trust.
Proposed Feature
Add an observability timeline for every task:
Structured spans for model calls, tool calls, permission prompts, validation runs, reviewer checks, and state transitions.
CLI output via forge task trace <taskId> with concise and verbose formats.
Dashboard timeline with filters for models, tools, validation, permissions, cost, and errors.
Export support using a local JSON trace format suitable for debugging and support.
Integration with existing logging and redaction so traces are informative but safe.
Scope
Expected implementation areas:
src/logging/trace.ts, src/logging/logger.ts, and src/persistence/events.ts.
src/models/router.ts, src/models/cost.ts, src/models/cache.ts, src/models/rate-limit.ts, and src/models/circuit-breaker.ts.
src/agents/executor.ts, src/core/loop.ts, and src/core/validation.ts.
src/tools/registry.ts and individual tool wrappers for span boundaries.
src/cli/commands/task.ts for trace output.
src/ui/server.ts and UI shell timeline views.
Unit tests for span emission, redaction, and timeline reconstruction.
Acceptance Criteria
Task traces include start/end timestamps, duration, status, and parent/child relationships for core spans.
Model spans include role, provider, model, cache hit status, cost, and fallback/circuit-breaker metadata where available.
Tool spans include tool name, risk/side effect class, permission outcome reference, duration, and success/failure.
Summary
Create an observability timeline that correlates model calls, tool spans, permission decisions, validation gates, state transitions, cost, cache hits, circuit-breaker behavior, and user prompts across a Forge task.
Problem / Opportunity
Forge has rich runtime pieces: structured logging, events, sessions, tasks, cost tracking, prompt cache, provider routing, rate limiting, circuit breakers, validation gates, and UI WebSocket streams. These are currently useful in isolation, but users need a unified task-level view to answer:
This feature would make Forge easier to debug, optimize, and trust.
Proposed Feature
Add an observability timeline for every task:
forge task trace <taskId>with concise and verbose formats.Scope
Expected implementation areas:
src/logging/trace.ts,src/logging/logger.ts, andsrc/persistence/events.ts.src/models/router.ts,src/models/cost.ts,src/models/cache.ts,src/models/rate-limit.ts, andsrc/models/circuit-breaker.ts.src/agents/executor.ts,src/core/loop.ts, andsrc/core/validation.ts.src/tools/registry.tsand individual tool wrappers for span boundaries.src/cli/commands/task.tsfor trace output.src/ui/server.tsand UI shell timeline views.Acceptance Criteria
Non-Goals
Dependencies / Risks
Open Questions