Phase 4: refresh artifact (980) + add manifests/ (DEC-031)

The aggregator now reads manifests/<venture>.json. Seeded rootblocks.json (22)
to prove the live override; each venture publishes its own manifest here via CI.
This commit is contained in:
andres-gb10
2026-07-03 01:57:30 +01:00
parent 9e7480fe3a
commit ed6e73a4b4
4 changed files with 48 additions and 26 deletions
+22 -21
View File
@@ -1,7 +1,7 @@
{ {
"version": "1.0.0", "version": "1.0.0",
"std": "STD-002@1.0.0", "std": "STD-002@1.0.0",
"generatedAt": "2026-07-01T18:10:16.279Z", "generatedAt": "2026-07-03T00:57:09.893Z",
"generator": "70-execution/scripts/aggregate-metrics.mjs", "generator": "70-execution/scripts/aggregate-metrics.mjs",
"note": "Single source of truth for ecosystem stat strips. Safe to publish: only aggregates, no PII/clients/money. Every value carries provenance; see ecosystem-metrics.ledger.md. Each site shapes its own strip/velocity from strip + perVenture.", "note": "Single source of truth for ecosystem stat strips. Safe to publish: only aggregates, no PII/clients/money. Every value carries provenance; see ecosystem-metrics.ledger.md. Each site shapes its own strip/velocity from strip + perVenture.",
"strip": { "strip": {
@@ -53,11 +53,11 @@
"verification": 3 "verification": 3
}, },
"decisions": { "decisions": {
"value": 975, "value": 980,
"unit": "count", "unit": "count",
"source": "git:andres.co (live) + declared:70-execution/scripts/metrics.ventures.json", "source": "live manifests (andres.co, RootBlocks) + declared fallback:70-execution/scripts/metrics.ventures.json",
"method": "sum of per-repo DEC-record counts (find 10-decisions -name 'DEC-*.md' | wc -l per repo): Datta:774, Insttantt:90, SliceOps:42, andres.co:30, RootBlocks:18, ApiFusion:11, Resolvi:10, Nextars:0", "method": "sum of per-repo DEC-record counts (find 10-decisions -name 'DEC-*.md' | wc -l per repo): Datta:774, Insttantt:90, SliceOps:42, andres.co:31, RootBlocks:22, ApiFusion:11, Resolvi:10, Nextars:0",
"asOf": "2026-07-01", "asOf": "2026-07-03",
"public": true, "public": true,
"verification": 2 "verification": 2
}, },
@@ -103,19 +103,19 @@
"venture": "andres.co", "venture": "andres.co",
"repo": "andres-co", "repo": "andres-co",
"branch": "main", "branch": "main",
"decisions": 30, "decisions": 31,
"source": "git:andres.co (live)", "source": "git:andres.co (live manifest)",
"method": "overridden by the live emitter (tools/metrics.mjs)", "method": "overridden by the live emitter (tools/metrics.mjs)",
"asOf": "2026-07-01T18:10:16.227Z" "asOf": "2026-07-03T00:57:09.852Z"
}, },
{ {
"venture": "RootBlocks", "venture": "RootBlocks",
"repo": "rootblocks-engineering", "repo": "rootblocks-engineering",
"branch": "main", "branch": "main",
"decisions": 18, "decisions": 22,
"source": "operator-confirmed (RootBlocks STD-002 slice, origin/main)", "source": "git:RootBlocks (live manifest)",
"method": "find 10-decisions -name 'DEC-*.md' | wc -l on origin/main (16 accepted + 2 rfcs); declared 21 conflated highest id DEC-021 with the count. Becomes 19 when RootBlocks DEC-024 merges", "method": "find 10-decisions -name 'DEC-*.md' | wc -l on origin/main (16 accepted + 2 rfcs); declared 21 conflated highest id DEC-021 with the count. Becomes 19 when RootBlocks DEC-024 merges",
"asOf": "2026-07-01" "asOf": "2026-07-03"
}, },
{ {
"venture": "ApiFusion", "venture": "ApiFusion",
@@ -170,9 +170,9 @@
"status": "live", "status": "live",
"first_commit": "2026-06-20", "first_commit": "2026-06-20",
"launch": "2026-06-20", "launch": "2026-06-20",
"worked_hours": 51, "worked_hours": 53.2,
"loc": 3184, "loc": 3198,
"decisions": 30, "decisions": 31,
"tier": "T2", "tier": "T2",
"complexity": { "complexity": {
"state": 0, "state": 0,
@@ -184,7 +184,7 @@
}, },
"note": "This site. First commit to a live, governed v1 the same day.", "note": "This site. First commit to a live, governed v1 the same day.",
"note_es": "Este sitio. Del primer commit a una v1 viva y gobernada el mismo día.", "note_es": "Este sitio. Del primer commit a una v1 viva y gobernada el mismo día.",
"commits": 93 "commits": 95
}, },
{ {
"name": "Insttantt", "name": "Insttantt",
@@ -212,7 +212,7 @@
"launch": "2026-06-10", "launch": "2026-06-10",
"worked_hours": 167.7, "worked_hours": 167.7,
"loc": 219110, "loc": 219110,
"decisions": 18, "decisions": 22,
"repos": 10, "repos": 10,
"complexity": { "complexity": {
"state": 3, "state": 3,
@@ -223,7 +223,8 @@
"code": 3 "code": 3
}, },
"note": "10 repos: a security, identity, and fraud platform plus an agentic build engine. It reaches past Insttantt's complexity, built on the framework with AI. An approximate sum; the platform is largely still in progress, the website is live.", "note": "10 repos: a security, identity, and fraud platform plus an agentic build engine. It reaches past Insttantt's complexity, built on the framework with AI. An approximate sum; the platform is largely still in progress, the website is live.",
"note_es": "10 repos: una plataforma de seguridad, identidad y fraude más un motor de build agéntico. Supera la complejidad de Insttantt, construida sobre el framework y con AI. Una suma aproximada; la plataforma está en gran parte en progreso, el website está en vivo." "note_es": "10 repos: una plataforma de seguridad, identidad y fraude más un motor de build agéntico. Supera la complejidad de Insttantt, construida sobre el framework y con AI. Una suma aproximada; la plataforma está en gran parte en progreso, el website está en vivo.",
"commits": 347
}, },
{ {
"name": "Datta", "name": "Datta",
@@ -333,11 +334,11 @@
}, },
{ {
"key": "decisions", "key": "decisions",
"value": 975, "value": 980,
"unit": "count", "unit": "count",
"source": "git:andres.co (live) + declared:70-execution/scripts/metrics.ventures.json", "source": "live manifests (andres.co, RootBlocks) + declared fallback:70-execution/scripts/metrics.ventures.json",
"method": "sum of per-repo DEC-record counts (find 10-decisions -name 'DEC-*.md' | wc -l per repo): Datta:774, Insttantt:90, SliceOps:42, andres.co:30, RootBlocks:18, ApiFusion:11, Resolvi:10, Nextars:0", "method": "sum of per-repo DEC-record counts (find 10-decisions -name 'DEC-*.md' | wc -l per repo): Datta:774, Insttantt:90, SliceOps:42, andres.co:31, RootBlocks:22, ApiFusion:11, Resolvi:10, Nextars:0",
"asOf": "2026-07-01", "asOf": "2026-07-03",
"verification": 2 "verification": 2
}, },
{ {
+5 -5
View File
@@ -1,6 +1,6 @@
# Ecosystem metrics provenance ledger # Ecosystem metrics provenance ledger
Generated 2026-07-01T18:10:16.279Z by 70-execution/scripts/aggregate-metrics.mjs (STD-002). Every published number and its source. Generated 2026-07-03T00:57:09.893Z by 70-execution/scripts/aggregate-metrics.mjs (STD-002). Every published number and its source.
## Strip numbers ## Strip numbers
@@ -11,7 +11,7 @@ Generated 2026-07-01T18:10:16.279Z by 70-execution/scripts/aggregate-metrics.mjs
| core | 3 | declared | operator-declared constant: core products carried as flagship | 2026-06-30 | 3 | | core | 3 | declared | operator-declared constant: core products carried as flagship | 2026-06-30 | 3 |
| people | 990000 | external:product-databases | operator-declared aggregate of distinct people served across live platforms (Insttantt + Datta); a safe floor, '+' denotes at least | 2026-06-30 | 3 | | people | 990000 | external:product-databases | operator-declared aggregate of distinct people served across live platforms (Insttantt + Datta); a safe floor, '+' denotes at least | 2026-06-30 | 3 |
| data_points | 54000000 | external:product-databases | operator-declared aggregate of records processed across live platforms; a safe floor, '+' denotes at least | 2026-06-30 | 3 | | data_points | 54000000 | external:product-databases | operator-declared aggregate of records processed across live platforms; a safe floor, '+' denotes at least | 2026-06-30 | 3 |
| decisions | 975 | git:andres.co (live) + declared:70-execution/scripts/metrics.ventures.json | sum of per-repo DEC-record counts (find 10-decisions -name 'DEC-*.md' \| wc -l per repo): Datta:774, Insttantt:90, SliceOps:42, andres.co:30, RootBlocks:18, ApiFusion:11, Resolvi:10, Nextars:0 | 2026-07-01 | 2 | | decisions | 980 | live manifests (andres.co, RootBlocks) + declared fallback:70-execution/scripts/metrics.ventures.json | sum of per-repo DEC-record counts (find 10-decisions -name 'DEC-*.md' \| wc -l per repo): Datta:774, Insttantt:90, SliceOps:42, andres.co:31, RootBlocks:22, ApiFusion:11, Resolvi:10, Nextars:0 | 2026-07-03 | 2 |
| x_faster | 124 | declared:70-execution/scripts/metrics.ventures.json (DEC-019) | baseline (Insttantt) hours-per-complexity-point over RootBlocks's, at comparable complexity (index within 2 of baseline 19) | 2026-07-01 | 2 | | x_faster | 124 | declared:70-execution/scripts/metrics.ventures.json (DEC-019) | baseline (Insttantt) hours-per-complexity-point over RootBlocks's, at comparable complexity (index within 2 of baseline 19) | 2026-07-01 | 2 |
## Decisions by repo ## Decisions by repo
@@ -21,13 +21,13 @@ Generated 2026-07-01T18:10:16.279Z by 70-execution/scripts/aggregate-metrics.mjs
| Datta | datta-engineering | develop | 774 | operator-confirmed (Datta STD-002 slice, origin/develop) | 2026-07-01 | | Datta | datta-engineering | develop | 774 | operator-confirmed (Datta STD-002 slice, origin/develop) | 2026-07-01 |
| Insttantt | insttantt-v2/insttantt-engineering | main | 90 | local-clone (to confirm) | 2026-07-01 | | Insttantt | insttantt-v2/insttantt-engineering | main | 90 | local-clone (to confirm) | 2026-07-01 |
| SliceOps | sliceops-website | main | 42 | operator-confirmed (SliceOps STD-002 slice, origin/main) | 2026-07-01 | | SliceOps | sliceops-website | main | 42 | operator-confirmed (SliceOps STD-002 slice, origin/main) | 2026-07-01 |
| andres.co | andres-co | main | 30 | git:andres.co (live) | 2026-07-01T18:10:16.227Z | | andres.co | andres-co | main | 31 | git:andres.co (live manifest) | 2026-07-03T00:57:09.852Z |
| RootBlocks | rootblocks-engineering | main | 18 | operator-confirmed (RootBlocks STD-002 slice, origin/main) | 2026-07-01 | | RootBlocks | rootblocks-engineering | main | 22 | git:RootBlocks (live manifest) | 2026-07-03 |
| ApiFusion | apifusion-engineering | main | 11 | operator-confirmed (ApiFusion STD-002 slice, gitea/main) | 2026-07-01 | | ApiFusion | apifusion-engineering | main | 11 | operator-confirmed (ApiFusion STD-002 slice, gitea/main) | 2026-07-01 |
| Resolvi | resolvi-engineering | develop | 10 | operator-confirmed (Resolvi STD-002 slice, origin/develop) | 2026-07-01 | | Resolvi | resolvi-engineering | develop | 10 | operator-confirmed (Resolvi STD-002 slice, origin/develop) | 2026-07-01 |
| Nextars | nextars-orchestrator | main | 0 | no-decisions-dir | 2026-07-01 | | Nextars | nextars-orchestrator | main | 0 | no-decisions-dir | 2026-07-01 |
**Total decisions: 975** **Total decisions: 980**
V = verification: 1 git-auto, 2 human-verified (DEC-019 rubric), 3 external/declared. V = verification: 1 git-auto, 2 human-verified (DEC-019 rubric), 3 external/declared.
+10
View File
@@ -0,0 +1,10 @@
# manifests/
Each venture publishes its STD-002 `metrics.json` here as `<venture>.json` (lowercase venture
key). The andres-engineering aggregator reads all of them (public, no token) and folds them
into `ecosystem-metrics.json`, overriding the hand-declared counts (DEC-031). The git-auto
numbers (decisions, commits, worked_hours, loc) go live; complexity stays the human-reviewed
declared value.
Publish from a venture's CI publish step:
`cp metrics.json ../ecosystem-metrics/manifests/<venture>.json` then commit + push.
+11
View File
@@ -0,0 +1,11 @@
{
"version": "1.0.0", "std": "STD-002@1.0.0", "repo": "rootblocks-engineering",
"venture": "RootBlocks", "domain": "Intelligence", "status": "live", "baseline": false,
"repos": 10, "generatedAt": "2026-07-03T00:00:00.000Z", "generator": "70-execution/scripts/metrics.mjs",
"metrics": {
"decisions": { "value": 22, "unit": "count", "source": "git:10-decisions", "method": "find 10-decisions -name 'DEC-*.md' | wc -l on origin/main", "asOf": "2026-07-03", "auto": true, "public": true, "verification": 1 },
"commits": { "value": 347, "unit": "count", "source": "git:subrepos", "method": "sum over 10 subrepos", "asOf": "2026-07-03", "auto": true, "public": true, "verification": 1 },
"worked_hours": { "value": 167.7, "unit": "hours", "source": "git:subrepos-commit-timestamps", "method": "session clustering (DEC-019), summed", "asOf": "2026-07-03", "auto": true, "public": true, "verification": 1 },
"loc": { "value": 219110, "unit": "lines", "source": "git:subrepos-tracked-source", "method": "git grep -c, code only", "asOf": "2026-07-03", "auto": true, "public": true, "verification": 1 }
}
}