Repository navigation
Flip the narrative to the P6 runtime (ADR-0041) - #486
Conversation
RA1 Phase 4, the record its §8 item 4 called for: as of 2026-10-11 the Knative Service, KEDA ScaledJobs, KubectlTransport and pod-exec sandboxes (deploy/knative/) are deprecated, not removed. P6 is the primary runtime; capacity scales by adding process-manager pods or sizing them up. The window is security and breakage fixes only; removal comes no earlier than April 2027, once remaining users have migrated. - add docs/migrating-from-knative.md: destinations (deploy/vm, deploy/k8s, deploy/compose), the Knative-to-P6 mapping, the scaling model, what carries over, and the honest gaps (async leaf dispatch, CronJob on-ramp) - supersede ADRs 0002/0003/0004/0009/0015/0018/0019/0023 and - with concern-preserving wording - 0017/0025/0027; supersede the eight Knative-path specs (m2, m3, m4, m7, async-leaf, scheduled-leaf, P0', P3) - update the ADR index and the RA1 registry row (Phase 4 executing) Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
The deciders plan to move faster than the original April 2027 floor, so removal is now planned no earlier than end of October 2026 - still only once the remaining Knative users have confirmed migration. Updated in the ADR's Decision and both places in the migration guide. Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
…ripts Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
… (ADR-0041) Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
ingpaolodettori-dev
left a comment
There was a problem hiding this comment.
Summary
The narrative flip is consistent. I reviewed only the four commits on top of #485 (git diff 84ef6e1 c9ecb66); the #485 commits are identical and get their own review there. The README now leads with P6, and the Legacy section and TOC anchor (#legacy-the-knative--keda-deployment-deprecated) resolve. No other doc linked the removed "Deploy on OpenShift" anchor. Every path in the new repository tree exists. CLAUDE.md's node:24-alpine matches the Dockerfile's two FROM lines. The Makefile/Dockerfile/build.yaml changes are comments only, and every walkthrough they point at (vm-multi-user-demo.md, vm-two-user-acceptance.md, deploy/vm/README.md) exists. The root CLAUDE.md change is benign descriptive text (no commands or hooks). It sits outside .claude/, so the §3.5a gate doesn't apply.
One suggestion: the compose Quick Start omits the model credential install.sh needs. Plus one nit. The #485 findings (the Discussions links, which are disabled on this repo, and two ADR nits) also show in this diff until #485 merges. Fix them there.
Author: pdettori (MEMBER — maintainer)
Areas reviewed: Docs (README, CLAUDE.md, demos), Makefile, Dockerfile, CI (build.yaml, comment-only)
Agent/IDE config (.claude/.vscode): none (root CLAUDE.md touched; read in full, text only)
Commits: 12 commits (8 from #485 + 4 narrative), all signed-off: yes
CI status: passing (check, lint, proto, deploy-scripts, k8s-kind-e2e, microvm-gates, hadolint, CodeQL, Trivy, DCO)
| export ANTHROPIC_API_KEY=sk-... # ...or a gateway: ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN | ||
|
|
||
| ./deploy/knative/setup-kind.sh # installs Knative + Kourier, Redis, the sandbox, and KEDA | ||
| ./deploy/compose/install.sh |
There was a problem hiding this comment.
suggestion — This Quick Start won't produce a working turn as written. install.sh takes the model credential only from the environment (ANTHROPIC_API_KEY/ANTHROPIC_AUTH_TOKEN/OPENAI_API_KEY/SH_MODEL_*, see its header), and the prerequisite line says a credential is needed but never shows how to pass it. The clone is also unnecessary: install.sh fetches docker-compose.yml from main (SH_COMPOSE_BASE_URL) and runs the published images, so a checkout doesn't change what runs (that's the compose README's separate "From a checkout" path). Suggest mirroring deploy/compose/README.md "Try it":
curl -fsSL https://raw.githubusercontent.com/rossoctl/moca/main/deploy/compose/install.sh \
| ANTHROPIC_API_KEY=sk-ant-... sh(or ANTHROPIC_API_KEY=... ./deploy/compose/install.sh if you keep the clone). Then add one line pointing at the compose README for sending the first turn, since the section currently ends at bring-up.
| W1 --> R[runLeaf / executeTurn] | ||
| W2 --> R | ||
| R -->|gRPC relay| S[remote-worker sandbox<br/>container or microVM per Exec] | ||
| R <--> Q[(Redis<br/>session state + work queue)] |
There was a problem hiding this comment.
nit — The P6 architecture shows Redis as "session state + work queue" (and the component table at line 81 lists "work queue (Streams)"). Per this same README's Dispatch Archetypes note, the Streams work queue only feeds async fan-out, which is deprecated-path-only until the owed P6 follow-up lands. Consider dropping "work queue" from the P6 diagram/table, or marking it as "(async fan-out, deprecated path)".
Flip the narrative to the P6 runtime (ADR-0041)
PR3 of the ADR-0041 rollout. Docs and comments only — no behavior change.
Flipped surfaces
deploy/compose/install.sh, with pointers todeploy/vmanddeploy/k8s), "Legacy: the Knative + KEDA deployment (deprecated)" replacing "Deploy on OpenShift" (TOC fixed), How It Works, annotated Dispatch Archetypes (A and C marked "deprecated path only", with the owed-P6-follow-ups note), a new repository tree, and Evidence/Documentation/Status updates.k8s-sandbox,knative-server(name historical — P6-load-bearing),deploy/knative(DEPRECATED) plus the addeddeploy/k8sline; Dockerfile comment fixed tonode:24-alpine.deploy/knative/scripts (demo-remote-sandbox,demo-promoted-workflow,demo-multiuser,mocactl-quickstart), each pointing at a current-runtime walkthrough.kubectlinstall (it serves only the deprecated path'sKubectlTransport) and above theCMDentrypoint (the HTTP server is the Knative Service's container; the P6 supervisor forkssrc/worker.tsinstead).moca-sandboxmatrix entry labeled as the deprecated-path image (servessetup-ocp.shonly).moca-demo,remote-sandbox-demo,promoted-workflow-demo), each pointing atvm-multi-user-demo.md; index rows prefixed "(deprecated path)"; the SMOKE.md mention annotated. Thevm-*walkthroughs are untouched.Dead-end check (README)
grep -n "deploy/knative\|Knative\|KEDA" README.md→ 13 hits, every one in an allowed place: the intro deprecation callout, the TOC, the Legacy section, the annotated Dispatch Archetypes, the labeled repository-tree entry, the annotated Evidence bullet, the Roadmap's historical reference, and the migration-guide link.Verification
make lint— exit 0 (shellcheck, prettier, hadolint — includes the Dockerfile comments)make typecheck— exit 0make test-deploy— exit 0Assisted-By: Claude (Anthropic AI) noreply@anthropic.com