Skip to content

Epic: daemon → core absorption roadmap (prioritized backlog) #35

@stackbilt-admin

Description

@stackbilt-admin

Purpose

Make the core-vs-daemon drift landscape visible as a tracked roadmap, not private memory. The daemon has accumulated 20+ scheduled tasks, several kernel-root files, a routines framework, and Nexus (cross-repo contract awareness) that core has no visibility into. This epic consolidates the absorption backlog so it's triageable, not buried.

Captures and supersedes `project_daemon_kernel_shadow` + `project_dependency_model` operator memory.

Critical path

These block other work or represent credibility gaps:

  • aegis-oss#32 — Phase A finish (schema-enums merge + remove `task` cast)
  • aegis-oss#33 — Port resilience (circuit breakers + retry) — landing page claims it, core lacks implementation
  • aegis-oss#34 — Port grounding-layer (aegis#446 epic, 277 LOC in daemon)
  • aegis-oss#30 — Procedural compat helper (Phase 2 of aegis#564) — in flight
  • aegis-oss#29 — Observability: `/api/shadow-read-drift` + `/api/entropy` endpoints
  • aegis-oss#24 — Phase D: adopt @stackbilt/llm-providers — unblocks kernel/cognition.ts shadow collapse

Phase C: resolve daemon kernel-root supersets

Each needs a judgment call per `project_daemon_kernel_shadow` Phase C — upstream the additions or convert to plugin. Requires reading the line diff, not just the count.

Daemon-only scheduled tasks (evaluate for core)

Daemon ships these; core has none. Most are generic substrates, not Stackbilt-specific. Triage required.

Likely core (generic primitives):

  • `shadow-read-prune.ts` + `drift-probe.ts` — pair with aegis-oss#30, land together
  • `backup.ts` — D1→R2 snapshot substrate with gzip + SHA-256, 30d+12w retention
  • `blast-radius.ts` — charter-blast consumer (upstream is ready)
  • `behavioral-detectors.ts` + `finding-correlator.ts` — ARGUS pattern detection primitives
  • `capability-expansion.ts` — executor adoption substrate
  • `cf-analytics.ts` — CF account analytics snapshot
  • `cognitive-metrics.ts` — classifier accuracy / dispatch cost tracking
  • `cost-monitor.ts` + `finance-monitor.ts` — core has `cost-report.ts`, check for overlap
  • `routine-heartbeat.ts` — routines framework (see below)
  • `runtime-guard.ts` — runtime safety net
  • `task-analysis.ts` + `task-reconciliation.ts` + `tool-proposal.ts` — cc-task governance substrates
  • `trajectory-compress.ts` — trajectory example compaction
  • `watch-repos.ts` — multi-repo scan substrate

Likely stay daemon-side (Stackbilt-specific):

  • `ambient-capture.ts` — Gmail/Calendar ingestion (daemon credentials)
  • `argus-routine-escalation.ts` — uses Anthropic experimental routines beta header, Stackbilt-operator-specific escalation rules
  • `compliance-monitor.ts` + `infra-compliance.ts` — Stackbilt LLC compliance
  • `product-funnel.ts` — Stackbilder platform funnel
  • `sprint-pipeline.ts` — Stackbilt sprint cadence
  • `content.ts` — Roundtable/Dispatch pipelines

Net-new subsystems to evaluate

  • Routines framework — daemon has 5 registered routines (`pr-review`, `dreaming-audit`, `substrate-probe`, `convergence-thesis`, `si-nightly`). Zero scaffolding in core. Either lift the framework with generic substrates and leave specific routines daemon-side, OR keep routines purely daemon-side if too operator-specific. Decide.
  • Nexus (aegis#523 — cross-repo contract awareness) — daemon runs it as dogfood (scripts/nexus/, routes/nexus.ts, .githooks/pre-commit). ~4 critical-path gates shipped 2026-04-18. If other aegis variants share repos with active work, Nexus belongs in core. Evaluate after 2-4 weeks of daemon production data.

Daemon-only schema tables (candidate upstream)

Tables in daemon `schema.sql` not in core. Most generic — evaluate:

`agent_inbox`, `argus_routine_fires`, `argus_routine_state`, `backup_metadata`, `cc_jobs`, `cf_analytics_snapshots`, `consultation_log`, `cost_budgets`, `cost_snapshots`, `events`, `llm_traces`, `restore_operations`, `rg_correlations`, `shadow_read_drift`, `sprints`, `trajectory_examples`, `video_briefs`, `vqa_results/runs/state_definitions`, `waitlist`

Success signal

Phase A complete (cast removed from daemon `index.ts:69`), critical-path items all closed, daemon kernel/ directory contains only:

  • Re-exports from `@stackbilt/aegis-core`
  • Interface extensions
  • Plugin files that have migrated out of kernel/ entirely

Out of scope

  • Publishing `@stackbilt/aegis-core` to npm — internal file: dep is sufficient while Stackbilt is the only consumer
  • Contract governance (when to bump core's 0.x version, deprecation policy) — premature; revisit when a 2nd consumer exists

References

  • Operator memory: `project_daemon_kernel_shadow.md`, `project_dependency_model.md`
  • Parent epic (closed): aegis-oss#18
  • Landing page claims that currently lack implementation: `web/src/landing.ts:938`, `web/src/landing.ts:1028`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions