You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updated 2026-08-30 to match what shipped. The config system was rebuilt on
the rust-sitter parser (#11): the package manifest is config.idp (the congregation format, an .idp file), parsed and interpreted into frozen
units and wired into CAS (#4). comline.toml is no longer the manifest —
that name is now the consumer-side code-generation config, a separate concern
with its own design doc
(docs/.../planning/code-generation/output-configuration.md). The remaining
open scope of this issue is cross-package dependency resolution.
Priority
P1 (High) - Enables multi-schema projects
Labels
core
package
configuration
P1
Description
Implement the package configuration system that allows multi-schema projects with
dependencies. This covers the config.idp (congregation) manifest — metadata, code_generation capability declaration, publish_registries, and a dependencies block — and resolving schema imports across packages.
Current State
Location: core/src/package/config/
✅ Manifest format: config.idp / congregation (rust-sitter grammar in package/config/idl/, interpreter in package/config/ir/).
❌ Dependencies: a dependencies = { name = { version, uri, hash } } block
parses, but nothing is fetched, pinned, resolved or stored. The frozen Dependency struct currently keeps only author / project / version
(drops uri / hash). No dependency graph, no circular-dependency detection.
❌ The frozen config is not written into a CAS commit (only frozen schemas
are) — a reproducibility gap noted in the codegen output-config doc.
Acceptance Criteria
Manifest format (config.idp / congregation) defined
Build Package Configuration System
Priority
P1 (High) - Enables multi-schema projects
Labels
corepackageconfigurationP1Description
Implement the package configuration system that allows multi-schema projects with
dependencies. This covers the
config.idp(congregation) manifest — metadata,code_generationcapability declaration,publish_registries, and adependenciesblock — and resolving schema imports across packages.Current State
Location:
core/src/package/config/config.idp/congregation(rust-sitter grammar inpackage/config/idl/, interpreter inpackage/config/ir/).Vec<FrozenUnit>(Namespace,SpecificationVersion,Dependency,CodeGeneration,PublishRegistry).compile_package()(validate only) andbuild()(freezeinto CAS, Implement Content Addressable Storage (CAS) System #4); auto-versioning via the diff engine (Implement Schema Diffing & Auto-Versioning #7).
dependencies = { name = { version, uri, hash } }blockparses, but nothing is fetched, pinned, resolved or stored. The frozen
Dependencystruct currently keeps onlyauthor/project/version(drops
uri/hash). No dependency graph, no circular-dependency detection.are) — a reproducibility gap noted in the codegen output-config doc.
Acceptance Criteria
config.idp/congregation) definedcompile_package/build)Tasks
path, registryuri, git — and theintegrity model (the
hash = "blake3:…"field is already in the grammar).uri/hashon the frozenDependencyunit.builder.
config.idpmanifest.Example
config.idpConsumer-side codegen output (
comline.toml[generate]) is not part of themanifest — see the code-generation output-configuration doc.
Dependencies
Blocks
None.