@eco-dev/core
v0.0.1-alpha.1
Published
Project Eco shared contracts, identity primitives, and event envelope.
Downloads
28
Readme
@eco-dev/core
Project Eco shared contract seed.
This package currently promotes only the minimal EcoEventEnvelope contract that passed the first bounded Forge/DGX/Mac integration gate.
@eco-dev/core controls Eco protocol compatibility. Customers and partners define their own domain contracts on top of it, but they do not redefine the Eco protocol namespace.
Promotion Evidence
- Forge adapter gate:
G:/eco-artifacts/eco-lineage/forge-infra-002/gate-result-v2.json - DGX reducer gate:
G:/eco-artifacts/eco-lineage/dgx-state-002/gate-result-v1.json - Mac observation gate:
G:/eco-artifacts/eco-lineage/mac-reactive-002/gate-result-v1.json - Unified integration:
G:/eco-artifacts/eco-lineage/unified-integration-001/unified-integration-report.json
Scope
Promoted now:
- canonical JSON helper
- SHA-256 helper
EcoEventEnvelope- protocol/domain boundary helpers
EcoDomainContract- Zod schemas for runtime validation and inferred TypeScript types
- envelope validation
- duplicate
(source_id, source_seq)detection - source sequence gap detection
Not promoted yet:
- Forge infra adapter implementation
- DGX reducer implementation
- Mac reactive adapter implementation
- runtime WAL/replay storage
- UI/chat/fork workflow
- customer-specific domain schemas
Those remain patch-draft evidence until the canonical package layout is chosen.
Protocol Boundary
Eco protocol contracts are strict and conformance-tested. They are the rails that keep plugins, partners, agents, and runtimes compatible.
Customer/domain contracts are flexible and namespaced. They extend the protocol and describe customer-specific workflows, entities, policies, and plugin payloads.
Rule:
Eco controls the rails.
Users control what runs on the rails.See docs/protocol-boundary.md.
TypeScript-First Validation
@eco-dev/core exports Zod schemas so Nuxt/Nitro apps, ingestion pipelines, RAG tooling, adapters, plugins, and tests share the same runtime validation boundary.
Use these instead of inventing package-local validators:
EcoEventEnvelopeSchemaEcoDomainContractSchemaEcoCompatibilityProfileSchema
Gate
npm install
npm run gate