Remove trailing generation-wrapper markup (</content>, plus </invoke> in the tutorial) that had leaked at EOF into eleven committed Phase 7 reference, tutorial, evidence, and OKF-journal files. Sync the stated suite counts in the current-state docs (tutorial, scenario-explorer reference, verification-commands reference, and OKF journal) to the verified results: test:phase7 49, test:browser:phase7 25, docs:validate 73 files / 28 OKF concepts / 5 indexes. Drop a brittle wall-clock timing from the journal. The dated 7F verification evidence and log.md milestone entry keep their point-in-time 45/19 figures on purpose. Add a wrapper-markup guard to docs:validate (via scripts/lib/doc-wrappers.mjs) that fails with the exact file and line when generator envelope tags reappear, plus a node:test regression suite wired into the package test script. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.4 KiB
Phase 7 Future Binding Boundary (Phase 8 / ACPX)
Phase 7 is a package-local model. It does not integrate the runner into Paperclip, and it must not. This page states exactly what Phase 7 defers to Phase 8 and what clean seam it preserves so the deferral stays cheap.
What Phase 7 does not do
Nothing in Phase 7 contacts a real Paperclip control plane, database, ACPX
session, or provider credential. The 106-case conformance suite and the browser
explorer run entirely against the in-process
mock ControlPlanePort and checked-in
fixtures. The forbidden-imports boundary rejects any import
that crosses into server/, ui/, cli/, @paperclipai/db, or other
Paperclip workspace internals.
The preserved seam
The dependency arrow always points from an implementation toward a contract. The package owns two contracts a future consumer implements:
ControlPlanePort— the narrow surface through which a runner opens a run, appends ordered events, records semantic operations, and submits a terminal result. Phase 7 injects the mock adapter behind this port; Phase 8 injects a real one. The catalog, authorization engine, and conformance suite bind to the port, not to any adapter.NativeSessionBackend— the normalized session surface for a future control-plane consumer.
Because the port is the only coupling point, Phase 8 replaces the adapter without touching the tool catalog, the authorization rules, or the eval-derived conformance suite. The package remains independently buildable, testable, and runnable against the mock adapter after the real one exists.
What Phase 8 (ACPX) will bind
Phase 8 binds a real Paperclip ControlPlanePort implementation behind the same
seam so the semantic tools and authorization engine act against a live control
plane instead of the mock. That work is out of scope here and requires separate
CTO approval at the Phase 7 checkpoint (PAP-16908). Until then:
- ACPX is Phase 8, not Phase 7.
- No Phase 7 documentation claims Phase 8 capability.
- Real integration is a separately reviewed phase, consistent with the future integration rule recorded for every prior phase.