Repository navigation
docs: sequence the two-user VM demo against MI1 S2's first-subject pin (#407) - #465
Conversation
rossoctl#407) S2's pin makes MOCA_TENANCY=single serve only the first subject, and multi is only honest once S5 binds each container sandbox to one owner. Decide the order: the two-user demo runs at v0.5.1 (tagged on this change's merge commit, the last release before S2) until S5, then on main under multi. v0.5.0 predates rossoctl#463's sandbox git identity, which the multi-user demo relies on. - MI1 §6.6 records the sequencing and that setup-vm.sh adds no refusal of its own (it cannot tell how many people will log in); §10.3 points deploy/vm at it. - MI1 §12.2 requires an S2 test pinning 403 single_tenant_deployment, so the runbooks can quote it. - Both VM runbooks and deploy/vm/README.md state the tag and the refusal code. Fixes rossoctl#407 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
This is a docs-only decision record for #407. The two-user VM demo runs at v0.5.1 under single until MI1 S5, then on main under multi. The decision is written into MI1 §6.6/§10.3/§12.2, both VM runbooks and deploy/vm/README.md, and the statements agree across all five places. I checked the claims against the repo: v0.5.0 is 41ce3eb and predates #463's merge (6831e9d); no pin code exists yet (no single_tenant_deployment outside docs); and the §9.1, §6.6 and §10.3 cross-references and the runbook step anchors (0a, 1d, Act 3/Act 5) all resolve. Nothing blocks. The suggestions are below.
Author: pdettori (MEMBER, maintainer)
Areas reviewed: Docs (MI1 spec, docs/demos/vm-two-user-acceptance.md, docs/demos/vm-multi-user-demo.md, deploy/vm/README.md)
Agent/IDE config (.claude/.vscode): none
Commits: 1 commit, all signed-off: yes
CI status: passing (all 13 checks)
Non-inline notes
v0.5.1doesn't exist until someone tags the merge. Both runbooks now saygit checkout v0.5.1, which fails until the post-mergegit tagstep in the PR body is done. Please tag right after merging, or say "if not yet tagged, use<merge-sha>" in 0a.Fixes #407will close the issue while two of its asks are still open. Re-pinning both runbooks at S2 and the S2 pin test are written into §12.2 but not done. ConsiderRefs #407plus a follow-up issue tracked under S2, so the re-pin isn't lost once #407 is closed.- The multi-user demo's fix-list row 5 (
vm-multi-user-demo.md:735, "The guest has no git identity … #415") and the 4d narrative at :588 still describe the pre-#463 behaviour. The PR picksv0.5.1overv0.5.0specifically because #463 fixed that, so row 5 should read "Fixed (#463)", and 4d's "Expected" may change. Those lines are outside the diff, so this isn't an inline comment.
|
|
||
| S2 does not add a refusal to `setup-vm.sh`. The script cannot tell a two-user posture from a | ||
| one-user one, since anyone with a GitHub account can log in through the same OAuth app. The control | ||
| plane's `403 single_tenant_deployment` is the refusal, and its message names `MOCA_TENANCY=multi`. |
There was a problem hiding this comment.
suggestion: The refusal's message naming MOCA_TENANCY=multi conflicts with the paragraph above it. Between S2 and S5, multi on the container tier is the posture this section calls not honest (users share sandbox containers, §9.1), and nothing refuses it at startup until S5's owner-binding checks (§10.1's relay row). An operator who follows the 403 hint on a deploy/vm box in that window gets exactly that posture. Consider having the message (and §12.2's exact-value test at :776) also say that the container tier needs S5's owner binding, or point to §6.6 / the runbook, rather than naming multi as the fix outright.
There was a problem hiding this comment.
Agreed, fixed in 26513e0. §6.6 no longer has the message offer multi as the fix. It now says that serving a second user needs MOCA_TENANCY=multi with one owned sandbox per user, which on the container tier is S5, and it cites §6.6. The §12.2 exact-value test now checks that conditional wording instead of a bare multi.
…tagged fallback, rossoctl#463 identity - MI1 §6.6/§12.2: the 403 single_tenant_deployment message no longer offers MOCA_TENANCY=multi as the fix. Between S2 and S5 that is the posture §6.6 calls not honest, and nothing refuses it at startup, so the message makes multi conditional on per-user sandbox owner binding (S5 on the container tier) and cites §6.6; the S2 test pins that. - Both runbooks: if v0.5.1 is not tagged yet, check out rossoctl#465's merge commit, which it marks. - vm-multi-user-demo.md: fix-list row 5 reads Fixed (rossoctl#463), and 4d's run record says the failed first commit predates rossoctl#463. Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
|
Addressed in 26513e0:
|
ingpaolodettori-dev
left a comment
There was a problem hiding this comment.
Incremental review of b985c5b..26513e0 (docs only). Everything from the previous review is handled:
- §6.6 no longer has the 403 message offer
multias the fix. It makesmulticonditional on per-user owner binding (S5 on the container tier) and cites §6.6, and the §12.2 exact-value test wording matches. - Both runbooks fall back to #465's merge commit until
v0.5.1is tagged. vm-multi-user-demo.mdfix-list row 5 now reads "Fixed (#463)", and 4d notes that #463 removes the first-commit failure.- Keeping
Fixes #407is a reasonable call, since the re-pin and the pin test are now S2 requirements in MI1 §12.2.
I checked consistency across the head: no remaining text says the 403 "names MOCA_TENANCY=multi", and the v0.5.1/S5 sequencing agrees in the spec, both runbooks and deploy/vm/README.md.
Author: pdettori (MEMBER — maintainer)
Agent/IDE config (.claude/.vscode): none
Commits: 2, all signed-off
CI: passing (13/13)
Conflicts with rossoctl#464 and rossoctl#465 in deploy/k8s/README.md and the two VM demo guides. Kept main's newer rows and settings text; the token rows say the 15-minute API token renews itself, and the k8s README's sticky SH_API_TOKEN_TTL_SECONDS default is now 900 seconds, with a note that a longer value only stretches revocation latency. Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Paolo Dettori <dettori@us.ibm.com>
Fixes #407.
Decision
MI1 S2's first-subject pin makes
MOCA_TENANCY=singleserve only the first subject and refuse the rest with403 single_tenant_deployment. Switching toMOCA_TENANCY=multiis only honest after S5, because until then users share sandbox containers on the container tier. So the two-user VM demo is sequenced:v0.5.1, undersinglewith no pin.mainunderMOCA_TENANCY=multi, with one owned sandbox per user.Changes
setup-vm.shadds no refusal of its own, since it can't tell how many people will log in. The control plane's403is the refusal, and its message namesMOCA_TENANCY=multi.deploy/vmat §6.6.403/single_tenant_deployment. It also checks that the first subject is still served after a restart and thatmultinever writes the pin. When the test lands, the runbooks will quote its name.docs/demos/vm-two-user-acceptance.mdanddocs/demos/vm-multi-user-demo.md: the tenancy statement at the top, "Notes and limits" and the fix-list row now name the tag and the refusal code.deploy/vm/README.md: a new item under "What round one does not claim".After merge
Tag the merge commit:
The existing
v0.5.0(41ce3eb) stays where it is. It predates #463's sandbox git identity, which the multi-user demo relies on (fix list item 5).Still to do in S2: re-pin both runbooks and quote the pin test's name. Both are written into MI1 §12.2.
🤖 Assisted-By: Claude Code