diff --git a/content/case/04-fair-skills.md b/content/case/04-fair-skills.md index 04c788b..2b35d47 100644 --- a/content/case/04-fair-skills.md +++ b/content/case/04-fair-skills.md @@ -146,7 +146,7 @@ with it. of its core unit: a Mold is a **typed reference manifest** — a declaration of qualified references to other KB pages, schemas, CLI manual pages, prompts, and examples. Not bare links: every reference carries a **kind** (which resolver applies), a **load policy** -(`upfront` vs `on-demand`), and a **placement mode** (inlined, bundled, or sidecar). That is what +(`upfront` vs `on-demand`), and a **placement mode** (`verbatim` or `sidecar`). That is what "qualified" means in I3 — a reference annotated with enough type information that a machine knows what to *do* with it, not just where it points. The Mold is I3 made into a build primitive. diff --git a/content/pattern/glossary.md b/content/pattern/glossary.md index e3868f6..2bbe494 100644 --- a/content/pattern/glossary.md +++ b/content/pattern/glossary.md @@ -29,7 +29,7 @@ Grouped by theme. **Mold** — the unit of the KB: an abstract, typed *reference manifest* describing one action. Its frontmatter declares the references it depends on (other KB pages, schemas, CLI manual pages, prompts, examples); its body is a procedural skeleton tying them together. Molds are abstract source artifacts, independent of any agent runtime. -**Reference** — a typed dependency a Mold declares. The *kind* discriminator controls how casting treats it, so resolving references is per-kind dispatch, not "follow every link the same way." (A **reference** kind, which is not the same vocabulary as the **note** kinds in the [[astro-stack-glossary]]; the two words collide and the pages that use both should say which they mean.) Common kinds: `pattern` (prose reference), `schema` (copied verbatim), `cli-command` (cast to a structured sidecar), `prompt` (inlined), `example` (copied), `eval` (Foundry-only, never packaged). What each kind's dispatch *does* is the instance's to declare, not the pattern's to fix. +**Reference** — a typed dependency a Mold declares. The *kind* discriminator controls how casting treats it, so resolving references is per-kind dispatch, not "follow every link the same way." (A **reference** kind, which is not the same vocabulary as the **note** kinds in the [[astro-stack-glossary]]; the two words collide and the pages that use both should say which they mean.) Common kinds: `pattern` (prose reference), `schema` (copied verbatim), `cli-command` (cast to a structured sidecar), `prompt` (copied verbatim), `example` (copied verbatim), `eval` (Foundry-only, never packaged). What each kind's dispatch *does* is the instance's to declare, not the pattern's to fix. ## Compilation diff --git a/content/pattern/guiding-principles.md b/content/pattern/guiding-principles.md index 2df716a..4fa1b00 100644 --- a/content/pattern/guiding-principles.md +++ b/content/pattern/guiding-principles.md @@ -117,7 +117,7 @@ Show people and agents the right knowledge at the right time. Preserve navigable **Why it matters.** Flattening every reference, schema, example, and rationale into one prompt makes rich knowledge harder to navigate and consumes attention before it is useful. Minimalism is not the goal; deliberate disclosure is. -**Requires:** a visible path from journey to action to supporting evidence, plus declared load and placement policies that distinguish up-front material from on-demand references and inlined content from bundled or sidecar material. +**Requires:** a visible path from journey to action to supporting evidence, plus declared load and placement policies that distinguish up-front material from on-demand references, and material carried verbatim from material built into a sidecar. ### Portable Artifacts Over Platform Fashion diff --git a/content/pattern/standing-up-a-foundry.instructions.txt b/content/pattern/standing-up-a-foundry.instructions.txt index a1eb335..a3ef38b 100644 --- a/content/pattern/standing-up-a-foundry.instructions.txt +++ b/content/pattern/standing-up-a-foundry.instructions.txt @@ -169,8 +169,9 @@ have either a dependency dictating your domain or a copy that drifts: Ships no collection TABLE either — that names your directories. reference-contract Ships used_at / load / modes / evidence. You keep `kinds` — exactly the half that varies by domain. Inherit the four whole: a term you have not used YET - is inheritance, not drift. Treat `modes` as deterministic placement rules - such as verbatim, inline, bundled, and sidecar. Narrow the group to the modes + is inheritance, not drift. `modes` ships exactly two deterministic placement + rules — verbatim and sidecar — and a term is in that list because some + instance wrote the renderer that performs it. Narrow the group to the modes your targets implement; the validator must reject anything the caster cannot reproduce byte for byte. A narrowed group is AUTHORED, so it rejoins the dead-vocabulary check. diff --git a/content/pattern/the-model.md b/content/pattern/the-model.md index edbe9c5..f9d647c 100644 --- a/content/pattern/the-model.md +++ b/content/pattern/the-model.md @@ -96,7 +96,9 @@ Every declared reference carries three decisions: - a **kind** — which resolver and casting rules apply; - a **load policy** — `upfront` or `on-demand`, with a trigger for the latter; -- a **placement mode** — inlined, bundled, or carried as a sidecar where the target permits it. +- a **placement mode** — `verbatim`, or `sidecar` where the target permits it. + +*Placement*, not transformation: both modes carry the reference unchanged, one as its own bytes and one as a structured artifact built from them. That is why a cast is reproducible byte for byte, and it is the whole of the vocabulary a Mold may draw from — a mode exists when some instance has written the renderer that performs it. Common reference kinds include KB pages, schemas, CLI manual pages, prompts, and examples. Their different shapes are why the manifest is typed rather than a flat list of links. @@ -138,9 +140,9 @@ For `summarize-source`, a record might look like this: "mold": { "id": "summarize-source", "revision": 4, "content_hash": "sha256:9f1c…" }, "target": { "id": "agent-skill", "revision": 2 }, "references": [ - { "id": "input-schema", "placement": "bundled", + { "id": "input-schema", "mode": "verbatim", "src_hash": "sha256:71a0…", "dst_hash": "sha256:71a0…" }, - { "id": "domain-pattern", "placement": "inline", + { "id": "domain-pattern", "mode": "verbatim", "src_hash": "sha256:0a5e…", "dst_hash": "sha256:0a5e…" } ], "checks": ["static-validation", "references-resolved"]