Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

graycode-eco

The roof. A canonical inventory of every GrayCodeAI product, the versioned contracts that cross between them, the boundaries that keep them independent, and the decisions that affect more than one of them.

This repository is not a product. It contains no product code, no product depends on it, and it depends on nobody. If you are looking for something to install, it is not here.

What is here

Path What it is
ecosystem.yaml Every repository, what it owns, how mature it is
BOUNDARIES.md The independence rules and the check that enforces each
contracts/ Versioned values that cross repository boundaries
adr/ Decisions that affect more than one repository

Start with ecosystem.yaml. It is the only file most people need.

The one rule

Products are independent by default and coordinate by versioned contracts.

The ecosystem has exactly one compile-time dependency, rho to flux, and it is machine-checked. Everything else is HTTP, a schema, or a documented file format. Adding a repository that imports a sibling is the exception, not the default, and it must be recorded in an ADR with a check that fails when the dependency is removed.

Independence that lives only in a CONTRIBUTING.md is an aspiration. Every boundary here names the check that enforces it.

Maturity is self-reported and honest

ecosystem.yaml carries a maturity field per product, and the values are deliberately unflattering: shipped, working, alpha, scaffold. Several products in this ecosystem are alpha or scaffold. That is recorded rather than hidden, because the inventory is only useful if it is true.

A product that overstates its maturity here is worse than one that is absent.

Adding a repository

  1. Add an entry to ecosystem.yaml with an honest maturity.
  2. Write the repository's own AGENTS.md, stating what it owns and what it refuses to own.
  3. Depend on no sibling. Coordinate by contract.
  4. If a contract you need does not exist, write it in contracts/ first.
  5. Record any cross-repository decision as an ADR.
  6. State your limitations in your README. Every repository here does this.

Adding a contract

Write the JSON Schema before the Go type. A vendored struct drifts silently; a schema does not. See contracts/README.md for the three that exist and what each one is honestly missing.

Corrections

This file set is maintained by people who are sometimes wrong in public. When a repository is renamed, this inventory is updated in the same change, because a stale inventory is worse than none. ecosystem.yaml records prior names in renamed_from so that nobody has to re-derive them from search results.

If you find an error here, open a pull request against this repository and say which file and which entry is wrong. Do not work around it in your own product.

About

The roof. Canonical inventory, contracts, and boundaries for the GrayCodeAI ecosystem. Not a product.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages