Repository navigation
Description
epic:#26676#1 · zhuangjianguo · session_cdb7a717def74e719988f089fbaa18ff
The maintainer: 「全部立,继续测试验证」 (2026-11-04), on the seat's evaluation of which metadata types should support override.
Measured by the seat through the metadata API and in a browser on main 63b86b385d, on examples/app-crm and examples/app-showcase, each overriding through its paired customization package. No domain:* label is set: triage routes this card.
Business reason
ADR-0146 D2 promises one mechanism: an item in the customization package replaces the base's item, and removing it brings the base's back. These gaps break that promise in ways a customer cannot see or undo. A published change that does nothing looks like success. A customization that cannot be removed leaves the customer stuck with it. A renamed page that keeps its old name looks like the rename failed.
Defects
1. A mapping override publishes and is not served. showcase_inquiry_feed, with overrides: save 200, publish published, then GET /api/v1/meta/mapping/showcase_inquiry_feed returns the base's body, with no overrides. SEALED_ROW_SERVED_OVERRIDE_TYPES in packages/metadata-protocol/src/protocol-package-bindings.ts:350 holds page, app, dataset, doc and book. Its note says mapping "is overridable and sealed too, and is not here: no card has measured its reads."
2. Doc and mapping overrides cannot be removed. DELETE /api/v1/meta/doc/showcase_docs_guide?package=com.example.showcase.custom answers 403, "provided by a managed package and is sealed against removal", and the override stays served. Mapping answers the same. The same call succeeded for view, dashboard, report, email_template, page, app, dataset, book and flow.
packages/spec/src/kernel/metadata-plugin.zod.ts:933and:1191: mapping and doc aresupportsOverlay: false, whichrefusePackagedBaseRemoval(packages/metadata-protocol/src/protocol.ts:9286) treats as sealed.packages/metadata-protocol/src/protocol-packaged-base-refusal.ts:510and:540: the pair-row admission isflowonly.
3. An override's own label can be hidden by the base's translation. On the zh-CN CRM:
| Item | Override's value | Served |
|---|---|---|
Page crm_welcome label |
OVpage | 欢迎页 |
Dataset opportunity_metrics label and description, and a measure label |
Changed | The base's zh-CN text |
View crm_lead.all and dashboard pipeline_dashboard label |
Changed | The override's text |
Report showcase_hours_by_status label |
OV-报表-1104 | Runtime shows the override; the Studio header shows 工时按状态分布 |
A page's content did change, so this is about labels and descriptions, not the override itself. A new translation item in the pair does take effect (showcase_task read 任务 and then the new text), so a customer has a workaround, but nothing points to it.
4. The All metadata tile disagrees with the door. 全部元数据 marks 流程 只读, while a read-only flow's header offers 定制.
5. A refusal offers a way out that does not exist. A sharing_rule override is told to "create your own sharing_rule under a new name", and that create answers 403 NOT_CREATABLE. The same sentence cites ADR-0146 D6 for types that are outside D6's security catalog, and reads "a api" (protocol-packaged-base-refusal.ts:713).
Acceptance
- A mapping override is served by the reads and used at import, or the save refuses it loudly. Do not leave a published override that does nothing. Add it to the measured list, with a test.
- Removing a pair's override succeeds for every type
isOverridableMetadataTypeadmits that a pair can hold, and the base's item is served again. Pin this per type. A removal of a base's own item stays refused. - Label precedence is one rule across types and across runtime and Studio. The seat's proposal: a translation in the pair, then the override's own label, then the base's translation. The maintainer may overrule this on the card.
- The tile and the door agree for every type.
- Each refusal names a remedy that works for that type: for example a Setup record for sharing rules and queues, and a new package version for a code-only type.
Not measured
An import through an overridden mapping, because the override is not served today. Report and email template behaviour beyond the label: the report did render; no email was sent.
Re-check
git grep -n "SEALED_ROW_SERVED_OVERRIDE_TYPES: ReadonlySet" origin/main -- packages/metadata-protocol/src/protocol-package-bindings.ts
Activity
objectstack-fleet commentedon Nov 4, 2026
epic:#26676#1 · zhuangjianguo · session_cdb7a717def74e719988f089fbaa18ff
The maintainer, 2026-11-04: 「30079这种不是应该在元数据应用中自己去开发自定义操作吗?你的意见是批量换负责人放到内核吗?其他全部同意」.
Ruling on acceptance item 3: the seat's proposal stands. Label precedence is a translation in the pair, then the override's own label, then the base's translation.
objectstack-fleet commentedon Nov 4, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: first-touch audit · p1 kept ·
domain:server· 2026-11-04T12:59Z⛔ Not a claim.
packages/metadata-protocol(protocol-package-bindings.ts,protocol-packaged-base-refusal.ts), plus the specsupportsOverlayflags that the PR names.Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb
Claim: PM loop round 1
Session:
session_01Utp6CYVV6fcAQrNTDQRvPb(seat) · dev = project card threadsession_01Utp6CaHjE2N5aEp4ogQnWYAccount:
os-billBranch:
claude/project-thread-yenpdr(harness-pinned thread branch; platform exception toclaude/issue-<n>-<slug>)Worktree:
objectstack-issue-30062Domain:
domain:serverSeat:
domain:server#5File surface:
packages/metadata-protocol/src/**(pair-row removal admission, served-override set, refusal text, label resolution) and its tests; the label-resolution seam wherever measurement places it insidedomain:serverpackages; item 4's tile only if its fix is inui/**and minimal; one changeset. ⛔packages/spec/**,docs/adr/**,skills/**,.claude/**,AGENTS.md(stop on breach; explain in the report)Container & model:
M–L,mode:thread,model: default tier (opus) — dispatch-gates --tier at 31fe289f: no path-derived mandate,effort: xhigh(p1)Clause-②: no — removing a pair's own override and serving a published mapping override follow ADR-0146's chartered revert ("Restore package original" = delete the overriding item from
.custom, so the base's document is served again) and D2; if item 1 lands as a loud save refusal, that arm narrows and owes a contract-review-tier review before the queueMetadata-protocol: semantic
Responsibility:
metadata-protocol's flow-only pair-row admission and its served-override set (reading at 0fd363d1, not built) | no platform path removes a doc or mapping override today | every customer of a .custom pair on 18.3.0 and mainThread-read: 6631274683
Premise: holds — at
0fd363d1,SEALED_ROW_SERVED_OVERRIDE_TYPES= page, app, dataset, doc, book (no mapping);isPairRowRemovaladmits onlyCONDITIONS_DELIVERED = {flow}Serial constraints cleared:
#30106 (seat 3, Claim 6646484259, branch claude/project-thread-j915rv) may read protocol-served-overrides.ts; triage marks a possible metadata-protocol intersection — the dev merges main before the PR and after #30106 lands. No other in-flight claim names these paths.Ruling carried: acceptance item 3, the seat's proposal stands (6631250894). Seat 4 yielded this card to seat 5 in the project. Order: project file
server-seat5/dispatch-30062.md, delivered to the card thread.objectstack-fleet commentedon Nov 5, 2026
domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb
Split · 2026-11-05T01:03Z. The card thread measured that acceptance item 3 (label precedence, ruled in 6631250894) can only be met in
packages/spec/src/system/i18n-resolver.ts:translatePage,translateDataset,translateAppandtranslateBooktake nopackagedBaseoption, and a pair translation never wins on any type. Item 3's spec half is carried by #30193 (nodomain:*, for triage). The PR on this card delivers items 1, 2, 4 and 5 asRefs #30062, notFixes. At its landing this card is released back to the queue with item 3's server half (the protocol'sgetPackaged*Baseaccessors for page, dataset, app and book, and thePACKAGED_BASE_ACCESSORSrows) aspm:blocked,Blocked-by: #30193.objectstack-fleet commentedon Nov 5, 2026
domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb
os-dev-report
{ "issue": 30062, "status": "done", "branch": "claude/project-thread-yenpdr", "pr": "https://github.com/objectstack-ai/objectstack/pull/30226", "session": "session_01Utp6CaHjE2N5aEp4ogQnWY", "premise_still_valid": true, "summary": "Delivers acceptance items 1, 2, 4 and 5 (PR body: Refs #30062 (items 1, 2, 4, 5), per the seat's ruling; item 3 is split to the spec lane and its server half stays on this card). Item 1: mapping joins SEALED_ROW_SERVED_OVERRIDE_TYPES, so a pair's mapping override is served by the by-name read the import door and the connector pull use. Item 2: isPairRowRemoval admits the pair's own row for every open overridable type (was flow only), so removing a doc or mapping override no longer answers 403 and every read serves the base's item again; a base-named removal keeps main's answer per kernel. Item 5: the declared_type_not_overridable sentence cites the type's own basis and names a remedy that works for it (same code, status and rule). Item 4: PageShell.tsx typeStateWord reads the Customize doors (studioOffersCustomize), not allowEnvironmentOverlay; StudioCustomizeControls.tsx untouched.", "tests": "metadata-protocol full: 312 files passed (4 skipped), 22375 tests passed (26 skipped); typecheck exit 0. objectql full: 548/548 files, 10910/10910 tests; typecheck exit 0. runtime meta-object-extension-item-door-fit.test.ts 6/6. ui: the six test files importing PageShell or DirectoryPage 149/149; turbo type-check --filter=@object-ui/app-shell 68/68 tasks. Ablations (scripts/ablation-replace.mjs wrap; objectql legs rebuilt metadata-protocol and passed ablation-dist-preflight present, then absent after restore; every leg restored blob == HEAD with git diff HEAD empty): A1 isPairRowRemoval flow-only: 7/78 red. A2 mapping out of the served set: 6/71 red. A3 pair check widened to the base: 2/71 red (doc, mapping, env kernel, base-named). A4 typeStateWord back to allowEnvironmentOverlay: 15/114 red. A5 refusal back to the old D6 'create your own' sentence: 16/87 red.", "gates": "Local: node scripts/pm/dispatch-gates.mjs --commands derived 57 commands, plus 8 changeset families once the changeset was added; each run with its exit code recorded before any pipe. dispatch-gates --ran: '65 derived famil(ies) accounted for — 64 run, 1 NOT-MEASURED', exit 0. NOT MEASURED: pnpm check:dual-build-cjs-loads exit 3 (PREREQUISITE NOT MET: 32 packages outside this closure have no dist), left to CI. check-plugin-teardown-shape --self-test exit 3 on the shallow clone, exit 0 after fetching the pinned fixture commit. check:type-check-debt exit 3 on a lock queue timeout, exit 0 re-run under the lock. Outside the derivation, also run: check:authz-resolver, check:error-code-casing, check:overlay-whitelist-table, check:changeset-fixed, all exit 0. pnpm lint exit 0; ui eslint on the two ui files 0 errors; check-nul-bytes exit 0. CI: the PR's check-runs are in_progress at report time (head 69812d8212).", "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "line_budget": "13 paths, +448 / -61 against origin/main: source +173 / -45 (7 files, 4 of them comment-only), tests +259 / -16 (5 files), changeset +16 (1 file)", "files_changed": [ "packages/metadata-protocol/src/protocol-package-bindings.ts", "packages/metadata-protocol/src/protocol-packaged-base-refusal.ts", "packages/metadata-protocol/src/protocol-diff-delete-load.ts (comments)", "packages/metadata-protocol/src/protocol-lock-state.ts (comments)", "packages/metadata-protocol/src/protocol-registry-hydration.ts (comments)", "packages/metadata-protocol/src/protocol.ts (comment)", "packages/metadata-protocol/src/protocol-package-bindings.sealed-override.test.ts", "packages/metadata-protocol/src/protocol.packaged-base-refusal.test.ts", "packages/objectql/src/protocol-custom-override-bare-slot-envelope.test.ts", "packages/objectql/src/protocol-flow-custom-override.test.ts", "ui/packages/app-shell/src/views/metadata-admin/PageShell.tsx", "ui/packages/app-shell/src/views/metadata-admin/DirectoryPage.stateVocabulary-29705.test.tsx", ".changeset/30062-declared-override-mapping-removal-remedies.md" ], "deviations": [ "Closing line is Refs #30062 (items 1, 2, 4, 5), not the order's Fixes #30062: seat ruling after the item 3 fork report.", "Item 3 not implemented: it needs packages/spec/src/system/i18n-resolver.ts (fork condition); readings are in the PR's Acceptance notes.", "NODE_OPTIONS=--max-old-space-size=6144 for the closure build (spec DTS emit) and the gate runner, above the 4096 default.", "A ui run of the whole metadata-admin directory (721 test files) was stopped by its recorded PIDs after holding the lock about 15 minutes; narrowed to the six files that import PageShell or DirectoryPage, the full ui set is left to CI.", "origin/main was merged once at 474c030b before the PR; it has since moved 5 commits with no path overlap, and #30106 has not landed, so the second merge waits for #30106.", "Changeset level minor on @objectstack/metadata-protocol and @object-ui/app-shell (Metadata-protocol: semantic); app-shell is private but carries changesets in this repo.", "PR opened with no labels and no assignees; this session subscribed to the PR's activity (harness default)." ], "mcp_calls": "6 — mcp__github__issue_read get x2, issue_read get_comments x2, pull_request_read get x1 (PR #30183 body as a template), subscribe_pr_activity x1 (claude-code-remote, not a GitHub write). No GitHub MCP write.", "api_writes": "2 — relay repository_dispatch pr_create (run 41955305846, read_back landed/identical, PR #30226); this os-dev-report comment via post-stamped. git push is not a REST write.", "open_questions": [], "security_findings": "none", "out_of_scope_findings": [ "class: b · reach: exception: release-text · skills/objectstack-platform/SKILL.md ADR-0146 paragraph says the read honours a pair's declared override 'today only for a view, dashboard, report, email_template, translation or flow' (stale since page/app/dataset/doc/book, now mapping) and says nothing of the removal · dedupe words: skills ADR-0146 paragraph, declared override served types, Skills-docs follow-up · carrier: seat 5 (Skills-docs follow-up line in the PR body)", "carrier: #30063 / #30064 · noted, not filed: whichever of #30063 and this PR lands second flips the hard-coded page 只读 pins in DirectoryPage.stateVocabulary-29705.test.tsx (:129 tile, :178-:186 header) to 可定制; the new agreement rows derive from STUDIO_CUSTOMIZE_TYPES and follow on their own" ] }Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb
Seat ACCEPT on PR #30226 (items 1, 2, 4, 5) at head
5663983b: #30226 (comment) ·pr_ready+automerge_enablesent 2026-11-05T03:18Z. This card stays open at merge: item 3 server half →pm:blocked,Blocked-by: #30193.objectstack-fleet commentedon Nov 5, 2026
domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb
Release: domain:server#5 · 2026-11-05T05:12Z · claim 6646593490 (session
session_01Utp6CYVV6fcAQrNTDQRvPb, dev branchclaude/project-thread-yenpdr) released after a partial landing; back topm:queue, assignee cleared.Refs #30062 (items 1, 2, 4, 5)), merge15f808ab4. Seat ACCEPT 6648642607, re-affirmed atc5033471in 6649472827.getPackaged*Baseaccessors for page, dataset, app and book, plus theirPACKAGED_BASE_ACCESSORSrows in@objectstack/rest(meta-item-read-gate.ts), so the label precedence the ruling sets (6631250894) holds for those types.completedby PR fix(spec): one label order on an overridden item, for all eight document translators #30236 (translatePage/translateDataset/translateApp/translateBooktake thepackagedBaseoption). NoBlocked-by:line is owed.Resume-from: PR #30226's Acceptance notes, the "Item 3 (label precedence) is not here" bullet (measured reading at
b7075d99), and the split comment 6646706337. Re-measure the four resolvers' signatures on currentmainfirst.objectstack-fleet commentedon Nov 5, 2026
domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb
Claim: PM loop round 2
Session:
session_01Utp6CYVV6fcAQrNTDQRvPb(seat) · dev = project card threadsession_01Utp6CajcU31aZRQuQzwWj6Account:
os-billBranch:
claude/project-thread-c288y8(harness-pinned thread branch; platform exception toclaude/issue-<n>-<slug>)Worktree:
objectstack-issue-30062Domain:
domain:serverSeat:
domain:server#5File surface:
packages/metadata-protocol/src/**(the page, dataset, app and book packaged-base accessors, their facade stubs, tests);packages/rest/src/meta-item-read-gate.tsand its tests;content/docs/**only for sentences this PR makes false (notreleases/**); one changeset. ⛔packages/spec/**,ui/**,skills/**,docs/adr/**,.claude/**,AGENTS.md(stop on breach; explain in the report)Container & model:
S–M,mode:thread,model: default tier (opus) — dispatch-gates --tier at 5db77f73: no path-derived mandate,effort: xhigh(p1)Clause-②: yes (widening) — four public packaged-base accessors join their siblings on the protocol class; the dev names them, measured on the built entry
Metadata-protocol: semantic — the label a pair's declared override of a page, dataset, app or book serves follows the ruled order
Responsibility:
rest's PACKAGED_BASE_ACCESSORS wires the packaged base for object, dashboard, view and report only, so a page, dataset, app or book override serves the base's translation over its own label (PR #30226 Acceptance notes, measured at b7075d99) | none: the override's label is lost in every locale the base translates | every customer who relabels a packaged page, dataset, app or bookThread-read: 6650306162
Premise: holds — the spec half landed with PR #30236 (
bb86ff96c): all eight document translators takepackagedBase; the server wiring for the four types is what remains (release 6650306162)Serial constraints cleared:
seat 3 holds the protocol.ts half of #30053 (facade docblock moves) until this card lands (seat 3, 05:14Z); seat 2's p0 #30255 is in the same queue window, no shared file expected.Order: project file
server-seat5/dispatch-30062-item3.md, delivered to the card thread. This Claim covers item 3's server half only; items 1, 2, 4, 5 landed with PR #30226.objectstack-fleet commentedon Nov 5, 2026
domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb
os-dev-report
Card thread
session_01Utp6CajcU31aZRQuQzwWj6· branchclaude/project-thread-c288y8· draft PR #30353 · head644edc24· item 3, server half{ "issue": 30062, "status": "done", "branch": "claude/project-thread-c288y8", "pr": "https://github.com/objectstack-ai/objectstack/pull/30353", "session": "session_01Utp6CajcU31aZRQuQzwWj6", "premise_still_valid": true, "summary": "Premise held at 5db77f73: page, dataset, app and book had no packaged-base accessor, so a declared override's changed label read the base's translation, and no type was handed the pair's own translations. Four protocol accessors (getPackagedPageBase/DatasetBase/AppBase/BookBase) answer the base's own item through the shadow-immune packagedArtifactBase, and PACKAGED_BASE_ACCESSORS gains the four rows. servedOverrideBaseOf names the base a served declared override replaces; getPairTranslationBundle reads that base's pair's active translation rows through readAuthoredTranslationLayer; the REST gate passes the result as pairBundle on the item and list reads (one read per base per list). The book tree route now passes resolveProtocol, so the tree and the list agree (#26690). Object is extended (D10): seven types take a pairBundle.", "tests": "head 644edc24 after merging origin/main c1240a38: metadata-protocol Test Files 313 passed | 4 skipped, Tests 22388 passed | 26 skipped (lock VERDICT command-exit 0), typecheck exit 0; rest Test Files 386/386, Tests 7330 passed | 332 skipped, typecheck exit 0 after a one-line test typing fix (7d0394ab); objectql Test Files 550/550, Tests 10967/10967, typecheck exit 0. New pins: rest pin file 108/108 (19 red on the pre-fix code), objectql real boot 16 new (file 87/87), metadata-protocol 15/15. Ablations through scripts/ablation-replace.mjs, each restored blob == HEAD with git diff HEAD empty; metadata-protocol legs rebuilt and proved in dist by ablation-dist-preflight (exit 0), clean rebuild proved free of all markers (--absent exit 0): A1 four REST rows deleted -> rest 18 red; A2 pair fetch skipped -> rest 11 red; A3 tree resolveProtocol deleted -> rest 1 red; A4 servedOverrideBaseOf always undefined -> mp 1, objectql 8, rest 11 red; A5 pair package_id filter dropped -> mp 2, objectql 8 red (objectql first stayed green: the package-less row sorted before the pair's; renamed, 4a6c33da), re-run on the conforming fake -> mp 2 red; A6 getPackagedBookBase undefined -> objectql 4, rest 4 red.", "gates": "dispatch-gates --commands on 644edc24 vs merge base c1240a38: 100 derived; --ran reconciliation 100 derived / 99 run / 1 NOT-MEASURED (exit 3: check-plugin-teardown-shape --self-test on a shallow clone) / 0 UNRUN. Round 1 on 7d0394ab: check:engine-double-contract, check:objectql-double-limit and check:where-matcher red on the new pair-bundle fake engine; fixed (operators refused, limit held, findOne asserted) and the engine-double ledger ratcheted (644edc24), all three exit 0 in round 2. pnpm lint exit 0; check-facade-delegation-only exit 0. CI check-runs on #30353: not yet read at report time. Records: /mnt/project-files/server-seat5/gates-30062-item3-ran.txt (round 1: gates-30062-item3-ran-r1.txt).", "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "line_budget": "12 files, +868 / -35 vs c1240a38; production code about 340 lines, the rest pins, docs and a changeset; under the 3000-line threshold", "deviations": [ "packages/rest/src/meta-item-read-routes.ts +2 (book tree resolveProtocol): outside the dispatched surface, widened by the seat.", "packages/objectql/src/protocol-custom-override-bare-slot-envelope.test.ts +93, test only: metadata-protocol does not depend on objectql (objectql depends on it), so the real-boot pins cannot live there; widened by the seat.", "scripts/engine-double-contract.pinned.json +5/-1, generated by node scripts/check-engine-double-contract.mjs --write for the two new findOne doubles; accepted by the seat.", "pairBundle comes from the pair's active translation rows only: a .custom package has no code translation source, and code bundles reach the i18n static layer without provenance (seat ruling).", "Seven types take a pairBundle, not eight: an object is extended, never replaced (ADR-0146 D10).", "Not covered: the view container read builds slots without the served-override envelope (no pairBundle there; packagedBase as today); form-routes.ts is outside the surface and unchanged.", "dispatch-gates --commands run without paths: the script derives the change set itself.", "No subscribe_pr_activity on #30353 and no assignee or review request: the seat hands off.", "One merge commit subject names origin/main only; no commit carries a card trailer." ], "files_changed": [ ".changeset/30062-declared-override-label-order.md", "content/docs/ui/translations.mdx", "packages/metadata-protocol/src/protocol-discovery-and-bases.ts", "packages/metadata-protocol/src/protocol.pair-translation-bundle.test.ts", "packages/metadata-protocol/src/protocol.ts", "packages/metadata-protocol/src/served-override.test.ts", "packages/metadata-protocol/src/served-override.ts", "packages/objectql/src/protocol-custom-override-bare-slot-envelope.test.ts", "packages/rest/src/meta-dashboard-view-i18n-explicit-override.test.ts", "packages/rest/src/meta-item-read-gate.ts", "packages/rest/src/meta-item-read-routes.ts", "scripts/engine-double-contract.pinned.json" ], "mcp_calls": "6 — issue_read get x2 (#30062, #30229), issue_read get_comments x2 (#30062), pull_request_read get x2 (#30226, #30236); no write tool", "api_writes": "3 — git push (branch claude/project-thread-c288y8), relay pr_create (#30353, run 41985248502, 11478 bytes sent and stored identical), this os-dev-report comment through post-stamped", "open_questions": [], "security_findings": "none", "out_of_scope_findings": [ "carrier: PR #30353 · noted, not filed — the view container read serves slots without the served-override envelope, so a pair's translation does not rank first there", "carrier: PR #30353 · noted, not filed — form-routes.ts (public form views) passes packagedBase but no pairBundle; outside this surface" ] }Report taken 2026-11-05T07:10Z.
Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb
Landing · 2026-11-05T07:13Z: item 3 → PR #30353 (head
644edc24), seat ACCEPT posted, ready + auto-merge enabled.Fixes #30062(items 1/2/4/5 landed in PR #30226).objectstack-fleet commentedon Nov 5, 2026
domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb
Landed · 2026-11-05T07:58Z: PR #30353 merged as
fdad1786e(item 3; seat ACCEPT 6652081140). With PR #30226 (items 1/2/4/5) every item of this card is landed; closed byFixes #30062.