loader

package module
v0.0.0-...-ed487ff Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package loader is the loader plugin candy — the swappable config front-end (P6) AND, since #46, the swappable whole-project WALK. It serves two typed (no wire envelope) seams:

  • spec.DocParser — the per-document PARSE: the host resolves the registered loader provider to a spec.DocParser and calls it for every config document.
  • spec.ProjectWalker — the whole-project WALK (import queue + discover + namespaced-import mounts): the host resolves the registered loader provider to a spec.ProjectWalker and calls it once per project load, passing a spec.WalkSeams built from host callbacks.

Both delegate to the shared sdk/loaderkit (loaderkit.ParseDoc / loaderkit.Walk) — the ONE copy of the parse+walk mechanism (R3), the way sdk/kit is the one copy of the check walk. An alternative loader plugin serves a different config front-end / walk mechanism by implementing the same two interfaces.

The parse+walk consult ONLY spec vocabulary + yaml + the host-threaded spec.Threaded (registry-derived kind-recognition DATA) + the host-supplied spec.WalkSeams callbacks, never charly core directly — a compiled-in plugin candy is a separate module importing only sdk. The bootstrap SEED (the embedded providers: manifest via a plain yaml.Unmarshal) STAYS in core and never calls the loader, so registering this at init() before the first load has NO bootstrap cycle (RDD-proven).

PLACEMENT — COMPILED-IN (in the embedded compiled_plugins:): the loader must ALWAYS resolve, it IS the config front-end every command reaches. Registered at init() before the first load; the host calls its typed ParseDoc / WalkProject (no wire envelope) directly.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMeta

func NewMeta() pb.PluginMetaServer

NewMeta advertises the loader capability (Class "loader", word "loader").

func NewProvider

func NewProvider() pb.ProviderServer

NewProvider returns the loader provider — a pb.ProviderServer that ALSO implements spec.DocParser (the typed per-document parse the host calls compiled-in).

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL