Initiative: Mission Nomenclature Reconciliation
This initiative operationalizes ADR
2026-04-04-2-mission-type-mission-and-mission-run-terminology-boundary.md.
The goal is not a blind search/replace. The goal is to make every first-party Spec Kitty surface describe the same model:
Mission Type -> Mission -> Mission Run
with:
Featureretained only as a software-dev compatibility aliasWorkflowdemoted to umbrella proseStep ContractandProcedurekept as distinct doctrine/runtime layers
Success Criteria
- Canonical docs, glossary entries, architecture docs, and public website copy describe the same terminology model.
- Tracked-item selectors use
mission, blueprint selectors usemission-type, and runtime/session selectors usemission-run. mission_run_idis used only for runtime/session identity.feature_slugis either removed, dual-written as a compatibility alias, or explicitly marked deprecated wherever it remains.Step ContractandProceduremean the same thing in doctrine docs, CLI help text, prompt templates, and UI copy.
Canonical Target Vocabulary
| Term | Canonical meaning | Notes |
|---|---|---|
Mission Type |
Reusable workflow blueprint | Examples: software-dev, research, documentation |
Mission |
Concrete tracked item under kitty-specs/<slug>/ |
Generic tracked-item noun across all mission types |
Mission Run |
Runtime/session instance | Runtime-only; never a synonym for the tracked mission |
Work Package |
Planning/review slice inside a mission | WPxx artifacts and status |
Mission Action |
Outer lifecycle action | specify, plan, implement, review, etc. |
Step Contract |
Structured contract for one mission action | Internal decomposition of an action |
Procedure |
Reusable doctrine subworkflow | Delegated to by a step contract |
Feature |
Compatibility alias for a software-dev mission | Not canonical product language |
Workflow |
Umbrella prose only | Replace with specific nouns in technical surfaces |
Scope by Property
This initiative covers all first-party Spec Kitty properties in the current workspace that either expose product language or consume CLI/API/runtime contracts.
| Property | Primary surface types | Required outcome |
|---|---|---|
spec-kitty |
Core CLI, runtime, events, dashboard, docs, glossary, skills | Canonical source rollout |
Spec-Kitty-Website |
Public website, marketing copy, docs entrypoints | Public model matches ADR |
spec-kitty-saas |
SaaS onboarding, UI labels, dashboards, API consumers | UI and product text align with core |
spec-kitty-hub |
Shared UI and integration surfaces | Shared terminology model |
spec-kitty-tracker |
Tracker-facing UX and status copy | Mission terminology, compat where needed |
spec-kitty-orchestrator |
Provider-side orchestration UX and API usage | Contract names/versioning aligned |
spec-kitty-runtime |
Runtime library and typed models | mission run reserved for runtime |
spec-kitty-events |
Event schemas, projections, event docs | Canonical field naming and alias strategy |
spec-kitty-mobile* |
Mobile onboarding/help surfaces | Public language matches core |
spec-kitty-end-to-end-testing, spec-kitty-plain-english-tests |
Fixtures, transcripts, golden outputs | Regression coverage updated |
Workstreams
1. Policy and Glossary Lock
Goal: make the ADR and glossary the uncontested source of truth before any code rename proceeds.
Tasks:
- Update
docs/context/orchestration.mdto match the ADR exactly. - Update
glossary/historical-terms.mdsoFeatureis marked as a compatibility alias, not a co-equal current term. - Add or update glossary entries for
Mission Type,Mission Action,Step Contract, andProcedurewhere needed. - Add one short glossary note that
workflowis generic prose, not a primary domain object. - Update architecture and explanation docs that currently mix
Mission,Feature, andMission Run.
Representative files:
docs/context/orchestration.mddocs/context/doctrine.mddocs/context/identity.mdglossary/historical-terms.mddocs/2x/runtime-and-missions.mddocs/architecture/mission-system.md
Acceptance gate:
- No glossary entry defines
Mission Runas the tracked item. - No canonical doc uses
Missionto mean reusable blueprint without the wordType.
2. Core CLI Taxonomy
Goal: make flags, command groups, help text, error messages, and examples obey the ADR.
Canonical selector policy:
--mission-type= reusable blueprint selector--mission= tracked mission selector--mission-run= runtime/session selector only--feature= compatibility alias for--missionon software-dev legacy surfaces
Tasks:
- Audit command groups that currently use
mission-runfor tracked missions. - Introduce canonical tracked-mission help text and examples.
- Mark legacy
featurewrappers and legacymission-runtracked-item wrappers as compatibility surfaces. - Update autogenerated or hand-authored CLI docs to stop teaching the wrong nouns.
- Decide whether
agent workflowremains a command name as compatibility veneer or is replaced by a more precise surface such asagent mission.
Representative files:
src/specify_cli/cli/commands/agent/mission_run.pysrc/specify_cli/cli/commands/agent/feature.pysrc/specify_cli/cli/commands/agent/workflow.pysrc/specify_cli/cli/commands/mission_type.pysrc/specify_cli/cli/commands/implement.pydocs/api/cli-commands.mddocs/api/agent-subcommands.md
Acceptance gate:
- No canonical help text says
--mission-runselectskitty-specs/<slug>/. --mission-typeis the documented primary selector for blueprint choice.
3. Runtime, Events, and API Contracts
Goal: separate tracked mission identity from runtime/session identity in every machine-facing contract.
Tasks:
- Inventory every public JSON field carrying tracked-item identity.
- Introduce
mission_slugas the canonical tracked-item field where absent. - Dual-write
feature_slugonly where needed for compatibility. - Reserve
mission_run_idfor runtime/session state only. - Decide whether orchestrator API commands and payloads need versioned aliases
(
mission-state,accept-mission,merge-mission) or a staged deprecation layer. - Update event-envelope and state-contract docs to explain the alias window.
Representative files:
src/specify_cli/next/runtime_bridge.pysrc/specify_cli/context/models.pysrc/specify_cli/state_contract.pysrc/specify_cli/orchestrator_api/commands.pydocs/api/orchestrator-api.mddocs/api/event-envelope.mddocs/status-model.md
Acceptance gate:
mission_run_idnever aliases a mission slug.- Every public payload that identifies a tracked mission documents
mission_slugas canonical.
4. Dashboard and Product UI Surfaces
Goal: make user-visible UI labels, navigation, badges, filters, empty states, and notifications use the canonical terminology.
Tasks:
- Audit dashboard labels such as
currentFeature, feature tabs, accept/merge flows, and activity log strings. - Update mission-type selectors in onboarding and creation flows.
- Ensure software-dev specific surfaces can still say
featurewhere that is domain-natural, but only as a subtype/example of mission. - Review screenshots, onboarding callouts, and empty-state guidance so public language matches the model.
Representative surfaces:
src/specify_cli/dashboard/static/dashboard/dashboard.js- SaaS dashboards and onboarding in
spec-kitty-saas - Tracker and hub surfaces in
spec-kitty-trackerandspec-kitty-hub
Acceptance gate:
- Generic UI copy says
Missionunless the context is explicitly software-delivery-specific. - No dashboard label uses
Mission Runfor the tracked item.
5. Docs, Skills, Prompt Templates, and Tutorials
Goal: fix the highest-volume repetition surfaces that currently teach the wrong model back to users and agents.
Tasks:
- Update all docs that explain the hierarchy.
- Update skills under
.agents/,.claude/, andsrc/doctrine/skills/. - Update command templates under
src/doctrine/missions/*/command-templates/. - Update public tutorials, how-to guides, and quickstart snippets.
- Add a terminology migration note to the docs site so users understand what is canonical vs compatibility.
Representative files:
src/doctrine/skills/spec-kitty-mission-system/SKILL.mdsrc/doctrine/skills/spec-kitty-runtime-next/SKILL.mdsrc/doctrine/skills/spec-kitty-charter-doctrine/SKILL.mddocs/api/missions.mddocs/architecture/runtime-loop.mddocs/guides/*.agents/skills/**.claude/skills/**
Acceptance gate:
- Mission-system docs, runtime docs, and glossary all describe the same hierarchy.
- No tutorial teaches
mission runas the tracked item.
6. Public Website and Marketing Language
Goal: make the public story match the product model without sacrificing plain English clarity.
Rules:
- Use
Missionas the generic product noun. - Use
Mission Typewhen describing reusable workflows. - Use
Featureonly as an example outcome withinsoftware-dev. - Avoid
Mission Runin marketing except where explaining runtime/session internals for technical audiences.
Tasks:
- Update homepage/product pages/feature lists.
- Update diagrams, screenshots, captions, alt text, and hero copy.
- Update docs entry copy and SEO meta descriptions where terminology currently
implies
Featureis the generic tracked item.
Primary property:
Spec-Kitty-Website
Acceptance gate:
- A new reader can understand the model from the website without reading the glossary.
7. Sister Repo Reconciliation
Goal: align non-core repositories that parse, render, or echo Spec Kitty terms.
Tasks by repo category:
spec-kitty-runtime,spec-kitty-events: field names, schema comments, event docs, generated clients.spec-kitty-orchestrator: provider-side command invocation, contract docs, CLI examples, dashboard strings.spec-kitty-saas,spec-kitty-hub,spec-kitty-tracker: onboarding, workflow copy, labels, filters, analytics dimensions.spec-kitty-mobile*: mobile help text, onboarding, and glossary snippets.- Test repos: golden transcripts, plain-English expectations, fixture slugs, and E2E assertions.
Acceptance gate:
- No first-party property teaches a contradictory hierarchy.
8. Compatibility, Deprecation, and Release Management
Goal: sequence the migration without causing silent breakage.
Tasks:
- Publish an explicit compatibility matrix for flags, fields, and command groups.
- Add deprecation warnings where legacy selectors remain accepted.
- Define removal criteria for
featureprimary surfaces andmission-runtracked-item selectors. - Version public API changes where payload field names change.
- Add regression tests for legacy aliases during the deprecation window.
Acceptance gate:
- Users can follow canonical docs immediately.
- Legacy automation receives explicit warnings, not silent behavior changes.
Rollout Sequence
Phase 0: Freeze the Lexicon
Deliverables:
- ADR accepted
- Initiative published
- Search inventory captured
No code/API renames should proceed before this phase is merged.
Phase 1: Canonical Docs and Glossary
Deliverables:
- Glossary and architecture docs updated
spec-kittydocs site updated- Skills and doctrine docs updated
This phase changes the language people read first.
Phase 2: Core CLI and Runtime Contracts
Deliverables:
- Canonical selectors and help text updated
- Runtime/session naming separated from tracked-item naming
- Event/API alias strategy implemented
This phase changes what developers and automation call.
Phase 3: UI and Dashboard Surfaces
Deliverables:
- Core dashboard copy updated
- SaaS/hub/tracker product UIs updated
- Screenshots and support text refreshed
This phase changes what users see while operating the product.
Phase 4: External Properties and Public Website
Deliverables:
- Public website copy updated
- Marketing diagrams updated
- Orchestrator/provider docs updated
This phase changes what prospects and integrators learn.
Phase 5: Deprecation Burn-Down
Deliverables:
- Legacy aliases reduced to a documented allowlist
- Removal plan published
- Metrics collected on legacy command/field usage
This phase retires the old language safely.
Search and Audit Checklist
Use this checklist in every property before editing:
- Search for
mission runused to mean tracked item. - Search for
--mission-runused to selectkitty-specs/<slug>/. - Search for
--missionused to mean mission type without a compatibility note. - Search for
feature_slugin public payloads and docs. - Search for
feature-state,accept-feature,merge-feature, and related command docs. - Search for
workflowwhere a more specific term should be used. - Search for hierarchy diagrams that still say
Mission -> FeatureorMission -> Mission Runincorrectly.
Suggested starting commands in each repo:
rg -n "mission run|mission-run|feature_slug|feature-state|accept-feature|merge-feature|--feature\\b|--mission\\b|--mission-run\\b|workflow"
Done Definition
This initiative is complete when:
- The glossary, ADRs, docs, and website all teach the same model.
- The core CLI and APIs use canonical selectors/field names with explicit compatibility aliases.
- No first-party property uses
Mission Runto mean the tracked mission. Featureappears only in software-dev-specific or explicitly deprecated contexts.- The remaining compatibility exceptions are documented in one allowlist with owners and removal dates.