docs(adr): point ADR-0041's References at where the trigger packages live - #16435
Merged
Merged
Conversation
…live
ADR-0041's `## References` section names the two shipped trigger packages by
source path. Both paths moved on 2026-06-12 and the pointer did not, so it now
sends a reader to a directory that does not exist:
- Shipped triggers: `packages/plugins/plugin-trigger-record-change`,
`packages/plugins/plugin-trigger-schedule`
+ Shipped triggers: `packages/triggers/trigger-record-change`,
`packages/triggers/trigger-schedule`
Same defect class and same migration as the two `repository.directory` manifest
corrections on PR #15993; carved out of that PR because `docs/adr/**` is a
governed surface, so one path hit makes the whole PR ineligible for the merge
queue and it was ejected from the queue four times. This is that one line, on
its own branch, byte-identical to what #15993 carried (blob 9016f38).
Deliberately left as written: the same record's rename table and narrative at
lines 46, 48 and 97-100. Those name the old identifiers as the decision's own
history, and the table's left column is a package name rather than a path -- a
References pointer is live, a decision record's account of what it renamed is
not. The anchored replacement could not have reached them in any case; they
carry no `packages/plugins/` prefix.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XpTx2tbq3pZRYAdoGt6E6Y
os-zhuang
approved these changes
Sep 7, 2026
os-zhuang
marked this pull request as ready for review
September 7, 2026 01:17
os-zhuang
enabled auto-merge
September 7, 2026 01:17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #15478. Carved out of PR #15993 — this is that PR's fourth file, on a branch of its own.
What
ADR-0041's
## Referencessection names the two shipped trigger packages by source path. Both packages moved on 2026-06-12 and the pointer did not, so it names a directory that does not exist:Two lines, one file,
+2/-2. The bytes are identical to what PR #15993 carried — the file's blob is9016f38ffon both branches, so nothing was re-authored on the way over.Why this is its own PR
docs/adr/**is a governed surface, so under Prime Directive #14 a diff that touches one is landed by the maintainer by hand and never through the merge queue. One path hit governs the whole PR — 「混合 diff 一条命中即整 PR 分叉」 — so this single line made PR #15993 ineligible as a whole, alongside two published-manifest corrections that are ordinary queue work.That is measured, not predicted. On every
added_to_merge_queuefor PR #15993 (20:09Z, 21:49Z, 22:22Z, 01:57Z) the merge-group run'sGoverned Surface Queue Guardfailed at the step "Governed surfaces may not enter the merge queue unreviewed" andgithub-merge-queue[bot]removed the PR. Four ejections. The PR-level check of the same name stayed green throughout, because that guard bites in themerge_groupevent — which is why 34 green PR checks never predicted any of them.With this file carved out, PR #15993 is three paths with zero governed hits. Read from the register rather than recalled, and with its control fired in the opposite direction so the reading is a measurement and not an empty pass:
Landing
⛔ This PR waits for a maintainer's merge. It stays draft; no seat flips it ready, enqueues it, or arms auto-merge on it. That is where a
docs/adr/**touch was always going to end up — the carve-out changes which PR waits, not whether one does.Deliberately left as written
The same record's rename table and narrative at lines 46, 48 and 97-100. Those name the old identifiers as the decision's own history, and the table's left column is a package name, not a path — not a pointer by construction. The anchored replacement could not have reached them in any case, since they carry no
packages/plugins/prefix; the distinction is the point. A References pointer is live; a decision record's account of what it renamed is not.No changeset
This publishes nothing from any package, so
skip-changesetapplies and is set on this PR.Verification
Gate family derived mechanically on head
c18ae4060—node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands, which reads the change set from the merge base itself (1 path), never hand-built. Every exit code captured immediately after a single redirected command, never through a pipe.All 17 derived commands EXIT=0:
check-adr-links(and its self-test),check-adr-symbol-anchors(and its self-test),check-ci-filter-parity,check-closing-keyword-parity(and its self-test),check-comment-mask-corpus,check:doc-formula-expressions,check:adr-anchors,check:cross-package-test-inputs,check:doc-authoring,check:driver-memory-census,check:nul-bytes,check:pm-governed-merges,check:refd-timer-probe,check:watch-hint-literal.pnpm --filter @objectstack/lint run check:doc-formula-expressionsanswered 3 = PREREQUISITE NOT MET (unbuilt@objectstack/formulaand@objectstack/lint) — neither green nor red, nothing measured. Afterturbo run build --filter=@objectstack/formula --filter=@objectstack/lint(4/4 tasks) it re-ran EXIT=0.pnpm check:pm-governed-mergesruns the checker's own--self-test(274 assertions), so it grades the checker and not this diff. The verdict on this diff is the--testpair quoted above.⛔ Nothing here is a claim about CI. Working tree clean at
c18ae4060.🤖 Generated with Claude Code
https://claude.ai/code/session_01XpTx2tbq3pZRYAdoGt6E6Y
Generated by Claude Code