@@ -20,8 +20,8 @@ import { SECRET_MASK, collectMaskedReadFields } from '@objectstack/objectql/core
2020// picker, the search companion and the approval inbox the day an author sets
2121// `nameField` — the same argument the SECRET_MASK import above makes.
2222import { referenceTargetOf , resolveDisplayField } from '@objectstack/spec/data' ;
23- // [#8707 / #10101] The platform-row organization resolver, imported rather
24- // than owned. It started life in THIS file (#8707 , honouring #8287's ruling)
23+ // [commit 1408fe385 / #10101] The platform-row organization resolver, imported rather
24+ // than owned. It started life in THIS file (commit 1408fe385 , honouring #8287's ruling)
2525// and was promoted to `@objectstack/metadata-core` by the maintainer ruling
2626// recorded on cloud#1395: ONE shared resolver for all three platform-row
2727// writers (audit, approvals, automation runs) — a per-writer copy of the
@@ -190,7 +190,7 @@ const SKIP_OBJECTS = new Set<string>([
190190 * #5038's bulk equivalents) had to answer "yes, a hook covers this object" for
191191 * every one of these tables and buy a row read for a handler that returns on
192192 * its first line. The knowledge existed; the contract had nowhere to put it
193- * until #5928 / PR #6575 added `excludeObjects`.
193+ * until #5928 / commit 69787f07b added `excludeObjects`.
194194 *
195195 * Why the negative face and not `object: [...]` with the complement: the object
196196 * universe is OPEN. `/meta` PUT registers new objects into a running engine and
@@ -223,7 +223,7 @@ const NOISE_FIELDS = new Set<string>([
223223] ) ;
224224
225225/**
226- * [#8144 / #8707 / #10101] `createFieldPresenceProbe` and
226+ * [#8144 / commit 1408fe385 / #10101] `createFieldPresenceProbe` and
227227 * `resolveRecordOrganizationField` were defined HERE until #10101 promoted
228228 * them to `@objectstack/metadata-core` (the cloud#1395 ruling: one shared
229229 * platform-row organization resolver for audit, approvals and automation
@@ -786,7 +786,7 @@ function renderMilestoneSummary(
786786 * puts a CLOSED vocabulary there — SQLSTATE (`42P01`, `23505`), mysql2's
787787 * symbolic names (`ER_NO_SUCH_TABLE`), SQLite's `SQLITE_*` — and ADR-0112 does
788788 * the same for the engine's own refusals (`ERR_SYSTEM_WRITE_ORGANIZATION_REQUIRED`,
789- * the cause measured on #14927 ). None of them varies per row.
789+ * the cause commit ab489388b records ). None of them varies per row.
790790 *
791791 * So the key is bounded by two sets fixed at BOOT — the declared object
792792 * registry and the driver's code vocabulary — and by nothing that grows with
@@ -1030,7 +1030,7 @@ export function installAuditWriters(
10301030 return def ;
10311031 } ;
10321032
1033- // [#8707 / #10101] The object's own organization COLUMN and value, through
1033+ // [commit 1408fe385 / #10101] The object's own organization COLUMN and value, through
10341034 // the SHARED platform-row resolver (`@objectstack/metadata-core`) — one
10351035 // memoized instance per installation, the same instance shape the approval
10361036 // writer and the automation-run recorder hold. See
@@ -1347,7 +1347,7 @@ export function installAuditWriters(
13471347 // a strict sys_user lookup); the service principal lands on `actor`.
13481348 const actorLabel : string | null =
13491349 userId ?? ( typeof sess . actor === 'string' && sess . actor . trim ( ) ? sess . actor . trim ( ) : null ) ;
1350- // [#8707 , honouring #8287's ruling] The audited RECORD'S OWN organization
1350+ // [commit 1408fe385 , honouring #8287's ruling] The audited RECORD'S OWN organization
13511351 // wins; the acting session's active organization is the fallback. ⛔ Do not
13521352 // flip this back to `sess.organizationId ?? recordOrgId`.
13531353 //
@@ -1399,7 +1399,7 @@ export function installAuditWriters(
13991399 // `readonly: true` (so `validateRecord` skips them) and this whole path is
14001400 // wrapped in swallow-and-report.
14011401 //
1402- // It survived a careful review of exactly these lines because #8707
1402+ // It survived a careful review of exactly these lines because commit 1408fe385
14031403 // reordered the two arms without evaluating either one: reordering two
14041404 // expressions does not tell you whether they resolve. The pins in
14051405 // `audit-writers.test.ts` (#9516 block) are what check this comment against
@@ -1689,7 +1689,7 @@ export function installAuditWriters(
16891689 * the declaration whether or not a creation happened. On insert only, a
16901690 * caller barred from *creating* an attachment on a `files: false` object
16911691 * could *move* an existing one onto it. `attachment-access-hooks.ts`
1692- * authorizes the re-point (#10091 : the new `parent_object`/`parent_id`
1692+ * authorizes the re-point (commit da891e0ef : the new `parent_object`/`parent_id`
16931693 * must be editable) — access, again, not capability.
16941694 */
16951695 const enforceFilesCapability = async ( ctx : HookContext ) => {
0 commit comments