Commit be92d46
feat(scripts): make
* fix(manifests): declare `repository.directory` on the 14 publishable packages that declared none
npm renders `repository.directory` as the package page's "source" deep link,
concatenated onto the repository URL. These fourteen manifests carried no
`repository` block at all, so every one of those npm pages has no source link
rather than a broken one -- the half of the population that
`check:manifest-repository-directory` counted and deliberately did not judge.
Ruled mandatory for a publishable (non-private) workspace manifest, so this is
the backfill the ruling asks for. The block is the canonical one 57 of the 58
declaring manifests already carry (`type` + `url` + `directory`); `directory`
alone does not resolve on npm without the URL it is concatenated onto, which is
why this is a block rather than a line. Each file keeps its own indentation --
`connector-openapi` is four-space and stays four-space -- and the key sits where
the tree already puts it, immediately before `files`.
Private manifests are untouched: they publish nothing, so they have no npm page
for the link to be missing from.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012zTkyNHJ7TkuN2oXtP5x37
* feat(scripts): make `repository.directory` mandatory for a publishable manifest
`check:manifest-repository-directory` shipped judging only the manifests that
DECLARED the field and counting the rest, because whether declaring is
mandatory was a policy question. It has been ruled: a publishable (non-private)
workspace manifest declares `repository.directory` naming its own directory. A
publishable manifest that declares nothing is now a finding rather than a skip,
and every prose passage that put the question to the reader -- in the script's
header, in its refusal text, in its verdict line and in the CI step's comment --
is replaced by what was ruled.
Silence stays exempt for a PRIVATE manifest, which publishes nothing and so has
no npm page for a link to be missing from; a private manifest that declares a
WRONG directory is still judged, because privacy exempts silence, not error.
The anti-vacuity design grows with the population it now reads. This gate had
one predicate and now has two, and the second empties in the direction that
makes no noise: a `isPublishable` stuck on false owes the new invariant to
nobody and passes every silent manifest. So `isPublishable` gets its own
two-direction control pair (a named non-private subject must read PUBLISHABLE,
a `private: true` one must read PRIVATE) alongside the tracked-directory pair,
all four must fire before any verdict prints, and `MIN_PUBLISHABLE` floors the
population itself -- the probes cannot catch a field renamed upstream and the
floor cannot catch a predicate stuck in place, so both instruments are kept and
neither is described as covering the other.
The census pins move rather than going stale: 82 manifests, 72 declaring, 70
publishable, 0 publishable declaring nothing, 530 tracked directories, all
re-measured on the post-backfill tree, with every floor re-derived from those
numbers rather than carried over. The self-test's battery roster gains the new
battery and its floors are re-derived too -- two of them had drifted below
their batteries (5 against 6 cases, 9 against 12), and slack in a floor is
exactly that many cases allowed to stop running unnoticed.
Changeset: the fourteen backfilled manifests are published files of released
packages, and the field is only read once it is published, so this takes a
`patch` per package rather than `skip-changeset`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012zTkyNHJ7TkuN2oXtP5x37
* fix(scripts): name both predicates in the control-probe floor refusal
The control floor now covers four probes across two predicates, and its
refusal text still named only the tracked-directory one. Surfaced by the
ablation that sticks `isPublishable` on true: the run refused for the right
reason and explained it as the wrong one.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012zTkyNHJ7TkuN2oXtP5x37
---------
Co-authored-by: Claude <noreply@anthropic.com>repository.directory mandatory for a publishable manifest, and backfill the 14 (#16705)1 parent 4c31f02 commit be92d46
17 files changed
Lines changed: 461 additions & 111 deletions
File tree
- .changeset
- .github/workflows
- packages
- connectors
- connector-mcp
- connector-openapi
- connector-rest
- connector-slack
- plugins
- embedder-openai
- knowledge-memory
- knowledge-ragflow
- plugin-approvals
- plugin-email
- plugin-pinyin-search
- plugin-reports
- plugin-sharing
- services/service-sms
- triggers/trigger-api
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3673 | 3673 | | |
3674 | 3674 | | |
3675 | 3675 | | |
3676 | | - | |
3677 | | - | |
3678 | | - | |
3679 | | - | |
3680 | | - | |
3681 | | - | |
3682 | | - | |
| 3676 | + | |
| 3677 | + | |
| 3678 | + | |
| 3679 | + | |
| 3680 | + | |
| 3681 | + | |
| 3682 | + | |
| 3683 | + | |
| 3684 | + | |
| 3685 | + | |
3683 | 3686 | | |
3684 | 3687 | | |
3685 | 3688 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
42 | 47 | | |
43 | 48 | | |
44 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
40 | 45 | | |
41 | 46 | | |
42 | 47 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
39 | 44 | | |
40 | 45 | | |
41 | 46 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
37 | 42 | | |
38 | 43 | | |
39 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
43 | 48 | | |
44 | 49 | | |
45 | 50 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
40 | 45 | | |
41 | 46 | | |
42 | 47 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
40 | 45 | | |
41 | 46 | | |
42 | 47 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
48 | 53 | | |
49 | 54 | | |
50 | 55 | | |
| |||
0 commit comments