Resync hq ADR references 0044-0054 -> 0039-0049 after the hq record reconciliation

This commit is contained in:
2026-09-05 12:49:16 +02:00
parent afc1ae1ecf
commit 6e8c18afff
140 changed files with 179 additions and 179 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
// postgres's admin client — postgres's own code, living in the module (novox/hq ADR 0044). Both this
// postgres's admin client — postgres's own code, living in the module (novox/hq ADR 0039). Both this
// module's tools and its provisioner import it, and nothing outside postgres does.
//
// SQL is executed through `psql`, not a wire-protocol driver: the module may take NO npm dependency
@@ -60,7 +60,7 @@ export class PostgresClient {
async query(sql: string, database = "postgres"): Promise<QueryResult> {
// Executed through `psql`, the way minio drives itself through `mc` and mailu through doveadm:
// node has no postgres wire client without an npm dependency, and the module owns its own code
// (ADR 0044), so it shells out to the client the postgres tools ship. CSV so the rows come back
// (ADR 0039), so it shells out to the client the postgres tools ship. CSV so the rows come back
// structured; ON_ERROR_STOP so a failed statement is an error here, not a success with a warning.
const { stdout } = await run(
"psql",
+1 -1
View File
@@ -1,6 +1,6 @@
// postgres's events entrypoint, loaded by the per-node tool host (the provisioner container runs
// ./provisioner separately). The database lifecycle events are EMITTED from the provisioner, where
// the lifecycle actually happens (novox/hq ADR 0046/0047):
// the lifecycle actually happens (novox/hq ADR 0041/0042):
// module.postgres.database.provisioned — a consumer's database + owning role was created
// module.postgres.database.deprovisioned — that database was removed
// Here in the tool host we react to them, keeping a lightweight audit trail of who was granted a
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@novox/module-postgres",
"version": "0.1.0",
"description": "postgres — provides the mesh postgres-database interface. Its client, provisioner, tools and events live here (novox/hq ADR 0044).",
"description": "postgres — provides the mesh postgres-database interface. Its client, provisioner, tools and events live here (novox/hq ADR 0039).",
"type": "module",
"private": true,
"dependencies": {
+2 -2
View File
@@ -1,12 +1,12 @@
// postgres's provisioner — the adapter that makes postgres a provider of the mesh
// `postgres-database` interface. The reconcile loop, the contributions file, and reading the mesh's
// minted password are the sdk harness's; this writes only the per-service half: how postgres creates
// and removes a consumer's database + owning role (novox/hq ADR 0044/0045/0053).
// and removes a consumer's database + owning role (novox/hq ADR 0039/0040/0048).
//
// The `postgres-database` interface: a consumer connects to a database it alone owns, as `as` with
// the password the mesh minted.
//
// **The role name and password are the mesh's, not the provisioner's (ADR 0053).** The mesh derives
// **The role name and password are the mesh's, not the provisioner's (ADR 0048).** The mesh derives
// the login and hands it to both ends, and mints the password. postgres creates a role and a
// same-named database under exactly that login — a name the consumer cannot learn is a database it
// cannot reach.
+1 -1
View File
@@ -1,4 +1,4 @@
// postgres's tools — postgres's own code (novox/hq ADR 0044), importing postgres's own client. They
// postgres's tools — postgres's own code (novox/hq ADR 0039), importing postgres's own client. They
// return structured data; the mesh serves them through the sdk's tool harness. Both call through
// PostgresClient.query(), the module's one pending execution boundary (see client.ts): the tool
// shapes are fixed and correct, and surface the TODO honestly until that boundary is backed.