-
Notifications
You must be signed in to change notification settings - Fork 0
Namespacing: qualified names for component libraries #29
Copy link
Copy link
Open
Labels
area:languageSchema, grammar, AST, macros, primitivesSchema, grammar, AST, macros, primitivesbreakingChanges the YAML surface; land before there are usersChanges the YAML surface; land before there are usersfeatureNew capabilityNew capabilityroadmapDecided yes: on the plan. Applied on resolution, replacing 'decision'Decided yes: on the plan. Applied on resolution, replacing 'decision'
Description
Metadata
Metadata
Assignees
Labels
area:languageSchema, grammar, AST, macros, primitivesSchema, grammar, AST, macros, primitivesbreakingChanges the YAML surface; land before there are usersChanges the YAML surface; land before there are usersfeatureNew capabilityNew capabilityroadmapDecided yes: on the plan. Applied on resolution, replacing 'decision'Decided yes: on the plan. Applied on resolution, replacing 'decision'
The single most concrete missing primitive for component libraries (see the composition model in ARCHITECTURE.md): merging
storage.yamlandchp.yamltoday collides on names likeeta/flow—extend()merges by name with override semantics.Needed: qualified names (
storage.soc,chp.flow_out) or prefix-on-import, applied at schema-merge time so templates stay authored in their own local vocabulary. Interacts with expressions/macros (references inside a template must resolve within its namespace) and with the port/flow convention (the sharedflowvariable and connectivity dims are deliberately not namespaced — they are the coupling surface).🤖 Generated with Claude Code