Skip to content

Commit 0bc2180

Browse files
dmealingclaude
andcommitted
docs: forge vocabulary is TypeScript-only, and this page claimed otherwise
`extending-with-providers.md` listed `forgeTypesProvider` in the default composition of "the TS / C# / Python loaders". Only TypeScript has it. C#, Python, Java and Kotlin register no `@forge*` attribute and no `decision` / `principle` / `convention` / `glossary` / `failure` type at all, and `expected-registry.json` — the manifest all five ports byte-match — carries zero forge entries, so the cross-port gate never had jurisdiction over any of it. That makes a document carrying `@forgeConfidence` load on TypeScript and fail `ERR_UNKNOWN_ATTR` on the other four: one document, two verdicts, decided by which toolchain reads it. The page now says so rather than leaving it to be found. Found by the mikes-website estate pass against 1.0.0-rc.5, in an estate that carries nine such nodes. Documentation only — whether the vocabulary itself should be registered everywhere, deregistered, or chartered TS-only is a 1.0-freeze decision and is not made here. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NTcEKXTQMYt84fAjuw5A2M
1 parent c346048 commit 0bc2180

1 file changed

Lines changed: 16 additions & 4 deletions

File tree

docs/features/extending-with-providers.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,10 +219,22 @@ The semantic rule is identical across ports:
219219
> determinism — same providers list + same metadata → same registry, no
220220
> classpath order surprises, no bundler import-order surprises.
221221
222-
The TS / C# / Python loaders default to `[...coreProviders, forgeTypesProvider,
223-
...callerProviders]` when the caller supplies `providers`. Pass
224-
`{ replaceDefaults: true }` (TS) or the per-port equivalent to skip the
225-
defaults entirely — rare, but supported.
222+
Every port's loader defaults to `[...coreProviders, ...callerProviders]` when the
223+
caller supplies `providers`. Pass `{ replaceDefaults: true }` (TS) or the per-port
224+
equivalent to skip the defaults entirely — rare, but supported.
225+
226+
**`forgeTypesProvider` is TypeScript-only, and this page used to say otherwise.** It
227+
was listed here as part of the default composition for "the TS / C# / Python loaders";
228+
in fact only TypeScript has it — `@metaobjectsdev/sdk`'s `loadMemory` composes it, and
229+
no C#, Python, Java or Kotlin registry registers any `@forge*` attribute or `decision` /
230+
`principle` / `convention` / `glossary` / `failure` type at all. Nor does
231+
`expected-registry.json`, which is the manifest all five ports byte-match, so the
232+
cross-port gate never had jurisdiction over it.
233+
234+
The consequence is worth stating plainly rather than leaving to be discovered: a
235+
document carrying `@forgeConfidence` **loads on TypeScript and fails
236+
`ERR_UNKNOWN_ATTR` on the other four ports** — one document, two verdicts, decided by
237+
which toolchain reads it.
226238

227239
## Stable error codes
228240

0 commit comments

Comments
 (0)