Skip to content

Sprint Plan — 2026-03-31 #1508

@jpleva91

Description

@jpleva91

Sprint Plan — 2026-03-31

Generated: 2026-03-31T11:00Z
HEAD: 344cdab (docs: AI-answer-optimized README section)
Open issues: 100 | Open PRs: 3 (EM cycles, non-blocking)
Previous plan: #1223 (closed, superseded)
Active ROADMAP phase: Kernel Evolution Sprint (KE-4/KE-5/KE-6) + v3.0 Release


Governance Context

Metric Value
Escalation level NORMAL (no events in escalation log)
Risk score N/A (analytics unavailable this run)
Recent denial trend stable
CI health ✅ 5/5 runs passing
Top active concern toolchain break (#1467) + better-sqlite3 crash cluster

Note: docs/strategic-roadmap.md and docs/current-priorities.md do not exist in this worktree. ROADMAP.md used as sole authoritative source. No contradiction to report.

Contradiction flag: Studio EM cycles continue tracking #1306 (v3.0-gate default-deny) as a P0 with "14 cycles / Manually assign TODAY." However, issue #1306 is CLOSED. The EM tracking is stale. No reconciliation issue needed (the issue is resolved), but EM squad state should be updated.


Throughput (last 7 days)

Metric Value
Issues closed 20
PRs merged 10
Average velocity healthy

Ready Now

Priority Issue Title Theme Risk Complexity
priority:critical #1467 sdlc-health: 30 dangling symlinks — toolchain broken Toolchain / DX Low (run pnpm install --force) Low
priority:critical #1402 [P0] Worker pool dead — 32 stale PIDs, queue depth 46 Ops / Infrastructure Medium Medium
priority:high #1476 better-sqlite3 native bindings missing (global pnpm) — events/inspect fail Dogfood / CLI Low Low
priority:high #1463 agentguard guard crashes on startup — better-sqlite3 missing Dogfood / CLI Low Low
priority:high #1471 agentguard guard --dry-run fatal crash — better-sqlite3 missing Dogfood / CLI Low Low
priority:high #1477 telemetry default URL unreachable — events silently dropped Telemetry / Cloud Low Low
priority:high #1305 feat(ke-4): plane separation — Evaluator/Emitter/Shipper decoupling KE Sprint / Kernel Medium (kernel refactor) High
priority:high #1384 feat: browser governance invariants — scope, state, pacing KE Sprint / Invariants Medium Medium
priority:high #1385 feat: irreversible action detection — human confirmation gates KE Sprint / Invariants Medium Medium
priority:high #1276 [dogfood] PreToolUse hook exits non-zero after first call — blocks GitHub writes Dogfood / Hooks Low Low
priority:medium #1478 Go fast-path skips cloud telemetry — allow decisions invisible Telemetry / Go kernel Low Low
priority:medium #1495 [kernel] State Witness — re-validate conditions at execution time Kernel / Invariants Medium Medium
priority:medium #1473 no-governance-self-modification blocks EM squad state writes Dogfood / Invariants Low Low
priority:medium #1474 no-credential-file-creation false positive on grep -v Dogfood / Invariants Low Low
priority:medium #1493 Integrate Preflight protocol into governance hooks Kernel / Preflight Medium Medium

Blocked

Issue Title Blocked By Notes
KE-5 (no issue) Semantic CLI Expansion (AST-based shell analysis) No issue filed Backlog Steward to create
KE-6 (no issue) Control Plane Signals No issue filed Backlog Steward to create
Phase 6.5 (Pull-Based Runner) apps/runner — Cloud-managed execution v3.0 release + Cloud Phase 2A Not yet started
v3.0 stranger test (no issue) Zero-context install validation Needs human tester or issue filed v3.0 release blocker
v3.0 user capture funnel (no issue) README CTA, Cloud waitlist, CLI prompt Needs issue filed v3.0 release blocker

Recommended Sequence

  1. sdlc-health: 30 dangling node_modules symlinks in main tree — toolchain broken (vitest, eslint, typescript, prettier all broken) #1467 — Fix toolchain first. 30 dangling symlinks break vitest, eslint, tsc, prettier. Every other task depends on a working dev environment. Human action required: cd agent-guard && pnpm install --force.

  2. bug(telemetry): better-sqlite3 native bindings missing from global pnpm install — CLI events/inspect commands fail #1476 / [dogfood] agentguard guard crashes on startup — better-sqlite3 native bindings missing #1463 / [dogfood] agentguard guard --dry-run fatal crash: better-sqlite3 native bindings missing (global install, Node v22) #1471 — Fix better-sqlite3 crash cluster. Three issues, same root cause: better-sqlite3 native bindings fail on global pnpm installs and dry-run mode. The graceful fallback (shipped v2.8.3) doesn't cover all paths. Fix together as one PR. Labeling: bug(telemetry): better-sqlite3 native bindings missing from global pnpm install — CLI events/inspect commands fail #1476 is the canonical issue.

  3. bug(telemetry): default fallback URL 'telemetry.agentguard.dev' is unreachable — events silently dropped without .env override #1477 — Fix telemetry default URL. The fallback telemetry.agentguard.dev is unreachable; events are silently dropped without .env override. This is a sprint-blocking P1 (per kernel EM). Fix: point to the correct cloud endpoint or gate behind a more robust null check.

  4. feat(ke-4): plane separation — decouple Evaluator, Emitter, and Shipper #1305 — KE-4 Plane Separation. This is the current active ROADMAP work item. Three-plane architecture (Evaluator/Emitter/Shipper) is the architectural upgrade required before KE-5 and KE-6. File scope: packages/kernel/src/kernel.ts, packages/events/src/, packages/storage/src/. High complexity — should be the primary coder focus after blockers are cleared.

  5. [dogfood] PreToolUse hook says 'allowed by default' but exits non-zero, blocking GitHub writes after first call #1276 — Fix PreToolUse hook non-zero exit. After the first hook call, subsequent calls fail with a non-zero exit code that Claude Code interprets as a blocking error, preventing GitHub writes. This is a user-impacting regression.

  6. feat: browser governance invariants — scope, state, and pacing for browser agents #1384 + feat: irreversible action detection — human confirmation gates for one-way operations #1385 — Browser governance invariants + irreversible action detection. These are paired sprint items for the browser agent governance story. feat: irreversible action detection — human confirmation gates for one-way operations #1385 (irreversible action detection) is the foundation; feat: browser governance invariants — scope, state, and pacing for browser agents #1384 (browser scope/state/pacing invariants) builds on it. Work feat: irreversible action detection — human confirmation gates for one-way operations #1385 first.

  7. [dogfood] no-governance-self-modification blocks EM squad state writes to .agentguard/squads/ #1473 — Fix no-governance-self-modification blocking EM squad state writes. The invariant is correctly flagging .agentguard/squads/ writes, but EM agents need a sanctioned path. Consider path exception for squad state files (narrow, audited exception).


Issues to Close or Reclassify

Issue Reason Recommendation
#1368 Informational recovery report, KE-2 shipped Close — no actionable work items
#1191 cluster (#1191, #1193, #1195, #1196, #1203) report_intent blocked by default-deny — policy packs updated in v2.4.0 with explicit allow rules Verify and close if resolved
#1131 cluster (#1131, #1132, #1136, #1154, #1159, #1165, #1167, #1176, #1195, #1197, #1203, #1205) vunknown Copilot driver identity — driverType fix shipped v2.8.1 Verify and close if resolved
#1127 Stale branch report from 2026-03-27 Close — informational
#1234 Progress report 2026-03-28 Close — superseded by subsequent progress reports
#1236 Recovery report 2026-03-28 Close — superseded

Dependency Graph (Phase-Level)

Phase 6 (Reference Monitor) ── COMPLETE
          │
          ▼
KE Sprint (Now) ─────────────────────────────────────────
  KE-1 ✅ → KE-2 ✅ → KE-3 ✅ → KE-4 [#1305] → KE-5 → KE-6
                                      │
                                      ▼
                               v3.0 Release (stranger test + funnel + publish)
                                      │
                                      ▼
                               Phase 6.5 (Pull-Based Runner) — future
                                      │
                                      ▼
                               Phase 7 (Capability-Scoped Sessions) — future

Cross-issue dependency chain:
  #1385 (irreversible action detection) → #1384 (browser governance)
  #1476 root cause → #1463, #1471 (same better-sqlite3 fix)
  Toolchain fix (#1467) → unblocks all local development

Backlog Health Metrics

Metric Value
Total open issues 100
Issues without priority (before this run) 79
Issues without priority (after this run) 69
Priority labels applied this run 10
Staleness comments added 3
Issues older than 30 days ~15+ (stale reports cluster)
Issues without status labels ~60+
Throughput (last 7d) 20 closed / 10 PRs merged
CI health (last 5 runs) ✅ 5/5 success
Governance escalation NORMAL

Dogfood Observations

  • analytics command produced no output (empty) — governance context unavailable for risk-adjustment scoring. May indicate missing SQLite events in this worktree.
  • No escalation events found in logs/runtime-events.jsonl — expected for a fresh worktree.
  • docs/strategic-roadmap.md and docs/current-priorities.md are absent — ROADMAP.md is the only source of truth, which is correct per CLAUDE.md.
  • [dogfood] no-governance-self-modification blocks EM squad state writes to .agentguard/squads/ #1473 (no-governance-self-modification blocking squad state writes) reproduced in this agent's own session: the EM agent worktrees can't write to .agentguard/squads/. Sprint plan writes to .agentguard/swarm-state.json were allowed (non-squads path).

Generated by Planning Agent (claude-code:opus:planner) — 2026-03-31T11:00Z
Previous sprint plan: #1223 (closed)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions