# Ecosystem Implementation Tracker

> **Status:** Active tracker
> **Owner:** `learning_ai_common_plat`
> **Purpose:** Single place to track cross-product ecosystem implementation progress, owners, status, and commit links.

---

## 1. Tracking Rules

Use this document as the execution ledger for ecosystem work.

Rules:

1. Every implementation item should have exactly one status owner.
2. Every completed item should include at least one commit reference.
3. Use checkboxes for executable tasks and update them in the same PR/commit series that implements the work.
4. If a task spans multiple repos, list all affected repos in the row.
5. If a task is blocked, state the blocker explicitly instead of leaving it ambiguous.

Status values:

- `not-started`
- `in-progress`
- `blocked`
- `done`

Commit link format:

- short hash only when local
- GitHub commit URL once pushed

Example:

- `eae3409`
- `https://github.com/saravanakumardb1/learning_ai_common_plat/commit/eae3409`

---

## 2. Core Spec Status

| Spec                                           | Status      | Owner Repo                | Notes                                                                                                          | Commits                                    |
| ---------------------------------------------- | ----------- | ------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| `ECOSYSTEM_CROSS_POLLINATION_OPPORTUNITIES.md` | done        | `learning_ai_common_plat` | strategy baseline created and strengthened                                                                     | `d28e9d0`, `341cde7`, `3e572b6`            |
| `ECOSYSTEM_SHARED_ARTIFACT_SCHEMA.md`          | in-progress | `learning_ai_common_plat` | Phase 1 artifact schema and fixtures now exist in `@bytelyst/events`; broader storage rules still open         | `eae3409`, `76f1b47`                       |
| `ECOSYSTEM_AGENT_RUNTIME_CONTRACT.md`          | in-progress | `learning_ai_common_plat` | lifecycle boundaries, queued runs, and direct Cowork/FlowMonk mappings now exist; replay semantics remain open | `eae3409`, `ff8c5eb`, `97b731e`, `faf93ec` |
| `ECOSYSTEM_APPROVALS_AND_TRUST_MODEL.md`       | in-progress | `learning_ai_common_plat` | draft stub exists, policy matrix still needs hardening                                                         | `eae3409`                                  |
| `ECOSYSTEM_EVENT_TAXONOMY.md`                  | in-progress | `learning_ai_common_plat` | Phase 1 event names and examples now exist in `@bytelyst/events`; broader taxonomy remains open                | `41fa2cd`, `76f1b47`                       |
| `ECOSYSTEM_OWNERSHIP_MATRIX.md`                | in-progress | `learning_ai_common_plat` | temporary four-party ownership model added                                                                     | `41fa2cd`, `7a86a76`                       |
| `ECOSYSTEM_VERIFICATION_MATRIX.md`             | in-progress | `learning_ai_common_plat` | verification layers exist; repo-level ownership still needs explicit later-phase mapping                       | `41fa2cd`                                  |
| `ECOSYSTEM_CONTRACT_TEST_STRATEGY.md`          | in-progress | `learning_ai_common_plat` | executable fixture locations and runtime-route test anchors are now documented                                 | `41fa2cd`                                  |
| `ECOSYSTEM_MARKETPLACE_UNIFICATION.md`         | in-progress | `learning_ai_common_plat` | draft exists, inventory and entitlement details open                                                           | `7a86a76`                                  |
| `ECOSYSTEM_PERSONAL_TIMELINE_PRD.md`           | in-progress | `learning_ai_common_plat` | draft exists, hosting and filtering decisions open                                                             | `7a86a76`                                  |

---

## 3. Phase 1 Checklist

### Foundation

- [x] Create canonical ecosystem docs home in `docs/ecosystem/`
      Commits:
  - `5f4134e`
- [x] Draft cross-pollination strategy
      Commits:
  - `d28e9d0`
  - `341cde7`
  - `3e572b6`
- [x] Draft artifact schema stub
      Commits:
  - `eae3409`
- [x] Draft runtime contract stub
      Commits:
  - `eae3409`
- [x] Draft approvals and trust model stub
      Commits:
  - `eae3409`
- [x] Draft event taxonomy
      Commits:
  - `41fa2cd`
- [x] Implement Phase 1 artifact and event contracts in `@bytelyst/events`
      Commits:
  - `76f1b47`
- [x] Draft temporary ownership matrix
      Commits:
  - `41fa2cd`
  - `7a86a76`
- [x] Draft verification matrix
      Commits:
  - `41fa2cd`
- [x] Draft contract-test strategy
      Commits:
  - `41fa2cd`
- [x] Draft marketplace unification spec
      Commits:
  - `7a86a76`
- [x] Draft personal timeline PRD
      Commits:
  - `7a86a76`
- [x] Draft first adoption docs for transcript -> note -> memory flow
      Commits:
  - `7a86a76`

### First implementation tracks

- [x] LysnrAI transcript -> NoteLett note -> MindLyst memory
      Repos:
  - `learning_voice_ai_agent`
  - `learning_ai_notes`
  - `learning_multimodal_memory_agents`
  - `learning_ai_common_plat`
    Commits:
  - `76f1b47`
  - `dd3d622`
  - `3b8298b`
  - `6ffc2f8`
  - `63c791f`
  - `79c85ad`
  - `9ecc7c6`
  - `0f469a9`
  - `49796b1`
  - `623d02c`
  - `dd3636d`
    Status note:
  - artifact flow is implemented end-to-end and downstream event lineage is now hardened with persisted latest-event indexes
  - MindLyst web Phase 1 memory-import path is verified by Codex with focused Vitest using a workspace `vitest` binary; `49796b1` improved the local package path but did not fully close it by itself
  - `learning_ai_notes` Phase 1 import path verified by Windsurf (`623d02c`): 13 focused tests, 3 schema conformance checks against `@bytelyst/events`, 106 total tests passing
  - Codex completed a manual runtime walkthrough on `2026-04-03` using `/tmp/bytelyst-phase1-walkthrough.qzzwch`, which produced transcript, note, and memory artifacts plus canonical event indexes with the causal chain `capture.transcript.created -> artifact.created -> artifact.linked -> memory.entry.created`
  - remaining known gap is local to `mindlyst-native/web`: package-local `npm run test:phase1` is still not self-sufficient in this clone even though the focused path is verified
- [x] FlowMonk plan -> ChronoMind routine -> EffoRise habit
      Repos:
  - `learning_ai_flowmonk`
  - `learning_ai_clock`
  - `learning_ai_efforise`
  - `learning_ai_common_plat`
    Commits:
  - `78918fb`
  - `59ab8b1`
  - `fdd3743`
  - `4975498`
  - `f65f41c`
    Status note:
  - shared contract now supports first-class `plan`, `routine`, and `habit` artifacts
  - FlowMonk exports a canonical plan artifact plus latest plan-created event index
  - ChronoMind imports the latest plan into a routine artifact and preserves plan-created causation
  - EffoRise imports the latest routine into a habit artifact and preserves routine-linked causation
  - Codex completed a manual runtime walkthrough on `2026-04-03` using `/tmp/bytelyst-phase2-walkthrough.WpEjZu`, which produced the causal chain `evt_plan_created_b202f23f69a4 -> evt_routine_created_4c07d3fdcd07 -> evt_routine_linked_08b9db8a7013 -> evt_habit_created_f532f13332d1 -> evt_habit_linked_7be9a47928e3`
- [x] Cowork -> ActionTrail -> NoteLett -> MindLyst audited artifact flow
      Repos:
  - `oss/learning_ai_claw-cowork`
  - `learning_ai_trails`
  - `learning_ai_notes`
  - `learning_multimodal_memory_agents`
  - `learning_ai_common_plat`
    Commits:
  - `e6b58b7`
  - `e294cf5`
  - `4af86b4`
  - `43819f1`
  - `a253de1`
  - `7ee2151`
  - `5a7f80d`
    Status note:
  - shared contract now supports a canonical `trail-report` payload while reusing generic `artifact.created`, `artifact.linked`, and `memory.entry.created`
  - ActionTrail imports Cowork audit-export JSON into a persisted `trail-report` artifact plus latest created-event index
  - NoteLett imports the latest `trail-report` into a markdown audit note and preserves upstream trail-report causation
  - MindLyst imports the latest audit note into an `insight` memory proposal and preserves upstream note-link lineage
  - Codex completed a manual runtime walkthrough on `2026-04-03` using `/tmp/bytelyst-phase3-walkthrough.myuu1z`, which produced the causal chain `evt_trail_created_b40197d5302e -> evt_note_created_abc1ad821974 -> evt_note_linked_9fd9a2b03363 -> evt_memory_8103b59fb40c`
  - review follow-up fixed the ActionTrail trace semantics so `causationId` and `parentEventId` no longer misuse Cowork task IDs
  - NoteLett now exposes `/api/ecosystem/phase3/import-latest-trail-report`
  - MindLyst now exposes the audited import path through `POST /api/memory` with `importLatestAuditNote: true`

---

## 4. Current Gaps Before Broad Implementation

- [x] event taxonomy phase-1 event list hardened in `@bytelyst/events`
- [ ] adoption docs exist for the first flow, but broader repo coverage is still missing
- [ ] ownership model is temporary and must be revised if the team changes
- [ ] verification matrix needs repo-level test ownership
- [x] contract-test strategy fixture location and validation tooling now exist in `packages/events`

These should be resolved before claiming the ecosystem docs are fully implementation-ready.

---

## 5. Phase 4 Checklist

- [x] define canonical `TimelineItem` contract in `@bytelyst/events`
      Commits:
  - `3f2482b`
- [x] define baseline event-to-timeline inclusion rules for Phase 1 to Phase 3
      Commits:
  - `3f2482b`
- [x] implement pure timeline aggregation over canonical ecosystem events
      Commits:
  - `3f2482b`
- [x] verify that Phase 1 to Phase 3 events render in one unified stream
      Commits:
  - `3f2482b`
- [x] add first hosted timeline ingest/query API in `platform-service`
      Commits:
  - `e377351`
    Status note:
  - platform-service now persists timeline items in `timeline_items`
  - `POST /api/timeline/ingest` accepts canonical ecosystem events and stores unified timeline items
  - `GET /api/timeline` returns the unified timeline stream with non-admin JWT callers scoped to their own data
- [x] add first hosted internal timeline UI in `admin-web`
      Commits:
  - `6f3a563`
    Status note:
  - admin-web now exposes `/timeline` over the shared platform timeline API
  - the first hosted internal timeline UI supports user, artifact, correlation, and event-name filtering

---

## 6. Phase 5 Checklist

- [x] define canonical runtime schemas for dispatch, session, task, todo, run, approval, and action logs
      Commits:
  - `3f2482b`
- [x] validate Cowork-style remote dispatch against the shared runtime contract
      Commits:
  - `3f2482b`
- [x] validate FlowMonk-style scheduled execution against the shared runtime contract
      Commits:
  - `3f2482b`
- [x] add first runtime projection + dispatch validation API in `platform-service`
      Commits:
  - `fe36296`
    Status note:
  - `GET /api/agent-runtime/sessions` projects platform sessions into the shared `AgentSession` shape
  - `GET /api/agent-runtime/runs` projects platform runs into the shared `AgentRun` shape
  - `POST /api/agent-runtime/dispatch/validate` validates `AgentDispatchRequest` payloads against the canonical schema
- [x] add first hosted internal runtime console in `admin-web`
      Commits:
  - `71ef2ac`
    Status note:
  - admin-web now exposes `/agent-runtime` over the shared platform runtime API
  - the first hosted internal runtime UI supports projected session review, projected run review, and dispatch payload validation
- [x] wire first product implementations to emit the shared runtime objects directly from Cowork and FlowMonk
      Status note:
  - Cowork product-native runtime projections are now implemented in cowork-service
  - `023826e` adds `GET /api/agent-runtime/sessions`, `GET /api/agent-runtime/runs`, `GET /api/agent-runtime/approvals`, and `POST /api/agent-runtime/dispatch/validate`
  - `01201f8` adds `GET /api/agent-runtime/tasks` with canonical `AgentTask` projection
  - `b8242b4` adds `GET /api/agent-runtime/actions` with canonical `AgentActionLog` projection
  - `97b731e` adds `GET /api/agent-runtime/todos` with an interim task-backed `AgentTodo` projection
  - FlowMonk local installs now resolve `@bytelyst/*` from the sibling `learning_ai_common_plat` workspace instead of the dead localhost registry
  - `1ccafa7` adds FlowMonk direct runtime projections for sessions, tasks, runs, action logs, and dispatch validation
  - `faf93ec` adds FlowMonk direct approval and todo projections
- [x] promote `queued` to a first-class `AgentRun` state and preserve it in shared runtime projections
      Commits:
  - `ff8c5eb`
    Status note:
  - `AgentRun` now supports `queued` directly in `@bytelyst/events`
  - platform-service now preserves queued platform runs as `queued`
  - cowork-service now projects pending IPC tasks as queued runs
  - FlowMonk now projects scheduled entries as queued runs
- [x] emit and consume canonical Cowork audit event IDs across Rust, cowork-service, and ActionTrail
      Commits:
  - `3963f63`
  - `a57b367`
  - `37e9a3c`
    Status note:
  - Cowork Rust now emits canonical `event_id` values on audit records and forwards them into platform audit `details.eventId`
  - cowork-service now prefers the canonical event ID for `AgentApprovalCheckpoint.approvalId` and `AgentActionLog.actionLogId`
  - ActionTrail now preserves the latest Cowork audit `event_id` as the `trail-report` provenance origin action and `artifact.created` causation anchor

### 6.1 Remaining Direct Runtime TODOs

- Cowork: add `AgentTodo` direct projection once the product exposes first-class todo entities.
- FlowMonk: add direct `AgentApprovalCheckpoint` and `AgentTodo` projections once the product exposes first-class approval/todo primitives.
- Shared docs: clarify run-vs-session lifecycle guidance now that `queued` is first-class.

### 6.2 Explicit Blockers And Questions

- Question: should Cowork eventually expose canonical event IDs directly on session/task IPC projections too, or is the audit/action surface enough for the current roadmap?

---

## 7. Active Execution Plan

Current implementation kickoff document:

- [`PHASE1_TRANSCRIPT_NOTE_MEMORY_EXECUTION_PLAN.md`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/docs/ecosystem/PHASE1_TRANSCRIPT_NOTE_MEMORY_EXECUTION_PLAN.md)
- [`PHASE2_PLAN_ROUTINE_HABIT_EXECUTION_PLAN.md`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/docs/ecosystem/PHASE2_PLAN_ROUTINE_HABIT_EXECUTION_PLAN.md)
- [`PHASE3_COWORK_ACTIONTRAIL_NOTE_MEMORY_EXECUTION_PLAN.md`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/docs/ecosystem/PHASE3_COWORK_ACTIONTRAIL_NOTE_MEMORY_EXECUTION_PLAN.md)
- [`PHASE4_PERSONAL_TIMELINE_EXECUTION_PLAN.md`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/docs/ecosystem/PHASE4_PERSONAL_TIMELINE_EXECUTION_PLAN.md)
- [`PHASE5_AGENT_RUNTIME_CONTRACT_EXECUTION_PLAN.md`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/docs/ecosystem/PHASE5_AGENT_RUNTIME_CONTRACT_EXECUTION_PLAN.md)

Execution status:

- shared contract baseline implemented in [`packages/events`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/packages/events)
- LysnrAI emits canonical transcript artifact + `capture.transcript.created`
- LysnrAI also persists the latest transcript event index for downstream causation (`79c85ad`)
- NoteLett imports the latest transcript artifact into a note, emits `artifact.created` + `artifact.linked`, and now preserves upstream capture event lineage (`9ecc7c6`)
- MindLyst imports the latest note artifact into a memory proposal, emits `memory.entry.created`, and now preserves upstream note-link lineage (`0f469a9`)
- MindLyst focused tests were verified by Codex with `/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/node_modules/.bin/vitest run src/lib/ecosystem-phase1.test.ts src/__tests__/api-memory.test.ts`; `49796b1` improved the local script/setup path
- Codex completed an end-to-end runtime walkthrough on `2026-04-03` rooted at `/tmp/bytelyst-phase1-walkthrough.qzzwch`; the persisted indexes show `evt_capture_e913dd681aba -> evt_note_created_cced1442727e -> evt_note_linked_c3d477dfd0c4 -> evt_memory_9a3ebd9c67ca`
- repo-local verification for MindLyst web Phase 1 path is functionally confirmed, but the package-local `npm run test:phase1` path is still not self-sufficient in this clone
- Windsurf verified the `learning_ai_notes` Phase 1 backend path with `cd backend && npx vitest run`; 22 files passed and 106 tests passed, including the focused ecosystem-phase1 coverage
- shared contract now also supports the Phase 2 `plan -> routine -> habit` seam through `artifact.created` and `artifact.linked`
- Phase 2 walkthrough is complete and tracked in [`PHASE2_PLAN_ROUTINE_HABIT_EXECUTION_PLAN.md`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/docs/ecosystem/PHASE2_PLAN_ROUTINE_HABIT_EXECUTION_PLAN.md)
- Phase 3 walkthrough is complete and tracked in [`PHASE3_COWORK_ACTIONTRAIL_NOTE_MEMORY_EXECUTION_PLAN.md`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/docs/ecosystem/PHASE3_COWORK_ACTIONTRAIL_NOTE_MEMORY_EXECUTION_PLAN.md)
- Phase 4 timeline baseline is complete and tracked in [`PHASE4_PERSONAL_TIMELINE_EXECUTION_PLAN.md`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/docs/ecosystem/PHASE4_PERSONAL_TIMELINE_EXECUTION_PLAN.md)
- Phase 5 runtime-contract baseline is complete and tracked in [`PHASE5_AGENT_RUNTIME_CONTRACT_EXECUTION_PLAN.md`](/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat/docs/ecosystem/PHASE5_AGENT_RUNTIME_CONTRACT_EXECUTION_PLAN.md)
