1---2name: ecosystem-terminology-23description: Canonical names, abbreviations, and relationship vocabulary for the workspace-hub ecosystem. Load this when naming repos, modules, machines, files, or expanding acronyms to ensure consistency across humans and agents. type: reference4---56# Ecosystem Terminology78> Single authoritative reference for names, abbreviations, and relationships.9> Correct these first before writing any code, commit, or document.1011## 1 — Canonical Repo Names1213> This section covers **core / tier-1 repos** and commonly referenced submodules.14> The full submodule list is in `.gitmodules` (24 submodules total as of 2026-03).15> Repos not listed below follow the same pattern: use the exact name in `.gitmodules`.1617### Core / Tier-1 Repos (Python, full test suite)1819| Repo | Canonical ID | Package Name | Tier | Maturity | Aliases (acceptable) | Do-Not-Use |20|------|-------------|-------------|------|----------|----------------------|-----------|21| workspace-hub | `workspace-hub` | — | hub | stable | hub | workspace_hub, WorkspaceHub, wshub |22| assetutilities | `assetutilities` | `assetutilities` | tier-1 | stable | au | asset_utilities, asset-utilities, AssetUtilities, asset_util |23| digitalmodel | `digitalmodel` | `digitalmodel` | tier-1 | beta | dm | digital_model, digital-model, DigitalModel |24| worldenergydata | `worldenergydata` | `worldenergydata` | tier-1 | beta | wed | world_energy_data, WorldEnergyData, energydata |25| assethold | `assethold` | `assethold` | tier-1 | beta | ah | asset_hold, asset-hold, AssetHold |26| OGManufacturing | `OGManufacturing` | `ogmanufacturing` | tier-1 | alpha | ogm | og_manufacturing, og-manufacturing, ogmanufacturing (as repo ID) |2728> **Import note**: `OGManufacturing` is the git submodule name (PascalCase); its Python29> package is `ogmanufacturing` (lowercase). Never swap them.3031### Other Submodules (non-Python or special-purpose)3233| Repo | Canonical ID | Category | Do-Not-Use |34|------|-------------|---------|-----------|35| aceengineer-website | `aceengineer-website` | site | aceengineer_website, ace-website |36| aceengineer-admin | `aceengineer-admin` | admin | aceengineer_admin |37| achantas-data | `achantas-data` | data | achantas_data |38| achantas-media | `achantas-media` | media | achantas_media |39| mkt-a | `mkt-a` | projects | mkt-a_projects |40| client-c | `client-c` | client | client-c, clientprojects |41| CAD-DEVELOPMENTS | `CAD-DEVELOPMENTS` | cad | cad-developments, cad_developments |42| lng-a | `lng-a` | tools | — |43| client-a | `client-a` | data | frontier_deepwater, client-a |44| hobbies | `hobbies` | personal | — |45| investments | `investments` | finance | — |46| pdf/large-reader | `pdf/large-reader` | tools | pdf_large_reader |47| pyproject-starter | `pyproject-starter` | template | pyproject_starter |48| client-b | `client-b` | data | rock_oil_field |49| sabithaandkrishnaestates | `sabithaandkrishnaestates` | personal | sabithaandkrishna-estates |50| client-d | `client-d` | client | — |51| sd-work | `sd-work` | work | sd_work |52| client-f | `client-f` | data | — |53| teamresumes | `teamresumes` | hr | team_resumes, team-resumes |5455## 2 — Relationship Vocabulary5657| Term | Definition |58|------|-----------|59| **hub** | `workspace-hub` — the orchestration repo; contains skills, work-queue, scripts, config |60| **submodule** | Any repo registered in `.gitmodules` under `workspace-hub` (24 total as of 2026-03); includes tier-1, site, data, personal repos |61| **tier-1 repo** | A submodule with a `pyproject.toml`, `uv.lock`, and full test suite; currently: assetutilities, digitalmodel, worldenergydata, assethold, OGManufacturing |62| **adapter file** | `CLAUDE.md`, `CODEX.md`, `GEMINI.md` — thin per-agent configuration files (≤20 lines); never put logic here, use skills instead |63| **harness** | The tooling layer inside hub: skills, work-queue, scripts, config, rules |64| **WRK** | A work item tracked in `.claude/work-queue/` with a `WRK-NNN` identifier |65| **stage** | One numbered step in the 20-stage WRK lifecycle (1=Capture … 20=Archive) |66| **phase** | A grouping of related stages (e.g., "planning phase" = stages 2-7) |67| **checkpoint** | `checkpoint.yaml` snapshot written after each stage to enable safe resume |68| **gate** | A hard stop requiring human confirmation or verifiable script output before proceeding |69| **cross-review** | Multi-provider AI review (Claude + Codex + Gemini) — Codex is a hard gate |70| **AC** | Acceptance Criteria — the testable conditions that define WRK completion |71| **evidence** | Files in `assets/WRK-NNN/evidence/` that record gate passage |72| **skill** | A `SKILL.md` file loaded on demand to guide agent behaviour for a specific task type |73| **orchestrator** | The AI agent that owns the session; delegates to subagents |74| **subagent** | Agent spawned by the orchestrator to isolate context or run parallel work |7576## 3 — File / Directory Naming7778| Context | Correct | Incorrect |79|---------|---------|-----------|80| Work-queue directory | `work-queue` | `work_queue`, `workqueue` |81| Skill definition file | `SKILL.md` | `skill.md`, `Skill.md`, `SKILL.yaml` |82| WRK asset dir | `assets/WRK-1098/` | `assets/wrk-1098/`, `assets/WRK1098/` |83| Evidence dir | `evidence/` | `evidences/`, `gate-evidence/` |84| Script files | `kebab-case.sh` | `snake_case.sh`, `camelCase.sh` |85| Python source | `snake_case.py` | `kebab-case.py`, `camelCase.py` |86| Stage exit artifact | `stage-evidence.yaml` | `stage_evidence.yaml`, `stageEvidence.yaml` |87| GitHub issue (review surface) | GitHub issue URL | `WRK-NNN-lifecycle.html` (deprecated) |88| Config files | `kebab-case.yaml` | `snake_case.yaml` |89| Commands dir | `.claude/commands/` | `.claude/command/`, `.claude/cmds/` |9091## 4 — Acronyms & Abbreviations9293| Acronym | Expansion | Domain |94|---------|-----------|--------|95| WRK | Work item (tracked queue entry) | harness |96| AC | Acceptance Criteria | harness |97| TDD | Test-Driven Development | engineering |98| GTM | Go-To-Market | strategy |99| CP | Cathodic Protection | engineering |100| VIV | Vortex-Induced Vibration | engineering |101| FFS | Fitness-For-Service | engineering |102| EIA | Energy Information Administration | data |103| BSEE | Bureau of Safety and Environmental Enforcement | data |104| OG | Oil and Gas | domain |105| HPC | High-Performance Computing | infra |106| CFD | Computational Fluid Dynamics | infra |107| FEA | Finite Element Analysis | infra |108| PEP | Python Enhancement Proposal | python |109| SRP | Single Responsibility Principle | patterns |110| DI | Dependency Injection | patterns |111| CI | Continuous Integration | devops |112| CD | Continuous Deployment | devops |113| RI | Resource Intelligence (Stage 2 artefact) | harness |114| HTML | (deprecated) formerly Lifecycle review document; now GitHub issue is the review surface | harness |115| MCP | Model Context Protocol (Claude tool server standard) | ai |116| QA | Quality Assurance | engineering |117| CLI | Command-Line Interface | tools |118| YAML | YAML Ain't Markup Language (config file format) | infra |119| UV | Astral `uv` — the Python package/project manager used throughout this workspace | python |120121## 5 — Machines / People122123| Canonical | Aliases (OK in casual chat) | Never Use | Notes |124|-----------|---------------------------|-----------|-------|125| `dev-primary` | primary, ace1-machine | ace1, linux-1, machine1 | Primary orchestration machine |126| `dev-secondary` | secondary, ace2-machine | ace2, linux-2, machine2 | Secondary Linux / CFD-FEA dev |127| `licensed-win-1` | ansys-machine, orcaflex-machine | ansys5, mkt-a5 | Windows, OrcaFlex license-locked |128| `licensed-win-2` | windows-machine | ws14, mkt-a14 | Windows 11 workstation |129| `gali-linux-compute-1` | gali-compute | gali1, compute1 | Heavy-compute Linux (planned) |130| vamsee | — | user (in evidence `reviewer` field use `vamsee`) | Repo owner |131132## 6 — Do-Not-Use List133134| Deprecated / Wrong Name | Use Instead | Reason |135|------------------------|-------------|--------|136| `asset_utilities` | `assetutilities` | Underscore variant — breaks imports |137| `digital_model` | `digitalmodel` | Underscore variant — breaks imports |138| `world_energy_data` | `worldenergydata` | Underscore variant — breaks imports |139| `asset_hold` | `assethold` | Underscore variant |140| `og_manufacturing` | `OGManufacturing` (repo) / `ogmanufacturing` (package) | Mixed-case rule |141| `work_queue` | `work-queue` | Wrong directory name |142| `skill.md` | `SKILL.md` | Incorrect capitalisation |143| `ace1`, `linux-1` | `dev-primary` | Non-canonical machine shorthand |144| `ace2`, `linux-2` | `dev-secondary` | Non-canonical machine shorthand |145| `AssetUtilities` | `assetutilities` | PascalCase is wrong for package/repo ID |146| `DigitalModel` | `digitalmodel` | PascalCase is wrong for package/repo ID |147| `WorldEnergyData` | `worldenergydata` | PascalCase is wrong for package/repo ID |148| `WRK_NNN` | `WRK-NNN` | Hyphen required in WRK identifiers |149| `wrk-nnn` | `WRK-NNN` | Must be uppercase |150| `stage_evidence` | `stage-evidence` | Hyphen-case for all YAML artefact names |151| `user` (reviewer field) | `vamsee` | Human allowlist uses the name, not role |152153## Iron Law154155> No repo, package, machine, file, or identifier shall be referenced by a non-canonical name — check this skill's tables before writing any name.156157## Rationalization Defense158159| Excuse | Reality |160|--------|---------|161| "The user typed it this way, I'm just matching their input" | You are the enforcement layer. Correct non-canonical names silently — do not propagate errors. |162| "It's just a comment / commit message, not code" | Non-canonical names in prose train future agents (and humans) to use the wrong name. Every occurrence matters. |163| "I know the right name, this is close enough" | `asset_utilities` breaks imports. `digital-model` breaks directory lookups. Close enough is broken. |164| "There's no entry in the table for this" | If it is not in the table, check `.gitmodules` for the exact spelling. Never guess. |165166## Red Flags167168These phrases signal you are about to violate the Iron Law:169- "I think the repo is called..."170- "the package name is probably..."171- using underscores in a repo name without checking172- using PascalCase for a package import173- referencing a machine as "ace1" or "linux-1"