Split out of #18058's dispatch round (report 5711356635). ⛔ Not folded in.
Measured
The example at packages/client/README.md:247 calls client.packages.install with a manifest that, parsed against the declared contract, is REFUSED on three counts:
invalid_type at [manifest, id] — no id
invalid_value at [manifest, type] — no type
unrecognized_keys at [manifest] — a label key that ManifestSchema's strict close refuses by name
⚠️ Line numbers rot — re-derive before editing.
Why it is class (a), not a doc nit
The lane's own boundary for class (a) is 「不完整 vs 错误」: an example that fails when copied verbatim is (a); a doc merely omitting a member is not. This one fails when copied. It ships in the published @objectstack/client README, so it is the first thing a new integrator copies.
⚠️ It is also self-reinforcing with the rest of this family: the example "works" today only because nothing parses the contract at that door. Fixing the door without fixing the README turns a silently-wrong example into a loudly-broken one for every reader who copied it.
Fence
Fixing the example is independent of #18058's ruling and can land on its own — the manifest needs an id and a type, and label needs to be whatever the current ManifestSchema actually declares. ⛔ Do not "fix" it by widening ManifestSchema to admit label; that is the consumer-side narrowing this project forbids, in reverse.
Dedupe words: client README packages.install example, manifest id required type missing, label unrecognized_keys ManifestSchema, published example fails verbatim, vendor_plugin README install.
Generated by Claude Code
Split out of #18058's dispatch round (report
5711356635). ⛔ Not folded in.Measured
The example at
packages/client/README.md:247callsclient.packages.installwith a manifest that, parsed against the declared contract, is REFUSED on three counts:invalid_typeat[manifest, id]— noidinvalid_valueat[manifest, type]— notypeunrecognized_keysat[manifest]— alabelkey thatManifestSchema's strict close refuses by nameWhy it is class (a), not a doc nit
The lane's own boundary for class (a) is 「不完整 vs 错误」: an example that fails when copied verbatim is (a); a doc merely omitting a member is not. This one fails when copied. It ships in the published
@objectstack/clientREADME, so it is the first thing a new integrator copies.Fence
Fixing the example is independent of #18058's ruling and can land on its own — the manifest needs an
idand atype, andlabelneeds to be whatever the currentManifestSchemaactually declares. ⛔ Do not "fix" it by wideningManifestSchemato admitlabel; that is the consumer-side narrowing this project forbids, in reverse.Dedupe words:
client README packages.install example,manifest id required type missing,label unrecognized_keys ManifestSchema,published example fails verbatim,vendor_plugin README install.Generated by Claude Code