Migrate to Geppetto Sections and Values (No Compatibility Layer)

Hard-cut migration guide from old Geppetto layer/parameter symbols to the new section/value facade API.

Sections

Terminology & Glossary
📖 Documentation
Navigation
58 sectionsv0.1
📄 Migrate to Geppetto Sections and Values (No Compatibility Layer) — glaze help geppetto-migrate-sections-values
geppetto-migrate-sections-values

Migrate to Geppetto Sections and Values (No Compatibility Layer)

Hard-cut migration guide from old Geppetto layer/parameter symbols to the new section/value facade API.

Tutorialgeppettomigrationtutorialfacadeglazedsectionsvalues

This tutorial shows how to migrate existing Geppetto integrations from the old layer/parameter APIs to the new section/value facade APIs, with no backward compatibility shims. It is intended for maintainers who want to complete a hard-cut migration and remove deprecated symbol usage.

What changes conceptually:

  • layers becomes sections for schema definitions.
  • parameters becomes values for parsed runtime data.
  • helper APIs that accepted ParsedLayers now accept ParsedValues.

Scope and Preconditions

Use this guide when your code currently imports old Geppetto symbols such as:

  • github.com/go-go-golems/geppetto/pkg/layers
  • factory.NewEngineFromParsedLayers(...)
  • settings.NewStepSettingsFromParsedLayers(...)
  • stepSettings.UpdateFromParsedLayers(...)
  • embeddings.NewSettingsFactoryFromParsedLayers(...)

Before starting:

  • update to a Geppetto version that exports pkg/sections and ...FromParsedValues APIs.
  • ensure your Glazed usage is already on schema/values in command pipelines.

Symbol Mapping

Use this mapping as the canonical replacement list.

Old symbolNew symbol
geppetto/pkg/layersgeppetto/pkg/sections
CreateGeppettoLayersCreateGeppettoSections
NewEngineFromParsedLayersNewEngineFromParsedValues
NewStepSettingsFromParsedLayersNewStepSettingsFromParsedValues
(*StepSettings).UpdateFromParsedLayers(*StepSettings).UpdateFromParsedValues
embeddings.NewSettingsFactoryFromParsedLayersembeddings.NewSettingsFactoryFromParsedValues
settings.NewChatParameterLayersettings.NewChatValueSection
settings.NewClientParameterLayersettings.NewClientValueSection
openai.NewParameterLayeropenai.NewValueSection
claude.NewParameterLayerclaude.NewValueSection
gemini.NewParameterLayergemini.NewValueSection
ollama.NewParameterLayerollama.NewValueSection
config.NewEmbeddingsParameterLayerconfig.NewEmbeddingsValueSection

Import Migration

Before:

import geppettolayers "github.com/go-go-golems/geppetto/pkg/layers"

After:

import geppettosections "github.com/go-go-golems/geppetto/pkg/sections"

Command Schema Wiring

Before:

geppettoLayers, err := geppettolayers.CreateGeppettoLayers()
if err != nil { return err }

desc := cmds.NewCommandDescription(
    "run",
    cmds.WithLayers(geppettoLayers...),
)

After:

geppettoSections, err := geppettosections.CreateGeppettoSections()
if err != nil { return err }

desc := cmds.NewCommandDescription(
    "run",
    cmds.WithSections(geppettoSections...),
)

Parsed Data and Engine Factory

Before:

eng, err := factory.NewEngineFromParsedLayers(parsedLayers)
if err != nil { return err }

After:

eng, err := factory.NewEngineFromParsedValues(parsedValues)
if err != nil { return err }

If you build settings first:

Before:

stepSettings, err := settings.NewStepSettingsFromParsedLayers(parsedLayers)
if err != nil { return err }

After:

stepSettings, err := settings.NewStepSettingsFromParsedValues(parsedValues)
if err != nil { return err }

Before:

if err := stepSettings.UpdateFromParsedLayers(parsedLayers); err != nil {
    return err
}

After:

if err := stepSettings.UpdateFromParsedValues(parsedValues); err != nil {
    return err
}

Embeddings Factory Migration

Before:

factory, err := embeddings.NewSettingsFactoryFromParsedLayers(parsedLayers)
if err != nil { return err }

After:

factory, err := embeddings.NewSettingsFactoryFromParsedValues(parsedValues)
if err != nil { return err }

Provider Section Constructors

When you directly assemble sections, switch constructor names:

chat, _ := settings.NewChatValueSection()
client, _ := settings.NewClientValueSection()
openaiSection, _ := openai.NewValueSection()
claudeSection, _ := claude.NewValueSection()
geminiSection, _ := gemini.NewValueSection()
ollamaSection, _ := ollama.NewValueSection()
embeddingsSection, _ := config.NewEmbeddingsValueSection()

Validation Checklist

After replacement, verify all of the following:

  • no imports of geppetto/pkg/layers.
  • no calls to *FromParsedLayers.
  • no calls to *ParameterLayer constructors for Geppetto settings.
  • project builds and tests with current Geppetto and Glazed.
  • go mod tidy removes stale module edges introduced by deleted old symbols.

Useful checks:

rg -n "pkg/layers|FromParsedLayers|ParameterLayer" .
go test ./...
make lint

Troubleshooting

ProblemCauseFix
undefined: factory.NewEngineFromParsedLayersOld helper removedreplace with factory.NewEngineFromParsedValues
module ... does not contain package .../pkg/layersImport path removedimport .../pkg/sections and update calls
decode/update errors after renamemixed parsedLayers and parsedValues variablesstandardize on *values.Values and new helper names

See Also

  • ../tutorials/01-streaming-inference-with-tools.md
  • ../topics/06-inference-engines.md
  • ../topics/06-embeddings.md