II.
Page JSON
Structured · livepage:docs-harness-features-backlog-gaps-observability-gap-obs-004
GAP-OBS-004: Policy Decision Trail json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-harness-features-backlog-gaps-observability-gap-obs-004",
"_kind": "Page",
"_file": "wiki/docs/harness-features-backlog/gaps/observability/gap-obs-004.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/harness-features-backlog/gaps/observability/GAP-OBS-004.md",
"sourceKind": "repo-docs",
"title": "GAP-OBS-004: Policy Decision Trail",
"displayName": "GAP-OBS-004: Policy Decision Trail",
"slug": "docs/harness-features-backlog/gaps/observability/gap-obs-004",
"articlePath": "wiki/docs/harness-features-backlog/gaps/observability/GAP-OBS-004.md",
"article": "\n# GAP-OBS-004: Policy Decision Trail\n\n| Field | Value |\n|-------|-------|\n| Category | observability |\n| Priority | High |\n| Effort | M |\n| Status | Missing |\n\n## Description\nLog every policy and approval evaluation persistently, creating an audit trail of security decisions including which rules were checked, what matched, and what was decided.\n\n## Current State\nBreakpoint approval rules evaluate auto-approval with a reason field, but evaluation is not logged persistently. Capability restrictions in task definitions are advisory. No log of which policy rules were checked.\n\n## Target State\nEvery auto-approval evaluation logged to JSONL. Includes breakpointId, rules checked, matched rule, decision, timestamp. breakpoint:history enriched with decision reasoning. Policy logs accessible via embedded SDK dashboard.\n\n## Dependencies\n- [GAP-SEC-001](../security/GAP-SEC-001.md) -- governance policy layer for centralized evaluation\n\n## Key Files\n| Component | Path |\n|-----------|------|\n| Breakpoint evaluator | `packages/sdk/src/breakpoints/evaluator.ts` |\n| Breakpoint rules | `packages/sdk/src/breakpoints/rules.ts` |\n| Logging module | `packages/sdk/src/logging/` |\n\n## Recommendation\nPhase 2 implementation. Log every policy evaluation to structured JSONL. Enrich breakpoint:history with decision details. Surface in embedded SDK dashboard.\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-harness-features-backlog",
"to": "page:docs-harness-features-backlog-gaps-observability-gap-obs-004",
"kind": "contains_page"
}
]
}