Skip to content

yodakohl/techtree

Repository files navigation

TechTree

License: MIT Node.js Dataset Validation Data Quality

TechTree is an interactive technology tree, dependency graph, and history-of-technology dataset for exploring how human technologies connect across eras. It maps inventions, methods, infrastructure, scientific tools, and future roadmap technologies from ancient foundations to modern and emerging systems.

The current validated dataset contains 1,655 curated technologies stored as era-specific JSON files under data/.

techtree

What You Can Do

  • Trace prerequisites and downstream unlocks for a technology.
  • Explore compact subfield maps for CRISPR, semiconductors, AI/ML, energy, spaceflight, robotics, diagnostics, climate, agriculture, cybersecurity, transportation, materials, telecommunications, water/sanitation, and pharmaceutical drug development.
  • Compare technologies across Ancient, Classical, Medieval, Renaissance, Industrial, Modern, and Future eras.
  • Use the validated JSON data as a knowledge graph seed for research, education, simulations, or AI tools.
  • Add new technologies safely with prerequisite validation, duplicate checks, cycle detection, and quality audits.

Views

  • Graph View: a Vis Network dependency graph with search, era and field filtering, focused dependency context, source metadata, and editable entries.
  • Sorted View: a compact branch/table browser for scanning technologies by era, dependency depth, branch, field lens, maturity, and roadmap status.

Quick Start

Requirements:

Install dependencies and start the local server:

npm install
npm start

Open:

  • Graph view: http://localhost:3000
  • Sorted view: http://localhost:3000/sorted.html

The server listens on port 3000 by default. Use PORT to run on a different port:

PORT=8080 npm start

For a browse-only deployment, disable write operations:

TECHTREE_READ_ONLY=true npm start

Features

  • Search technologies by name or ID.
  • Filter the graph by era or curated field lens.
  • Focus the graph around selected technologies and their direct dependency context.
  • Inspect prerequisites and unlocks from the side panel.
  • Add, edit, or delete technologies when not running in read-only mode.
  • Browse a compact sorted view grouped by derived technology branches.
  • Use field lenses for focused exploration, including mechanical engineering, finance/markets, genome editing, semiconductor technology, AI/ML, energy systems, spaceflight, robotics, diagnostics, climate, agriculture, cybersecurity, transportation, materials, telecommunications, water/sanitation, and pharmaceuticals/drug development.
  • Explore cited CRISPR/Cas9, semiconductor/integrated-circuit, AI/ML, energy/grid, spaceflight/satellite, robotics/autonomy, medical diagnostics, climate/environment, agriculture/food, cybersecurity/cryptography, transportation/logistics, materials/manufacturing, telecommunications/networking, water/sanitation, and pharmaceuticals/drug-development verticals with maturity labels, source links, and roadmap forecasts.

Curated Field Lenses

Field lens Purpose
Genome Editing / CRISPR-Cas Trace CRISPR foundations, editing platforms, delivery, safety assays, therapeutics, and likely next steps.
Semiconductors & Integrated Circuits Explore the chip stack from semiconductors and transistors through lithography, EDA, memory, accelerators, packaging, and roadmap nodes.
Artificial Intelligence & Machine Learning Navigate symbolic AI, classical ML, neural networks, foundation models, MLOps, evaluation, alignment, and agentic roadmap technologies.
Energy Systems & Grid Connect generation, transmission, storage, renewables, nuclear/fusion, microgrids, and long-duration storage.
Spaceflight & Satellites Follow launch vehicles, spacecraft systems, satellites, GPS, space science, and on-orbit servicing.
Robotics & Autonomous Systems Explore manipulation, mobile robots, perception, industrial automation, medical robots, autonomy, and safety.
Medical Imaging & Diagnostics Connect X-rays, CT, MRI, ultrasound, PET, laboratory diagnostics, point-of-care testing, and AI diagnostic support.
Climate & Environmental Systems Map climate measurement, pollution control, water/waste systems, climate modeling, mitigation, adaptation, and ecosystem monitoring.
Agriculture & Food Systems Trace mechanization, fertilizers, breeding, irrigation, controlled environments, supply chains, and digital agriculture.
Cybersecurity & Cryptography Connect public-key cryptography, identity, TLS, firewalls, detection, response, zero trust, and post-quantum migration.
Transportation & Logistics Follow road, rail, aviation, container shipping, intermodal freight, warehousing, cold chains, routing, and autonomous freight.
Materials Science & Manufacturing Trace metals, polymers, ceramics, composites, nanomaterials, additive manufacturing, materials informatics, and advanced materials roadmaps.
Telecommunications & Networking Follow telegraph, telephone, radio, fiber, packet switching, internet protocols, routing, cellular networks, broadband access, and 6G roadmap nodes.
Water & Sanitation Systems Connect wells, cisterns, sewers, aqueducts, municipal treatment, chlorination, wastewater, membranes, reuse, smart water networks, and desalination roadmaps.
Pharmaceuticals & Drug Development Trace pharmacy, pharmacology, trials, GMP, small-molecule discovery, biologics, delivery, pharmacovigilance, real-world evidence, and AI drug-discovery roadmaps.

Data Model

Canonical technology data lives in:

data/ancient.json
data/classical.json
data/medieval.json
data/renaissance.json
data/industrial.json
data/modern.json
data/future.json

Each technology entry uses:

{
  "id": "printing_press",
  "name": "Printing Press",
  "era": "Renaissance",
  "description": "Movable type printing enabled rapid reproduction of books and documents.",
  "prerequisites": ["paper", "metal_casting"]
}

Curated field entries may add metadata:

{
  "id": "crispr_gene_editing",
  "name": "CRISPR-Cas9 Genome Editing",
  "era": "Modern",
  "description": "Programmable genome editing with Cas9 and guide RNAs.",
  "prerequisites": ["genetic_engineering", "cas9_programmable_nuclease"],
  "fields": ["Genome Editing / CRISPR-Cas"],
  "maturity": "established",
  "sources": [
    {
      "title": "The Nobel Prize in Chemistry 2020",
      "url": "https://www.nobelprize.org/prizes/chemistry/2020/summary/",
      "publisher": "Nobel Prize",
      "year": 2020
    }
  ]
}

Rules:

  • id values must be unique lowercase identifiers.
  • era must match the file where the technology is stored.
  • dependencyEdges must contain typed semantic dependency objects; prerequisites is kept as a compatibility mirror of those edge targets.
  • The prerequisite graph must remain acyclic.
  • Every node must include firstKnownDate, datePrecision, region, and reviewStatus.
  • Every dependency edge must include type, confidence, evidence_level, note, and reviewStatus.
  • Node and edge sources carry source_type and supports metadata so generic overviews do not get treated like primary evidence.
  • Curated field nodes may include fields, fieldLanes, maturity, sources, and roadmap metadata.
  • Textbook-quality field nodes in CRISPR/Cas9, semiconductors, AI/ML, energy/grid, spaceflight/satellites, robotics/autonomy, medical diagnostics, climate/environment, agriculture/food, cybersecurity/cryptography, transportation/logistics, materials/manufacturing, telecommunications/networking, water/sanitation, and pharmaceuticals/drug development require cited sources.
  • Forecast technologies must include roadmap rationale, timeframe, confidence, and blockers.

The sorted view derives branches from IDs, names, and descriptions. See Data Coverage for the current branch model.

Agent Contributions

TechTree accepts small source-backed corrections from AI agents and MoltBook review threads. See Agent Contributions for accepted external prompts, corrected claims, sources, and validation receipts. To contribute useful changes, pick one task from the Edge Review Queue, follow the compact One-Edge PR Guide, then use the broader workflow in Contributing and the edge-type rules in Edge Review Playbook. The review bar is adversarial: see Adversarial Edge Review. If opening a PR is too much friction, send a source-locator contribution first.

Fastest useful PR path:

  1. Pick one open starter issue from the queue.
  2. Change exactly one edge, one source, and one receipt.
  3. Run npm run edge-receipts && npm test && npm run quality && npm run coverage.
  4. Open the PR with the old claim, new claim, source locator, invariant, and validation output.

Validation

Run the validator before committing data changes:

npm test

The validator checks required fields, typed dependency-edge metadata, duplicate IDs, invalid eras, era/file mismatches, missing prerequisites, self-prerequisites, and dependency cycles. npm test also runs the temporal audit, which rejects earlier-era nodes depending on later-era nodes, Modern nodes depending on Future nodes, and edges where the prerequisite has a later firstKnownDate.

Run the data-quality audit to catch generated placeholder rows, duplicate display names, weak source metadata, overconfident weak-inference edges, semantic edge-change receipts, and technologies that use modern or future-only terminology too early:

npm run quality

Inspect dataset balance with:

npm run coverage

Coverage reports era totals and branch-by-era counts. Use it to identify underrepresented areas before large additions.

For source-heavy changes, run the optional network URL audit:

npm run source-urls -- --field "Telecommunications & Networking"
npm run source-urls -- --field "Water & Sanitation Systems"
npm run source-urls -- --field "Pharmaceuticals & Drug Development"

This checks cited source URLs and fails on 404 or 5xx responses. It is kept separate from offline validation because it depends on network availability.

GitHub Actions runs the offline data-quality workflow on every push and pull request. The source URL audit runs weekly and can also be triggered manually from the Actions tab.

Expanding the Dataset

For small edits, update the relevant era JSON directly and run npm test.

For large expansions, use compact TSV sources in data/expansion/ and import them into the canonical era files:

node scripts/import-compact-tech.js data/expansion/example.tsv
npm test
npm run coverage

Compact TSV rows use:

Era	id	Name	Description	prereq1,prereq2

For bulk additions, follow Technology Expansion Runbook. It documents the compact TSV importer, manual review expectations, quality audit, and publish checklist.

Project Structure

app.js                         Graph view client
sorted.js                      Compact sorted browser
server.js                      Static file server and JSON API
data/                          Canonical era JSON and taxonomy data
data/expansion/                Compact TSV expansion sources
docs/                          Coverage and expansion documentation
scripts/validate-data.js       Data validator used by npm test
scripts/audit-temporal-consistency.js Temporal and semantic edge audit
scripts/check-edge-change-receipts.js Semantic edge-change receipt audit
scripts/coverage-report.js     Era and branch coverage report
scripts/import-compact-tech.js TSV importer for bulk additions
scripts/migrate-semantic-edges.js Rebuilds typed dependency edge metadata
scripts/audit-data-quality.js  Data-quality audit for duplicates and placeholder rows
scripts/audit-source-urls.js   Optional network audit for cited source URLs
.github/workflows/             CI workflows for data validation and source URL auditing

API

The server exposes:

  • GET /api/tech-tree: returns the full technology array.
  • PUT /api/tech-tree: replaces the dataset and persists it to era files, unless TECHTREE_READ_ONLY=true.
  • GET /api/config: returns client configuration such as read-only status.

License

This project is licensed under the MIT License.

About

Aim to map aInteractive technology tree and validated human-technology dependency graph across history, modern science, and future roadmap fields.ll human technologies as a graph

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors