Skip to content

Epic: Agentic platform primitives (Harness + Registry) #559

Description

@philmerrell

Tracking hub for the primitive-enablement effort. Plan of record: docs/specs/agentic-platform-primitives.md (added in #558).

Goal

Enable the reusable primitive layer — headless execution, delivery, scheduling, first-class KB, memory, governance — so proactive-agent use cases (a chief-of-staff "Oliver", digests, monitoring, triage) become configuration, not bespoke features.

  • Harness owns run → the headless run entrypoint (F1).
  • Registry owns catalog + govern → discovery + governance seam (F6).

The six fundamentals

Fundamental State
F1 Headless, trigger-agnostic run entrypoint (run_agent_headless) keystone — spike next
F2 Async result + delivery spine (run-record + session) minimal in Phase A
F3 Scheduled trigger (modeled on sync_policies) Phase B
F4 KB as first-class primitive (decouple from Assistants) Phase C (open decision)
F5 Memory primitive (finish user-markdown-memory) Phase C
F6a Governance floor (audit / guardrails / PII) pulled into Phase A
F6b Registry catalog + dynamic discovery Phase D (deferred)

Phase checklist

  • Docs / plan of record — docs(specs): agentic platform primitives plan (+ scheduled-runs design + F1 spike brief) #558
  • Phase A — F1 spike (Fable 5) — headless run as a user + server-side SSE + governance-floor seam, proven in dev-ai. Brief: harness-entrypoint-spike-brief.md. Output = design note + go/no-go.
  • Decision gate — resolve the three open decisions using spike findings.
  • Phase A build — run_agent_headless + minimal F2 + F6a floor + "Run now" (top-tier model).
  • Phase B — F3 scheduler — data model + CRUD + dispatcher/worker + SPA (fan-out, cheaper tier).
  • Phase C — F4 ∥ F5 — first-class KB + memory primitive.
  • Phase D — F6b — Registry-backed catalog + dynamic discovery (after Tier-1 gateway-search measurement).
  • Validation use cases — Oliver + digest + monitoring, as configuration.
  • GA — grant scheduled-runs capability to the default role; keep SCHEDULED_RUNS_ENABLED kill switch.

Resolved decisions

  1. F1 = minimal internal run_agent_headless(...), A2A-ready seam (not an A2A server yet; if ever exposed, capabilities must include streaming=True).
  2. Governance is foundational — F6a floor forward into Phase A; F6b discovery deferred.

Open decisions (resolve at the gate)

  • KB decoupling appetite (F4) — do the refactor now, or let scheduled runs borrow an assistant's KB in the interim?
  • F6a floor depth — minimum audit/guardrails/classification to ship Phase A unattended-as-user.
  • Sequencing — confirm proactive-spine-first (F1→F2→F3) with F4/F5 in parallel.

Cross-cutting

Cohort-gate each primitive via RBAC scheduled-runs capability + SCHEDULED_RUNS_ENABLED kill switch. Model-tiering: keystone → top model (Fable 5), pattern-following fan-out → cheapest adequate. UX bar: flexible foundation, minimal user-facing surface, governance backend-invisible.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions