Skip to content

Commit d2c906b

Browse files
os-warrenclaude
andauthored
fix(triggers): point repository.directory at the directory the trigger packages actually live in (#15993)
* fix(triggers): point repository.directory at the directory the trigger packages actually live in `@objectstack/trigger-record-change` and `@objectstack/trigger-schedule` both declared a `repository.directory` under `packages/plugins/` that does not exist in this repository, so the "Repository" deep link on their npm pages resolves to a 404 instead of to their source. Both are published at 17.3.0. @objectstack/trigger-record-change was packages/plugins/plugin-trigger-record-change now packages/triggers/trigger-record-change @objectstack/trigger-schedule was packages/plugins/plugin-trigger-schedule now packages/triggers/trigger-schedule Residue of two same-day renames, not one: `plugin-trigger-*` -> `trigger-*` inside `packages/plugins/` broke the first segment, and the later promotion of `packages/plugins/trigger-*` to a first-class `packages/triggers/` directory broke the second. Both were pure directory renames with zero content changes, so nothing rewrote the field. Scope as a measured set, not a general claim: across all 81 tracked package.json files, 57 declare `repository.directory`; 55 resolved to the manifest's own directory before this change and 57 of 57 resolve after it. The 24 manifests that declare no `repository.directory` at all are untouched here. ADR-0041's `## References` section carried the same dead path as a source pointer and is corrected with it. The rename table earlier in that record (`plugin-trigger-record-change` -> `@objectstack/trigger-record-change`) is the decision's own history and is deliberately left as written. The corrected value ships inside the npm tarball, so it reaches readers only by being published: a patch changeset accompanies the fix rather than `skip-changeset`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XpTx2tbq3pZRYAdoGt6E6Y * docs(changeset): correct the residue account — a copy edited `name`, and a later commit edited the adjacent `url` The shipped changeset claimed the stale `repository.directory` survived two pure renames and that "nothing rewrote the field". Measured, that is false in three ways, and the true account is a stronger argument for a mechanical check rather than a weaker one. f15d6f6 NOT a rename: a 26-file copy, +2222/-19, with all four trigger directories briefly coexisting. Each copied manifest differs from its original in exactly one line -- `name` -- so this commit edited the manifest and left `directory` stale. 290c625 deleted the originals five minutes later. ea4941a the only pure rename: 16 files, 0 insertions, 0 deletions. 9a43e04 six weeks later, rewrote `repository.url` and `bugs` in both of these manifests. The stale `directory` line sits as unchanged context ONE LINE BELOW the edited `url`. The last point is the one worth the correction. "Nothing rewrote the field" reads as the field never having been in anyone's way; in fact an author edited its immediate neighbour inside the same JSON object and the dead line was on screen in a reviewed hunk. A rule is more clearly needed when a human looked at the line and still missed it, so this strengthens the case on the gate card. No code change: the four-line metadata fix is unchanged and its verification still stands. This commit corrects prose only, in the file that ships to release notes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XpTx2tbq3pZRYAdoGt6E6Y --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent c463d03 commit d2c906b

4 files changed

Lines changed: 23 additions & 4 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
"@objectstack/trigger-record-change": patch
3+
"@objectstack/trigger-schedule": patch
4+
---
5+
6+
`@objectstack/trigger-record-change` and `@objectstack/trigger-schedule` now declare a `repository.directory` that resolves to the directory they actually live in.
7+
8+
Both manifests declared a path under `packages/plugins/` that no longer exists in the repository:
9+
10+
| package | declared | actual |
11+
|---|---|---|
12+
| `@objectstack/trigger-record-change` | `packages/plugins/plugin-trigger-record-change` | `packages/triggers/trigger-record-change` |
13+
| `@objectstack/trigger-schedule` | `packages/plugins/plugin-trigger-schedule` | `packages/triggers/trigger-schedule` |
14+
15+
`repository.directory` is what npm uses to build the **Repository** deep link on a package page, and what tooling uses to locate a monorepo package's source from its tarball. Pointing it at a path that does not exist sends a reader to a 404 instead of to the source — on packages published today at `17.3.0`. The value ships inside the tarball, so this correction only reaches npm by being published; that is why it carries a changeset rather than `skip-changeset`.
16+
17+
The residue came from a three-commit sequence on 2026-06-12, and only one of those commits was a pure rename. `f15d6f6f6` **copied** the two packages to `packages/plugins/trigger-*` (26 files, +2222/-19, with all four directories briefly coexisting) and edited exactly one line of each copied manifest — its `name` — leaving `directory` pointing at the path it was copied from; `290c62514` deleted the originals five minutes later; and `ea4941ad8` then promoted `packages/plugins/trigger-*` to a first-class `packages/triggers/` directory as a pure 16-file rename with zero content changes, which made the declared value wrong in a second segment. Six weeks after that, `9a43e042f` (#3380) rewrote `repository.url` and `bugs` in both of these manifests, with the stale `directory` line sitting as unchanged context one line below the edited `url`. So the field was not merely never in anyone's way: one commit edited its immediate neighbour inside the same object, and a later reviewed hunk had the wrong line on screen. Nothing caught it because nothing reads it.
18+
19+
Scope of this change, stated as a measured set rather than a general claim: over all **81** tracked `package.json` files in the repository, **57** declare `repository.directory`; before this change **55** resolved to the manifest's own directory and **2** did not — the two above. After it, **57 of 57** resolve. No other manifest field is edited, and no package's code, exports or behaviour is touched. The remaining **24** manifests declare no `repository.directory` at all; that population is deliberately left alone here and is reported separately, because whether declaring the field is mandatory is a policy question rather than a correction.

docs/adr/0041-flow-trigger-family.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@ other contract-ahead-of-runtime surfaces.
191191

192192
- Engine seam: `packages/services/service-automation/src/engine.ts`
193193
(`FlowTrigger`, `registerTrigger`, `activateFlowTrigger`)
194-
- Shipped triggers: `packages/plugins/plugin-trigger-record-change`,
195-
`packages/plugins/plugin-trigger-schedule`
194+
- Shipped triggers: `packages/triggers/trigger-record-change`,
195+
`packages/triggers/trigger-schedule`
196196
- Reserved surface: `FlowSchema.type` enum (`packages/spec/src/automation/flow.zod.ts`)
197197
- Auto-wiring: `packages/cli/src/commands/serve.ts` (trigger `nameMatch` table)
198198
- Related: ADR-0018 (descriptor pattern this extends), ADR-0030 (outbox),

packages/triggers/trigger-record-change/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"repository": {
4343
"type": "git",
4444
"url": "https://github.com/objectstack-ai/objectstack.git",
45-
"directory": "packages/plugins/plugin-trigger-record-change"
45+
"directory": "packages/triggers/trigger-record-change"
4646
},
4747
"homepage": "https://objectstack.ai/docs",
4848
"bugs": "https://github.com/objectstack-ai/objectstack/issues",

packages/triggers/trigger-schedule/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"repository": {
4242
"type": "git",
4343
"url": "https://github.com/objectstack-ai/objectstack.git",
44-
"directory": "packages/plugins/plugin-trigger-schedule"
44+
"directory": "packages/triggers/trigger-schedule"
4545
},
4646
"homepage": "https://objectstack.ai/docs",
4747
"bugs": "https://github.com/objectstack-ai/objectstack/issues",

0 commit comments

Comments
 (0)