sweep-normalize-naming

Sweep: normalize naming — WorkGraph→workgraph, 'work graph'→'workgraph' (preserve 'graph of work' conceptual phrase)

Metadata

Statusdone
Assignedagent-2333
Agent identityf51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e
Modelcodex:gpt-5.5
Created2026-05-04T17:08:50.596468175+00:00
Started2026-05-04T17:09:49.322153330+00:00
Completed2026-05-04T19:19:30.867294860+00:00
Tagsfix,docs,sweep,naming,branding, eval-scheduled
Eval score0.93
└ blocking impact0.92
└ completeness0.95
└ coordination overhead0.89
└ correctness0.96
└ downstream usability0.91
└ efficiency0.85
└ intent fidelity0.92
└ style adherence0.96

Description

Description

Naming drift: the system is sometimes 'WorkGraph' (CamelCase), sometimes 'workgraph' (lowercase), sometimes 'work graph' (two words). Need to normalize to ONE canonical spelling everywhere — except where the conceptual phrase 'graph of work' is being explained.

User direct quote 2026-05-04: 'we should change from WorkGraph → workgraph everywhere and "work graph" → "workgraph" except where the concept of workgraph might be described "a graph of work" ... the naming collision is harsh because the agents named the system lol.'

Scope (large surface)

Empirical count via grep:

  • README.md + CLAUDE.md + AGENTS.md: 14 matches
  • docs/: 115 matches
  • src/: 1260 matches
  • Total: ~1389 matches

Most src/ matches are likely comments / error messages / log lines / doc-strings. The carve-out rule is the trickiest part.

Canonical name: workgraph (lowercase, one word)

REPLACE these forms → workgraph:

  • WorkGraph (CamelCase) → workgraph
  • work graph (two words, when used as the system name) → workgraph
  • Workgraph at sentence start: prefer reformulating to keep it lowercase OR accept sentence-case Workgraph if reformulation is awkward (style call per case)

PRESERVE these:

  • graph of work — the conceptual description ('workgraph is a graph of work, where each task...')
  • work graph when actually referring to a particular instance like 'this work graph' meaning 'this concrete graph of tasks' (judgment call — context-dependent)
  • Imports / module names / type names if the codebase has them as WorkGraph (Rust convention is CamelCase for types) — code structure stays; only prose/strings change
  • File extension / path components: anything literal like .wg or filenames — untouched
  • Trademark / official rendering on poietic.life if there's a specific brand mark — verify; default to lowercase
  • Historical / quoted text in archives / changelog where the historical name was capitalized — preserve verbatim with quote marks, or update if it's the project's own narration

Approach (mirror sweep-purge-stale's pattern)

  1. grep -rEn 'WorkGraph|work graph' README.md CLAUDE.md AGENTS.md docs/ src/ > /tmp/naming-refs.txt
  2. Categorize each: REPLACE / PRESERVE-CONCEPTUAL / PRESERVE-CODE-IDENTIFIER / GREY (judgment)
  3. Apply replacements in batches:
    • Top-level docs first (README, CLAUDE.md, AGENTS.md) — fewest matches, highest visibility
    • Then docs/ — moderate count, mostly text
    • Then src/ — largest, mostly comments + strings; preserve Rust type CamelCase
  4. Verify per batch with re-grep; ensure preserved matches are still present and replaced ones are gone

Specific carve-outs

'graph of work' / 'a graph of work' / 'persistent graph of work'

PRESERVE — this is the conceptual phrase. Used in manifesto / theory / 'WorkGraph is a graph of work, where each node...' style explanations.

Rust type / struct / module names

PRESERVE — Rust convention is CamelCase. pub struct WorkGraph stays. use workgraph::WorkGraph stays.

Crate name (Cargo.toml)

PRESERVE if 'workgraph' (already lowercase by Rust convention). Verify.

Display strings / log messages / error messages

REPLACE — these are user-facing prose. 'WorkGraph initialized''workgraph initialized'.

Comments

REPLACE if descriptive prose. PRESERVE if quoting older docs / changelog entries.

Validation

  • Categorized list of all ~1389 matches in task log: REPLACE / PRESERVE-CONCEPTUAL / PRESERVE-IDENTIFIER / GREY-resolved
  • After sweep: grep -rEn '\bWorkGraph\b' README.md CLAUDE.md AGENTS.md docs/ src/ returns ONLY documented exceptions (Rust type names like 'pub struct WorkGraph')
  • After sweep: grep -rEn '\bwork graph\b' README.md CLAUDE.md AGENTS.md docs/ src/ returns ONLY 'graph of work' rephrasings + intentional conceptual references
  • No regression of any tests that specifically reference the old name (rewrite if any exist)
  • Crate compiles unchanged (cargo build passes)
  • Cargo.toml crate name unchanged (already lowercase per convention)
  • Public-facing docs (README, agent-guide bundle, quickstart) all use workgraph (lowercase) consistently
  • cargo build + cargo test pass
  • cargo install --path . was run before claiming done

Coordinate with prior README work

Wired --after refine-readme-concrete so this normalizes after the README chain lands. Specifically:

  • fix-readme-s removes Terminal-Bench (no naming impact)
  • rewrite-readme-manifesto-5 introduces the manifesto (uses 'WorkGraph' likely, since user's draft did)
  • refine-readme-cybernetic deepens framing (same concern)
  • refine-readme-concrete adds Getting Started + viral framing (same concern)

After all four, this sweep normalizes whatever naming style the README chain settled on. The README chain agents shouldn't worry about lowercase consistency — they write the prose; this sweep enforces the canonical form.

Process note

This is the THIRD large sweep filed in the project lifetime (after fix-replace-stale handled .workgraph/ paths, sweep-purge-stale extended that to source). Pattern of 'naming drifts in a project that's been running fast'. Worth amending the doc-sync function template's audit-terminology-consistency to include capitalization checks ('WorkGraph' vs 'workgraph' vs 'work graph') so future drift is caught structurally.

The user's wry note ('the agents named the system lol') is the actual root cause — different agents, different sessions, different capitalization preferences. A canonical-naming guideline in the agent-guide bundle would help going forward (e.g., 'when referring to the project in user-facing prose, always use lowercase one-word workgraph').

Depends on

Required by

Log