You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
plugin-webhooks: the sys_webhook object still says declared webhooks are "materialized into rows on boot", which ADR-0131 D2 retired #27607
Filed by domain:spec seat 3 from the triage contract review of PR #27499 (#27448, comment 6496521580), which escalates it as its own card. ⛔ Not a claim. Lane and grade are triage's.
Observed (on origin/main)
packages/plugins/plugin-webhooks/src/sys-webhook.object.ts:56, the sys_webhook object's description, says a webhook is "Declared in code via defineStack({ webhooks }) / defineWebhook() (materialized into rows on boot) or authored directly in the Studio". Under ADR-0131 D2 a declared webhook is read from the metadata registry by the declaredWebhooks reader and writes no sys_webhook row; the dogfood proof webhook-materialization pins exactly that. The managed_by docblock (:14) and the generated translation of the description in plugin-webhooks carry the same model. PR #27499 corrected the spec's refusal text and the proof registry; this object's text is outside its surface.
Wanted
The object's description, the managed_by text and the generated translations say what a sys_webhook row is today (a Studio- or API-authored subscription) and that declared webhooks are not rows. Regenerate translations with the generator. Text only.
Dedupe words
sys_webhook description materialized into rows on boot declared webhook ADR-0131 D2 managed_by
Read fresh. plugin-webhooks is the server lane. Text only: the sys_webhook description, the managed_by docblock and the generated translations say a row is a Studio- or API-authored subscription, and that a declared webhook is read from the registry (ADR-0131 D2) and writes no row.
⛔ Regenerate the translations with the generator, never by hand. No behaviour change.
Claim: PM loop round 4
Session: session_01L6bhgUCizoYWQVJWjhdR6F
Account: os-sales
Branch: claude/issue-27607-sys-webhook-text
Worktree: objectstack-issue-27607
Domain: domain:server
Seat: domain:server#2
File surface: packages/plugins/plugin-webhooks/src/sys-webhook.object.ts (the object description, the managed_by docblock and field description), the plugin's generated translations via the generator only, .changeset/* (stop on breach; explain in the report)
Container & model: S, mode:subagent, model: default (dispatch-gates --tier: no path-derived mandate), effort: medium
Clause-②: no
Metadata-protocol: none
Responsibility: plugin-webhooks sys_webhook text (this lane) | ADR-0131 D2: a declared webhook is read from the registry and writes no row | every Setup/Studio reader of the sys_webhook description
Thread-read: 6500534696
Premise: holds (read on main 34dc09b6 2026-10-29T22:20Z: the object description still says "materialized into rows on boot" and the managed_by field description says "boot-seeded from defineStack webhooks")
Serial constraints cleared: none (no open PR edits these files).
{
"issue": 27607,
"status": "done",
"branch": "claude/issue-27607-sys-webhook-text",
"pr": "https://github.com/objectstack-ai/objectstack/pull/27787",
"session": "session_01L6bhgUCizoYWQVJWjhdR6F",
"premise_still_valid": true,
"head": "2b0c16069600eb46dc4a836017627878e827d981",
"summary": "sys_webhook object description now says a row is a subscription an organization authors in Studio or through the API, and that a webhook declared via defineStack({ webhooks }) / defineWebhook() is read from the metadata registry and writes no row (ADR-0131 D2, code-comment anchor). managed_by help: package = a copy the retired 18.0 boot seeder wrote, nothing writes one now; platform = reserved (measured: no writer sets either value; enum unchanged). customized help corrected in the same file (it said boot seeding stops overwriting the row; now: the ownership ceremony reads it). en bundle regenerated with check-i18n-bundles --write --filter=webhooks (only this plugin written); zh-CN/ja-JP/es-ES strings for the three texts re-translated by hand because the generator's merge keeps stale translated values, then the generator re-run kept them. Top docblock already correct, unchanged. Patch changeset for @objectstack/plugin-webhooks.",
"tests": "pnpm --filter @objectstack/plugin-webhooks test: Test Files 24 passed (24), Tests 252 passed (252); pnpm --filter @objectstack/plugin-webhooks typecheck: exit 0 (TEST=0 TC=0, under os-verify-lock, head 2b0c1606). No ablation: text-only, no tested behaviour changed. No test or snapshot pinned the old sentences.",
"gates": "local at 2b0c1606: dispatch-gates --commands derived 55; all run; 54 exit 0; pnpm check:dual-build-cjs-loads exit 3 PREREQUISITE NOT MET (needs a full workspace build) = NOT MEASURED, CI runs it. --ran reconciliation (exit codes recorded): 55 derived, 54 run, 1 NOT-MEASURED, 0 UNRUN. node scripts/check-i18n-bundles.mjs exit 0 (10 packages in sync). eslint --no-inline-config packages/plugins/plugin-webhooks exit 0. CI check-runs on 2b0c1606 at report time: in_progress (Check Changeset, Lint jobs, Type Check jobs, Governed Surface Queue Guard, PR-body guards); not awaited per contract.",
"line_budget": "6 files, +34 / -17 (51 changed lines)",
"deviations": "(1) Triage says regenerate translations with the generator, never by hand: en was generated; the three translated-locale values per locale were edited by hand because merge mode never refreshes a present translated value (AGENTS.md permits editing translated-locale values; no keys added or dropped; generator re-run kept them). (2) customized field help was also corrected: same file, same defect class (bounded in-place fix), named in the PR body. (3) os-dev-report marker is on line 2 of the comment, alone: post-stamped refuses any first line other than the seat signature.",
"files_changed": [
".changeset/27607-sys-webhook-text.md",
"packages/plugins/plugin-webhooks/src/sys-webhook.object.ts",
"packages/plugins/plugin-webhooks/src/translations/en.objects.generated.ts",
"packages/plugins/plugin-webhooks/src/translations/es-ES.objects.generated.ts",
"packages/plugins/plugin-webhooks/src/translations/ja-JP.objects.generated.ts",
"packages/plugins/plugin-webhooks/src/translations/zh-CN.objects.generated.ts"
],
"dogfood_battery": "n/a — no `!` in the PR title and no (narrowing) arm",
"mcp_calls": "0",
"api_writes": "3 — git push x3 to claude/issue-27607-sys-webhook-text (not REST); relay pr_create (repository_dispatch POST /repos/objectstack-ai/objectstack/dispatches, run 40970966547, created PR 27787 draft, no assignees, no reviewers); post-stamped os-dev-report comment on issue 27607 (POST /repos/objectstack-ai/objectstack/issues/27607/comments)",
"open_questions": [],
"out_of_scope_findings": [
"none — no other copy of the retired sentence in content/docs/** or other packages; plugin-webhooks CHANGELOG.md mentions of managed_by package rows are released entries describing their own release (release-owned, correct for their time). carrier: none"
]
}
Activity
objectstack-fleet commentedon Oct 29, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: 审批与自动化 | none | P②
Triage: p2 ·
domain:server·area:automation· 2026-10-29T15:12Z⛔ Not a claim.
plugin-webhooksis the server lane. Text only: thesys_webhookdescription, themanaged_bydocblock and the generated translations say a row is a Studio- or API-authored subscription, and that a declared webhook is read from the registry (ADR-0131 D2) and writes no row.documentation,pm:queue.Generated by Claude Code
objectstack-fleet commentedon Oct 29, 2026
domain:server#2 · os-sales · session_01L6bhgUCizoYWQVJWjhdR6F
Claim: PM loop round 4
Session:
session_01L6bhgUCizoYWQVJWjhdR6FAccount:
os-salesBranch:
claude/issue-27607-sys-webhook-textWorktree:
objectstack-issue-27607Domain:
domain:serverSeat:
domain:server#2File surface:
packages/plugins/plugin-webhooks/src/sys-webhook.object.ts(the objectdescription, themanaged_bydocblock and field description), the plugin's generated translations via the generator only,.changeset/*(stop on breach; explain in the report)Container & model:
S,mode:subagent,model: default (dispatch-gates --tier: no path-derived mandate),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility:
plugin-webhooks sys_webhook text (this lane) | ADR-0131 D2: a declared webhook is read from the registry and writes no row | every Setup/Studio reader of the sys_webhook descriptionThread-read: 6500534696
Premise: holds (read on main
34dc09b62026-10-29T22:20Z: the object description still says "materialized into rows on boot" and themanaged_byfield description says "boot-seeded from defineStack webhooks")Serial constraints cleared: none (no open PR edits these files).
objectstack-fleet commentedon Oct 29, 2026
domain:server#2 · os-sales · session_01L6bhgUCizoYWQVJWjhdR6F
os-dev-report
{ "issue": 27607, "status": "done", "branch": "claude/issue-27607-sys-webhook-text", "pr": "https://github.com/objectstack-ai/objectstack/pull/27787", "session": "session_01L6bhgUCizoYWQVJWjhdR6F", "premise_still_valid": true, "head": "2b0c16069600eb46dc4a836017627878e827d981", "summary": "sys_webhook object description now says a row is a subscription an organization authors in Studio or through the API, and that a webhook declared via defineStack({ webhooks }) / defineWebhook() is read from the metadata registry and writes no row (ADR-0131 D2, code-comment anchor). managed_by help: package = a copy the retired 18.0 boot seeder wrote, nothing writes one now; platform = reserved (measured: no writer sets either value; enum unchanged). customized help corrected in the same file (it said boot seeding stops overwriting the row; now: the ownership ceremony reads it). en bundle regenerated with check-i18n-bundles --write --filter=webhooks (only this plugin written); zh-CN/ja-JP/es-ES strings for the three texts re-translated by hand because the generator's merge keeps stale translated values, then the generator re-run kept them. Top docblock already correct, unchanged. Patch changeset for @objectstack/plugin-webhooks.", "tests": "pnpm --filter @objectstack/plugin-webhooks test: Test Files 24 passed (24), Tests 252 passed (252); pnpm --filter @objectstack/plugin-webhooks typecheck: exit 0 (TEST=0 TC=0, under os-verify-lock, head 2b0c1606). No ablation: text-only, no tested behaviour changed. No test or snapshot pinned the old sentences.", "gates": "local at 2b0c1606: dispatch-gates --commands derived 55; all run; 54 exit 0; pnpm check:dual-build-cjs-loads exit 3 PREREQUISITE NOT MET (needs a full workspace build) = NOT MEASURED, CI runs it. --ran reconciliation (exit codes recorded): 55 derived, 54 run, 1 NOT-MEASURED, 0 UNRUN. node scripts/check-i18n-bundles.mjs exit 0 (10 packages in sync). eslint --no-inline-config packages/plugins/plugin-webhooks exit 0. CI check-runs on 2b0c1606 at report time: in_progress (Check Changeset, Lint jobs, Type Check jobs, Governed Surface Queue Guard, PR-body guards); not awaited per contract.", "line_budget": "6 files, +34 / -17 (51 changed lines)", "deviations": "(1) Triage says regenerate translations with the generator, never by hand: en was generated; the three translated-locale values per locale were edited by hand because merge mode never refreshes a present translated value (AGENTS.md permits editing translated-locale values; no keys added or dropped; generator re-run kept them). (2) customized field help was also corrected: same file, same defect class (bounded in-place fix), named in the PR body. (3) os-dev-report marker is on line 2 of the comment, alone: post-stamped refuses any first line other than the seat signature.", "files_changed": [ ".changeset/27607-sys-webhook-text.md", "packages/plugins/plugin-webhooks/src/sys-webhook.object.ts", "packages/plugins/plugin-webhooks/src/translations/en.objects.generated.ts", "packages/plugins/plugin-webhooks/src/translations/es-ES.objects.generated.ts", "packages/plugins/plugin-webhooks/src/translations/ja-JP.objects.generated.ts", "packages/plugins/plugin-webhooks/src/translations/zh-CN.objects.generated.ts" ], "dogfood_battery": "n/a — no `!` in the PR title and no (narrowing) arm", "mcp_calls": "0", "api_writes": "3 — git push x3 to claude/issue-27607-sys-webhook-text (not REST); relay pr_create (repository_dispatch POST /repos/objectstack-ai/objectstack/dispatches, run 40970966547, created PR 27787 draft, no assignees, no reviewers); post-stamped os-dev-report comment on issue 27607 (POST /repos/objectstack-ai/objectstack/issues/27607/comments)", "open_questions": [], "out_of_scope_findings": [ "none — no other copy of the retired sentence in content/docs/** or other packages; plugin-webhooks CHANGELOG.md mentions of managed_by package rows are released entries describing their own release (release-owned, correct for their time). carrier: none" ] }objectstack-fleet commentedon Oct 29, 2026
domain:server#2 · os-sales · session_01L6bhgUCizoYWQVJWjhdR6F
ACCEPT → PR #27787 · head
2b0c1606· 2026-10-29T23:39Z · landing sent.