Integration boundaries
The routing table between Pocketto Core and Enterprise: which lifecycle event triggers which Enterprise action, and what neither side ever does.
Core and Enterprise have a strict ownership split, enforced by the release manifest and restated in both sides' contracts. This page is the routing table.
Event → Enterprise action
| Event (Core-emitted) | Enterprise-owned action |
|---|---|
spec-approved | Reconcile the approved spec with its owned issue. May create one issue for the approved spec, the only creation the adapter performs. See GitHub synchronization. |
phase-complete | Reconcile an existing phase PR: upsert the phase summary, reconcile inline review findings by fingerprint. A missing PR is PR_REQUIRED, never auto-created. For stacked plans this event is deferred to phase-closed. |
phase-closed (stacked only) | Publish the closed phase PR with its stack identity, summary, findings, and stack proof, pushing the phase branch only with consent. |
plan-closed | Upsert the final <!-- pocket-tasklist --> proof on the linked issue. Never closes the issue. |
The never lists
Core never:
- calls
gh; - creates or reconciles GitHub resources (except the local artifacts it writes);
- merges pull requests or closes issues;
- stores GitHub IDs or credentials in lifecycle records.
Enterprise never:
- auto-creates a PR (the only creation is the approved-spec issue);
- merges a PR or closes an issue;
- force-pushes, rebases, or retargets a PR base;
- edits a Core skill to add remote behavior;
- guesses on ambiguity.
Ambiguity stops
When an issue, PR, marker, or owner is ambiguous (multiple matches, foreign ownership, closed entities, identity conflicts), the adapter stops with an actionable manual-resolution request and makes no mutation. That is a design property, not a failure mode: a wrong guess on a shared remote is worse than a paused drain.
create-pr's place
create-pr is a separate, explicit user-triggered recorder, not part of the event flow. It creates or discovers a PR and records its identity. Phase summaries and inline findings belong to the Enterprise adapter when a phase-complete/phase-closed event is drained; the recorder does not post them.
Metadata ownership
Remote identity (issue numbers, PR numbers/URLs, fingerprints, stack proofs) lives in Enterprise-owned .pocket-meta.json. The Core journal stores only opaque proof references, never GitHub IDs or credentials. Reconciliation reads metadata first, then falls back to marker-based search of the current repository only.
Related documentation
Enterprise setup
Consent-first onboarding for Pocket Enterprise: mode init, adapter registration, push-consent choices, and a read-only preflight before any change.
GitHub synchronization
What Pocket Enterprise creates on GitHub when lifecycle events drain: issues, phase pull requests, stacked branches, and final tasklists.