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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions