Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,24 @@ jobs:
- name: Reconcile maturity evidence
run: node .harness/scripts/ci/09-reconcile-maturity.mjs --check

# The inventory summaries are the source every doc quotes when it says how many
# ADRs, rulesets and schemas the corpus carries -- and until now nothing checked
# them. `07-generate-inventories.mjs` appears in exactly one other place in the
# repository: its own unit test in ci-cd.yml. The generator ran in no workflow,
# and in the local hook it hung off `infraChanged` (compose files, helm, the
# workflow directory) -- never off `src/rulesets/` or the ADR directory, which
# are the only two things that can change the numbers.
#
# The result was a published tally that had been stale since 2026-08-16: 141/181
# against a measured 142/182, quoted onward by the README as "412 rules". This
# step runs the generator in --check mode, so a ruleset or ADR added without
# regenerating the summaries fails here instead of aging into the front page.
- name: Check inventory summaries match the corpus
run: node .harness/scripts/ci/07-generate-inventories.mjs --check

- name: Self-test for the inventory generator
run: node --test .harness/scripts/ci/07-generate-inventories.test.mjs

# 21 cases over `09-reconcile-maturity.mjs`, including the GT-576 rule that a
# capability may not be marked Validated on an ADR citation alone and the GT-596
# ISO/IEC 33020 threshold rule. Both were closed with "ships with a negative
Expand Down
9 changes: 8 additions & 1 deletion .harness/scripts/ci-runner.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ function getAutoScripts() {
const trackingChanged = changed.some(f => f.includes("gap-tracking") || f.includes("gap-reference") || f.includes("gap-closure"));
const topologyChanged = changed.some(f => f.includes("topologies/"));
const governanceChanged = changed.some(f => f.includes("src/rulesets/") || f.includes("reference/core/sdlc/"));
const adrChanged = changed.some(f => f.includes("reference/core/architecture/adrs/"));
const knowledgeChanged = changed.some(f => f.includes("reference/knowledge/"));
const codeChanged = changed.some(f => f.endsWith(".ts") || f.endsWith(".js") || f.endsWith(".mjs"));
const infraChanged = changed.some(f => f.includes("docker-compose") || f.includes("helm/") || f.includes(".github/workflows"));
Expand Down Expand Up @@ -129,9 +130,15 @@ function getAutoScripts() {
scripts.push("agentic/13-agentic-code-review.mjs");
}
if (infraChanged) {
scripts.push("07-generate-inventories.mjs");
scripts.push("29-validate-opa-sidecar-bundles.mjs");
}
// The inventory tally counts ADRs, rulesets and schemas, so `infraChanged`
// (compose, helm, workflows) could never trigger it on a change that moves the
// numbers. It sat on the wrong condition long enough for the published summary
// to fall a full week behind the corpus it claims to measure.
if (governanceChanged || adrChanged) {
scripts.push("07-generate-inventories.mjs");
}
if (codeChanged || infraChanged) {
// GT-578: workflows, harness scripts and compose files are exactly where a
// path *string* survives a move that the compiler would have caught.
Expand Down
31 changes: 30 additions & 1 deletion MASTER_INDEX.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,42 @@

> **Navegación Bilingüe:** [English](./MASTER_INDEX.md)

El punto de entrada canónico a cada área de este repositorio. Si lo que buscas es un punto de
partida orientado a tareas, el [README](./README.es.md) organiza el mismo material por
intención.

## Arquitectura

- [Visión General de Arquitectura](./reference/core/architecture/README.es.md)
- [Registro de ADRs](./reference/core/architecture/adrs/README.es.md)
- [Topologías](./reference/core/architecture/topologies/README.es.md)
- [Arquitectura Maestra C4](./reference/core/architecture/demos/C4-MASTER-ARCHITECTURE.es.md)

## Gobernanza

- [Hub de Evolith Core](./reference/core/README.es.md)
- [Estándares](./reference/core/foundations/README.es.md)
- [Rulesets](./src/rulesets/README.md)
- [Centro de Gobernanza SDLC](./reference/core/sdlc/README.es.md)
- [Rulesets](./src/rulesets/README.es.md) · [Políticas OPA](./src/rulesets/opa/README.es.md) · [Schemas](./src/rulesets/schema/README.es.md)

## Producto

- [Hub de Producto](./product/README.es.md)
- [Evolith CLI](./product/products/smart-cli/README.es.md)
- [Core API](./product/products/core-api/README.es.md)
- [MCP Services](./product/products/mcp-services/README.es.md)
- [Operaciones y SRE](./product/operations/README.es.md)

## Estado del proyecto

- [Centro de Control](./reference/core/control-center/README.es.md)
- [Tablero de Gaps](./reference/core/control-center/gaps/gap-tracking.es.md)
- [Oportunidades](./reference/core/control-center/opportunities/README.es.md)
- [Taxonomía del Repositorio](./reference/core/control-center/taxonomy/repository-taxonomy.es.md)

## Conocimiento

- [Q&A](./reference/core/sdlc/q-and-a.es.md)
- [Glosario del Ecosistema](./reference/core/sdlc/glossary/glossary-ecosystem.es.md)
- [Referencias de Demo](./product/research/demo/README.md)
- [Captura de la primera ejecución](./docs/evidence/first-run-capture.es.md)
31 changes: 30 additions & 1 deletion MASTER_INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,42 @@

> **Bilingual Navigation:** [Versión en Español](./MASTER_INDEX.es.md)

The canonical entry point to every area of this repository. If you are looking for a
task-oriented starting point instead, the [README](./README.md) organises the same material by
intent.

## Architecture

- [Architecture Overview](./reference/core/architecture/README.md)
- [ADR Registry](./reference/core/architecture/adrs/README.md)
- [Topologies](./reference/core/architecture/topologies/README.md)
- [C4 Master Architecture](./reference/core/architecture/demos/C4-MASTER-ARCHITECTURE.md)

## Governance

- [Evolith Core hub](./reference/core/README.md)
- [Standards](./reference/core/foundations/README.md)
- [Rulesets](./src/rulesets/README.md)
- [SDLC Governance Center](./reference/core/sdlc/README.md)
- [Rulesets](./src/rulesets/README.md) · [OPA policies](./src/rulesets/opa/README.md) · [Schemas](./src/rulesets/schema/README.md)

## Product

- [Product hub](./product/README.md)
- [Evolith CLI](./product/products/smart-cli/README.md)
- [Core API](./product/products/core-api/README.md)
- [MCP Services](./product/products/mcp-services/README.md)
- [Operations and SRE](./product/operations/README.md)

## Project state

- [Control Center](./reference/core/control-center/README.md)
- [Gap board](./reference/core/control-center/gaps/gap-tracking.md)
- [Opportunities](./reference/core/control-center/opportunities/README.md)
- [Repository Taxonomy](./reference/core/control-center/taxonomy/repository-taxonomy.md)

## Knowledge

- [Q&A](./reference/core/sdlc/q-and-a.md)
- [Ecosystem Glossary](./reference/core/sdlc/glossary/glossary-ecosystem.md)
- [Demo References](./product/research/demo/README.md)
- [First-run capture](./docs/evidence/first-run-capture.md)
Loading
Loading