docs(qa): four more platform-checklist items read back organization_id on sys_metadata_activation, which has no such column #15253

Description

@hotlong

Blocked-by: #15154

Four more platform-checklist items ask a runner to read back organization_id on a
sys_metadata_activation row. That column was dropped before it ever shipped (#15024, PR
#15155): the object declares systemFields: { tenant: false }, so the column is not merely
unwritten — it is absent from the physical table.

#15154 enumerated the staleness in platform-core.activation-ledger-row-contract and
(lightly) in access-security.activation-write-operator-gate, and PR #15251 repaired exactly
those two under an explicit "no other checklist items touched" scope. The sweep for that work
found four siblings the card did not name. Recording them rather than widening that PR.

The four

itemarea filestale sites
platform-core.activation-ledger-registration-homeareas/platform-core.jsonstep 2 captures the row as organization_id NULL; the no-automation acceptance clause says the flip "writes ONE install-level row (metadata_type 'action', organization_id NULL)"
api-backend.packaged-action-disabled-dispatchareas/api-backend.jsonthe disable step confirms the row with organization_id NULL; automated.ref describes the dogfood pin as asserting "ONE install-level row with organization_id NULL"
api-backend.action-activation-door-contractareas/api-backend.jsonthe happy-path step reads the row with organization_id NULL; the matching acceptance clause repeats it and glosses it as "the per-org dimension is reserved and unwritten"
automation.packaged-flow-disable-durableareas/automation.jsonthe ledger read step records organization_id as one of the fields to capture; the durability clause asserts organization_id NULL with the gloss "§5 reserves the column"; a source line still cites "org-carrying rows skipped on read" and "organization_id never written"

Why this is worse than a wording nit

⛔ These are not correctable by swapping NULL for a different value — the read must be
inverted into a key-set assertion. Once the column is gone, a value check of the shape
row.organization_id ?? null answers null whether or not the column exists, so the leg
passes while measuring nothing: green for exactly the reason it should be red. #15024 hit
this on the dogfood pin and inverted it to
expect(Object.keys(row)).not.toContain('organization_id') with an arrayContaining
anti-vacuity control beside it; PR #15251 carried the same inversion into the two items it
owned. These four still carry the vacuous spelling.

Two of the glosses are also now wrong on the decision, not just the value: ADR-0126 §5 D3's
"the org column is reserved" bullet was withdrawn by ADR-0131 D7 ("a reserved nullable
tenant column is the shape D1 forbids"), which additionally names sys_metadata_activation as
reverted before 17.3 and not returning. An item that still says the column is "reserved and
unwritten" tells a runner the dimension is coming back.

Not urgent for CI

pnpm check:platform-checklist is deliberately not wired into lint.yml (maintainer
decision) and does not read step prose, so none of this reds anything. It misleads a human
runner — the same cost #15154 recorded.

Suggested shape

One docs-only PR over the three area files, following the pattern PR #15251 already landed:
invert each read-back to a key-set assertion, correct the two "reserved" glosses to cite
ADR-0131 D7, drop the retired org-row-skip clause from the automation item's source line,
and bump revision plus a history entry on each of the four (the checklist's change
lifecycle, docs/qa/platform-checklist/README.md).

Refs: #15154 · PR #15251 · #15024


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
       blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
      }
      } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
      })();
      (function(){
      try {
      var __m = "github.com";
      var __re = new RegExp('^' + "github\\.com" + '
      
      Skip to content

      docs(qa): four more platform-checklist items read back organization_id on sys_metadata_activation, which has no such column #15253

      Description

      @hotlong

      Blocked-by: #15154

      Four more platform-checklist items ask a runner to read back organization_id on a
      sys_metadata_activation row. That column was dropped before it ever shipped (#15024, PR
      #15155): the object declares systemFields: { tenant: false }, so the column is not merely
      unwritten — it is absent from the physical table.

      #15154 enumerated the staleness in platform-core.activation-ledger-row-contract and
      (lightly) in access-security.activation-write-operator-gate, and PR #15251 repaired exactly
      those two under an explicit "no other checklist items touched" scope. The sweep for that work
      found four siblings the card did not name. Recording them rather than widening that PR.

      The four

      itemarea filestale sites
      platform-core.activation-ledger-registration-homeareas/platform-core.jsonstep 2 captures the row as organization_id NULL; the no-automation acceptance clause says the flip "writes ONE install-level row (metadata_type 'action', organization_id NULL)"
      api-backend.packaged-action-disabled-dispatchareas/api-backend.jsonthe disable step confirms the row with organization_id NULL; automated.ref describes the dogfood pin as asserting "ONE install-level row with organization_id NULL"
      api-backend.action-activation-door-contractareas/api-backend.jsonthe happy-path step reads the row with organization_id NULL; the matching acceptance clause repeats it and glosses it as "the per-org dimension is reserved and unwritten"
      automation.packaged-flow-disable-durableareas/automation.jsonthe ledger read step records organization_id as one of the fields to capture; the durability clause asserts organization_id NULL with the gloss "§5 reserves the column"; a source line still cites "org-carrying rows skipped on read" and "organization_id never written"

      Why this is worse than a wording nit

      ⛔ These are not correctable by swapping NULL for a different value — the read must be
      inverted into a key-set assertion. Once the column is gone, a value check of the shape
      row.organization_id ?? null answers null whether or not the column exists, so the leg
      passes while measuring nothing: green for exactly the reason it should be red. #15024 hit
      this on the dogfood pin and inverted it to
      expect(Object.keys(row)).not.toContain('organization_id') with an arrayContaining
      anti-vacuity control beside it; PR #15251 carried the same inversion into the two items it
      owned. These four still carry the vacuous spelling.

      Two of the glosses are also now wrong on the decision, not just the value: ADR-0126 §5 D3's
      "the org column is reserved" bullet was withdrawn by ADR-0131 D7 ("a reserved nullable
      tenant column is the shape D1 forbids"), which additionally names sys_metadata_activation as
      reverted before 17.3 and not returning. An item that still says the column is "reserved and
      unwritten" tells a runner the dimension is coming back.

      Not urgent for CI

      pnpm check:platform-checklist is deliberately not wired into lint.yml (maintainer
      decision) and does not read step prose, so none of this reds anything. It misleads a human
      runner — the same cost #15154 recorded.

      Suggested shape

      One docs-only PR over the three area files, following the pattern PR #15251 already landed:
      invert each read-back to a key-set assertion, correct the two "reserved" glosses to cite
      ADR-0131 D7, drop the retired org-row-skip clause from the automation item's source line,
      and bump revision plus a history entry on each of the four (the checklist's change
      lifecycle, docs/qa/platform-checklist/README.md).

      Refs: #15154 · PR #15251 · #15024


      Generated by Claude Code

      Activity

      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

      Metadata

      Metadata

      Assignees

      No one assigned

        Type

        No type

        Projects

        No projects

          Milestone

          No milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
          Skip to content

          docs(qa): four more platform-checklist items read back organization_id on sys_metadata_activation, which has no such column #15253

          Description

          @hotlong

          Blocked-by: #15154

          Four more platform-checklist items ask a runner to read back organization_id on a
          sys_metadata_activation row. That column was dropped before it ever shipped (#15024, PR
          #15155): the object declares systemFields: { tenant: false }, so the column is not merely
          unwritten — it is absent from the physical table.

          #15154 enumerated the staleness in platform-core.activation-ledger-row-contract and
          (lightly) in access-security.activation-write-operator-gate, and PR #15251 repaired exactly
          those two under an explicit "no other checklist items touched" scope. The sweep for that work
          found four siblings the card did not name. Recording them rather than widening that PR.

          The four

          itemarea filestale sites
          platform-core.activation-ledger-registration-homeareas/platform-core.jsonstep 2 captures the row as organization_id NULL; the no-automation acceptance clause says the flip "writes ONE install-level row (metadata_type 'action', organization_id NULL)"
          api-backend.packaged-action-disabled-dispatchareas/api-backend.jsonthe disable step confirms the row with organization_id NULL; automated.ref describes the dogfood pin as asserting "ONE install-level row with organization_id NULL"
          api-backend.action-activation-door-contractareas/api-backend.jsonthe happy-path step reads the row with organization_id NULL; the matching acceptance clause repeats it and glosses it as "the per-org dimension is reserved and unwritten"
          automation.packaged-flow-disable-durableareas/automation.jsonthe ledger read step records organization_id as one of the fields to capture; the durability clause asserts organization_id NULL with the gloss "§5 reserves the column"; a source line still cites "org-carrying rows skipped on read" and "organization_id never written"

          Why this is worse than a wording nit

          ⛔ These are not correctable by swapping NULL for a different value — the read must be
          inverted into a key-set assertion. Once the column is gone, a value check of the shape
          row.organization_id ?? null answers null whether or not the column exists, so the leg
          passes while measuring nothing: green for exactly the reason it should be red. #15024 hit
          this on the dogfood pin and inverted it to
          expect(Object.keys(row)).not.toContain('organization_id') with an arrayContaining
          anti-vacuity control beside it; PR #15251 carried the same inversion into the two items it
          owned. These four still carry the vacuous spelling.

          Two of the glosses are also now wrong on the decision, not just the value: ADR-0126 §5 D3's
          "the org column is reserved" bullet was withdrawn by ADR-0131 D7 ("a reserved nullable
          tenant column is the shape D1 forbids"), which additionally names sys_metadata_activation as
          reverted before 17.3 and not returning. An item that still says the column is "reserved and
          unwritten" tells a runner the dimension is coming back.

          Not urgent for CI

          pnpm check:platform-checklist is deliberately not wired into lint.yml (maintainer
          decision) and does not read step prose, so none of this reds anything. It misleads a human
          runner — the same cost #15154 recorded.

          Suggested shape

          One docs-only PR over the three area files, following the pattern PR #15251 already landed:
          invert each read-back to a key-set assertion, correct the two "reserved" glosses to cite
          ADR-0131 D7, drop the retired org-row-skip clause from the automation item's source line,
          and bump revision plus a history entry on each of the four (the checklist's change
          lifecycle, docs/qa/platform-checklist/README.md).

          Refs: #15154 · PR #15251 · #15024


          Generated by Claude Code

          Activity

          Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

          Metadata

          Metadata

          Assignees

          No one assigned

            Type

            No type

            Projects

            No projects

              Milestone

              No milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              docs(qa): four more platform-checklist items read back organization_id on sys_metadata_activation, which has no such column #15253

              Description

              @hotlong

              Blocked-by: #15154

              Four more platform-checklist items ask a runner to read back organization_id on a
              sys_metadata_activation row. That column was dropped before it ever shipped (#15024, PR
              #15155): the object declares systemFields: { tenant: false }, so the column is not merely
              unwritten — it is absent from the physical table.

              #15154 enumerated the staleness in platform-core.activation-ledger-row-contract and
              (lightly) in access-security.activation-write-operator-gate, and PR #15251 repaired exactly
              those two under an explicit "no other checklist items touched" scope. The sweep for that work
              found four siblings the card did not name. Recording them rather than widening that PR.

              The four

              itemarea filestale sites
              platform-core.activation-ledger-registration-homeareas/platform-core.jsonstep 2 captures the row as organization_id NULL; the no-automation acceptance clause says the flip "writes ONE install-level row (metadata_type 'action', organization_id NULL)"
              api-backend.packaged-action-disabled-dispatchareas/api-backend.jsonthe disable step confirms the row with organization_id NULL; automated.ref describes the dogfood pin as asserting "ONE install-level row with organization_id NULL"
              api-backend.action-activation-door-contractareas/api-backend.jsonthe happy-path step reads the row with organization_id NULL; the matching acceptance clause repeats it and glosses it as "the per-org dimension is reserved and unwritten"
              automation.packaged-flow-disable-durableareas/automation.jsonthe ledger read step records organization_id as one of the fields to capture; the durability clause asserts organization_id NULL with the gloss "§5 reserves the column"; a source line still cites "org-carrying rows skipped on read" and "organization_id never written"

              Why this is worse than a wording nit

              ⛔ These are not correctable by swapping NULL for a different value — the read must be
              inverted into a key-set assertion. Once the column is gone, a value check of the shape
              row.organization_id ?? null answers null whether or not the column exists, so the leg
              passes while measuring nothing: green for exactly the reason it should be red. #15024 hit
              this on the dogfood pin and inverted it to
              expect(Object.keys(row)).not.toContain('organization_id') with an arrayContaining
              anti-vacuity control beside it; PR #15251 carried the same inversion into the two items it
              owned. These four still carry the vacuous spelling.

              Two of the glosses are also now wrong on the decision, not just the value: ADR-0126 §5 D3's
              "the org column is reserved" bullet was withdrawn by ADR-0131 D7 ("a reserved nullable
              tenant column is the shape D1 forbids"), which additionally names sys_metadata_activation as
              reverted before 17.3 and not returning. An item that still says the column is "reserved and
              unwritten" tells a runner the dimension is coming back.

              Not urgent for CI

              pnpm check:platform-checklist is deliberately not wired into lint.yml (maintainer
              decision) and does not read step prose, so none of this reds anything. It misleads a human
              runner — the same cost #15154 recorded.

              Suggested shape

              One docs-only PR over the three area files, following the pattern PR #15251 already landed:
              invert each read-back to a key-set assertion, correct the two "reserved" glosses to cite
              ADR-0131 D7, drop the retired org-row-skip clause from the automation item's source line,
              and bump revision plus a history entry on each of the four (the checklist's change
              lifecycle, docs/qa/platform-checklist/README.md).

              Refs: #15154 · PR #15251 · #15024


              Generated by Claude Code

              Activity

              Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

              Metadata

              Metadata

              Assignees

              No one assigned

                Type

                No type

                Projects

                No projects

                  Milestone

                  No milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions

                  , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
                  Skip to content

                  docs(qa): four more platform-checklist items read back organization_id on sys_metadata_activation, which has no such column #15253

                  Description

                  @hotlong

                  Blocked-by: #15154

                  Four more platform-checklist items ask a runner to read back organization_id on a
                  sys_metadata_activation row. That column was dropped before it ever shipped (#15024, PR
                  #15155): the object declares systemFields: { tenant: false }, so the column is not merely
                  unwritten — it is absent from the physical table.

                  #15154 enumerated the staleness in platform-core.activation-ledger-row-contract and
                  (lightly) in access-security.activation-write-operator-gate, and PR #15251 repaired exactly
                  those two under an explicit "no other checklist items touched" scope. The sweep for that work
                  found four siblings the card did not name. Recording them rather than widening that PR.

                  The four

                  itemarea filestale sites
                  platform-core.activation-ledger-registration-homeareas/platform-core.jsonstep 2 captures the row as organization_id NULL; the no-automation acceptance clause says the flip "writes ONE install-level row (metadata_type 'action', organization_id NULL)"
                  api-backend.packaged-action-disabled-dispatchareas/api-backend.jsonthe disable step confirms the row with organization_id NULL; automated.ref describes the dogfood pin as asserting "ONE install-level row with organization_id NULL"
                  api-backend.action-activation-door-contractareas/api-backend.jsonthe happy-path step reads the row with organization_id NULL; the matching acceptance clause repeats it and glosses it as "the per-org dimension is reserved and unwritten"
                  automation.packaged-flow-disable-durableareas/automation.jsonthe ledger read step records organization_id as one of the fields to capture; the durability clause asserts organization_id NULL with the gloss "§5 reserves the column"; a source line still cites "org-carrying rows skipped on read" and "organization_id never written"

                  Why this is worse than a wording nit

                  ⛔ These are not correctable by swapping NULL for a different value — the read must be
                  inverted into a key-set assertion. Once the column is gone, a value check of the shape
                  row.organization_id ?? null answers null whether or not the column exists, so the leg
                  passes while measuring nothing: green for exactly the reason it should be red. #15024 hit
                  this on the dogfood pin and inverted it to
                  expect(Object.keys(row)).not.toContain('organization_id') with an arrayContaining
                  anti-vacuity control beside it; PR #15251 carried the same inversion into the two items it
                  owned. These four still carry the vacuous spelling.

                  Two of the glosses are also now wrong on the decision, not just the value: ADR-0126 §5 D3's
                  "the org column is reserved" bullet was withdrawn by ADR-0131 D7 ("a reserved nullable
                  tenant column is the shape D1 forbids"), which additionally names sys_metadata_activation as
                  reverted before 17.3 and not returning. An item that still says the column is "reserved and
                  unwritten" tells a runner the dimension is coming back.

                  Not urgent for CI

                  pnpm check:platform-checklist is deliberately not wired into lint.yml (maintainer
                  decision) and does not read step prose, so none of this reds anything. It misleads a human
                  runner — the same cost #15154 recorded.

                  Suggested shape

                  One docs-only PR over the three area files, following the pattern PR #15251 already landed:
                  invert each read-back to a key-set assertion, correct the two "reserved" glosses to cite
                  ADR-0131 D7, drop the retired org-row-skip clause from the automation item's source line,
                  and bump revision plus a history entry on each of the four (the checklist's change
                  lifecycle, docs/qa/platform-checklist/README.md).

                  Refs: #15154 · PR #15251 · #15024


                  Generated by Claude Code

                  Activity

                  Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                  Metadata

                  Metadata

                  Assignees

                  No one assigned

                    Type

                    No type

                    Projects

                    No projects

                      Milestone

                      No milestone

                      Relationships

                      None yet

                      Development

                      No branches or pull requests

                      Issue actions

                      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                      Skip to content

                      docs(qa): four more platform-checklist items read back organization_id on sys_metadata_activation, which has no such column #15253

                      Description

                      @hotlong

                      Blocked-by: #15154

                      Four more platform-checklist items ask a runner to read back organization_id on a
                      sys_metadata_activation row. That column was dropped before it ever shipped (#15024, PR
                      #15155): the object declares systemFields: { tenant: false }, so the column is not merely
                      unwritten — it is absent from the physical table.

                      #15154 enumerated the staleness in platform-core.activation-ledger-row-contract and
                      (lightly) in access-security.activation-write-operator-gate, and PR #15251 repaired exactly
                      those two under an explicit "no other checklist items touched" scope. The sweep for that work
                      found four siblings the card did not name. Recording them rather than widening that PR.

                      The four

                      itemarea filestale sites
                      platform-core.activation-ledger-registration-homeareas/platform-core.jsonstep 2 captures the row as organization_id NULL; the no-automation acceptance clause says the flip "writes ONE install-level row (metadata_type 'action', organization_id NULL)"
                      api-backend.packaged-action-disabled-dispatchareas/api-backend.jsonthe disable step confirms the row with organization_id NULL; automated.ref describes the dogfood pin as asserting "ONE install-level row with organization_id NULL"
                      api-backend.action-activation-door-contractareas/api-backend.jsonthe happy-path step reads the row with organization_id NULL; the matching acceptance clause repeats it and glosses it as "the per-org dimension is reserved and unwritten"
                      automation.packaged-flow-disable-durableareas/automation.jsonthe ledger read step records organization_id as one of the fields to capture; the durability clause asserts organization_id NULL with the gloss "§5 reserves the column"; a source line still cites "org-carrying rows skipped on read" and "organization_id never written"

                      Why this is worse than a wording nit

                      ⛔ These are not correctable by swapping NULL for a different value — the read must be
                      inverted into a key-set assertion. Once the column is gone, a value check of the shape
                      row.organization_id ?? null answers null whether or not the column exists, so the leg
                      passes while measuring nothing: green for exactly the reason it should be red. #15024 hit
                      this on the dogfood pin and inverted it to
                      expect(Object.keys(row)).not.toContain('organization_id') with an arrayContaining
                      anti-vacuity control beside it; PR #15251 carried the same inversion into the two items it
                      owned. These four still carry the vacuous spelling.

                      Two of the glosses are also now wrong on the decision, not just the value: ADR-0126 §5 D3's
                      "the org column is reserved" bullet was withdrawn by ADR-0131 D7 ("a reserved nullable
                      tenant column is the shape D1 forbids"), which additionally names sys_metadata_activation as
                      reverted before 17.3 and not returning. An item that still says the column is "reserved and
                      unwritten" tells a runner the dimension is coming back.

                      Not urgent for CI

                      pnpm check:platform-checklist is deliberately not wired into lint.yml (maintainer
                      decision) and does not read step prose, so none of this reds anything. It misleads a human
                      runner — the same cost #15154 recorded.

                      Suggested shape

                      One docs-only PR over the three area files, following the pattern PR #15251 already landed:
                      invert each read-back to a key-set assertion, correct the two "reserved" glosses to cite
                      ADR-0131 D7, drop the retired org-row-skip clause from the automation item's source line,
                      and bump revision plus a history entry on each of the four (the checklist's change
                      lifecycle, docs/qa/platform-checklist/README.md).

                      Refs: #15154 · PR #15251 · #15024


                      Generated by Claude Code

                      Activity

                      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                      Metadata

                      Metadata

                      Assignees

                      No one assigned

                        Type

                        No type

                        Projects

                        No projects

                          Milestone

                          No milestone

                          Relationships

                          None yet

                          Development

                          No branches or pull requests

                          Issue actions

                          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                          Skip to content

                          docs(qa): four more platform-checklist items read back organization_id on sys_metadata_activation, which has no such column #15253

                          Description

                          @hotlong

                          Blocked-by: #15154

                          Four more platform-checklist items ask a runner to read back organization_id on a
                          sys_metadata_activation row. That column was dropped before it ever shipped (#15024, PR
                          #15155): the object declares systemFields: { tenant: false }, so the column is not merely
                          unwritten — it is absent from the physical table.

                          #15154 enumerated the staleness in platform-core.activation-ledger-row-contract and
                          (lightly) in access-security.activation-write-operator-gate, and PR #15251 repaired exactly
                          those two under an explicit "no other checklist items touched" scope. The sweep for that work
                          found four siblings the card did not name. Recording them rather than widening that PR.

                          The four

                          itemarea filestale sites
                          platform-core.activation-ledger-registration-homeareas/platform-core.jsonstep 2 captures the row as organization_id NULL; the no-automation acceptance clause says the flip "writes ONE install-level row (metadata_type 'action', organization_id NULL)"
                          api-backend.packaged-action-disabled-dispatchareas/api-backend.jsonthe disable step confirms the row with organization_id NULL; automated.ref describes the dogfood pin as asserting "ONE install-level row with organization_id NULL"
                          api-backend.action-activation-door-contractareas/api-backend.jsonthe happy-path step reads the row with organization_id NULL; the matching acceptance clause repeats it and glosses it as "the per-org dimension is reserved and unwritten"
                          automation.packaged-flow-disable-durableareas/automation.jsonthe ledger read step records organization_id as one of the fields to capture; the durability clause asserts organization_id NULL with the gloss "§5 reserves the column"; a source line still cites "org-carrying rows skipped on read" and "organization_id never written"

                          Why this is worse than a wording nit

                          ⛔ These are not correctable by swapping NULL for a different value — the read must be
                          inverted into a key-set assertion. Once the column is gone, a value check of the shape
                          row.organization_id ?? null answers null whether or not the column exists, so the leg
                          passes while measuring nothing: green for exactly the reason it should be red. #15024 hit
                          this on the dogfood pin and inverted it to
                          expect(Object.keys(row)).not.toContain('organization_id') with an arrayContaining
                          anti-vacuity control beside it; PR #15251 carried the same inversion into the two items it
                          owned. These four still carry the vacuous spelling.

                          Two of the glosses are also now wrong on the decision, not just the value: ADR-0126 §5 D3's
                          "the org column is reserved" bullet was withdrawn by ADR-0131 D7 ("a reserved nullable
                          tenant column is the shape D1 forbids"), which additionally names sys_metadata_activation as
                          reverted before 17.3 and not returning. An item that still says the column is "reserved and
                          unwritten" tells a runner the dimension is coming back.

                          Not urgent for CI

                          pnpm check:platform-checklist is deliberately not wired into lint.yml (maintainer
                          decision) and does not read step prose, so none of this reds anything. It misleads a human
                          runner — the same cost #15154 recorded.

                          Suggested shape

                          One docs-only PR over the three area files, following the pattern PR #15251 already landed:
                          invert each read-back to a key-set assertion, correct the two "reserved" glosses to cite
                          ADR-0131 D7, drop the retired org-row-skip clause from the automation item's source line,
                          and bump revision plus a history entry on each of the four (the checklist's change
                          lifecycle, docs/qa/platform-checklist/README.md).

                          Refs: #15154 · PR #15251 · #15024


                          Generated by Claude Code

                          Activity

                          Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                          Metadata

                          Metadata

                          Assignees

                          No one assigned

                            Type

                            No type

                            Projects

                            No projects

                              Milestone

                              No milestone

                              Relationships

                              None yet

                              Development

                              No branches or pull requests

                              Issue actions

                              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                              Skip to content

                              docs(qa): four more platform-checklist items read back organization_id on sys_metadata_activation, which has no such column #15253

                              Description

                              @hotlong

                              Blocked-by: #15154

                              Four more platform-checklist items ask a runner to read back organization_id on a
                              sys_metadata_activation row. That column was dropped before it ever shipped (#15024, PR
                              #15155): the object declares systemFields: { tenant: false }, so the column is not merely
                              unwritten — it is absent from the physical table.

                              #15154 enumerated the staleness in platform-core.activation-ledger-row-contract and
                              (lightly) in access-security.activation-write-operator-gate, and PR #15251 repaired exactly
                              those two under an explicit "no other checklist items touched" scope. The sweep for that work
                              found four siblings the card did not name. Recording them rather than widening that PR.

                              The four

                              itemarea filestale sites
                              platform-core.activation-ledger-registration-homeareas/platform-core.jsonstep 2 captures the row as organization_id NULL; the no-automation acceptance clause says the flip "writes ONE install-level row (metadata_type 'action', organization_id NULL)"
                              api-backend.packaged-action-disabled-dispatchareas/api-backend.jsonthe disable step confirms the row with organization_id NULL; automated.ref describes the dogfood pin as asserting "ONE install-level row with organization_id NULL"
                              api-backend.action-activation-door-contractareas/api-backend.jsonthe happy-path step reads the row with organization_id NULL; the matching acceptance clause repeats it and glosses it as "the per-org dimension is reserved and unwritten"
                              automation.packaged-flow-disable-durableareas/automation.jsonthe ledger read step records organization_id as one of the fields to capture; the durability clause asserts organization_id NULL with the gloss "§5 reserves the column"; a source line still cites "org-carrying rows skipped on read" and "organization_id never written"

                              Why this is worse than a wording nit

                              ⛔ These are not correctable by swapping NULL for a different value — the read must be
                              inverted into a key-set assertion. Once the column is gone, a value check of the shape
                              row.organization_id ?? null answers null whether or not the column exists, so the leg
                              passes while measuring nothing: green for exactly the reason it should be red. #15024 hit
                              this on the dogfood pin and inverted it to
                              expect(Object.keys(row)).not.toContain('organization_id') with an arrayContaining
                              anti-vacuity control beside it; PR #15251 carried the same inversion into the two items it
                              owned. These four still carry the vacuous spelling.

                              Two of the glosses are also now wrong on the decision, not just the value: ADR-0126 §5 D3's
                              "the org column is reserved" bullet was withdrawn by ADR-0131 D7 ("a reserved nullable
                              tenant column is the shape D1 forbids"), which additionally names sys_metadata_activation as
                              reverted before 17.3 and not returning. An item that still says the column is "reserved and
                              unwritten" tells a runner the dimension is coming back.

                              Not urgent for CI

                              pnpm check:platform-checklist is deliberately not wired into lint.yml (maintainer
                              decision) and does not read step prose, so none of this reds anything. It misleads a human
                              runner — the same cost #15154 recorded.

                              Suggested shape

                              One docs-only PR over the three area files, following the pattern PR #15251 already landed:
                              invert each read-back to a key-set assertion, correct the two "reserved" glosses to cite
                              ADR-0131 D7, drop the retired org-row-skip clause from the automation item's source line,
                              and bump revision plus a history entry on each of the four (the checklist's change
                              lifecycle, docs/qa/platform-checklist/README.md).

                              Refs: #15154 · PR #15251 · #15024


                              Generated by Claude Code

                              Activity

                              Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                              Metadata

                              Metadata

                              Assignees

                              No one assigned

                                Type

                                No type

                                Projects

                                No projects

                                  Milestone

                                  No milestone

                                  Relationships

                                  None yet

                                  Development

                                  No branches or pull requests

                                  Issue actions