Deliverables:
- Endpoint inventory and OpenAPI baseline for approximately 145 handlers.
- Current cookie, JWT, API-key, CLI-login and authorization behavior.
- Frontend gateway and distributed CLI contract fixtures.
- Final PostgreSQL schema generated from the full migration history.
- Job, event, Redis channel and SSE payload inventory.
- Golden rendering fixtures for every supported coding agent.
- Parity matrix separating public evidence, assumptions and unavailable proprietary behavior.
- Gherkin scenarios for the critical product journeys.
Exit gate: critical contracts can be exercised automatically against the existing runtime.
Deliverables:
- Adonis application bootstrap with separate HTTP, worker and migration entrypoints.
- Module providers and IoC conventions.
- Typed error mapping and legacy response envelope compatibility.
- PostgreSQL, Redis, transaction, queue and outbox adapters.
- Correlation, structured logging, metrics, traces, liveness and readiness.
- Architecture tests enforcing module boundaries.
- CI with strict RED/GREEN evidence requirements.
Exit gate: a no-op vertical slice crosses HTTP, application, transaction/outbox and a worker with tests and observable traces.
Deliverables:
- Identity bridge and actor context.
- Space authorization port.
- Standard aggregate, slug and version invariants.
- Lucid repository plus memory/Lucid contract suite.
- Compatible read/create/version HTTP endpoints.
- Differential and shadow-read comparison with NestJS.
- Feature flag and rollback route.
Exit gate: Adonis owns writes for the selected endpoints with no contract or tenant-isolation regression.
Deliverables:
- Rules and examples.
- Commands and Recipes compatibility aliases.
- Skills, frontmatter, files, ZIP and import validation.
- Move, soft delete, bulk operations and immutable history.
- Package associations required by artifact use cases.
Exit gate: Standards, Commands and Skills have one write owner and the frontend/CLI pass compatibility tests.
Deliverables:
- Email/password, social login, invitations, reset, API keys and CLI exchange.
- Organization and space membership, global/private spaces and policies.
- Change proposals, conflicts, accept/reject, audit and change application.
- Exhaustive negative authorization and cross-tenant tests.
Exit gate: all authorization decisions are served by Adonis and legacy auth can be disabled capability by capability.
Deliverables:
- Packages and artifact membership.
- Pure render planning and golden files for all agents.
- Previews, scopes, merge markers, default skills and lockfiles.
- Distribution requests with immutable snapshots and outbox.
- Shadow rendering comparison against existing outputs.
Exit gate: the new renderer produces approved equivalent file sets without publishing remotely.
Deliverables:
- GitHub PAT/App and GitLab adapters with contract tests.
- Tracked repositories, branches and targets.
- Idempotent publish workflow, retries, reconciliation and dead-letter handling.
- Distribution history, state, progress SSE, drift and dashboards.
- Recovery tests for remote-success/database-failure and concurrent jobs.
Exit gate: Adonis can publish safely to a test repository, reconcile failures and roll back routing.
Deliverables:
- Existing distributed CLI fully compatible with Adonis endpoints.
- Linter programme execution and AST adapters.
- LLM provider configuration and encrypted credential vault.
- Explicit security model for generated JavaScript execution.
- Provider timeout, retry and quota policies.
Exit gate: selected CLI and linter workflows pass on supported platforms and providers.
Deliverables depend on available specifications or access to proprietary behavior:
- Marketplace synchronization and rolling PR lifecycle.
- Claude plugin rendering and local plugin operations.
- Adoption/install tracking.
- Advanced spaces, analytics and proprietary job behavior.
Exit gate: scope is either implemented from an approved specification or explicitly excluded from OSS parity.
Deliverables:
- Rehearsed migration against anonymized realistic data.
- Reconciliation reports for rows, versions, memberships, deployments and outbox state.
- Queue drain and rollback window.
- Capability routing fully moved to Adonis.
- NestJS, TypeORM, HexaRegistry and temporary synchronization removed.
- Operational runbook and post-cutover monitoring window.
Exit gate: no production traffic or durable data path depends on the legacy backend.
Create one epic issue per phase and child issues per vertical behavior. Each implementation issue must include:
- User-visible Gherkin acceptance criteria.
- Exact affected module and public contract.
- RED command and expected failure.
- GREEN command and expected pass.
- Data migration and rollback impact.
- Security, tenant, idempotence and observability requirements.
- Intentional compatibility deltas.
Now:
- Characterize contracts.
- Generate canonical final schema.
- Establish architecture decision and module import rules.
- Spike only the first Standard slice, then discard spike code before strict TDD implementation.
Next:
- Foundation.
- First production vertical slice.
- Complete Playbook.
- Identity/spaces/governance.
Later:
- Distribution and Git.
- CLI/linter/LLM.
- Marketplace/proprietary scope.
- Final cutover.
- After Phase 0: re-estimate from measured contracts and proprietary gaps.
- After Phase 2: validate whether Adonis/Lucid and the module rules improve delivery before scaling migration.
- Before Phase 6: security review of credentials, jobs and Git side effects.
- Before Phase 9: independent migration, rollback and tenant-isolation review.