Unify trunk on main: initialization → main #3

Merged
jschoubben merged 95 commits from initialization into main 2026-09-05 01:13:46 +00:00
Showing only changes of commit 7669d1c373 - Show all commits
+14 -7
View File
@@ -813,10 +813,13 @@ test("rotating a credential moves both ends, and the old one stops working", {
// A real login from the consumer's machine, over the private network — not over loopback, where
// pg_hba trusts anything and every password looks correct. That was done here once and the test
// passed for an afternoon while verifying nothing: a deliberately wrong password returned a row.
// As the role the provisioner made, into the database it made. The provisioner names a role
// after the machine and a database after what the module asked for — which is the contract, and
// getting it wrong here made the test fail against a provisioner that had done its job.
const login = async (password: string) =>
await on("laptop", `docker run --rm -e PGPASSWORD=${quote(password)} ` +
`${pinned("postgres")} psql -h anchor.internal -p 5433 -U realapp ` +
`-d postgres -qAt -c "select 1"`, 120_000);
`${pinned("postgres")} psql -h anchor.internal -p 5433 -U mesh_laptop ` +
`-d realapp -qAt -c "select 1"`, 120_000);
const diagnostics = async () =>
`provisioner:\n${(await on("anchor", `docker logs real-provisioner 2>&1 | tail -20`)).out}\n` +
@@ -957,15 +960,19 @@ test("model access is answered by a record, and the key the mesh took is one it
`> /tmp/assistant.json`);
await must("anchor", `docker cp /tmp/assistant.json mesh-control:/assistant.json`);
await mesh("module add /assistant.json");
await mesh("assign laptop assistant");
// The licences first. With none recorded at all the honest answer is that nothing provides
// model-access — correct, and a different refusal from the one being tested.
await mesh(`licence add anthropic personal --serves '{"model":"a-model"}'`);
await mesh(`licence add anthropic the-organisation --serves '{"model":"a-model"}'`);
// Refused until somebody says which, and the refusal names both candidates and the command.
// ADR 0024 warns this will be felt — which is correct, and correct is not the same as usable.
const refused = await on("anchor", `docker exec mesh-control /mesh-control plan laptop`);
assert.ok(!refused.ok, `a consumer was given model access without anybody saying which:\n${refused.out}`);
// Refused at the earliest point somebody could meet it: assigning records the assignment and
// then says the machine's set cannot be applied. The refusal names both candidates and the
// command. ADR 0024 warns this will be felt — which is correct, and correct is not the same as
// usable.
const refused = await on("anchor", `docker exec mesh-control /mesh-control assign laptop assistant`);
assert.ok(!refused.ok,
`a consumer was given model access without anybody saying which:\n${refused.out}`);
for (const want of ["personal", "the-organisation", "licence use"]) {
assert.match(refused.out, new RegExp(want),
`the refusal does not name ${want}:\n${refused.out}`);