# Muse — Type Contracts Reference > Auto-generated: 2026-09-11 > Source: `scripts/gen_type_contracts.py (repo: muse)` > Check for drift: `python scripts/gen_type_contracts.py --check` > > **Do not edit this file manually.** It is regenerated from source on every > commit. To update, change the source types and re-run the generator. --- ## Table of Contents - [Enums](#enums) (2) - [TypedDicts](#typeddicts) (491) - [Protocols](#protocols) (12) --- ## Enums ### `ExitCode` — [`muse/core/errors.py`](muse/core/errors.py) Standardised CLI exit codes. **Bases:** `IntEnum` | Member | Value | |--------|-------| | `SUCCESS` | `0` | | `USER_ERROR` | `1` | | `REPO_NOT_FOUND` | `2` | | `INTERNAL_ERROR` | `3` | | `NOT_FOUND` | `4` | | `REMOTE_ERROR` | `5` | | `PARTIAL` | `6` | ### `ObjectState` — [`muse/core/object_availability.py`](muse/core/object_availability.py) Availability state of a single content-addressed object. **Bases:** `str`, `Enum` | Member | Value | |--------|-------| | `PRESENT` | `'present'` | | `PROMISED` | `'promised'` | | `MISSING` | `'missing'` | ## TypedDicts ### `_AgeEventDict` — [`muse/cli/commands/age.py`](muse/cli/commands/age.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `date` | `str` | ✓ | `—` | | `commit` | `str` | ✓ | `—` | | `label` | `str` | ✓ | `—` | ### `_AgeFiltersDict` — [`muse/cli/commands/age.py`](muse/cli/commands/age.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str | None` | ✓ | `—` | | `file` | `str | None` | ✓ | `—` | | `sort` | `str` | ✓ | `—` | | `top` | `int` | ✓ | `—` | | `since` | `str | None` | ✓ | `—` | | `max_commits` | `int` | ✓ | `—` | ### `_AgeRecord` — [`muse/cli/commands/age.py`](muse/cli/commands/age.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `born_commit` | `str` | ✓ | `—` | | `born_date` | `str` | ✓ | `—` | | `last_impl_commit` | `str` | ✓ | `—` | | `last_impl_date` | `str` | ✓ | `—` | | `last_change_commit` | `str` | ✓ | `—` | | `last_change_date` | `str` | ✓ | `—` | | `calendar_age_days` | `int` | ✓ | `—` | | `genetic_age_days` | `int` | ✓ | `—` | | `impl_changes` | `int` | ✓ | `—` | | `sig_changes` | `int` | ✓ | `—` | | `renames` | `int` | ✓ | `—` | | `est_survival_pct` | `int` | ✓ | `—` | ### `AdapterSpec` — [`muse/cli/commands/agent_config.py`](muse/cli/commands/agent_config.py) Specification for one IDE/agent adapter file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `filename` | `str` | ✓ | `—` | | `style` | `str` | ✓ | `—` | ### `InspectResult` — [`muse/cli/commands/agent_config.py`](muse/cli/commands/agent_config.py) Output of ``muse agent-config inspect --json``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `context` | `str` | ✓ | `—` | | `workspace_root` | `str | None` | ✓ | `—` | | `repo_name` | `str` | ✓ | `—` | | `agent_md_exists` | `bool` | ✓ | `—` | | `merged_content` | `str | None` | ✓ | `—` | | `adapters` | `list[StatusAdapterEntry]` | ✓ | `—` | | `ready` | `bool` | ✓ | `—` | ### `StatusAdapterEntry` — [`muse/cli/commands/agent_config.py`](muse/cli/commands/agent_config.py) One entry in the ``muse agent-config status --json`` output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `filename` | `str` | ✓ | `—` | | `exists` | `bool` | ✓ | `—` | | `in_sync` | `bool` | ✓ | `—` | ### `SyncAdapterResult` — [`muse/cli/commands/agent_config.py`](muse/cli/commands/agent_config.py) One entry in the ``muse agent-config sync --json`` output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `written` | `bool` | ✓ | `—` | | `skipped` | `bool` | ✓ | `—` | ### `BarAttribution` — [`muse/cli/commands/agent_map.py`](muse/cli/commands/agent_map.py) Attribution record for one bar. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `bar` | `int` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `_AnnotatePayload` — [`muse/cli/commands/annotate.py`](muse/cli/commands/annotate.py) Domain-only fields built by ``_record_to_json``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `parent_commit_id` | `str | None` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `model_id` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `reviewed_by` | `list[str]` | ✓ | `—` | | `test_runs` | `int` | ✓ | `—` | | `labels` | `list[str]` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `notes` | `list[str]` | ✓ | `—` | | `score` | `float | None` | ✓ | `—` | | `changed` | `bool` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | ### `_PublicSymbolDict` — [`muse/cli/commands/api_surface.py`](muse/cli/commands/api_surface.py) JSON-serialisable form of a :class:`_PublicSymbol`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `qualified_name` | `str` | ✓ | `—` | | `language` | `str` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | | `signature_id` | `str` | ✓ | `—` | | `body_hash` | `str` | ✓ | `—` | ### `_FileDiff` — [`muse/cli/commands/apply.py`](muse/cli/commands/apply.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str | None` | ✓ | `—` | | `hunks` | `list[_PatchHunk]` | ✓ | `—` | | `is_new` | `bool` | ✓ | `—` | | `is_delete` | `bool` | ✓ | `—` | ### `_PatchHunk` — [`muse/cli/commands/apply.py`](muse/cli/commands/apply.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `old_start` | `int` | ✓ | `—` | | `context_before` | `list[str]` | ✓ | `—` | | `removes` | `list[str]` | ✓ | `—` | | `adds` | `list[str]` | ✓ | `—` | | `context_after` | `list[str]` | ✓ | `—` | | `_phase` | `str` | ✓ | `—` | ### `_ListEntryJson` — [`muse/cli/commands/archive.py`](muse/cli/commands/archive.py) One file entry in the ``--list --json`` output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `object_id` | `str` | ✓ | `—` | ### `_CheckResultJson` — [`muse/cli/commands/attributes.py`](muse/cli/commands/attributes.py) JSON result for a single path resolution. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `dimension` | `str` | ✓ | `—` | | `strategy` | `str` | ✓ | `—` | | `rule_index` | `int` | ✓ | `—` | ### `_RuleJson` — [`muse/cli/commands/attributes.py`](muse/cli/commands/attributes.py) JSON representation of a single ``.museattributes`` rule. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path_pattern` | `str` | ✓ | `—` | | `dimension` | `str` | ✓ | `—` | | `strategy` | `str` | ✓ | `—` | | `comment` | `str` | ✓ | `—` | | `priority` | `int` | ✓ | `—` | | `source_index` | `int` | ✓ | `—` | ### `_ValidateErrorJson` — [`muse/cli/commands/attributes.py`](muse/cli/commands/attributes.py) A single validation error entry. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `_ChallengeResp` — [`muse/cli/commands/auth.py`](muse/cli/commands/auth.py) Parsed response from the hub challenge endpoint (snake_case canonical). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `challenge_token` | `str` | ✓ | `—` | | `is_new_key` | `bool` | ✓ | `—` | | `expires_in` | `int` | ✓ | `—` | | `algorithm` | `str` | ✓ | `—` | ### `_JsonPayload` — [`muse/cli/commands/auth.py`](muse/cli/commands/auth.py) Generic JSON request payload for hub auth endpoints (all fields optional str). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `fingerprint` | `str` | ✓ | `—` | | `algorithm` | `str` | ✓ | `—` | | `challenge_token` | `str` | ✓ | `—` | | `public_key_b64` | `str` | ✓ | `—` | | `signature_b64` | `str` | ✓ | `—` | | `handle` | `str` | ✓ | `—` | | `label` | `str` | ✓ | `—` | ### `_ShowJson` — [`muse/cli/commands/auth.py`](muse/cli/commands/auth.py) JSON schema for a single identity detail entry (used in show output). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `hub` | `str` | ✓ | `—` | | `handle` | `str` | ✓ | `—` | | `type` | `str` | ✓ | `—` | | `fingerprint` | `str` | ✓ | `—` | | `algorithm` | `str` | ✓ | `—` | | `provisioned_by` | `str` | ✓ | `—` | | `provisioned_by_fingerprint` | `str` | ✓ | `—` | | `hd_path` | `str` | ✓ | `—` | | `mnemonic_word_count` | `int` | ✓ | `—` | | `derived_paths` | `_DerivedPaths` | ✓ | `—` | | `avax_c_chain_address` | `str` | ✓ | `—` | ### `_VerifyResp` — [`muse/cli/commands/auth.py`](muse/cli/commands/auth.py) Parsed response from the hub verify/add-key endpoint (snake_case canonical). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `handle` | `str` | ✓ | `—` | | `identity_id` | `str` | ✓ | `—` | | `is_new_identity` | `bool` | ✓ | `—` | | `auth_method` | `str` | ✓ | `—` | ### `_WhoamiJson` — [`muse/cli/commands/auth.py`](muse/cli/commands/auth.py) JSON schema for a single identity entry (used in list output). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `hub` | `str` | ✓ | `—` | | `type` | `str` | ✓ | `—` | | `handle` | `str` | ✓ | `—` | | `fingerprint` | `str` | ✓ | `—` | | `key_set` | `bool` | ✓ | `—` | | `capabilities` | `list[str]` | ✓ | `—` | | `provisioned_by` | `str` | ✓ | `—` | | `hd_path` | `str` | ✓ | `—` | ### `_BisectLogEntryJson` — [`muse/cli/commands/bisect.py`](muse/cli/commands/bisect.py) One structured entry in the bisect log. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `verdict` | `str` | ✓ | `—` | | `timestamp` | `str` | ✓ | `—` | ### `_BisectRunDoneJson` — [`muse/cli/commands/bisect.py`](muse/cli/commands/bisect.py) Final NDJSON line emitted by ``muse bisect run --json`` when complete. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `done` | `bool` | ✓ | `—` | | `first_bad` | `str | None` | ✓ | `—` | | `steps_taken` | `int` | ✓ | `—` | ### `_BisectStepPayload` — [`muse/cli/commands/bisect.py`](muse/cli/commands/bisect.py) Domain fields built by ``_result_to_json``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `done` | `bool` | ✓ | `—` | | `first_bad` | `str | None` | ✓ | `—` | | `next_to_test` | `str | None` | ✓ | `—` | | `remaining_count` | `int` | ✓ | `—` | | `steps_remaining` | `int` | ✓ | `—` | | `verdict` | `str` | ✓ | `—` | | `symbol_changes` | `list[str]` | ✓ | `—` | ### `_BlameEventJson` — [`muse/cli/commands/blame.py`](muse/cli/commands/blame.py) One event in the blame history of a symbol. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `event` | `SymbolEventKind` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `address` | `str` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | | `new_address` | `str | None` | ✓ | `—` | ### `_BlastRiskFilters` — [`muse/cli/commands/blast_risk.py`](muse/cli/commands/blast_risk.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str | None` | ✓ | `—` | | `file` | `str | None` | ✓ | `—` | | `min_risk` | `int` | ✓ | `—` | | `since` | `str | None` | ✓ | `—` | | `top` | `int` | ✓ | `—` | | `max_commits` | `int` | ✓ | `—` | ### `_BlastRiskWeights` — [`muse/cli/commands/blast_risk.py`](muse/cli/commands/blast_risk.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `impact` | `float` | ✓ | `—` | | `churn` | `float` | ✓ | `—` | | `test_gap` | `float` | ✓ | `—` | | `coupling` | `float` | ✓ | `—` | ### `_SymbolRisk` — [`muse/cli/commands/blast_risk.py`](muse/cli/commands/blast_risk.py) Fully-scored risk record for one symbol. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `risk` | `int` | ✓ | `—` | | `impact_raw` | `int` | ✓ | `—` | | `churn_raw` | `int` | ✓ | `—` | | `test_gap_raw` | `float` | ✓ | `—` | | `coupling_raw` | `int` | ✓ | `—` | | `impact_score` | `int` | ✓ | `—` | | `churn_score` | `int` | ✓ | `—` | | `test_gap_score` | `int` | ✓ | `—` | | `coupling_score` | `int` | ✓ | `—` | | `production_callers` | `list[str]` | ✓ | `—` | | `test_callers` | `list[str]` | ✓ | `—` | ### `_SymbolRiskJson` — [`muse/cli/commands/blast_risk.py`](muse/cli/commands/blast_risk.py) JSON-serialisable risk record — ``production_callers``/``test_callers`` excluded. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `risk` | `int` | ✓ | `—` | | `risk_label` | `str` | ✓ | `—` | | `impact_raw` | `int` | ✓ | `—` | | `churn_raw` | `int` | ✓ | `—` | | `test_gap_raw` | `float` | ✓ | `—` | | `coupling_raw` | `int` | ✓ | `—` | | `impact_score` | `int` | ✓ | `—` | | `churn_score` | `int` | ✓ | `—` | | `test_gap_score` | `int` | ✓ | `—` | | `coupling_score` | `int` | ✓ | `—` | ### `_BranchEntryJson` — [`muse/cli/commands/branch.py`](muse/cli/commands/branch.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `current` | `bool` | ✓ | `—` | | `commit_id` | `str | None` | ✓ | `—` | | `committed_at` | `str | None` | ✓ | `—` | | `last_message` | `str | None` | ✓ | `—` | | `upstream` | `str | None` | ✓ | `—` | | `intent` | `str | None` | ✓ | `—` | | `resumable` | `bool` | ✓ | `—` | | `created_by` | `str | None` | ✓ | `—` | ### `_PruneConfigJson` — [`muse/cli/commands/branch.py`](muse/cli/commands/branch.py) JSON output for ``muse branch --prune-config``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `action` | `str` | ✓ | `—` | | `pruned` | `int` | ✓ | `—` | | `kept` | `int` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | | `pruned_branches` | `list[str]` | ✓ | `—` | ### `_BreakageIssue` — [`muse/cli/commands/breakage.py`](muse/cli/commands/breakage.py) One breakage finding, serialisable to JSON. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `issue_type` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `severity` | `str` | ✓ | `—` | ### `_BundleDiffCommit` — [`muse/cli/commands/bundle.py`](muse/cli/commands/bundle.py) Per-commit entry in ``muse bundle diff --json`` output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | ### `_BundleInspectCommit` — [`muse/cli/commands/bundle.py`](muse/cli/commands/bundle.py) Per-commit entry in ``muse bundle inspect --json`` output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `branches` | `list[str]` | ✓ | `—` | ### `CatError` — [`muse/cli/commands/cat.py`](muse/cli/commands/cat.py) A failed lookup returned in --json mode. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `error` | `str` | ✓ | `—` | | `error_code` | `str` | ✓ | `—` | | `hint` | `str` | ✓ | `—` | ### `CatResult` — [`muse/cli/commands/cat.py`](muse/cli/commands/cat.py) One resolved symbol returned in --json mode. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `symbol` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `lineno` | `int` | ✓ | `—` | | `end_lineno` | `int` | ✓ | `—` | | `source` | `str` | ✓ | `—` | | `source_ref` | `str` | ✓ | `—` | ### `_CatWarningDict` — [`muse/cli/commands/cat.py`](muse/cli/commands/cat.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `warning` | `str` | ✓ | `—` | | `warning_code` | `str` | ✓ | `—` | | `candidates` | `list[str]` | ✓ | `—` | | `hint` | `str` | ✓ | `—` | ### `_PathResult` — [`muse/cli/commands/check_attr.py`](muse/cli/commands/check_attr.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `dimension` | `str` | ✓ | `—` | | `strategy` | `str` | ✓ | `—` | | `rule` | `_RuleDict | None` | ✓ | `—` | ### `_RuleDict` — [`muse/cli/commands/check_attr.py`](muse/cli/commands/check_attr.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path_pattern` | `str` | ✓ | `—` | | `dimension` | `str` | ✓ | `—` | | `strategy` | `str` | ✓ | `—` | | `comment` | `str` | ✓ | `—` | | `priority` | `int` | ✓ | `—` | | `source_index` | `int` | ✓ | `—` | ### `_SummaryDict` — [`muse/cli/commands/check_attr.py`](muse/cli/commands/check_attr.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `total` | `int` | ✓ | `—` | | `matched` | `int` | ✓ | `—` | | `unmatched` | `int` | ✓ | `—` | | `by_strategy` | `dict[str, int]` | ✓ | `—` | ### `_PathResult` — [`muse/cli/commands/check_ignore.py`](muse/cli/commands/check_ignore.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `ignored` | `bool` | ✓ | `—` | | `matching_pattern` | `str | None` | ✓ | `—` | ### `_SummaryDict` — [`muse/cli/commands/check_ignore.py`](muse/cli/commands/check_ignore.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `total` | `int` | ✓ | `—` | | `ignored` | `int` | ✓ | `—` | | `not_ignored` | `int` | ✓ | `—` | ### `_CheckResult` — [`muse/cli/commands/check_ref_format.py`](muse/cli/commands/check_ref_format.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `valid` | `bool` | ✓ | `—` | | `error` | `str | None` | ✓ | `—` | ### `_RulesDict` — [`muse/cli/commands/check_ref_format.py`](muse/cli/commands/check_ref_format.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `max_length` | `int` | ✓ | `—` | | `forbidden_chars` | `list[str]` | ✓ | `—` | | `forbidden_patterns` | `list[str]` | ✓ | `—` | | `notes` | `str` | ✓ | `—` | ### `_MergeCheckoutResult` — [`muse/cli/commands/checkout.py`](muse/cli/commands/checkout.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `dry_run` | `bool` | ✓ | `—` | | `action` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `from_branch` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `dirty_paths` | `list[str]` | ✓ | `—` | | `clean_merges` | `list[str]` | ✓ | `—` | | `conflicts` | `list[str]` | ✓ | `—` | ### `_ClusterDict` — [`muse/cli/commands/clones.py`](muse/cli/commands/clones.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tier` | `str` | ✓ | `—` | | `hash` | `str` | ✓ | `—` | | `count` | `int` | ✓ | `—` | | `members` | `list[_MemberDict]` | ✓ | `—` | ### `_FileHotspot` — [`muse/cli/commands/clones.py`](muse/cli/commands/clones.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `clone_symbols` | `int` | ✓ | `—` | ### `_MemberDict` — [`muse/cli/commands/clones.py`](muse/cli/commands/clones.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `language` | `str` | ✓ | `—` | | `body_hash` | `str` | ✓ | `—` | | `signature_id` | `str` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | ### `_ViolationDict` — [`muse/cli/commands/code_check.py`](muse/cli/commands/code_check.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `rule_name` | `str` | ✓ | `—` | | `severity` | `str` | ✓ | `—` | | `address` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | ### `_CodeAddFileEntry` — [`muse/cli/commands/code_stage.py`](muse/cli/commands/code_stage.py) One entry in the files list from ``muse code add --json``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `mode` | `str` | ✓ | `—` | ### `_BoundaryEntry` — [`muse/cli/commands/codemap.py`](muse/cli/commands/codemap.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `fan_out` | `int` | ✓ | `—` | | `fan_in` | `int` | ✓ | `—` | ### `_CentralityEntry` — [`muse/cli/commands/codemap.py`](muse/cli/commands/codemap.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `callers` | `int` | ✓ | `—` | ### `_ModuleEntry` — [`muse/cli/commands/codemap.py`](muse/cli/commands/codemap.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `symbol_count` | `int` | ✓ | `—` | | `importers` | `int` | ✓ | `—` | | `imports` | `int` | ✓ | `—` | ### `_CommitFilesChangedJson` — [`muse/cli/commands/commit.py`](muse/cli/commands/commit.py) File-change counts embedded in commit output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `added` | `int` | ✓ | `—` | | `modified` | `int` | ✓ | `—` | | `deleted` | `int` | ✓ | `—` | | `total` | `int` | ✓ | `—` | ### `_CommitNode` — [`muse/cli/commands/commit_graph.py`](muse/cli/commands/commit_graph.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `parent_commit_id` | `str | None` | ✓ | `—` | | `parent2_commit_id` | `str | None` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `model_id` | `str` | ✓ | `—` | | `sem_ver_bump` | `str` | ✓ | `—` | | `breaking_changes` | `list[str]` | ✓ | `—` | ### `_CommitRef` — [`muse/cli/commands/compare.py`](muse/cli/commands/compare.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `_CompareFilters` — [`muse/cli/commands/compare.py`](muse/cli/commands/compare.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str | None` | ✓ | `—` | | `file` | `str | None` | ✓ | `—` | | `language` | `str | None` | ✓ | `—` | ### `_CompareStat` — [`muse/cli/commands/compare.py`](muse/cli/commands/compare.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `files_changed` | `int` | ✓ | `—` | | `symbols_added` | `int` | ✓ | `—` | | `symbols_removed` | `int` | ✓ | `—` | | `symbols_modified` | `int` | ✓ | `—` | | `semver_impact` | `str` | ✓ | `—` | ### `_OpSummary` — [`muse/cli/commands/compare.py`](muse/cli/commands/compare.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `str` | ✓ | `—` | | `address` | `str` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | ### `_ConflictInfo` — [`muse/cli/commands/conflicts.py`](muse/cli/commands/conflicts.py) One entry in the conflicts list. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `symbol` | `str | None` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | ### `GrepFileResult` — [`muse/cli/commands/content_grep.py`](muse/cli/commands/content_grep.py) All matches within a single file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `object_id` | `str | None` | ✓ | `—` | | `match_count` | `int` | ✓ | `—` | | `matches` | `list[GrepMatch]` | ✓ | `—` | ### `GrepMatch` — [`muse/cli/commands/content_grep.py`](muse/cli/commands/content_grep.py) A single matching line within a file, with optional surrounding context. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `line_number` | `int` | ✓ | `—` | | `line` | `str` | ✓ | `—` | | `context_before` | `list[str]` | ✓ | `—` | | `context_after` | `list[str]` | ✓ | `—` | ### `_ArgObs` — [`muse/cli/commands/contract.py`](muse/cli/commands/contract.py) Observed argument patterns at call sites for one positional slot. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `param_index` | `int` | ✓ | `—` | | `categories` | `_CounterMap` | ✓ | `—` | | `none_count` | `int` | ✓ | `—` | | `always_provided` | `bool` | ✓ | `—` | | `omit_count` | `int` | ✓ | `—` | ### `_CommitSignal` — [`muse/cli/commands/contract.py`](muse/cli/commands/contract.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `bump` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `date` | `str` | ✓ | `—` | ### `_HistorySummary` — [`muse/cli/commands/contract.py`](muse/cli/commands/contract.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commits_analysed` | `int` | ✓ | `—` | | `truncated` | `bool` | ✓ | `—` | | `major_bumps` | `int` | ✓ | `—` | | `minor_bumps` | `int` | ✓ | `—` | | `patch_bumps` | `int` | ✓ | `—` | | `sig_changes` | `int` | ✓ | `—` | | `impl_changes` | `int` | ✓ | `—` | | `est_survival_pct` | `int` | ✓ | `—` | ### `_ParamInfo` — [`muse/cli/commands/contract.py`](muse/cli/commands/contract.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `annotation` | `str | None` | ✓ | `—` | | `has_default` | `bool` | ✓ | `—` | | `default_str` | `str | None` | ✓ | `—` | ### `_BlameLineJson` — [`muse/cli/commands/core_blame.py`](muse/cli/commands/core_blame.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `lineno` | `int` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `short_id` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `content` | `str` | ✓ | `—` | ### `_CatErrorEntryJson` — [`muse/cli/commands/core_cat.py`](muse/cli/commands/core_cat.py) One error entry in the multi-file output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `error` | `str` | ✓ | `—` | | `error_code` | `str` | ✓ | `—` | | `hint` | `str` | ✓ | `—` | ### `_CatFileEntryJson` — [`muse/cli/commands/core_cat.py`](muse/cli/commands/core_cat.py) One file entry in the multi-file output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `content` | `str` | ✓ | `—` | | `size_bytes` | `int` | ✓ | `—` | | `source_ref` | `str` | ✓ | `—` | ### `_ShardInfo` — [`muse/cli/commands/count_objects.py`](muse/cli/commands/count_objects.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `prefix` | `str` | ✓ | `—` | | `count` | `int` | ✓ | `—` | | `size_kb` | `float` | ✓ | `—` | ### `_CouplingFilters` — [`muse/cli/commands/coupling.py`](muse/cli/commands/coupling.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `top` | `int` | ✓ | `—` | | `min_count` | `int` | ✓ | `—` | | `file` | `str | None` | ✓ | `—` | | `max_commits` | `int` | ✓ | `—` | ### `_CouplingPairDict` — [`muse/cli/commands/coupling.py`](muse/cli/commands/coupling.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `partner` | `str` | ✓ | `—` | | `file_a` | `str` | ✓ | `—` | | `file_b` | `str` | ✓ | `—` | | `co_changes` | `int` | ✓ | `—` | ### `_CoverageFilters` — [`muse/cli/commands/coverage.py`](muse/cli/commands/coverage.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `exclude_dunder` | `bool` | ✓ | `—` | | `exclude_private` | `bool` | ✓ | `—` | | `min_callers` | `int` | ✓ | `—` | | `exclude_self` | `bool` | ✓ | `—` | ### `_MethodJson` — [`muse/cli/commands/coverage.py`](muse/cli/commands/coverage.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `called` | `bool` | ✓ | `—` | | `callers` | `list[str]` | ✓ | `—` | ### `_DagNodeJson` — [`muse/cli/commands/dag.py`](muse/cli/commands/dag.py) One node in the DAG output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `reservation_id` | `str` | ✓ | `—` | | `depends_on` | `list[str]` | ✓ | `—` | | `active` | `bool` | ✓ | `—` | | `blocked` | `bool` | ✓ | `—` | | `blocking` | `list[str]` | ✓ | `—` | | `topo_index` | `int | None` | ✓ | `—` | ### `_DeadCandidateJson` — [`muse/cli/commands/dead.py`](muse/cli/commands/dead.py) JSON-serialisable representation of one dead-code candidate. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `referenced` | `bool` | ✓ | `—` | | `module_imported` | `bool` | ✓ | `—` | | `confidence` | `str` | ✓ | `—` | | `reason` | `str` | ✓ | `—` | ### `_ScanKwargs` — [`muse/cli/commands/dead.py`](muse/cli/commands/dead.py) Keyword arguments forwarded to every :func:`_scan_file_bytes` call. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind_filter` | `str | None` | ✓ | `—` | | `max_file_bytes` | `int` | ✓ | `—` | | `workers` | `int` | ✓ | `—` | | `language_filter` | `str | None` | ✓ | `—` | | `path_filter` | `str | None` | ✓ | `—` | | `exclude_tests` | `bool` | ✓ | `—` | | `exclude_private` | `bool` | ✓ | `—` | | `high_confidence_only` | `bool` | ✓ | `—` | | `allowlist` | `frozenset[str]` | ✓ | `—` | ### `_RefactorPayload` — [`muse/cli/commands/detect_refactor.py`](muse/cli/commands/detect_refactor.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `from_ref` | `str` | ✓ | `—` | | `to_ref` | `str` | ✓ | `—` | | `commits_scanned` | `int` | ✓ | `—` | | `truncated` | `bool` | ✓ | `—` | | `total` | `int` | ✓ | `—` | | `events` | `list[_LabelMap]` | ✓ | `—` | ### `_DiffSymbolsJson` — [`muse/cli/commands/diff.py`](muse/cli/commands/diff.py) Per-file symbol change summary nested inside :class:`_DiffJson`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `added` | `list[str]` | ✓ | `—` | | `deleted` | `list[str]` | ✓ | `—` | | `modified` | `list[str]` | ✓ | `—` | ### `DocCiConfig` — [`muse/cli/commands/docs_cmd.py`](muse/cli/commands/docs_cmd.py) Configuration for the documentation quality CI gate. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `min_avg_health` | `float` | ✓ | `—` | | `max_undocumented` | `int` | ✓ | `—` | | `max_stale` | `int` | ✓ | `—` | | `fail_on_breaking_undocumented` | `bool` | ✓ | `—` | ### `DocCiGateResult` — [`muse/cli/commands/docs_cmd.py`](muse/cli/commands/docs_cmd.py) Result of a single documentation CI gate check. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `passed` | `bool` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `DocCiResult` — [`muse/cli/commands/docs_cmd.py`](muse/cli/commands/docs_cmd.py) Overall result of the documentation CI gate. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `passed` | `bool` | ✓ | `—` | | `gates` | `list[DocCiGateResult]` | ✓ | `—` | | `summary` | `DocSummary` | ✓ | `—` | ### `_DocCiGateJson` — [`muse/cli/commands/docs_cmd.py`](muse/cli/commands/docs_cmd.py) Per-gate quality result nested inside :class:`_DocCiJson`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `passed` | `bool` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `_HistoryEventJson` — [`muse/cli/commands/docs_cmd.py`](muse/cli/commands/docs_cmd.py) One symbol version event nested inside :class:`_SymbolHistoryJson`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `op` | `str` | ✓ | `—` | | `version` | `str | None` | ✓ | `—` | | `sem_ver_bump` | `str | None` | ✓ | `—` | | `breaking` | `bool` | ✓ | `—` | ### `_DomainEntry` — [`muse/cli/commands/domain_cmd.py`](muse/cli/commands/domain_cmd.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `index` | `int` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `owner` | `str` | ✓ | `—` | | `registered_at` | `str | None` | ✓ | `—` | ### `_CapabilitiesDict` — [`muse/cli/commands/domain_info.py`](muse/cli/commands/domain_info.py) Capability flags for a domain plugin — nested in domain-info JSON output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `addressed_merge` | `bool` | ✓ | `—` | | `crdt` | `bool` | ✓ | `—` | | `harmony` | `bool` | ✓ | `—` | ### `_Capabilities` — [`muse/cli/commands/domains.py`](muse/cli/commands/domains.py) Capability manifest sent to MuseHub on domain publish. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `dimensions` | `list[_DimensionDef]` | ✓ | `—` | | `artifact_types` | `list[str]` | ✓ | `—` | | `merge_semantics` | `str` | ✓ | `—` | | `supported_commands` | `list[str]` | ✓ | `—` | ### `_DimensionDef` — [`muse/cli/commands/domains.py`](muse/cli/commands/domains.py) One semantic dimension exported by a domain plugin. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | ### `_DomainEntryJsonBase` — [`muse/cli/commands/domains.py`](muse/cli/commands/domains.py) Required keys present on every domain JSON entry in the list output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `domain` | `str` | ✓ | `—` | | `module_path` | `str` | ✓ | `—` | | `capabilities` | `list[str]` | ✓ | `—` | | `active` | `bool` | ✓ | `—` | ### `_PublishPayload` — [`muse/cli/commands/domains.py`](muse/cli/commands/domains.py) Wire payload for ``POST /api/domains`` on MuseHub. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `author_slug` | `str` | ✓ | `—` | | `slug` | `str` | ✓ | `—` | | `display_name` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `capabilities` | `_Capabilities` | ✓ | `—` | | `viewer_type` | `str` | ✓ | `—` | | `version` | `str` | ✓ | `—` | ### `_PublishResponse` — [`muse/cli/commands/domains.py`](muse/cli/commands/domains.py) Parsed response body from ``POST /api/domains``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `domain_id` | `str` | ✓ | `—` | | `scoped_id` | `str` | ✓ | `—` | | `manifest_hash` | `str` | ✓ | `—` | ### `_SchemaInfoJson` — [`muse/cli/commands/domains.py`](muse/cli/commands/domains.py) Schema block embedded in a domain's JSON entry. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `merge_mode` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `dimensions` | `list[_DimensionDef]` | ✓ | `—` | ### `_ValidateCheckJson` — [`muse/cli/commands/domains.py`](muse/cli/commands/domains.py) One protocol compliance check — nested inside validate output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `ok` | `bool` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | ### `_ValidateJson` — [`muse/cli/commands/domains.py`](muse/cli/commands/domains.py) Per-domain validate result — assembled by ``_run_validate_plugin``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `domain` | `str` | ✓ | `—` | | `ok` | `bool` | ✓ | `—` | | `checks` | `list[_ValidateCheckJson]` | ✓ | `—` | ### `_DirectoryPair` — [`muse/cli/commands/entangle.py`](muse/cli/commands/entangle.py) One co-change directory pair detected by directory-granularity entangle. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `dir_a` | `str` | ✓ | `—` | | `dir_b` | `str` | ✓ | `—` | | `co_changes` | `int` | ✓ | `—` | | `co_change_rate` | `float` | ✓ | `—` | ### `_EntangledPair` — [`muse/cli/commands/entangle.py`](muse/cli/commands/entangle.py) One co-change pair detected by the entangle analysis. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `symbol_a` | `str` | ✓ | `—` | | `symbol_b` | `str` | ✓ | `—` | | `file_a` | `str` | ✓ | `—` | | `file_b` | `str` | ✓ | `—` | | `same_file` | `bool` | ✓ | `—` | | `structurally_linked` | `bool` | ✓ | `—` | | `co_changes` | `int` | ✓ | `—` | | `commits_both_active` | `int` | ✓ | `—` | | `co_change_rate` | `float` | ✓ | `—` | | `a_in_test` | `bool` | ✓ | `—` | | `b_in_test` | `bool` | ✓ | `—` | ### `_RemoteResultJson` — [`muse/cli/commands/fetch.py`](muse/cli/commands/fetch.py) Per-remote/branch fetch result nested inside :class:`_FetchJson`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `remote` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `commits_received` | `int` | ✓ | `—` | | `blobs_written` | `int` | ✓ | `—` | | `head` | `str | None` | ✓ | `—` | | `pruned` | `list[str]` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | ### `PhraseMatch` — [`muse/cli/commands/find_phrase.py`](muse/cli/commands/find_phrase.py) A commit that contains the searched phrase. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `score` | `float` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `_QueryParams` — [`muse/cli/commands/find_symbol.py`](muse/cli/commands/find_symbol.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `hash` | `str | None` | ✓ | `—` | | `name` | `str | None` | ✓ | `—` | | `kind` | `str | None` | ✓ | `—` | | `file` | `str | None` | ✓ | `—` | | `branch` | `str | None` | ✓ | `—` | | `since` | `str | None` | ✓ | `—` | | `until` | `str | None` | ✓ | `—` | | `first_only` | `bool` | ✓ | `—` | | `last_only` | `bool` | ✓ | `—` | | `limit` | `int` | ✓ | `—` | ### `_RefDetail` — [`muse/cli/commands/for_each_ref.py`](muse/cli/commands/for_each_ref.py) One ref entry. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `ref` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | ### `_FilterSpec` — [`muse/cli/commands/gravity.py`](muse/cli/commands/gravity.py) Active filter values echoed back in gravity JSON output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str | None` | ✓ | `—` | | `file` | `str | None` | ✓ | `—` | | `min_gravity` | `float` | ✓ | `—` | | `top` | `int` | ✓ | `—` | ### `_SymbolGravity` — [`muse/cli/commands/gravity.py`](muse/cli/commands/gravity.py) Gravity record for a single production symbol. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `gravity_pct` | `float` | ✓ | `—` | | `direct_dependents` | `int` | ✓ | `—` | | `transitive_dependents` | `int` | ✓ | `—` | | `max_depth` | `int` | ✓ | `—` | | `depth_distribution` | `_CounterMap` | ✓ | `—` | ### `_GrepResultEntry` — [`muse/cli/commands/grep.py`](muse/cli/commands/grep.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `qualified_name` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `lineno` | `int` | ✓ | `—` | | `language` | `str` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | ### `_HarmonyEscalationEntryJson` — [`muse/cli/commands/harmony/_shapes.py`](muse/cli/commands/harmony/_shapes.py) One escalation record nested inside :class:`_HarmonyEscalationsJson`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `escalation_id` | `str` | ✓ | `—` | | `pattern_id` | `str` | ✓ | `—` | | `reason` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `escalated_at` | `str` | ✓ | `—` | | `escalated_by` | `dict[str, str | None]` | ✓ | `—` | | `resolved_at` | `str | None` | ✓ | `—` | | `resolved_by` | `dict[str, str | None] | None` | ✓ | `—` | | `resolution_id` | `str | None` | ✓ | `—` | ### `_HarmonyListEntryJson` — [`muse/cli/commands/harmony/_shapes.py`](muse/cli/commands/harmony/_shapes.py) One conflict pattern entry in ``muse harmony list --json`` output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `pattern_id` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `conflict_type` | `str` | ✓ | `—` | | `resolution_count` | `int` | ✓ | `—` | | `recorded_at` | `str` | ✓ | `—` | | `recorded_by` | `str` | ✓ | `—` | ### `_HarmonyPatternDetailJson` — [`muse/cli/commands/harmony/_shapes.py`](muse/cli/commands/harmony/_shapes.py) Full conflict pattern detail nested inside :class:`_HarmonyShowJson`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `pattern_id` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `conflict_type` | `str` | ✓ | `—` | | `blob_fingerprint` | `str` | ✓ | `—` | | `semantic_fingerprint` | `str` | ✓ | `—` | | `ours_id` | `str` | ✓ | `—` | | `theirs_id` | `str` | ✓ | `—` | | `description` | `_PatternDescription` | ✓ | `—` | | `recorded_at` | `str` | ✓ | `—` | | `recorded_by` | `str` | ✓ | `—` | ### `_HarmonyPolicyEntryJson` — [`muse/cli/commands/harmony/_shapes.py`](muse/cli/commands/harmony/_shapes.py) One policy record nested inside :class:`_HarmonyPolicyListJson`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `policy_id` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `scope` | `str` | ✓ | `—` | | `action` | `str` | ✓ | `—` | | `confidence` | `float` | ✓ | `—` | | `conflict_type` | `str | None` | ✓ | `—` | | `domain` | `str | None` | ✓ | `—` | | `path_pattern` | `str | None` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `created_by` | `str` | ✓ | `—` | ### `_HarmonyProposalJson` — [`muse/cli/commands/harmony/_shapes.py`](muse/cli/commands/harmony/_shapes.py) A single resolution proposal from the engine or similar search. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `pattern_id` | `str` | ✓ | `—` | | `strategy` | `str` | ✓ | `—` | | `proposed_action` | `str` | ✓ | `—` | | `confidence` | `float` | ✓ | `—` | | `rationale` | `str` | ✓ | `—` | | `policy_id` | `str | None` | ✓ | `—` | | `similar_pattern_id` | `str | None` | ✓ | `—` | | `similarity` | `float | None` | ✓ | `—` | | `requires_confirmation` | `bool` | ✓ | `—` | ### `_HarmonyResolutionDetailJson` — [`muse/cli/commands/harmony/_shapes.py`](muse/cli/commands/harmony/_shapes.py) One resolution record — nested in show, best, and similar output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `resolution_id` | `str` | ✓ | `—` | | `strategy` | `str` | ✓ | `—` | | `confidence` | `float` | ✓ | `—` | | `human_verified` | `bool` | ✓ | `—` | | `applied_count` | `int` | ✓ | `—` | | `resolved_by` | `dict[str, str | None]` | ✓ | `—` | | `resolved_at` | `str` | ✓ | `—` | | `rationale` | `str` | ✓ | `—` | ### `_HotspotEntry` — [`muse/cli/commands/hotspots.py`](muse/cli/commands/hotspots.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `changes` | `int` | ✓ | `—` | ### `_HotspotsFilters` — [`muse/cli/commands/hotspots.py`](muse/cli/commands/hotspots.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str | None` | ✓ | `—` | | `language` | `str | None` | ✓ | `—` | | `include_imports` | `bool` | ✓ | `—` | | `min_changes` | `int` | ✓ | `—` | ### `_HubApiResponse` — [`muse/cli/commands/hub/_core.py`](muse/cli/commands/hub/_core.py) Generic MuseHub API response envelope used internally by ``_hub_api``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `repo_id` | `str` | ✓ | `—` | | `repos` | `list[_RepoEntry]` | ✓ | `—` | | `proposals` | `list[_ProposalEntry]` | ✓ | `—` | ### `_LabelEntry` — [`muse/cli/commands/hub/_core.py`](muse/cli/commands/hub/_core.py) A single label row returned by the MuseHub labels API. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `label_id` | `str` | ✓ | `—` | | `repo_id` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `color` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | ### `_ProposalEntry` — [`muse/cli/commands/hub/_core.py`](muse/cli/commands/hub/_core.py) A single proposal entry in MuseHub proposal list API responses. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `proposalId` | `str` | ✓ | `—` | | `title` | `str` | ✓ | `—` | | `state` | `str` | ✓ | `—` | | `fromBranch` | `str` | ✓ | `—` | | `toBranch` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `createdAt` | `str` | ✓ | `—` | ### `_RepoEntry` — [`muse/cli/commands/hub/_core.py`](muse/cli/commands/hub/_core.py) A single repository entry in MuseHub list and search API responses. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `owner` | `str` | ✓ | `—` | | `slug` | `str` | ✓ | `—` | | `repoId` | `str` | ✓ | `—` | ### `_EntryPointJson` — [`muse/cli/commands/impact.py`](muse/cli/commands/impact.py) One framework entry-point edge in JSON output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `framework_id` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `metadata` | `_StrMeta` | ✓ | `—` | ### `_StatusIndexEntry` — [`muse/cli/commands/index_rebuild.py`](muse/cli/commands/index_rebuild.py) One index entry in the status JSON output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `entries` | `int` | ✓ | `—` | | `updated_at` | `str | None` | ✓ | `—` | ### `ChannelInfo` — [`muse/cli/commands/instrumentation.py`](muse/cli/commands/instrumentation.py) Statistics for one MIDI channel. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `channel` | `int` | ✓ | `—` | | `note_count` | `int` | ✓ | `—` | | `pitch_min` | `int` | ✓ | `—` | | `pitch_max` | `int` | ✓ | `—` | | `pitch_min_name` | `str` | ✓ | `—` | | `pitch_max_name` | `str` | ✓ | `—` | | `register` | `str` | ✓ | `—` | | `mean_velocity` | `float` | ✓ | `—` | ### `_LabelEntryJson` — [`muse/cli/commands/label.py`](muse/cli/commands/label.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `label_id` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `label` | `str` | ✓ | `—` | | `namespace` | `str | None` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `_CommitSummaryDict` — [`muse/cli/commands/languages.py`](muse/cli/commands/languages.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `_DiffEntry` — [`muse/cli/commands/languages.py`](muse/cli/commands/languages.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `language` | `str` | ✓ | `—` | | `delta_files` | `int` | ✓ | `—` | | `delta_symbols` | `int` | ✓ | `—` | | `files_before` | `int` | ✓ | `—` | | `files_after` | `int` | ✓ | `—` | | `symbols_before` | `int` | ✓ | `—` | | `symbols_after` | `int` | ✓ | `—` | | `status` | `str` | ✓ | `—` | ### `_LangEntry` — [`muse/cli/commands/languages.py`](muse/cli/commands/languages.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `language` | `str` | ✓ | `—` | | `files` | `int` | ✓ | `—` | | `symbols` | `int` | ✓ | `—` | | `kinds` | `LangCount` | ✓ | `—` | ### `_FiltersEntry` — [`muse/cli/commands/list_coord.py`](muse/cli/commands/list_coord.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `run_id` | `str | None` | ✓ | `—` | | `branch` | `str | None` | ✓ | `—` | | `address_glob` | `str | None` | ✓ | `—` | | `operation` | `str | None` | ✓ | `—` | | `include_expired` | `bool` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `limit` | `int | None` | ✓ | `—` | ### `_IntentEntry` — [`muse/cli/commands/list_coord.py`](muse/cli/commands/list_coord.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `intent_id` | `str` | ✓ | `—` | | `reservation_id` | `str` | ✓ | `—` | | `run_id` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `addresses` | `list[str]` | ✓ | `—` | | `operation` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | ### `_ReservationEntry` — [`muse/cli/commands/list_coord.py`](muse/cli/commands/list_coord.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `reservation_id` | `str` | ✓ | `—` | | `run_id` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `addresses` | `list[str]` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `expires_at` | `str` | ✓ | `—` | | `effective_expires_at` | `str` | ✓ | `—` | | `ttl_remaining_seconds` | `float` | ✓ | `—` | | `operation` | `str | None` | ✓ | `—` | | `is_active` | `bool` | ✓ | `—` | | `released` | `bool` | ✓ | `—` | | `conflict_count` | `int` | ✓ | `—` | ### `_CommitJson` — [`muse/cli/commands/log.py`](muse/cli/commands/log.py) Stable JSON wire format for a single commit in ``muse log --json``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `model_id` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `parent_commit_id` | `str | None` | ✓ | `—` | | `parent2_commit_id` | `str | None` | ✓ | `—` | | `snapshot_id` | `str | None` | ✓ | `—` | | `sem_ver_bump` | `str | None` | ✓ | `—` | | `breaking_changes` | `list[str]` | ✓ | `—` | | `metadata` | `Metadata` | ✓ | `—` | | `files_added` | `list[str]` | ✓ | `—` | | `files_removed` | `list[str]` | ✓ | `—` | | `files_modified` | `list[str]` | ✓ | `—` | | `structured_delta` | `Mapping[str, object] | None` | ✓ | `—` | | `signer_public_key` | `str` | ✓ | `—` | ### `_LsFileEntry` — [`muse/cli/commands/ls_files.py`](muse/cli/commands/ls_files.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `object_id` | `str` | ✓ | `—` | ### `_LsTreeEntry` — [`muse/cli/commands/ls_tree.py`](muse/cli/commands/ls_tree.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `mode` | `str` | ✓ | `—` | | `type` | `str` | ✓ | `—` | | `object_id` | `str` | ✓ | `—` | | `size` | `int | None` | ✓ | `—` | | `path` | `str` | ✓ | `—` | ### `_GcResultDict` — [`muse/cli/commands/maintenance.py`](muse/cli/commands/maintenance.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `collected_count` | `int` | ✓ | `—` | | `collected_bytes` | `int` | ✓ | `—` | | `reachable_count` | `int` | ✓ | `—` | | `commits_collected` | `int` | ✓ | `—` | | `snapshots_collected` | `int` | ✓ | `—` | | `stale_remote_refs_collected` | `int` | ✓ | `—` | | `stale_remote_refs_bytes` | `int` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | ### `_MaintenanceConfig` — [`muse/cli/commands/maintenance.py`](muse/cli/commands/maintenance.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `enabled` | `bool` | ✓ | `—` | | `period_hours` | `int` | ✓ | `—` | | `tasks` | `list[str]` | ✓ | `—` | | `last_run` | `_LastRunMap` | ✓ | `—` | ### `_TaskRunRecord` — [`muse/cli/commands/maintenance.py`](muse/cli/commands/maintenance.py) Per-task run record stored in ``last_run`` map. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `timestamp` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | ### `_VerifyResultDict` — [`muse/cli/commands/maintenance.py`](muse/cli/commands/maintenance.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `checked` | `int` | ✓ | `—` | | `failed` | `int` | ✓ | `—` | | `failures` | `list[str]` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | ### `_MergeResultDict` — [`muse/cli/commands/merge.py`](muse/cli/commands/merge.py) Merge execution summary — mirrored in ProposalResponse.merge_result. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | | `commit_id` | `str | None` | ✓ | `—` | | `strategy` | `str | None` | ✓ | `—` | | `on_conflict` | `str | None` | ✓ | `—` | | `history` | `str | None` | ✓ | `—` | | `conflicts` | `list[str]` | ✓ | `—` | | `files_changed` | `_FilesChangedMap` | ✓ | `—` | | `semver_impact` | `str` | ✓ | `—` | ### `_SymbolConflictDict` — [`muse/cli/commands/merge.py`](muse/cli/commands/merge.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `symbol` | `str` | ✓ | `—` | | `ours` | `str` | ✓ | `—` | | `theirs` | `str` | ✓ | `—` | ### `_NameRevEntry` — [`muse/cli/commands/name_rev.py`](muse/cli/commands/name_rev.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str | None` | ✓ | `—` | | `input` | `str` | ✓ | `—` | | `name` | `str | None` | ✓ | `—` | | `branch` | `str | None` | ✓ | `—` | | `distance` | `int | None` | ✓ | `—` | | `undefined` | `bool` | ✓ | `—` | | `ambiguous` | `bool` | ✓ | `—` | ### `_EventRecord` — [`muse/cli/commands/narrative.py`](muse/cli/commands/narrative.py) A single event in a symbol's life. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `date` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `commit_msg` | `str` | ✓ | `—` | | `event_type` | `str` | ✓ | `—` | | `sem_ver_bump` | `str` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | ### `_DomainSeed` — [`muse/cli/commands/path_cmd.py`](muse/cli/commands/path_cmd.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `index` | `int` | ✓ | `—` | ### `_PathAnnotation` — [`muse/cli/commands/path_cmd.py`](muse/cli/commands/path_cmd.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `raw_path` | `str` | ✓ | `—` | | `purpose` | `str` | ✓ | `—` | | `purpose_idx` | `int` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `domain_idx` | `int` | ✓ | `—` | | `domain_registered` | `bool` | ✓ | `—` | | `entity_type` | `str` | ✓ | `—` | | `entity_type_idx` | `int` | ✓ | `—` | | `entity_id` | `int` | ✓ | `—` | | `role` | `str` | ✓ | `—` | | `role_idx` | `int` | ✓ | `—` | | `index` | `int` | ✓ | `—` | ### `_PlanMergeItemJson` — [`muse/cli/commands/plan_merge.py`](muse/cli/commands/plan_merge.py) JSON-serialisable form of one symbol's merge classification. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `conflict_type` | `str` | ✓ | `—` | | `ours_change` | `str` | ✓ | `—` | | `theirs_change` | `str` | ✓ | `—` | | `recommendation` | `str` | ✓ | `—` | ### `_PartnerRecord` — [`muse/cli/commands/predict.py`](muse/cli/commands/predict.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `co_change_rate` | `float` | ✓ | `—` | | `co_change_commits` | `int` | ✓ | `—` | ### `_PredictionRecord` — [`muse/cli/commands/predict.py`](muse/cli/commands/predict.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `score` | `float` | ✓ | `—` | | `confidence` | `str` | ✓ | `—` | | `reasons` | `list[str]` | ✓ | `—` | | `signals` | `_SignalSet` | ✓ | `—` | | `last_changed_commit` | `str` | ✓ | `—` | | `last_changed_date` | `str` | ✓ | `—` | | `top_partners` | `list[_PartnerRecord]` | ✓ | `—` | ### `_SignalSet` — [`muse/cli/commands/predict.py`](muse/cli/commands/predict.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `recency` | `float` | ✓ | `—` | | `frequency` | `float` | ✓ | `—` | | `co_change` | `float` | ✓ | `—` | | `sig_instability` | `float` | ✓ | `—` | | `module_velocity` | `float` | ✓ | `—` | ### `_PruneCandidateEntry` — [`muse/cli/commands/prune.py`](muse/cli/commands/prune.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `object_id` | `str` | ✓ | `—` | | `size` | `int` | ✓ | `—` | ### `_CommitInfoDict` — [`muse/cli/commands/range_diff.py`](muse/cli/commands/range_diff.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `patch_id` | `str` | ✓ | `—` | | `subject` | `str` | ✓ | `—` | | `files_changed` | `int` | ✓ | `—` | ### `_PairDict` — [`muse/cli/commands/range_diff.py`](muse/cli/commands/range_diff.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `old` | `_CommitInfoDict | None` | ✓ | `—` | | `new` | `_CommitInfoDict | None` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `_old_idx` | `int` | ✓ | `—` | | `_new_idx` | `int` | ✓ | `—` | ### `_RangeDiffResultDict` — [`muse/cli/commands/range_diff.py`](muse/cli/commands/range_diff.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `old_range` | `str` | ✓ | `—` | | `new_range` | `str` | ✓ | `—` | | `trivially_equivalent` | `bool` | ✓ | `—` | | `old_count` | `int` | ✓ | `—` | | `new_count` | `int` | ✓ | `—` | | `stable` | `bool` | ✓ | `—` | | `creation_factor` | `float` | ✓ | `—` | | `pairs` | `list[_PairDict]` | ✓ | `—` | ### `_RebaseDryRunCommitJson` — [`muse/cli/commands/rebase.py`](muse/cli/commands/rebase.py) One entry in the ``--dry-run`` commits list. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `_BranchSummaryJson` — [`muse/cli/commands/reconcile.py`](muse/cli/commands/reconcile.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `branch` | `str` | ✓ | `—` | | `reserved_addresses` | `list[str]` | ✓ | `—` | | `intents` | `list[str]` | ✓ | `—` | | `run_ids` | `list[str]` | ✓ | `—` | | `predicted_conflicts` | `int` | ✓ | `—` | ### `_HotspotEntry` — [`muse/cli/commands/reconcile.py`](muse/cli/commands/reconcile.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `branches` | `list[str]` | ✓ | `—` | ### `_ReflogEntryJson` — [`muse/cli/commands/reflog.py`](muse/cli/commands/reflog.py) One entry in the JSON reflog output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `index` | `int` | ✓ | `—` | | `new_id` | `str` | ✓ | `—` | | `old_id` | `str` | ✓ | `—` | | `timestamp` | `str` | ✓ | `—` | | `operation` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | ### `_DriverEntry` — [`muse/cli/commands/release.py`](muse/cli/commands/release.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `sem_ver_bump` | `str` | ✓ | `—` | | `breaking_changes` | `list[str]` | ✓ | `—` | ### `_ReleasedEntry` — [`muse/cli/commands/release_coord.py`](muse/cli/commands/release_coord.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `reservation_id` | `str` | ✓ | `—` | | `run_id` | `str` | ✓ | `—` | | `released_at` | `str` | ✓ | `—` | | `reason` | `str` | ✓ | `—` | ### `_RemoteEntryJson` — [`muse/cli/commands/remote.py`](muse/cli/commands/remote.py) Single remote entry in ``muse remote --json`` list output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `url` | `str` | ✓ | `—` | | `tracking` | `str | None` | ✓ | `—` | | `head` | `str | None` | ✓ | `—` | ### `_EditSite` — [`muse/cli/commands/rename.py`](muse/cli/commands/rename.py) A single token replacement site. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `line` | `int` | ✓ | `—` | | `col_start` | `int` | ✓ | `—` | | `col_end` | `int` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `context` | `str` | ✓ | `—` | ### `_PickResultDict` — [`muse/cli/commands/semantic_cherry_pick.py`](muse/cli/commands/semantic_cherry_pick.py) JSON schema for one cherry-pick result. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | | `old_lines` | `int` | ✓ | `—` | | `new_lines` | `int` | ✓ | `—` | | `diff_lines` | `list[str]` | ✓ | `—` | | `verified` | `bool` | ✓ | `—` | ### `_FileCov` — [`muse/cli/commands/semantic_test_coverage.py`](muse/cli/commands/semantic_test_coverage.py) Aggregated coverage record for one production file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `total_symbols` | `int` | ✓ | `—` | | `covered_symbols` | `int` | ✓ | `—` | | `uncovered_symbols` | `int` | ✓ | `—` | | `coverage_pct` | `float` | ✓ | `—` | | `symbols` | `list[_SymbolCov]` | ✓ | `—` | ### `_FilterSpec` — [`muse/cli/commands/semantic_test_coverage.py`](muse/cli/commands/semantic_test_coverage.py) Filters applied to this analysis run. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str | None` | ✓ | `—` | | `kind` | `str | None` | ✓ | `—` | | `min_coverage` | `int | None` | ✓ | `—` | | `uncovered_only` | `bool` | ✓ | `—` | ### `_SummarySpec` — [`muse/cli/commands/semantic_test_coverage.py`](muse/cli/commands/semantic_test_coverage.py) Aggregate statistics across all production files. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `total_symbols` | `int` | ✓ | `—` | | `covered_symbols` | `int` | ✓ | `—` | | `uncovered_symbols` | `int` | ✓ | `—` | | `coverage_pct` | `float` | ✓ | `—` | | `total_test_functions` | `int` | ✓ | `—` | | `total_production_files` | `int` | ✓ | `—` | ### `_SymbolCov` — [`muse/cli/commands/semantic_test_coverage.py`](muse/cli/commands/semantic_test_coverage.py) Coverage record for a single production symbol. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `covered` | `bool` | ✓ | `—` | | `test_functions` | `list[str]` | ✓ | `—` | ### `_ShardEntryJson` — [`muse/cli/commands/shard.py`](muse/cli/commands/shard.py) One shard in the JSON output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `shard` | `int` | ✓ | `—` | | `files` | `list[str]` | ✓ | `—` | | `symbol_count` | `int` | ✓ | `—` | | `coupling_score` | `int` | ✓ | `—` | ### `ShelfEntry` — [`muse/cli/commands/shelf.py`](muse/cli/commands/shelf.py) A single named checkpoint in the shelf registry. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `id` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `snapshot` | `Manifest` | ✓ | `—` | | `deleted` | `list[str]` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `parent_commit` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `created_by` | `_CreatedBy` | ✓ | `—` | | `intent_type` | `str` | ✓ | `—` | | `intent` | `str | None` | ✓ | `—` | | `resumable` | `bool` | ✓ | `—` | | `tags` | `list[str]` | ✓ | `—` | | `expires_at` | `str | None` | ✓ | `—` | | `domain_state` | `_DomainState` | ✓ | `—` | ### `_CreatedBy` — [`muse/cli/commands/shelf.py`](muse/cli/commands/shelf.py) Identity of the entity that created a shelf entry. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `handle` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | ### `_ShelfListEntryJson` — [`muse/cli/commands/shelf.py`](muse/cli/commands/shelf.py) One shelf entry in the ``muse shelf list --json`` array. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `index` | `int` | ✓ | `—` | | `id` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `created_by` | `_CreatedBy` | ✓ | `—` | | `intent_type` | `str` | ✓ | `—` | | `intent` | `str | None` | ✓ | `—` | | `resumable` | `bool` | ✓ | `—` | | `tags` | `list[str]` | ✓ | `—` | | `files_count` | `int` | ✓ | `—` | ### `_CommitEntryJson` — [`muse/cli/commands/shortlog.py`](muse/cli/commands/shortlog.py) Per-commit entry inside a shortlog group. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `author` | `str | None` | ✓ | `—` | | `agent_id` | `str | None` | ✓ | `—` | | `model_id` | `str | None` | ✓ | `—` | ### `_GroupJson` — [`muse/cli/commands/shortlog.py`](muse/cli/commands/shortlog.py) One group (author / agent / model / branch) in the shortlog JSON. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `key` | `str` | ✓ | `—` | | `count` | `int` | ✓ | `—` | | `commits` | `list[_CommitEntryJson]` | ✓ | `—` | ### `_HeadInfo` — [`muse/cli/commands/show_ref.py`](muse/cli/commands/show_ref.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `ref` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | ### `_RefEntry` — [`muse/cli/commands/show_ref.py`](muse/cli/commands/show_ref.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `ref` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | ### `_SnapshotListItemJson` — [`muse/cli/commands/snapshot_cmd.py`](muse/cli/commands/snapshot_cmd.py) One entry in the ``muse snapshot list --json`` array. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot_id` | `str` | ✓ | `—` | | `file_count` | `int` | ✓ | `—` | | `note` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `_AddedEntry` — [`muse/cli/commands/snapshot_diff.py`](muse/cli/commands/snapshot_diff.py) One added-file entry in a ``snapshot-diff`` JSON result. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `object_id` | `str` | ✓ | `—` | ### `_DeletedEntry` — [`muse/cli/commands/snapshot_diff.py`](muse/cli/commands/snapshot_diff.py) One deleted-file entry in a ``snapshot-diff`` JSON result. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `object_id` | `str` | ✓ | `—` | ### `_DiffResult` — [`muse/cli/commands/snapshot_diff.py`](muse/cli/commands/snapshot_diff.py) Internal diff result (no envelope fields) for one ``snapshot-diff`` pair. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot_a` | `str` | ✓ | `—` | | `snapshot_b` | `str` | ✓ | `—` | | `added` | `list[_AddedEntry]` | ✓ | `—` | | `modified` | `list[_ModifiedEntry]` | ✓ | `—` | | `deleted` | `list[_DeletedEntry]` | ✓ | `—` | | `added_count` | `int` | ✓ | `—` | | `modified_count` | `int` | ✓ | `—` | | `deleted_count` | `int` | ✓ | `—` | | `total_changes` | `int` | ✓ | `—` | ### `_ModifiedEntry` — [`muse/cli/commands/snapshot_diff.py`](muse/cli/commands/snapshot_diff.py) One modified-file entry in a ``snapshot-diff`` JSON result. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `object_id_a` | `str` | ✓ | `—` | | `object_id_b` | `str` | ✓ | `—` | ### `_StableEntry` — [`muse/cli/commands/stable.py`](muse/cli/commands/stable.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `unchanged_for` | `int` | ✓ | `—` | | `since_start_of_range` | `bool` | ✓ | `—` | ### `_StableFilters` — [`muse/cli/commands/stable.py`](muse/cli/commands/stable.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `top` | `int` | ✓ | `—` | | `kind` | `str | None` | ✓ | `—` | | `language` | `str | None` | ✓ | `—` | | `since` | `str | None` | ✓ | `—` | | `include_imports` | `bool` | ✓ | `—` | | `include_docs` | `bool` | ✓ | `—` | | `max_commits` | `int` | ✓ | `—` | ### `_SparseCheckoutInfo` — [`muse/cli/commands/status.py`](muse/cli/commands/status.py) Sparse-checkout config surfaced in ``muse status --json``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `enabled` | `bool` | ✓ | `—` | | `mode` | `str | None` | ✓ | `—` | | `patterns` | `list[str]` | ✓ | `—` | ### `_StagedBucket` — [`muse/cli/commands/status.py`](muse/cli/commands/status.py) The added/modified/deleted/renamed breakdown for one staging layer. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `added` | `list[str]` | ✓ | `—` | | `modified` | `list[str]` | ✓ | `—` | | `deleted` | `list[str]` | ✓ | `—` | | `renamed` | `Manifest` | ✓ | `—` | ### `_UpstreamInfo` — [`muse/cli/commands/status.py`](muse/cli/commands/status.py) Computed ahead/behind counts for the current branch vs its upstream. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tracking_ref` | `str` | ✓ | `—` | | `ahead` | `int | None` | ✓ | `—` | | `behind` | `int | None` | ✓ | `—` | | `line` | `str` | ✓ | `—` | ### `_SymbolEntry` — [`muse/cli/commands/symbols.py`](muse/cli/commands/symbols.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `qualified_name` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `lineno` | `int` | ✓ | `—` | | `language` | `str` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | ### `_SymlogEntryJson` — [`muse/cli/commands/symlog.py`](muse/cli/commands/symlog.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `index` | `int` | ✓ | `—` | | `old_content_id` | `str` | ✓ | `—` | | `new_content_id` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `timestamp` | `str` | ✓ | `—` | | `operation` | `str` | ✓ | `—` | | `born_from` | `str | None` | ✓ | `—` | | `from_symbol` | `str | None` | ✓ | `—` | | `diff` | `str | None` | ✓ | `—` | ### `_SemVerJson` — [`muse/cli/commands/tag.py`](muse/cli/commands/tag.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `major` | `int` | ✓ | `—` | | `minor` | `int` | ✓ | `—` | | `patch` | `int` | ✓ | `—` | | `pre` | `str` | ✓ | `—` | | `build` | `str` | ✓ | `—` | ### `_TagEntryJson` — [`muse/cli/commands/tag.py`](muse/cli/commands/tag.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tag_id` | `str` | ✓ | `—` | | `tag` | `str` | ✓ | `—` | | `semver` | `_SemVerJson` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `_TaskItemJson` — [`muse/cli/commands/task_queue.py`](muse/cli/commands/task_queue.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `task_id` | `str` | ✓ | `—` | | `title` | `str` | ✓ | `—` | | `priority` | `int` | ✓ | `—` | | `queue` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `created_by` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `ttl_seconds` | `int` | ✓ | `—` | | `tags` | `list[str]` | ✓ | `—` | | `payload` | `_Payload` | ✓ | `—` | | `claimer_run_id` | `str | None` | ✓ | `—` | | `expires_at` | `str | None` | ✓ | `—` | ### `_CiGateJson` — [`muse/cli/commands/test_cmd.py`](muse/cli/commands/test_cmd.py) JSON representation of a single CI gate result. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `command` | `list[str]` | ✓ | `—` | | `exit_code` | `int` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `required` | `bool` | ✓ | `—` | | `passed` | `bool` | ✓ | `—` | | `timed_out` | `bool` | ✓ | `—` | | `stdout` | `str` | ✓ | `—` | | `stderr` | `str` | ✓ | `—` | | `warning` | `NotRequired[str]` | ✓ | `—` | ### `_CiJson` — [`muse/cli/commands/test_cmd.py`](muse/cli/commands/test_cmd.py) JSON representation of a full CI run. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `passed` | `bool` | ✓ | `—` | | `timestamp` | `str` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `gates` | `list[_CiGateJson]` | ✓ | `—` | ### `_HistoryJson` — [`muse/cli/commands/test_cmd.py`](muse/cli/commands/test_cmd.py) JSON representation of a HistorySummary. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `node_id` | `str` | ✓ | `—` | | `total_runs` | `int` | ✓ | `—` | | `pass_count` | `int` | ✓ | `—` | | `fail_count` | `int` | ✓ | `—` | | `skip_count` | `int` | ✓ | `—` | | `flaky` | `bool` | ✓ | `—` | | `avg_duration_ms` | `float` | ✓ | `—` | | `last_outcome` | `str | None` | ✓ | `—` | | `last_run_timestamp` | `str | None` | ✓ | `—` | | `fail_streak` | `int` | ✓ | `—` | ### `_RunJson` — [`muse/cli/commands/test_cmd.py`](muse/cli/commands/test_cmd.py) JSON representation of the test execution phase. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `run_id` | `str` | ✓ | `—` | | `exit_code` | `int` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `total` | `int` | ✓ | `—` | | `passed` | `int` | ✓ | `—` | | `failed` | `int` | ✓ | `—` | | `errored` | `int` | ✓ | `—` | | `skipped` | `int` | ✓ | `—` | | `timed_out` | `bool` | ✓ | `—` | | `json_report_available` | `bool` | ✓ | `—` | ### `_SelectionJson` — [`muse/cli/commands/test_cmd.py`](muse/cli/commands/test_cmd.py) JSON representation of the test-selection phase. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `changed_addresses` | `list[str]` | ✓ | `—` | | `covered_addresses` | `list[str]` | ✓ | `—` | | `uncovered_addresses` | `list[str]` | ✓ | `—` | | `coverage_fraction` | `float` | ✓ | `—` | | `fallback_used` | `bool` | ✓ | `—` | | `targets` | `list[str]` | ✓ | `—` | ### `_TestResultJson` — [`muse/cli/commands/test_cmd.py`](muse/cli/commands/test_cmd.py) Per-test result in JSON output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `node_id` | `str` | ✓ | `—` | | `outcome` | `str` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `longrepr` | `NotRequired[str]` | ✓ | `—` | ### `_ModuleOut` — [`muse/cli/commands/velocity.py`](muse/cli/commands/velocity.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `module` | `str` | ✓ | `—` | | `current` | `_CounterMap` | ✓ | `—` | | `prior` | `_CounterMap` | ✓ | `—` | | `acceleration` | `int` | ✓ | `—` | | `stagnant_commits` | `int` | ✓ | `—` | ### `_PredictionOut` — [`muse/cli/commands/velocity.py`](muse/cli/commands/velocity.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `module` | `str` | ✓ | `—` | | `score` | `float` | ✓ | `—` | | `frequency` | `int` | ✓ | `—` | | `last_commit_rank` | `int` | ✓ | `—` | ### `_VerifyResult` — [`muse/cli/commands/verify_commit.py`](muse/cli/commands/verify_commit.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `valid` | `bool` | ✓ | `—` | | `signer` | `str` | ✓ | `—` | | `key_id` | `str` | ✓ | `—` | | `signed_at` | `str` | ✓ | `—` | | `key_status` | `str` | ✓ | `—` | ### `_ObjectResult` — [`muse/cli/commands/verify_object.py`](muse/cli/commands/verify_object.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `object_id` | `str` | ✓ | `—` | | `ok` | `bool` | ✓ | `—` | | `size_bytes` | `int | None` | ✓ | `—` | | `error` | `str | None` | ✓ | `—` | ### `_Failure` — [`muse/cli/commands/verify_pack.py`](muse/cli/commands/verify_pack.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str` | ✓ | `—` | | `id` | `str` | ✓ | `—` | | `error` | `str` | ✓ | `—` | ### `_TagResult` — [`muse/cli/commands/verify_tag.py`](muse/cli/commands/verify_tag.py) Per-tag verification result in the JSON envelope ``results`` list. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tag` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `valid` | `bool` | ✓ | `—` | | `signer` | `str` | ✓ | `—` | | `key_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `key_status` | `str` | ✓ | `—` | ### `_WorkspaceMemberJson` — [`muse/cli/commands/workspace.py`](muse/cli/commands/workspace.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `url` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `present` | `bool` | ✓ | `—` | | `head_commit` | `str | None` | ✓ | `—` | | `dirty` | `bool` | ✓ | `—` | | `actual_branch` | `str | None` | ✓ | `—` | | `shelf_count` | `int` | ✓ | `—` | | `feature_branches` | `list[str]` | ✓ | `—` | | `branch_mismatch` | `bool` | ✓ | `—` | ### `_WorkspaceSyncResultJson` — [`muse/cli/commands/workspace.py`](muse/cli/commands/workspace.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `ok` | `bool` | ✓ | `—` | ### `_WorktreeListEntryJson` — [`muse/cli/commands/worktree.py`](muse/cli/commands/worktree.py) One entry in the worktrees array from ``muse worktree list --json``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `head_commit` | `str | None` | ✓ | `—` | | `is_main` | `bool` | ✓ | `—` | ### `BranchMeta` — [`muse/cli/config.py`](muse/cli/config.py) Per-branch metadata stored under ``[branch.""]`` in config.toml. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `intent` | `str` | ✓ | `—` | | `resumable` | `bool` | ✓ | `—` | | `remote` | `str` | ✓ | `—` | | `merge` | `str` | ✓ | `—` | ### `CommitConfig` — [`muse/cli/config.py`](muse/cli/config.py) ``[commit]`` section in ``.muse/config.toml``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `sign` | `bool` | ✓ | `—` | ### `HubConfig` — [`muse/cli/config.py`](muse/cli/config.py) ``[hub]`` section in ``.muse/config.toml``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `url` | `str` | ✓ | `—` | ### `LimitsConfig` — [`muse/cli/config.py`](muse/cli/config.py) ``[limits]`` section in ``.muse/config.toml``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `max_walk_commits` | `int` | ✓ | `—` | | `max_ancestors` | `int` | ✓ | `—` | | `max_graph_commits` | `int` | ✓ | `—` | | `shard_prefix_length` | `int` | ✓ | `—` | ### `MuseConfig` — [`muse/cli/config.py`](muse/cli/config.py) Structured view of the entire ``.muse/config.toml`` file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `hub` | `HubConfig` | ✓ | `—` | | `remotes` | `RemotesMap` | ✓ | `—` | | `symlog` | `SymlogConfig` | ✓ | `—` | | `domain` | `DomainConfig` | ✓ | `—` | | `limits` | `LimitsConfig` | ✓ | `—` | | `commit` | `CommitConfig` | ✓ | `—` | | `push` | `PushConfig` | ✓ | `—` | | `branch` | `'dict[str, BranchMeta]'` | ✓ | `—` | | `protected_branches` | `'list[str]'` | ✓ | `—` | ### `PushConfig` — [`muse/cli/config.py`](muse/cli/config.py) ``[push]`` section in ``.muse/config.toml``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tags` | `bool` | ✓ | `—` | ### `RemoteConfig` — [`muse/cli/config.py`](muse/cli/config.py) Public-facing remote descriptor returned by :func:`list_remotes`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `url` | `str` | ✓ | `—` | ### `RemoteEntry` — [`muse/cli/config.py`](muse/cli/config.py) ``[remotes.]`` section in ``.muse/config.toml``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `url` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `promisor` | `bool` | ✓ | `—` | ### `SymlogConfig` — [`muse/cli/config.py`](muse/cli/config.py) ``[symlog]`` section in ``.muse/config.toml``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `expire_days` | `int` | ✓ | `—` | ### `AgentSlot` — [`muse/core/agent_slots.py`](muse/core/agent_slots.py) A registered agent slot within an HD key hierarchy. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `account` | `int` | ✓ | `—` | | `hub` | `str` | ✓ | `—` | | `msign_path` | `str` | ✓ | `—` | ### `_HostBlock` — [`muse/core/agent_slots.py`](muse/core/agent_slots.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `next_account` | `int` | ✓ | `—` | | `slots` | `_SlotNames` | ✓ | `—` | ### `AttributesMeta` — [`muse/core/attributes.py`](muse/core/attributes.py) Typed representation of the ``[meta]`` section in ``.museattributes``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `domain` | `str` | ✓ | `—` | ### `AttributesRuleDict` — [`muse/core/attributes.py`](muse/core/attributes.py) Typed representation of a single ``[[rules]]`` entry. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `dimension` | `str` | ✓ | `—` | | `strategy` | `str` | ✓ | `—` | | `comment` | `str` | ✓ | `—` | | `priority` | `int` | ✓ | `—` | ### `MuseAttributesFile` — [`muse/core/attributes.py`](muse/core/attributes.py) Typed representation of the complete ``.museattributes`` file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `meta` | `AttributesMeta` | ✓ | `—` | | `rules` | `list[AttributesRuleDict]` | ✓ | `—` | ### `BisectStateDict` — [`muse/core/bisect.py`](muse/core/bisect.py) On-disk shape of the bisect state. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `bad_id` | `str` | ✓ | `—` | | `good_ids` | `list[str]` | ✓ | `—` | | `skipped_ids` | `list[str]` | ✓ | `—` | | `remaining` | `list[str]` | ✓ | `—` | | `log` | `list[str]` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `symbol_filter` | `str` | ✓ | `—` | ### `BisectStatusDict` — [`muse/core/bisect.py`](muse/core/bisect.py) Public session summary returned by :func:`get_bisect_status`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `active` | `bool` | ✓ | `—` | | `bad_id` | `str` | ✓ | `—` | | `good_ids` | `list[str]` | ✓ | `—` | | `symbol_filter` | `str` | ✓ | `—` | | `remaining_count` | `int` | ✓ | `—` | | `steps_remaining` | `int` | ✓ | `—` | | `skipped_count` | `int` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | ### `GitCommitInfo` — [`muse/core/bridge/git_primitives.py`](muse/core/bridge/git_primitives.py) One commit record returned by ``git log`` via :func:`_batch_commit_log`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `sha` | `str` | ✓ | `—` | | `parent_shas` | `list[str]` | ✓ | `—` | | `author_email` | `str` | ✓ | `—` | | `author_name` | `str` | ✓ | `—` | | `author_date` | `str` | ✓ | `—` | | `subject` | `str` | ✓ | `—` | | `body` | `str` | ✓ | `—` | | `is_merge` | `bool` | ✓ | `—` | ### `GitTagInfo` — [`muse/core/bridge/git_primitives.py`](muse/core/bridge/git_primitives.py) One tag descriptor returned by :func:`_list_git_tags`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `sha` | `str` | ✓ | `—` | | `is_semver` | `bool` | ✓ | `—` | ### `BridgeState` — [`muse/core/bridge/state.py`](muse/core/bridge/state.py) Persisted bridge synchronisation state. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `last_import` | `_LastImportState` | ✓ | `—` | | `last_export` | `_LastExportState` | ✓ | `—` | ### `DriftInfo` — [`muse/core/bridge/state.py`](muse/core/bridge/state.py) Commit drift between git and Muse since last bridge sync. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `git_commits_since_import` | `int | None` | ✓ | `—` | | `muse_commits_since_export` | `int | None` | ✓ | `—` | ### `_LastExportState` — [`muse/core/bridge/state.py`](muse/core/bridge/state.py) State recorded after a successful ``muse bridge git-export`` run. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `muse_branch` | `str` | ✓ | `—` | | `muse_commit_id` | `str` | ✓ | `—` | | `git_remote` | `str` | ✓ | `—` | | `git_ref` | `str` | ✓ | `—` | | `git_sha` | `str` | ✓ | `—` | | `exported_at` | `str` | ✓ | `—` | ### `_LastImportState` — [`muse/core/bridge/state.py`](muse/core/bridge/state.py) State recorded after a successful ``muse bridge git-import`` run. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `git_sha` | `str` | ✓ | `—` | | `git_ref` | `str` | ✓ | `—` | | `git_remote` | `str` | ✓ | `—` | | `muse_branch` | `str` | ✓ | `—` | | `muse_commit_id` | `str` | ✓ | `—` | | `imported_at` | `str` | ✓ | `—` | | `commits_written` | `int` | ✓ | `—` | ### `_SidecarData` — [`muse/core/bridge/state.py`](muse/core/bridge/state.py) Phase-8 sidecar JSON — tracks imported stashes and exported shelf IDs. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `imported_stashes` | `list[str]` | ✓ | `—` | | `exported_shelf_ids` | `list[str]` | ✓ | `—` | | `exported_manifest_paths` | `list[str]` | ✓ | `—` | ### `CiConfig` — [`muse/core/ci.py`](muse/core/ci.py) Parsed ``.muse/ci.toml`` configuration. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `version` | `int` | ✓ | `—` | | `settings` | `CiSettings` | ✓ | `—` | | `gates` | `list[CiGate]` | ✓ | `—` | ### `CiGate` — [`muse/core/ci.py`](muse/core/ci.py) A single CI gate (one external command). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `command` | `list[str]` | ✓ | `—` | | `timeout_s` | `float` | ✓ | `—` | | `required` | `bool` | ✓ | `—` | ### `CiRunResult` — [`muse/core/ci.py`](muse/core/ci.py) Aggregated result of a full CI run. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `passed` | `bool` | ✓ | `—` | | `gates` | `list[GateResult]` | ✓ | `—` | | `total_duration_ms` | `float` | ✓ | `—` | | `timestamp` | `str` | ✓ | `—` | ### `CiSettings` — [`muse/core/ci.py`](muse/core/ci.py) Global settings section of ``.muse/ci.toml``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `test_budget_s` | `float` | ✓ | `—` | | `workers` | `int` | ✓ | `—` | | `env_allowlist` | `list[str]` | ✓ | `—` | ### `GateResult` — [`muse/core/ci.py`](muse/core/ci.py) Outcome for a single CI gate. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `command` | `list[str]` | ✓ | `—` | | `exit_code` | `int` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `stdout` | `str` | ✓ | `—` | | `stderr` | `str` | ✓ | `—` | | `required` | `bool` | ✓ | `—` | | `passed` | `bool` | ✓ | `—` | | `timed_out` | `bool` | ✓ | `—` | | `warning` | `NotRequired[str]` | ✓ | `—` | ### `CommitDict` — [`muse/core/commits.py`](muse/core/commits.py) JSON-serialisable representation of a CommitRecord. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `parent_commit_id` | `str | None` | ✓ | `—` | | `parent2_commit_id` | `str | None` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `metadata` | `Metadata` | ✓ | `—` | | `structured_delta` | `StructuredDelta | None` | ✓ | `—` | | `sem_ver_bump` | `SemVerBump` | ✓ | `—` | | `breaking_changes` | `list[str]` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `model_id` | `str` | ✓ | `—` | | `toolchain_id` | `str` | ✓ | `—` | | `prompt_hash` | `str` | ✓ | `—` | | `signature` | `str` | ✓ | `—` | | `signer_public_key` | `str` | ✓ | `—` | | `signer_key_id` | `str` | ✓ | `—` | | `reviewed_by` | `list[str]` | ✓ | `—` | | `test_runs` | `int` | ✓ | `—` | | `labels` | `list[str]` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `notes` | `list[str]` | ✓ | `—` | | `score` | `float | None` | ✓ | `—` | ### `CommitReadCorrupt` — [`muse/core/commits.py`](muse/core/commits.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `error` | `str` | ✓ | `—` | ### `CommitReadNotFound` — [`muse/core/commits.py`](muse/core/commits.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | ### `CommitReadOk` — [`muse/core/commits.py`](muse/core/commits.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | | `commit` | `CommitRecord` | ✓ | `—` | ### `WalkResult` — [`muse/core/commits.py`](muse/core/commits.py) Result of a bounded history walk. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commits` | `list[CommitRecord]` | ✓ | `—` | | `truncated` | `bool` | ✓ | `—` | | `count` | `int` | ✓ | `—` | ### `_HeartbeatDict` — [`muse/core/coordination.py`](muse/core/coordination.py) JSON-serialisable form of a :class:`Heartbeat`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `reservation_id` | `str` | ✓ | `—` | | `run_id` | `str` | ✓ | `—` | | `last_beat_at` | `str` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | ### `_ReleaseDict` — [`muse/core/coordination.py`](muse/core/coordination.py) JSON-serialisable form of a :class:`Release`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `reservation_id` | `str` | ✓ | `—` | | `run_id` | `str` | ✓ | `—` | | `released_at` | `str` | ✓ | `—` | | `reason` | `str` | ✓ | `—` | ### `AWMapDict` — [`muse/core/crdts/aw_map.py`](muse/core/crdts/aw_map.py) Wire format for a complete :class:`AWMap`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `entries` | `list[AWMapEntry]` | ✓ | `—` | | `tombstones` | `list[str]` | ✓ | `—` | ### `AWMapEntry` — [`muse/core/crdts/aw_map.py`](muse/core/crdts/aw_map.py) A single (key, value, token) triple in an :class:`AWMap`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `key` | `str` | ✓ | `—` | | `value` | `str` | ✓ | `—` | | `token` | `str` | ✓ | `—` | ### `GCounterDict` — [`muse/core/crdts/g_counter.py`](muse/core/crdts/g_counter.py) Wire format for a :class:`GCounter` — ``{agent_id: count}``. **Bases:** `TypedDict` _No annotated fields._ ### `LWWValue` — [`muse/core/crdts/lww_register.py`](muse/core/crdts/lww_register.py) Wire format for a :class:`LWWRegister`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `value` | `str` | ✓ | `—` | | `timestamp` | `float` | ✓ | `—` | | `author` | `str` | ✓ | `—` | ### `ORSetDict` — [`muse/core/crdts/or_set.py`](muse/core/crdts/or_set.py) Wire format for a complete :class:`ORSet`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `entries` | `list[ORSetEntry]` | ✓ | `—` | | `tombstones` | `list[str]` | ✓ | `—` | ### `ORSetEntry` — [`muse/core/crdts/or_set.py`](muse/core/crdts/or_set.py) A single (element, token) pair in the OR-Set payload. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `element` | `str` | ✓ | `—` | | `token` | `str` | ✓ | `—` | ### `RGAElement` — [`muse/core/crdts/rga.py`](muse/core/crdts/rga.py) A single element in an :class:`RGA`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `id` | `str` | ✓ | `—` | | `value` | `str` | ✓ | `—` | | `deleted` | `bool` | ✓ | `—` | | `parent_id` | `str | None` | ✓ | `—` | ### `VClockDict` — [`muse/core/crdts/vclock.py`](muse/core/crdts/vclock.py) Wire format for a vector clock — ``{agent_id: event_count}``. **Bases:** `TypedDict` _No annotated fields._ ### `DescribeResult` — [`muse/core/describe.py`](muse/core/describe.py) Result of describing a commit by its nearest version tag. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `tag` | `str | None` | ✓ | `—` | | `distance` | `int | None` | ✓ | `—` | | `short_sha` | `str` | ✓ | `—` | | `description` | `str | None` | ✓ | `—` | | `exact` | `bool` | ✓ | `—` | ### `MapInput` — [`muse/core/diff_algorithms/__init__.py`](muse/core/diff_algorithms/__init__.py) Key → content-ID map. Pairs with ``MapSchema``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['map']` | ✓ | `—` | | `entries` | `Manifest` | ✓ | `—` | ### `SequenceInput` — [`muse/core/diff_algorithms/__init__.py`](muse/core/diff_algorithms/__init__.py) Ordered sequence of content IDs. Pairs with ``SequenceSchema``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['sequence']` | ✓ | `—` | | `items` | `list[str]` | ✓ | `—` | ### `SetInput` — [`muse/core/diff_algorithms/__init__.py`](muse/core/diff_algorithms/__init__.py) Unordered set of content IDs. Pairs with ``SetSchema``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['set']` | ✓ | `—` | | `items` | `frozenset[str]` | ✓ | `—` | ### `TensorInput` — [`muse/core/diff_algorithms/__init__.py`](muse/core/diff_algorithms/__init__.py) Flat 1-D numerical array. Pairs with ``TensorSchema``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['tensor']` | ✓ | `—` | | `values` | `list[float]` | ✓ | `—` | ### `TreeInput` — [`muse/core/diff_algorithms/__init__.py`](muse/core/diff_algorithms/__init__.py) Labeled ordered tree. Pairs with ``TreeSchema``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['tree']` | ✓ | `—` | | `root` | `TreeNode` | ✓ | `—` | ### `DocReport` — [`muse/core/doc_extractor.py`](muse/core/doc_extractor.py) Complete documentation report for a set of symbols. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `generated_at` | `str` | ✓ | `—` | | `symbols` | `list[SymbolDoc]` | ✓ | `—` | | `missing` | `list[MissingDocEntry]` | ✓ | `—` | | `stale` | `list[StaleDocEntry]` | ✓ | `—` | | `summary` | `DocSummary` | ✓ | `—` | ### `DocSummary` — [`muse/core/doc_extractor.py`](muse/core/doc_extractor.py) Aggregate documentation health metrics for a :class:`DocReport`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `total_symbols` | `int` | ✓ | `—` | | `public_symbols` | `int` | ✓ | `—` | | `documented` | `int` | ✓ | `—` | | `undocumented` | `int` | ✓ | `—` | | `stale_count` | `int` | ✓ | `—` | | `avg_health` | `float` | ✓ | `—` | | `doc_debt_score` | `float` | ✓ | `—` | ### `MissingDocEntry` — [`muse/core/doc_extractor.py`](muse/core/doc_extractor.py) Summary entry for a public symbol that lacks a docstring. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `kind` | `SymbolKind` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `caller_count` | `int` | ✓ | `—` | ### `StaleDocEntry` — [`muse/core/doc_extractor.py`](muse/core/doc_extractor.py) Summary entry for a symbol whose docstring may be out of date. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `kind` | `SymbolKind` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `last_doc_commit` | `str | None` | ✓ | `—` | | `last_impl_commit` | `str | None` | ✓ | `—` | | `signature_changed` | `bool` | ✓ | `—` | | `body_changed` | `bool` | ✓ | `—` | ### `SymbolDoc` — [`muse/core/doc_extractor.py`](muse/core/doc_extractor.py) Fully-assembled documentation record for one symbol. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `qualified_name` | `str` | ✓ | `—` | | `kind` | `SymbolKind` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `lineno` | `int` | ✓ | `—` | | `end_lineno` | `int` | ✓ | `—` | | `signature` | `str` | ✓ | `—` | | `docstring` | `str | None` | ✓ | `—` | | `callers` | `list[str]` | ✓ | `—` | | `callees` | `list[str]` | ✓ | `—` | | `since_commit` | `str | None` | ✓ | `—` | | `since_version` | `str | None` | ✓ | `—` | | `last_changed_commit` | `str | None` | ✓ | `—` | | `last_changed_version` | `str | None` | ✓ | `—` | | `breaking_changes` | `list[str]` | ✓ | `—` | | `linked_tests` | `list[str]` | ✓ | `—` | | `doc_health` | `float` | ✓ | `—` | | `doc_health_reasons` | `list[DocHealthReason]` | ✓ | `—` | ### `ChangelogEntry` — [`muse/core/doc_history.py`](muse/core/doc_history.py) One symbol's entry in a documentation changelog. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `kind` | `SymbolKind` | ✓ | `—` | | `file` | `str` | ✓ | `—` | ### `ChangelogReport` — [`muse/core/doc_history.py`](muse/core/doc_history.py) Structured changelog between two commits or version tags. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `from_ref` | `str` | ✓ | `—` | | `to_ref` | `str` | ✓ | `—` | | `added` | `list[ChangelogEntry]` | ✓ | `—` | | `removed` | `list[ChangelogEntry]` | ✓ | `—` | | `changed` | `list[ChangelogEntry]` | ✓ | `—` | | `breaking` | `list[ChangelogEntry]` | ✓ | `—` | ### `StaleInfo` — [`muse/core/doc_history.py`](muse/core/doc_history.py) Docstring staleness assessment for one symbol. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `is_stale` | `bool` | ✓ | `—` | | `last_doc_commit` | `str | None` | ✓ | `—` | | `last_impl_commit` | `str | None` | ✓ | `—` | | `signature_changed` | `bool` | ✓ | `—` | | `body_changed` | `bool` | ✓ | `—` | ### `SymbolVersionEvent` — [`muse/core/doc_history.py`](muse/core/doc_history.py) One entry in a symbol's version history timeline. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `op` | `str` | ✓ | `—` | | `version` | `str | None` | ✓ | `—` | | `sem_ver_bump` | `str | None` | ✓ | `—` | | `breaking` | `bool` | ✓ | `—` | ### `EnvelopeJson` — [`muse/core/envelope.py`](muse/core/envelope.py) Base TypedDict for every muse JSON response. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `muse_version` | `str` | ✓ | `—` | | `schema` | `int` | ✓ | `—` | | `exit_code` | `int` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `timestamp` | `str` | ✓ | `—` | | `warnings` | `list[str]` | ✓ | `—` | ### `AuditEvent` — [`muse/core/harmony/types.py`](muse/core/harmony/types.py) One entry in the harmony audit log — never modified after writing. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `audit_id` | `str` | ✓ | `—` | | `event_type` | `str` | ✓ | `—` | | `pattern_id` | `str | None` | ✓ | `—` | | `resolution_id` | `str | None` | ✓ | `—` | | `policy_id` | `str | None` | ✓ | `—` | | `acted_by` | `dict[str, str | None]` | ✓ | `—` | | `occurred_at` | `str` | ✓ | `—` | | `metadata` | `_AuditMetadata` | ✓ | `—` | ### `_EscalationDict` — [`muse/core/harmony/types.py`](muse/core/harmony/types.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `escalation_id` | `str` | ✓ | `—` | | `pattern_id` | `str` | ✓ | `—` | | `reason` | `str` | ✓ | `—` | | `escalated_at` | `str` | ✓ | `—` | | `escalated_by` | `dict[str, str | None]` | ✓ | `—` | | `resolved_at` | `str | None` | ✓ | `—` | | `resolved_by` | `dict[str, str | None] | None` | ✓ | `—` | | `resolution_id` | `str | None` | ✓ | `—` | | `status` | `str` | ✓ | `—` | ### `_PatternDict` — [`muse/core/harmony/types.py`](muse/core/harmony/types.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `pattern_id` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `conflict_type` | `str` | ✓ | `—` | | `blob_fingerprint` | `str` | ✓ | `—` | | `semantic_fingerprint` | `str` | ✓ | `—` | | `ours_id` | `str` | ✓ | `—` | | `theirs_id` | `str` | ✓ | `—` | | `description` | `_ConflictDescription` | ✓ | `—` | | `recorded_at` | `str` | ✓ | `—` | | `recorded_by` | `str` | ✓ | `—` | ### `_PolicyConditionDict` — [`muse/core/harmony/types.py`](muse/core/harmony/types.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `conflict_type` | `str | None` | ✓ | `—` | | `domain` | `str | None` | ✓ | `—` | | `path_pattern` | `str | None` | ✓ | `—` | | `min_confidence` | `float | None` | ✓ | `—` | ### `_PolicyDict` — [`muse/core/harmony/types.py`](muse/core/harmony/types.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `policy_id` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `when` | `_PolicyConditionDict` | ✓ | `—` | | `action` | `str` | ✓ | `—` | | `confidence` | `float` | ✓ | `—` | | `escalate_to` | `str | None` | ✓ | `—` | | `delegate_to` | `str | None` | ✓ | `—` | | `scope` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `created_by` | `str` | ✓ | `—` | ### `_ResolutionDict` — [`muse/core/harmony/types.py`](muse/core/harmony/types.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `resolution_id` | `str` | ✓ | `—` | | `pattern_id` | `str` | ✓ | `—` | | `strategy` | `str` | ✓ | `—` | | `policy_id` | `str | None` | ✓ | `—` | | `outcome_blob` | `str` | ✓ | `—` | | `resolved_by` | `dict[str, str | None]` | ✓ | `—` | | `human_verified` | `bool` | ✓ | `—` | | `confidence` | `float` | ✓ | `—` | | `rationale` | `str` | ✓ | `—` | | `resolved_at` | `str` | ✓ | `—` | | `applied_count` | `int` | ✓ | `—` | ### `HubTrustRecord` — [`muse/core/hub_trust.py`](muse/core/hub_trust.py) A single pinned hub entry in ``~/.muse/hub_trust.toml``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `hub_url` | `str` | ✓ | `—` | | `fingerprint` | `str` | ✓ | `—` | | `first_seen` | `str` | ✓ | `—` | | `verified_count` | `int` | ✓ | `—` | ### `IdentityEntry` — [`muse/core/identity.py`](muse/core/identity.py) One authenticated identity, keyed by hub hostname in identity.toml. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `type` | `str` | ✓ | `—` | | `handle` | `str` | ✓ | `—` | | `algorithm` | `str` | ✓ | `—` | | `fingerprint` | `str` | ✓ | `—` | | `capabilities` | `list[str]` | ✓ | `—` | | `provisioned_by` | `str` | ✓ | `—` | | `hd_path` | `str` | ✓ | `—` | | `provisioned_by_fingerprint` | `str` | ✓ | `—` | | `mnemonic` | `str` | ✓ | `—` | ### `DomainSection` — [`muse/core/ignore.py`](muse/core/ignore.py) Patterns for one ignore section (global or a named domain). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `patterns` | `list[str]` | ✓ | `—` | ### `ForceTrackSection` — [`muse/core/ignore.py`](muse/core/ignore.py) Explicit whitelist that overrides the built-in secrets blocklist. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `paths` | `list[str]` | ✓ | `—` | ### `IndexInfoEntry` — [`muse/core/indices.py`](muse/core/indices.py) Status information for one local index — returned by :func:`index_info`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `entries` | `int` | ✓ | `—` | | `updated_at` | `str | None` | ✓ | `—` | ### `_HashOccurrenceDoc` — [`muse/core/indices.py`](muse/core/indices.py) Msgpack document layout for the ``hash_occurrence`` index file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `index` | `str` | ✓ | `—` | | `updated_at` | `str` | ✓ | `—` | | `entries` | `_StringListMap` | ✓ | `—` | ### `_SymbolHistoryDoc` — [`muse/core/indices.py`](muse/core/indices.py) Msgpack document layout for the ``symbol_history`` index file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `index` | `str` | ✓ | `—` | | `updated_at` | `str` | ✓ | `—` | | `entries` | `_EntryMap` | ✓ | `—` | ### `BaseReport` — [`muse/core/invariants.py`](muse/core/invariants.py) Full invariant check report for one commit, domain-agnostic. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `violations` | `list[BaseViolation]` | ✓ | `—` | | `rules_checked` | `int` | ✓ | `—` | | `has_errors` | `bool` | ✓ | `—` | | `has_warnings` | `bool` | ✓ | `—` | ### `BaseViolation` — [`muse/core/invariants.py`](muse/core/invariants.py) A single invariant violation, domain-agnostic. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `rule_name` | `str` | ✓ | `—` | | `severity` | `InvariantSeverity` | ✓ | `—` | | `address` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | ### `MergeStatePayload` — [`muse/core/merge_engine.py`](muse/core/merge_engine.py) JSON-serialisable form of an in-progress merge state. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `base_commit` | `str` | ✓ | `—` | | `ours_commit` | `str` | ✓ | `—` | | `theirs_commit` | `str` | ✓ | `—` | | `conflict_paths` | `list[str]` | ✓ | `—` | | `original_conflict_paths` | `list[str]` | ✓ | `—` | | `manually_resolved` | `list[str]` | ✓ | `—` | | `other_branch` | `str` | ✓ | `—` | ### `ApplyResult` — [`muse/core/mpack.py`](muse/core/mpack.py) Counts returned by :func:`apply_mpack` describing what was written. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commits_written` | `int` | ✓ | `—` | | `snapshots_written` | `int` | ✓ | `—` | | `blobs_written` | `int` | ✓ | `—` | | `blobs_skipped` | `int` | ✓ | `—` | | `tags_written` | `int` | ✓ | `—` | | `failed_blobs` | `list[str]` | ✓ | `—` | | `skipped_snapshots` | `list[str]` | ✓ | `—` | ### `FetchRequest` — [`muse/core/mpack.py`](muse/core/mpack.py) Body of ``POST {url}/fetch`` — negotiates which commits to transfer. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `want` | `list[str]` | ✓ | `—` | | `have` | `list[str]` | ✓ | `—` | ### `MPack` — [`muse/core/mpack.py`](muse/core/mpack.py) The unit of exchange between the Muse CLI and a remote. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commits` | `list[CommitDict]` | ✓ | `—` | | `snapshots` | `list[SnapshotDeltaDict]` | ✓ | `—` | | `blobs` | `list[BlobPayload]` | ✓ | `—` | | `tags` | `list[WireTag]` | ✓ | `—` | | `summary` | `MPackSummary` | ✓ | `—` | | `meta` | `MPackMeta` | ✓ | `—` | ### `MPackMeta` — [`muse/core/mpack.py`](muse/core/mpack.py) Self-describing metadata embedded in every :class:`MPack`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `mode` | `str` | ✓ | `—` | | `base_commits` | `list[str]` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `MPackSummary` — [`muse/core/mpack.py`](muse/core/mpack.py) Advisory summary embedded in every :class:`MPack`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commits_count` | `int` | ✓ | `—` | | `blobs_count` | `int` | ✓ | `—` | | `blobs_bytes` | `int` | ✓ | `—` | | `branches` | `BranchHeads` | ✓ | `—` | | `agent_ids` | `list[str]` | ✓ | `—` | ### `PushResult` — [`muse/core/mpack.py`](muse/core/mpack.py) Server response after a push attempt. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `ok` | `bool` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `branch_heads` | `BranchHeads` | ✓ | `—` | ### `RemoteInfo` — [`muse/core/mpack.py`](muse/core/mpack.py) Repository metadata returned by ``GET {url}/refs``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `repo_id` | `str` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `branch_heads` | `BranchHeads` | ✓ | `—` | | `default_branch` | `str` | ✓ | `—` | ### `SnapshotDeltaDict` — [`muse/core/mpack.py`](muse/core/mpack.py) Wire representation of a snapshot as a delta from its parent snapshot. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot_id` | `str` | ✓ | `—` | | `parent_snapshot_id` | `str | None` | ✓ | `—` | | `delta_upsert` | `dict[str, str]` | ✓ | `—` | | `delta_remove` | `list[str]` | ✓ | `—` | ### `WireTag` — [`muse/core/mpack.py`](muse/core/mpack.py) A tag record serialised for wire transfer inside an :class:`MPack`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tag_id` | `str` | ✓ | `—` | | `repo_id` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `tag` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `_BlobPayloadBase` — [`muse/core/mpack.py`](muse/core/mpack.py) Required fields for every blob payload in an MPack. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `object_id` | `str` | ✓ | `—` | | `content` | `bytes` | ✓ | `—` | ### `_PresignPayload` — [`muse/core/mpack.py`](muse/core/mpack.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `mpack_key` | `str` | ✓ | `—` | | `size_bytes` | `int` | ✓ | `—` | ### `_UnpackPayload` — [`muse/core/mpack.py`](muse/core/mpack.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `mpack_key` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `head` | `str` | ✓ | `—` | | `commits_count` | `int` | ✓ | `—` | | `blobs_count` | `int` | ✓ | `—` | | `force` | `bool` | ✓ | `—` | ### `_WalkResult` — [`muse/core/mpack.py`](muse/core/mpack.py) Cached result of a BFS commit-graph walk. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commits` | `list[CommitRecord]` | ✓ | `—` | | `snapshot_ids` | `set[str]` | ✓ | `—` | | `all_blob_ids` | `list[str]` | ✓ | `—` | | `have_blobs` | `set[str]` | ✓ | `—` | | `manifest_blobs` | `set[str]` | ✓ | `—` | | `oid_to_path` | `dict[str, str]` | ✓ | `—` | | `missing_snapshots` | `set[str]` | ✓ | `—` | | `snapshot_deltas` | `list[SnapshotDeltaDict]` | ✓ | `—` | ### `ParsedMSign` — [`muse/core/msign.py`](muse/core/msign.py) Parsed components of an MSign Authorization header value. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `handle` | `str` | ✓ | `—` | | `alg` | `str` | ✓ | `—` | | `ts` | `int` | ✓ | `—` | | `sig` | `str` | ✓ | `—` | ### `_PaymentClaimRequired` — [`muse/core/msign.py`](muse/core/msign.py) Required fields present on every MPay claim. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `from_handle` | `str` | ✓ | `—` | | `to_handle` | `str` | ✓ | `—` | | `amount_nano` | `int` | ✓ | `—` | | `currency` | `str` | ✓ | `—` | | `nonce_hex` | `str` | ✓ | `—` | | `memo` | `str` | ✓ | `—` | | `ts` | `int` | ✓ | `—` | | `signature_b64` | `str` | ✓ | `—` | | `canonical_message` | `str` | ✓ | `—` | ### `OpEntry` — [`muse/core/op_log.py`](muse/core/op_log.py) A single operation in the append-only op log. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op_id` | `str` | ✓ | `—` | | `actor_id` | `str` | ✓ | `—` | | `lamport_ts` | `int` | ✓ | `—` | | `parent_op_ids` | `list[str]` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `domain_op` | `DomainOp` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `intent_id` | `str` | ✓ | `—` | | `reservation_id` | `str` | ✓ | `—` | ### `OpLogCheckpoint` — [`muse/core/op_log.py`](muse/core/op_log.py) A snapshot of the op log state at commit time. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `session_id` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `lamport_ts` | `int` | ✓ | `—` | | `op_count` | `int` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `PatchApplicability` — [`muse/core/patch_record.py`](muse/core/patch_record.py) Applicability metadata for a PatchRecord. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `requires_snapshot` | `str` | ✓ | `—` | | `independent_dimensions` | `list[str]` | ✓ | `—` | | `conflict_free` | `bool` | ✓ | `—` | ### `PatchOp` — [`muse/core/patch_record.py`](muse/core/patch_record.py) A single domain operation inside a PatchRecord, with Cohen action label. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `str` | ✓ | `—` | | `address` | `str` | ✓ | `—` | | `position` | `int | None` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | | `content_summary` | `str` | ✓ | `—` | | `action_label` | `str` | ✓ | `—` | ### `PatchRecordDict` — [`muse/core/patch_record.py`](muse/core/patch_record.py) Serialisable dict representation of a PatchRecord. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `patch_id` | `str` | ✓ | `—` | | `from_snapshot_id` | `str` | ✓ | `—` | | `to_snapshot_id` | `str` | ✓ | `—` | | `from_commit_id` | `str` | ✓ | `—` | | `to_commit_id` | `str` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `format_version` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `model_id` | `str` | ✓ | `—` | | `signer_public_key` | `str` | ✓ | `—` | | `signature` | `str` | ✓ | `—` | | `intent` | `str` | ✓ | `—` | | `sem_ver_bump` | `str` | ✓ | `—` | | `breaking_changes` | `list[str]` | ✓ | `—` | | `summary` | `str` | ✓ | `—` | | `ops` | `list[PatchOp]` | ✓ | `—` | | `files_added` | `list[str]` | ✓ | `—` | | `files_modified` | `list[str]` | ✓ | `—` | | `files_deleted` | `list[str]` | ✓ | `—` | | `files_renamed` | `dict[str, str]` | ✓ | `—` | | `required_objects` | `list[str]` | ✓ | `—` | | `from_manifest` | `dict[str, str]` | ✓ | `—` | | `to_manifest` | `dict[str, str]` | ✓ | `—` | | `applicability` | `PatchApplicability` | ✓ | `—` | | `blobs` | `dict[str, str]` | ✓ | `—` | ### `AgentIdentity` — [`muse/core/provenance.py`](muse/core/provenance.py) Structured identity record for a human or AI agent. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `agent_id` | `str` | ✓ | `—` | | `model_id` | `str` | ✓ | `—` | | `toolchain_id` | `str` | ✓ | `—` | | `prompt_hash` | `str` | ✓ | `—` | | `execution_context_hash` | `str` | ✓ | `—` | ### `QueryMatch` — [`muse/core/query_engine.py`](muse/core/query_engine.py) One match returned by a predicate evaluator. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | | `extra` | `Manifest` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `model_id` | `str` | ✓ | `—` | ### `RebaseProgress` — [`muse/core/rebase.py`](muse/core/rebase.py) Snapshot of rebase progress for ``--status`` output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `active` | `bool` | ✓ | `—` | | `original_branch` | `str` | ✓ | `—` | | `original_head` | `str` | ✓ | `—` | | `onto` | `str` | ✓ | `—` | | `total` | `int` | ✓ | `—` | | `done` | `int` | ✓ | `—` | | `remaining` | `int` | ✓ | `—` | | `squash` | `bool` | ✓ | `—` | ### `RebaseState` — [`muse/core/rebase.py`](muse/core/rebase.py) Serialisable state for an in-progress rebase session. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `original_branch` | `str` | ✓ | `—` | | `original_head` | `str` | ✓ | `—` | | `onto` | `str` | ✓ | `—` | | `remaining` | `list[str]` | ✓ | `—` | | `completed` | `list[str]` | ✓ | `—` | | `squash` | `bool` | ✓ | `—` | ### `DetachedHead` — [`muse/core/refs.py`](muse/core/refs.py) HEAD points directly to a commit (detached HEAD state). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['commit']` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | ### `SymbolicHead` — [`muse/core/refs.py`](muse/core/refs.py) HEAD points to a named branch. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['branch']` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | ### `ReleaseDict` — [`muse/core/releases.py`](muse/core/releases.py) JSON-serialisable representation of a ReleaseRecord. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `release_id` | `str` | ✓ | `—` | | `repo_id` | `str` | ✓ | `—` | | `tag` | `str` | ✓ | `—` | | `semver` | `SemVerTag` | ✓ | `—` | | `channel` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `title` | `str` | ✓ | `—` | | `body` | `str` | ✓ | `—` | | `changelog` | `list[ChangelogEntry]` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `model_id` | `str` | ✓ | `—` | | `is_draft` | `bool` | ✓ | `—` | | `gpg_signature` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `CRDTDimensionSpec` — [`muse/core/schema.py`](muse/core/schema.py) Schema for a single dimension that uses CRDT convergent merge semantics. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `crdt_type` | `CRDTPrimitive` | ✓ | `—` | | `independent_merge` | `bool` | ✓ | `—` | ### `DimensionSpec` — [`muse/core/schema.py`](muse/core/schema.py) A named semantic sub-dimension of the domain's state. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `schema` | `ElementSchema` | ✓ | `—` | | `independent_merge` | `bool` | ✓ | `—` | ### `DomainSchema` — [`muse/core/schema.py`](muse/core/schema.py) Complete structural declaration for a domain plugin. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `domain` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `dimensions` | `list[DimensionSpec]` | ✓ | `—` | | `top_level` | `ElementSchema` | ✓ | `—` | | `merge_mode` | `Literal['three_way', 'crdt']` | ✓ | `—` | | `schema_version` | `str` | ✓ | `—` | ### `MapSchema` — [`muse/core/schema.py`](muse/core/schema.py) Key-value map with known or dynamic keys. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['map']` | ✓ | `—` | | `key_type` | `str` | ✓ | `—` | | `value_schema` | `ElementSchema` | ✓ | `—` | | `identity` | `Literal['by_key']` | ✓ | `—` | ### `SequenceSchema` — [`muse/core/schema.py`](muse/core/schema.py) Ordered sequence of homogeneous elements (LCS-diffable). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['sequence']` | ✓ | `—` | | `element_type` | `str` | ✓ | `—` | | `identity` | `Literal['by_id', 'by_position', 'by_content']` | ✓ | `—` | | `diff_algorithm` | `Literal['lcs', 'myers', 'patience']` | ✓ | `—` | | `alphabet` | `list[str] | None` | ✓ | `—` | ### `SetSchema` — [`muse/core/schema.py`](muse/core/schema.py) Unordered collection of unique elements (set-algebra-diffable). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['set']` | ✓ | `—` | | `element_type` | `str` | ✓ | `—` | | `identity` | `Literal['by_content', 'by_id']` | ✓ | `—` | ### `TensorSchema` — [`muse/core/schema.py`](muse/core/schema.py) N-dimensional numerical array (sparse-numerical-diffable). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['tensor']` | ✓ | `—` | | `dtype` | `Literal['float32', 'float64', 'int8', 'int16', 'int32', 'int64']` | ✓ | `—` | | `rank` | `int` | ✓ | `—` | | `epsilon` | `float` | ✓ | `—` | | `diff_mode` | `Literal['sparse', 'block', 'full']` | ✓ | `—` | ### `TreeSchema` — [`muse/core/schema.py`](muse/core/schema.py) Hierarchical labeled ordered tree (tree-edit-diffable). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['tree']` | ✓ | `—` | | `node_type` | `str` | ✓ | `—` | | `diff_algorithm` | `Literal['zhang_shasha', 'gumtree']` | ✓ | `—` | ### `ApiChangeSummary` — [`muse/core/semver.py`](muse/core/semver.py) A single public-API symbol that was added, removed, or modified. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `language` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `change` | `str` | ✓ | `—` | ### `ChangelogEntry` — [`muse/core/semver.py`](muse/core/semver.py) One commit's contribution to a release changelog. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `sem_ver_bump` | `SemVerBump` | ✓ | `—` | | `breaking_changes` | `list[str]` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `model_id` | `str` | ✓ | `—` | ### `FileHotspot` — [`muse/core/semver.py`](muse/core/semver.py) A file and the number of times it was touched across the release's commits. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file_path` | `str` | ✓ | `—` | | `change_count` | `int` | ✓ | `—` | | `language` | `str` | ✓ | `—` | ### `LanguageStat` — [`muse/core/semver.py`](muse/core/semver.py) File and symbol counts for a single programming language in a snapshot. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `language` | `str` | ✓ | `—` | | `files` | `int` | ✓ | `—` | | `symbols` | `int` | ✓ | `—` | ### `RefactorEventSummary` — [`muse/core/semver.py`](muse/core/semver.py) A single structural refactoring event detected across the release's commits. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str` | ✓ | `—` | | `address` | `str` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | ### `SemVerTag` — [`muse/core/semver.py`](muse/core/semver.py) Parsed semantic version components. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `major` | `int` | ✓ | `—` | | `minor` | `int` | ✓ | `—` | | `patch` | `int` | ✓ | `—` | | `pre` | `str` | ✓ | `—` | | `build` | `str` | ✓ | `—` | ### `SemanticReleaseReport` — [`muse/core/semver.py`](muse/core/semver.py) Semantic analysis of a release, computed at push time from the object store. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `languages` | `list[LanguageStat]` | ✓ | `—` | | `total_files` | `int` | ✓ | `—` | | `semantic_files` | `int` | ✓ | `—` | | `total_symbols` | `int` | ✓ | `—` | | `symbols_by_kind` | `list[SymbolKindCount]` | ✓ | `—` | | `files_changed` | `int` | ✓ | `—` | | `api_added` | `list[ApiChangeSummary]` | ✓ | `—` | | `api_removed` | `list[ApiChangeSummary]` | ✓ | `—` | | `api_modified` | `list[ApiChangeSummary]` | ✓ | `—` | | `file_hotspots` | `list[FileHotspot]` | ✓ | `—` | | `refactor_events` | `list[RefactorEventSummary]` | ✓ | `—` | | `breaking_changes` | `list[str]` | ✓ | `—` | | `human_commits` | `int` | ✓ | `—` | | `agent_commits` | `int` | ✓ | `—` | | `unique_agents` | `list[str]` | ✓ | `—` | | `unique_models` | `list[str]` | ✓ | `—` | | `reviewers` | `list[str]` | ✓ | `—` | ### `SymbolKindCount` — [`muse/core/semver.py`](muse/core/semver.py) Count of symbols of a specific kind in a snapshot. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str` | ✓ | `—` | | `count` | `int` | ✓ | `—` | ### `SnapshotDict` — [`muse/core/snapshots.py`](muse/core/snapshots.py) JSON-serialisable representation of a SnapshotRecord. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `int` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `manifest` | `Manifest` | ✓ | `—` | | `directories` | `list[str]` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `note` | `str` | ✓ | `—` | ### `SnapshotReadCorrupt` — [`muse/core/snapshots.py`](muse/core/snapshots.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `error` | `str` | ✓ | `—` | ### `SnapshotReadNotFound` — [`muse/core/snapshots.py`](muse/core/snapshots.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | ### `SnapshotReadOk` — [`muse/core/snapshots.py`](muse/core/snapshots.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | | `snapshot` | `SnapshotRecord` | ✓ | `—` | ### `SparseConfig` — [`muse/core/sparse.py`](muse/core/sparse.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `mode` | `str` | ✓ | `—` | | `patterns` | `list[str]` | ✓ | `—` | ### `FileCacheEntry` — [`muse/core/stat_cache.py`](muse/core/stat_cache.py) Persisted metadata for a single workspace file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `mtime` | `float` | ✓ | `—` | | `size` | `int` | ✓ | `—` | | `ino` | `int` | ✓ | `—` | | `object_hash` | `str` | ✓ | `—` | | `dimensions` | `_DimensionMap` | ✓ | `—` | ### `_CacheDoc` — [`muse/core/stat_cache.py`](muse/core/stat_cache.py) On-disk JSON document shape. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `version` | `int` | ✓ | `—` | | `entries` | `_EntryMap` | ✓ | `—` | ### `TagDict` — [`muse/core/tags.py`](muse/core/tags.py) JSON-serialisable representation of a TagRecord. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tag_id` | `str` | ✓ | `—` | | `repo_id` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `tag` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `signature` | `str` | ✓ | `—` | | `signer_public_key` | `str` | ✓ | `—` | | `signer_key_id` | `str` | ✓ | `—` | ### `CaseRecord` — [`muse/core/test_history.py`](muse/core/test_history.py) Result of a single test function within a run. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `node_id` | `str` | ✓ | `—` | | `outcome` | `Outcome` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `symbol_addresses` | `list[str]` | ✓ | `—` | | `longrepr` | `NotRequired[str]` | ✓ | `—` | ### `HistorySummary` — [`muse/core/test_history.py`](muse/core/test_history.py) Per-test-function aggregated history summary. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `node_id` | `str` | ✓ | `—` | | `total_runs` | `int` | ✓ | `—` | | `pass_count` | `int` | ✓ | `—` | | `fail_count` | `int` | ✓ | `—` | | `skip_count` | `int` | ✓ | `—` | | `flaky` | `bool` | ✓ | `—` | | `avg_duration_ms` | `float` | ✓ | `—` | | `last_outcome` | `Outcome | None` | ✓ | `—` | | `last_run_timestamp` | `str | None` | ✓ | `—` | | `fail_streak` | `int` | ✓ | `—` | ### `RunRecord` — [`muse/core/test_history.py`](muse/core/test_history.py) A single ``muse code test`` invocation. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `run_id` | `str` | ✓ | `—` | | `timestamp` | `str` | ✓ | `—` | | `commit_id` | `str | None` | ✓ | `—` | | `branch` | `str | None` | ✓ | `—` | | `results` | `list[CaseRecord]` | ✓ | `—` | | `total` | `int` | ✓ | `—` | | `passed` | `int` | ✓ | `—` | | `failed` | `int` | ✓ | `—` | | `errored` | `int` | ✓ | `—` | | `skipped` | `int` | ✓ | `—` | ### `_HistoryDoc` — [`muse/core/test_history.py`](muse/core/test_history.py) Top-level JSON document shape for the history file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `version` | `int` | ✓ | `—` | | `runs` | `list[_RunDoc]` | ✓ | `—` | ### `_MutableSummary` — [`muse/core/test_history.py`](muse/core/test_history.py) Temporary accumulator used inside :func:`summarize`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `node_id` | `str` | ✓ | `—` | | `outcomes` | `list[Outcome]` | ✓ | `—` | | `durations` | `list[float]` | ✓ | `—` | | `timestamps` | `list[str]` | ✓ | `—` | ### `_RunDoc` — [`muse/core/test_history.py`](muse/core/test_history.py) Msgpack document shape for a single run record. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `run_id` | `str` | ✓ | `—` | | `timestamp` | `str` | ✓ | `—` | | `commit_id` | `str | None` | ✓ | `—` | | `branch` | `str | None` | ✓ | `—` | | `total` | `int` | ✓ | `—` | | `passed` | `int` | ✓ | `—` | | `failed` | `int` | ✓ | `—` | | `errored` | `int` | ✓ | `—` | | `skipped` | `int` | ✓ | `—` | | `results` | `list[_TestCaseDoc]` | ✓ | `—` | ### `_TestCaseDoc` — [`muse/core/test_history.py`](muse/core/test_history.py) Msgpack document shape for a single test-case result. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `node_id` | `str` | ✓ | `—` | | `outcome` | `str` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `symbol_addresses` | `list[str]` | ✓ | `—` | | `longrepr` | `str` | ✓ | `—` | ### `CaseResult` — [`muse/core/test_runner.py`](muse/core/test_runner.py) Outcome for a single pytest test function. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `node_id` | `str` | ✓ | `—` | | `outcome` | `Outcome` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `stdout` | `str` | ✓ | `—` | | `stderr` | `str` | ✓ | `—` | | `longrepr` | `NotRequired[str]` | ✓ | `—` | ### `RunConfig` — [`muse/core/test_runner.py`](muse/core/test_runner.py) Configuration for a single ``run_tests`` invocation. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `targets` | `list[str]` | ✓ | `—` | | `workers` | `int` | ✓ | `—` | | `timeout_s` | `float` | ✓ | `—` | | `extra_args` | `list[str]` | ✓ | `—` | | `env_allowlist` | `list[str]` | ✓ | `—` | | `cwd` | `pathlib.Path | None` | ✓ | `—` | | `stream_output` | `bool` | ✓ | `—` | ### `RunResult` — [`muse/core/test_runner.py`](muse/core/test_runner.py) Structured result of a ``run_tests`` call. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `run_id` | `str` | ✓ | `—` | | `targets` | `list[str]` | ✓ | `—` | | `exit_code` | `int` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `results` | `list[CaseResult]` | ✓ | `—` | | `total` | `int` | ✓ | `—` | | `passed` | `int` | ✓ | `—` | | `failed` | `int` | ✓ | `—` | | `errored` | `int` | ✓ | `—` | | `skipped` | `int` | ✓ | `—` | | `timed_out` | `bool` | ✓ | `—` | | `json_report_available` | `bool` | ✓ | `—` | | `stdout` | `str` | ✓ | `—` | | `stderr` | `str` | ✓ | `—` | ### `_FallbackCounts` — [`muse/core/test_runner.py`](muse/core/test_runner.py) Counts parsed from pytest text output when JSON report is unavailable. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `total` | `int` | ✓ | `—` | | `passed` | `int` | ✓ | `—` | | `failed` | `int` | ✓ | `—` | | `errored` | `int` | ✓ | `—` | | `skipped` | `int` | ✓ | `—` | ### `_ParsedReport` — [`muse/core/test_runner.py`](muse/core/test_runner.py) Parsed content from a pytest JSON report file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `results` | `list[CaseResult]` | ✓ | `—` | | `total` | `int` | ✓ | `—` | | `passed` | `int` | ✓ | `—` | | `failed` | `int` | ✓ | `—` | | `errored` | `int` | ✓ | `—` | | `skipped` | `int` | ✓ | `—` | ### `_PartitionResult` — [`muse/core/test_runner.py`](muse/core/test_runner.py) Result from executing one subprocess partition. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `exit_code` | `int` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `timed_out` | `bool` | ✓ | `—` | | `report` | `_ParsedReport | None` | ✓ | `—` | | `stdout` | `str` | ✓ | `—` | | `stderr` | `str` | ✓ | `—` | | `fallback_counts` | `_FallbackCounts | None` | ✓ | `—` | ### `ChangedSymbol` — [`muse/core/test_selection.py`](muse/core/test_selection.py) A symbol that changed between two snapshots or in the working tree. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `change_kind` | `Literal['modified', 'added', 'deleted']` | ✓ | `—` | ### `SelectionResult` — [`muse/core/test_selection.py`](muse/core/test_selection.py) Result of a test-selection pass. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `changed_addresses` | `list[str]` | ✓ | `—` | | `test_targets` | `list[SelectionTarget]` | ✓ | `—` | | `covered_addresses` | `list[str]` | ✓ | `—` | | `uncovered_addresses` | `list[str]` | ✓ | `—` | | `coverage_fraction` | `float` | ✓ | `—` | | `fallback_used` | `bool` | ✓ | `—` | ### `SelectionTarget` — [`muse/core/test_selection.py`](muse/core/test_selection.py) A single pytest-addressable test target to execute. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `node_id` | `str` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `reason` | `str` | ✓ | `—` | | `confidence` | `float` | ✓ | `—` | ### `FetchMPackResult` — [`muse/core/transport.py`](muse/core/transport.py) Result from ``fetch_mpack()`` — Phase 2 presigned-URL fetch. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `repo_id` | `str` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `default_branch` | `str` | ✓ | `—` | | `branch_heads` | `BranchHeads` | ✓ | `—` | | `commits` | `list[CommitDict]` | ✓ | `—` | | `snapshots` | `list[SnapshotDict]` | ✓ | `—` | | `blobs` | `list[dict]` | ✓ | `—` | | `blobs_received` | `int` | ✓ | `—` | | `shallow_commits` | `list[str]` | ✓ | `—` | ### `_PresignResult` — [`muse/core/transport.py`](muse/core/transport.py) Response from POST /push/mpack-presign. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `upload_url` | `str` | ✓ | `—` | | `mpack_key` | `str` | ✓ | `—` | ### `_UnpackMPackResult` — [`muse/core/transport.py`](muse/core/transport.py) Response from POST /push/unpack-mpack. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `job_id` | `str` | ✓ | `—` | | `head` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `blobs_in_mpack` | `int` | ✓ | `—` | | `commits_in_mpack` | `int` | ✓ | `—` | ### `AnnotationSummary` — [`muse/core/type_analysis.py`](muse/core/type_analysis.py) Type-annotation state for one callable symbol. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `return_annotation` | `str` | ✓ | `—` | | `return_is_any` | `bool` | ✓ | `—` | | `params_total` | `int` | ✓ | `—` | | `params_annotated` | `int` | ✓ | `—` | | `params_with_any` | `int` | ✓ | `—` | | `type_score` | `float` | ✓ | `—` | ### `AnyBlastNode` — [`muse/core/type_analysis.py`](muse/core/type_analysis.py) One node in the Any-propagation call graph. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `depth` | `int` | ✓ | `—` | | `any_reason` | `str` | ✓ | `—` | ### `MigrationTarget` — [`muse/core/type_analysis.py`](muse/core/type_analysis.py) A symbol worth typing next, ranked by call-graph ROI. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `caller_count` | `int` | ✓ | `—` | | `type_score` | `float` | ✓ | `—` | | `priority_score` | `float` | ✓ | `—` | ### `TypeConflict` — [`muse/core/type_analysis.py`](muse/core/type_analysis.py) A type-signature mismatch between two snapshots. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `signature_a` | `str` | ✓ | `—` | | `signature_b` | `str` | ✓ | `—` | | `change_kind` | `str` | ✓ | `—` | ### `TypeDriftPoint` — [`muse/core/type_analysis.py`](muse/core/type_analysis.py) Type-health snapshot at one commit. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `coverage_fraction` | `float` | ✓ | `—` | | `any_count` | `int` | ✓ | `—` | | `delta_coverage` | `float` | ✓ | `—` | ### `TypeHealthReport` — [`muse/core/type_analysis.py`](muse/core/type_analysis.py) Aggregate type health for a snapshot. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `total_symbols` | `int` | ✓ | `—` | | `fully_typed` | `int` | ✓ | `—` | | `partially_typed` | `int` | ✓ | `—` | | `untyped` | `int` | ✓ | `—` | | `any_count` | `int` | ✓ | `—` | | `coverage_fraction` | `float` | ✓ | `—` | | `symbols` | `list[AnnotationSummary]` | ✓ | `—` | ### `VerifyFailure` — [`muse/core/verify.py`](muse/core/verify.py) A single integrity failure detected during ``muse verify``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `Literal['ref', 'commit', 'snapshot', 'object', 'signature', 'key_missing']` | ✓ | `—` | | `id` | `str` | ✓ | `—` | | `error` | `str` | ✓ | `—` | ### `VerifyResult` — [`muse/core/verify.py`](muse/core/verify.py) Aggregate result of a full repository integrity walk. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `refs_checked` | `int` | ✓ | `—` | | `commits_checked` | `int` | ✓ | `—` | | `snapshots_checked` | `int` | ✓ | `—` | | `objects_checked` | `int` | ✓ | `—` | | `signatures_checked` | `int` | ✓ | `—` | | `shallow_commits` | `int` | ✓ | `—` | | `promised_objects` | `int` | ✓ | `—` | | `is_shallow` | `bool` | ✓ | `—` | | `promisor_remotes` | `list[str]` | ✓ | `—` | | `all_ok` | `bool` | ✓ | `—` | | `nothing_checked` | `bool` | ✓ | `—` | | `failures` | `list[VerifyFailure]` | ✓ | `—` | ### `VersionTagDict` — [`muse/core/version_tags.py`](muse/core/version_tags.py) JSON-serialisable representation of a :class:`VersionTagRecord`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tag_id` | `str` | ✓ | `—` | | `repo_id` | `str` | ✓ | `—` | | `tag` | `str` | ✓ | `—` | | `semver` | `SemVerTag` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | ### `WorkspaceManifestDict` — [`muse/core/workspace.py`](muse/core/workspace.py) Top-level workspace manifest. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `members` | `list[WorkspaceMemberDict]` | ✓ | `—` | ### `WorkspaceMemberDict` — [`muse/core/workspace.py`](muse/core/workspace.py) One entry in the workspace manifest. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `url` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | ### `WorkspaceSyncResult` — [`muse/core/workspace.py`](muse/core/workspace.py) Result of syncing one workspace member. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | ### `WorktreeRecord` — [`muse/core/worktree.py`](muse/core/worktree.py) Persisted metadata for a linked worktree. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | ### `WorktreeStatusResult` — [`muse/core/worktree.py`](muse/core/worktree.py) Machine-readable status of a single worktree. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `head_commit` | `str | None` | ✓ | `—` | | `present` | `bool` | ✓ | `—` | | `is_main` | `bool` | ✓ | `—` | ### `AddressedDeleteOp` — [`muse/domain.py`](muse/domain.py) An element was removed from a name-addressed (unordered) collection. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `Literal['delete']` | ✓ | `—` | | `address` | `DomainAddress` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | | `content_summary` | `str` | ✓ | `—` | ### `AddressedInsertOp` — [`muse/domain.py`](muse/domain.py) An element was inserted into a name-addressed (unordered) collection. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `Literal['insert']` | ✓ | `—` | | `address` | `DomainAddress` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | | `content_summary` | `str` | ✓ | `—` | ### `CRDTSnapshotManifest` — [`muse/domain.py`](muse/domain.py) Extended snapshot manifest for CRDT-mode plugins. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `files` | `Manifest` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `vclock` | `VectorClock` | ✓ | `—` | | `crdt_state` | `CRDTState` | ✓ | `—` | | `schema_version` | `str` | ✓ | `—` | ### `ConflictDict` — [`muse/domain.py`](muse/domain.py) Serialised form of a :class:`ConflictRecord`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `conflict_type` | `str` | ✓ | `—` | | `ours_summary` | `str` | ✓ | `—` | | `theirs_summary` | `str` | ✓ | `—` | | `addresses` | `list[str]` | ✓ | `—` | | `ours_action` | `str` | ✓ | `—` | | `theirs_action` | `str` | ✓ | `—` | ### `DeleteOp` — [`muse/domain.py`](muse/domain.py) An element was removed from a collection. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `Literal['delete']` | ✓ | `—` | | `address` | `DomainAddress` | ✓ | `—` | | `position` | `int | None` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | | `content_summary` | `str` | ✓ | `—` | ### `DirStatus` — [`muse/domain.py`](muse/domain.py) Directory-level changes visible in the working tree. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `added` | `list[str]` | ✓ | `—` | | `deleted` | `list[str]` | ✓ | `—` | | `staged_added` | `list[str]` | ✓ | `—` | | `staged_deleted` | `list[str]` | ✓ | `—` | | `staged_renamed` | `dict[str, str]` | ✓ | `—` | ### `EntityProvenance` — [`muse/domain.py`](muse/domain.py) Causal metadata attached to ops that create or modify tracked entities. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `entity_id` | `str` | ✓ | `—` | | `origin_op_id` | `str` | ✓ | `—` | | `last_modified_op_id` | `str` | ✓ | `—` | | `created_at_commit` | `str` | ✓ | `—` | | `actor_id` | `str` | ✓ | `—` | ### `FieldMutation` — [`muse/domain.py`](muse/domain.py) The string-serialised before/after of a single field in a :class:`MutateOp`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `old` | `str` | ✓ | `—` | | `new` | `str` | ✓ | `—` | ### `InsertOp` — [`muse/domain.py`](muse/domain.py) An element was inserted into a collection. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `Literal['insert']` | ✓ | `—` | | `address` | `DomainAddress` | ✓ | `—` | | `position` | `int | None` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | | `content_summary` | `str` | ✓ | `—` | ### `MoveOp` — [`muse/domain.py`](muse/domain.py) An element was repositioned within an ordered sequence. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `Literal['move']` | ✓ | `—` | | `address` | `DomainAddress` | ✓ | `—` | | `from_position` | `int` | ✓ | `—` | | `to_position` | `int` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | ### `MutateOp` — [`muse/domain.py`](muse/domain.py) A named entity's specific fields were updated. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `Literal['mutate']` | ✓ | `—` | | `address` | `DomainAddress` | ✓ | `—` | | `entity_id` | `str` | ✓ | `—` | | `old_content_id` | `str` | ✓ | `—` | | `new_content_id` | `str` | ✓ | `—` | | `fields` | `FieldMutationMap` | ✓ | `—` | | `old_summary` | `str` | ✓ | `—` | | `new_summary` | `str` | ✓ | `—` | | `position` | `int | None` | ✓ | `—` | ### `PatchOp` — [`muse/domain.py`](muse/domain.py) A container element was internally modified. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `Literal['patch']` | ✓ | `—` | | `address` | `DomainAddress` | ✓ | `—` | | `child_ops` | `list[DomainOp]` | ✓ | `—` | | `child_domain` | `str` | ✓ | `—` | | `child_summary` | `str` | ✓ | `—` | | `file_change` | `NotRequired[Literal['added', 'deleted', 'modified']]` | ✓ | `—` | ### `RenameOp` — [`muse/domain.py`](muse/domain.py) An entity was renamed (its address changed, content unchanged). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `Literal['rename']` | ✓ | `—` | | `address` | `DomainAddress` | ✓ | `—` | | `from_address` | `DomainAddress` | ✓ | `—` | ### `ReplaceOp` — [`muse/domain.py`](muse/domain.py) An element's value changed (atomic, leaf-level replacement). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op` | `Literal['replace']` | ✓ | `—` | | `address` | `DomainAddress` | ✓ | `—` | | `position` | `int | None` | ✓ | `—` | | `old_content_id` | `str` | ✓ | `—` | | `new_content_id` | `str` | ✓ | `—` | | `old_summary` | `str` | ✓ | `—` | | `new_summary` | `str` | ✓ | `—` | ### `SnapshotManifest` — [`muse/domain.py`](muse/domain.py) Content-addressed snapshot of domain state. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `files` | `Manifest` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `directories` | `list[str]` | ✓ | `—` | ### `StageStatus` — [`muse/domain.py`](muse/domain.py) Three-bucket view of working-tree state when a stage is active. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `staged` | `StageIndex` | ✓ | `—` | | `unstaged` | `Manifest` | ✓ | `—` | | `untracked` | `list[str]` | ✓ | `—` | | `renamed` | `Manifest` | ✓ | `—` | | `directories` | `DirStatus` | ✓ | `—` | ### `StagedEntry` — [`muse/domain.py`](muse/domain.py) One file's staging record inside the code-domain stage index. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `object_id` | `str` | ✓ | `—` | | `mode` | `Literal['A', 'M', 'D']` | ✓ | `—` | | `staged_at` | `str` | ✓ | `—` | ### `StructuredDelta` — [`muse/domain.py`](muse/domain.py) Rich, composable delta between two domain snapshots. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `domain` | `str` | ✓ | `—` | | `ops` | `list[DomainOp]` | ✓ | `—` | | `summary` | `str` | ✓ | `—` | | `sem_ver_bump` | `SemVerBump` | ✓ | `—` | | `breaking_changes` | `list[str]` | ✓ | `—` | ### `_SymbolMatch` — [`muse/plugins/code/_code_query.py`](muse/plugins/code/_code_query.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `symbol` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `change` | `str` | ✓ | `—` | | `language` | `str` | ✓ | `—` | ### `CodeViolation` — [`muse/plugins/code/_invariants.py`](muse/plugins/code/_invariants.py) A code invariant violation with precise source location. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `rule_name` | `str` | ✓ | `—` | | `severity` | `InvariantSeverity` | ✓ | `—` | | `address` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `symbol` | `str` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | ### `_FileData` — [`muse/plugins/code/_invariants.py`](muse/plugins/code/_invariants.py) All AST-derived data for one Python file, derived from a single parse. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `raw_module_imports` | `list[str]` | ✓ | `—` | | `from_module` | `list[str]` | ✓ | `—` | | `from_name` | `list[str]` | ✓ | `—` | | `top_level_fns` | `list[str]` | ✓ | `—` | | `top_level_classes` | `list[str]` | ✓ | `—` | | `has_all` | `bool` | ✓ | `—` | | `complexity` | `ComplexityMap` | ✓ | `—` | ### `_RuleRequired` — [`muse/plugins/code/_invariants.py`](muse/plugins/code/_invariants.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `severity` | `InvariantSeverity` | ✓ | `—` | | `scope` | `Literal['function', 'file', 'repo', 'global']` | ✓ | `—` | | `rule_type` | `str` | ✓ | `—` | ### `LangSpec` — [`muse/plugins/code/ast_parser.py`](muse/plugins/code/ast_parser.py) Per-language tree-sitter configuration consumed by :class:`TreeSitterAdapter`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `extensions` | `frozenset[str]` | ✓ | `—` | | `module_name` | `str` | ✓ | `—` | | `lang_func` | `str` | ✓ | `—` | | `query_str` | `str` | ✓ | `—` | | `kind_map` | `_KindMap` | ✓ | `—` | | `child_kind_overrides` | `_KindMap` | ✓ | `—` | | `class_node_types` | `frozenset[str]` | ✓ | `—` | | `class_name_field` | `str` | ✓ | `—` | | `receiver_capture` | `str` | ✓ | `—` | | `async_node_child` | `str` | ✓ | `—` | | `resolve_selector` | `bool` | ✓ | `—` | ### `SymbolRecord` — [`muse/plugins/code/ast_parser.py`](muse/plugins/code/ast_parser.py) Content-addressed record for a single named symbol in source code. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `SymbolKind` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `qualified_name` | `str` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | | `body_hash` | `str` | ✓ | `—` | | `signature_id` | `str` | ✓ | `—` | | `metadata_id` | `str` | ✓ | `—` | | `canonical_key` | `str` | ✓ | `—` | | `lineno` | `int` | ✓ | `—` | | `end_lineno` | `int` | ✓ | `—` | ### `CodeManifest` — [`muse/plugins/code/manifest.py`](muse/plugins/code/manifest.py) Complete hierarchical manifest for one code snapshot. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot_id` | `str` | ✓ | `—` | | `manifest_hash` | `str` | ✓ | `—` | | `packages` | `list[PackageManifest]` | ✓ | `—` | | `total_files` | `int` | ✓ | `—` | | `semantic_files` | `int` | ✓ | `—` | | `total_symbols` | `int` | ✓ | `—` | ### `FileEntry` — [`muse/plugins/code/manifest.py`](muse/plugins/code/manifest.py) Metadata for a single source file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `content_hash` | `str` | ✓ | `—` | | `ast_hash` | `str` | ✓ | `—` | | `language` | `str` | ✓ | `—` | | `symbol_count` | `int` | ✓ | `—` | | `size_bytes` | `int` | ✓ | `—` | ### `ManifestFileDiff` — [`muse/plugins/code/manifest.py`](muse/plugins/code/manifest.py) Change record from :func:`diff_manifests` for one file. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `change` | `str` | ✓ | `—` | | `old_hash` | `str` | ✓ | `—` | | `new_hash` | `str` | ✓ | `—` | | `old_ast_hash` | `str` | ✓ | `—` | | `new_ast_hash` | `str` | ✓ | `—` | | `semantic_change` | `bool` | ✓ | `—` | ### `ModuleManifest` — [`muse/plugins/code/manifest.py`](muse/plugins/code/manifest.py) Manifest for one source file (module). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `module_path` | `str` | ✓ | `—` | | `content_hash` | `str` | ✓ | `—` | | `ast_hash` | `str` | ✓ | `—` | | `language` | `str` | ✓ | `—` | | `symbol_count` | `int` | ✓ | `—` | ### `PackageManifest` — [`muse/plugins/code/manifest.py`](muse/plugins/code/manifest.py) Directory-level grouping of modules. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `package` | `str` | ✓ | `—` | | `package_hash` | `str` | ✓ | `—` | | `modules` | `list[ModuleManifest]` | ✓ | `—` | | `total_files` | `int` | ✓ | `—` | | `semantic_files` | `int` | ✓ | `—` | ### `StageIndex` — [`muse/plugins/code/stage.py`](muse/plugins/code/stage.py) Full contents of the stage index (JSON on disk). **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `version` | `int` | ✓ | `—` | | `entries` | `StagedFileMap` | ✓ | `—` | | `dir_renames` | `dict[str, str]` | ✓ | `—` | ### `StagedEntry` — [`muse/plugins/code/stage.py`](muse/plugins/code/stage.py) One file's staging record. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `object_id` | `str` | ✓ | `—` | | `mode` | `Literal['A', 'M', 'D']` | ✓ | `—` | | `staged_at` | `str` | ✓ | `—` | ### `IdentityRecord` — [`muse/plugins/identity/records.py`](muse/plugins/identity/records.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `handle` | `str` | ✓ | `—` | | `type` | `Literal['human', 'agent', 'org']` | ✓ | `—` | | `pubkey` | `str | None` | ✓ | `—` | | `quorum` | `int | None` | ✓ | `—` | | `registered_at` | `str` | ✓ | `—` | | `metadata` | `Metadata` | ✓ | `—` | ### `RelationshipRecord` — [`muse/plugins/identity/records.py`](muse/plugins/identity/records.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `from_handle` | `str` | ✓ | `—` | | `to_handle` | `str` | ✓ | `—` | | `edge_type` | `Literal['spawns', 'member_of']` | ✓ | `—` | | `weight` | `str | None` | ✓ | `—` | | `authorized_by` | `list[SignatureRecord]` | ✓ | `—` | ### `SignatureRecord` — [`muse/plugins/identity/records.py`](muse/plugins/identity/records.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `signer` | `str` | ✓ | `—` | | `signature` | `str` | ✓ | `—` | | `signed_at` | `str` | ✓ | `—` | ### `BarDensity` — [`muse/plugins/midi/_analysis.py`](muse/plugins/midi/_analysis.py) Note density for one bar. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `bar` | `int` | ✓ | `—` | | `note_count` | `int` | ✓ | `—` | | `notes_per_beat` | `float` | ✓ | `—` | ### `BarTension` — [`muse/plugins/midi/_analysis.py`](muse/plugins/midi/_analysis.py) Harmonic tension for one bar. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `bar` | `int` | ✓ | `—` | | `tension` | `float` | ✓ | `—` | | `label` | `str` | ✓ | `—` | ### `Cadence` — [`muse/plugins/midi/_analysis.py`](muse/plugins/midi/_analysis.py) A detected cadence at a phrase boundary. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `bar` | `int` | ✓ | `—` | | `cadence_type` | `str` | ✓ | `—` | | `from_chord` | `str` | ✓ | `—` | | `to_chord` | `str` | ✓ | `—` | ### `ContourAnalysis` — [`muse/plugins/midi/_analysis.py`](muse/plugins/midi/_analysis.py) Melodic contour shape and statistics. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `shape` | `str` | ✓ | `—` | | `intervals` | `list[int]` | ✓ | `—` | | `range_semitones` | `int` | ✓ | `—` | | `direction_changes` | `int` | ✓ | `—` | | `avg_interval_size` | `float` | ✓ | `—` | | `highest_pitch` | `str` | ✓ | `—` | | `lowest_pitch` | `str` | ✓ | `—` | ### `Motif` — [`muse/plugins/midi/_analysis.py`](muse/plugins/midi/_analysis.py) A recurring melodic interval pattern. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `id` | `int` | ✓ | `—` | | `interval_pattern` | `list[int]` | ✓ | `—` | | `occurrences` | `int` | ✓ | `—` | | `bars` | `list[int]` | ✓ | `—` | | `first_pitch` | `str` | ✓ | `—` | ### `RhythmAnalysis` — [`muse/plugins/midi/_analysis.py`](muse/plugins/midi/_analysis.py) Summary of rhythmic properties. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `total_notes` | `int` | ✓ | `—` | | `bars` | `int` | ✓ | `—` | | `notes_per_bar_avg` | `float` | ✓ | `—` | | `syncopation_score` | `float` | ✓ | `—` | | `quantization_score` | `float` | ✓ | `—` | | `swing_ratio` | `float` | ✓ | `—` | | `dominant_subdivision` | `str` | ✓ | `—` | ### `ScaleMatch` — [`muse/plugins/midi/_analysis.py`](muse/plugins/midi/_analysis.py) Best-fit scale result. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `root` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `confidence` | `float` | ✓ | `—` | | `out_of_scale_notes` | `int` | ✓ | `—` | ### `TempoEstimate` — [`muse/plugins/midi/_analysis.py`](muse/plugins/midi/_analysis.py) Estimated tempo from note onset spacing. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `estimated_bpm` | `float` | ✓ | `—` | | `ticks_per_beat` | `int` | ✓ | `—` | | `confidence` | `str` | ✓ | `—` | | `method` | `str` | ✓ | `—` | ### `VoiceLeadingIssue` — [`muse/plugins/midi/_analysis.py`](muse/plugins/midi/_analysis.py) A detected voice-leading problem. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `bar` | `int` | ✓ | `—` | | `issue_type` | `str` | ✓ | `—` | | `description` | `str` | ✓ | `—` | ### `RGANoteEntry` — [`muse/plugins/midi/_crdt_notes.py`](muse/plugins/midi/_crdt_notes.py) One element in the :class:`MidiRGA` linked list. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `op_id` | `str` | ✓ | `—` | | `actor_id` | `str` | ✓ | `—` | | `note` | `NoteKey` | ✓ | `—` | | `position` | `NotePosition` | ✓ | `—` | | `parent_op_id` | `str | None` | ✓ | `—` | | `tombstone` | `bool` | ✓ | `—` | ### `InvariantReport` — [`muse/plugins/midi/_invariants.py`](muse/plugins/midi/_invariants.py) Full invariant check report for one commit. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `violations` | `list[InvariantViolation]` | ✓ | `—` | | `rules_checked` | `int` | ✓ | `—` | | `has_errors` | `bool` | ✓ | `—` | | `has_warnings` | `bool` | ✓ | `—` | ### `InvariantViolation` — [`muse/plugins/midi/_invariants.py`](muse/plugins/midi/_invariants.py) A single invariant violation record. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `rule_name` | `str` | ✓ | `—` | | `severity` | `Literal['info', 'warning', 'error']` | ✓ | `—` | | `track` | `str` | ✓ | `—` | | `bar` | `int` | ✓ | `—` | | `description` | `str` | ✓ | `—` | | `addresses` | `list[str]` | ✓ | `—` | ### `_InvariantRuleRequired` — [`muse/plugins/midi/_invariants.py`](muse/plugins/midi/_invariants.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `severity` | `Literal['info', 'warning', 'error']` | ✓ | `—` | | `scope` | `Literal['track', 'bar', 'voice_pair', 'global']` | ✓ | `—` | | `rule_type` | `str` | ✓ | `—` | ### `NoteKey` — [`muse/plugins/midi/_midi_keys.py`](muse/plugins/midi/_midi_keys.py) Fully-specified MIDI note used as the LCS comparison unit. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `pitch` | `int` | ✓ | `—` | | `velocity` | `int` | ✓ | `—` | | `start_tick` | `int` | ✓ | `—` | | `duration_ticks` | `int` | ✓ | `—` | | `channel` | `int` | ✓ | `—` | ### `NoteDict` — [`muse/plugins/midi/_midi_query.py`](muse/plugins/midi/_midi_query.py) Serialisable representation of a note for query results. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `pitch` | `int` | ✓ | `—` | | `pitch_class` | `str` | ✓ | `—` | | `velocity` | `int` | ✓ | `—` | | `channel` | `int` | ✓ | `—` | | `beat` | `float` | ✓ | `—` | | `duration_beats` | `float` | ✓ | `—` | ### `QueryMatch` — [`muse/plugins/midi/_midi_query.py`](muse/plugins/midi/_midi_query.py) A single match returned by :func:`run_query`. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `commit_short` | `str` | ✓ | `—` | | `commit_message` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `agent_id` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `track` | `str` | ✓ | `—` | | `bar` | `int` | ✓ | `—` | | `notes` | `list[NoteDict]` | ✓ | `—` | | `chord` | `str` | ✓ | `—` | | `matched_on` | `str` | ✓ | `—` | ### `EntityIndex` — [`muse/plugins/midi/entity.py`](muse/plugins/midi/entity.py) Complete entity index for one track at one commit. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `track_path` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `entities` | `_EntityMap` | ✓ | `—` | ### `EntityIndexEntry` — [`muse/plugins/midi/entity.py`](muse/plugins/midi/entity.py) One entity's record in the per-track entity index. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `content_id` | `str` | ✓ | `—` | | `origin_commit_id` | `str` | ✓ | `—` | | `voice_id` | `str` | ✓ | `—` | ### `_NoteEntityRequired` — [`muse/plugins/midi/entity.py`](muse/plugins/midi/entity.py) Required fields shared with NoteKey. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `pitch` | `int` | ✓ | `—` | | `velocity` | `int` | ✓ | `—` | | `start_tick` | `int` | ✓ | `—` | | `duration_ticks` | `int` | ✓ | `—` | | `channel` | `int` | ✓ | `—` | ### `BarChunk` — [`muse/plugins/midi/manifest.py`](muse/plugins/midi/manifest.py) Descriptor for one bar's worth of note events in a MIDI track. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `bar` | `int` | ✓ | `—` | | `chunk_hash` | `str` | ✓ | `—` | | `note_count` | `int` | ✓ | `—` | | `chord` | `str` | ✓ | `—` | | `pitch_range` | `list[int]` | ✓ | `—` | ### `MusicManifest` — [`muse/plugins/midi/manifest.py`](muse/plugins/midi/manifest.py) Top-level hierarchical manifest for a music snapshot. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `domain` | `Literal['midi']` | ✓ | `—` | | `schema_version` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `files` | `Manifest` | ✓ | `—` | | `tracks` | `_TrackMap` | ✓ | `—` | ### `TrackManifest` — [`muse/plugins/midi/manifest.py`](muse/plugins/midi/manifest.py) Rich metadata descriptor for one MIDI track at a specific snapshot. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `track_id` | `str` | ✓ | `—` | | `file_path` | `str` | ✓ | `—` | | `content_hash` | `str` | ✓ | `—` | | `bars` | `_BarMap` | ✓ | `—` | | `ticks_per_beat` | `int` | ✓ | `—` | | `note_count` | `int` | ✓ | `—` | | `key_guess` | `str` | ✓ | `—` | | `bar_count` | `int` | ✓ | `—` | ### `TimelineClipEntry` — [`muse/plugins/timeline/manifest.py`](muse/plugins/timeline/manifest.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `clip_id` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `source_media_id` | `str` | ✓ | `—` | | `occurrence` | `int` | ✓ | `—` | ### `TimelineManifest` — [`muse/plugins/timeline/manifest.py`](muse/plugins/timeline/manifest.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `domain` | `Literal['timeline']` | ✓ | `—` | | `schema_version` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `files` | `Manifest` | ✓ | `—` | | `projects` | `_ProjectMap` | ✓ | `—` | ### `TimelineProjectEntry` — [`muse/plugins/timeline/manifest.py`](muse/plugins/timeline/manifest.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `project_key` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | | `sequences` | `_SequenceMap` | ✓ | `—` | ### `TimelineSequenceEntry` — [`muse/plugins/timeline/manifest.py`](muse/plugins/timeline/manifest.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `sequence_identity` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `ordinal` | `int` | ✓ | `—` | | `tracks` | `_TrackMap` | ✓ | `—` | ### `TimelineTrackEntry` — [`muse/plugins/timeline/manifest.py`](muse/plugins/timeline/manifest.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `track_identity` | `str` | ✓ | `—` | | `kind` | `Literal['video', 'audio', 'subtitle']` | ✓ | `—` | | `ordinal` | `int` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `clips` | `list[TimelineClipEntry]` | ✓ | `—` | ### `_RunCapture` — [`tests/test_bridge_hooks.py`](tests/test_bridge_hooks.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `cmd` | `str | list[str]` | ✓ | `—` | | `cwd` | `pathlib.Path | None` | ✓ | `—` | ### `_ArchiveJson` — [`tests/test_cmd_archive_hardening.py`](tests/test_cmd_archive_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `path` | `str` | ✓ | `—` | | `format` | `str` | ✓ | `—` | | `file_count` | `int` | ✓ | `—` | | `bytes` | `int` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `ref` | `str | None` | ✓ | `—` | ### `_ChallengeResp` — [`tests/test_cmd_auth_keygen_register.py`](tests/test_cmd_auth_keygen_register.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `challenge_token` | `str` | ✓ | `—` | | `is_new_key` | `bool` | ✓ | `—` | | `algorithm` | `str` | ✓ | `—` | ### `_VerifyResp` — [`tests/test_cmd_auth_keygen_register.py`](tests/test_cmd_auth_keygen_register.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `token` | `str` | ✓ | `—` | | `handle` | `str` | ✓ | `—` | | `identity_id` | `str` | ✓ | `—` | | `is_new_identity` | `bool` | ✓ | `—` | | `auth_method` | `str` | ✓ | `—` | ### `_LogEntryJson` — [`tests/test_cmd_bisect_hardening.py`](tests/test_cmd_bisect_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `verdict` | `str` | ✓ | `—` | | `timestamp` | `str` | ✓ | `—` | ### `_LogJson` — [`tests/test_cmd_bisect_hardening.py`](tests/test_cmd_bisect_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `active` | `bool` | ✓ | `—` | | `entries` | `list[_LogEntryJson]` | ✓ | `—` | ### `_ResetJson` — [`tests/test_cmd_bisect_hardening.py`](tests/test_cmd_bisect_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `reset` | `bool` | ✓ | `—` | ### `_RunDoneJson` — [`tests/test_cmd_bisect_hardening.py`](tests/test_cmd_bisect_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `done` | `bool` | ✓ | `—` | | `first_bad` | `str | None` | ✓ | `—` | | `steps_taken` | `int` | ✓ | `—` | ### `_RunStepJson` — [`tests/test_cmd_bisect_hardening.py`](tests/test_cmd_bisect_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `step` | `int` | ✓ | `—` | | `testing` | `str` | ✓ | `—` | | `verdict` | `str` | ✓ | `—` | | `remaining_count` | `int` | ✓ | `—` | | `done` | `bool` | ✓ | `—` | | `symbol_changes` | `list[str]` | ✓ | `—` | ### `_StepJson` — [`tests/test_cmd_bisect_hardening.py`](tests/test_cmd_bisect_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `done` | `bool` | ✓ | `—` | | `first_bad` | `str | None` | ✓ | `—` | | `next_to_test` | `str | None` | ✓ | `—` | | `remaining_count` | `int` | ✓ | `—` | | `steps_remaining` | `int` | ✓ | `—` | | `verdict` | `str` | ✓ | `—` | | `symbol_changes` | `list[str]` | ✓ | `—` | ### `_BreakageJson` — [`tests/test_cmd_breakage.py`](tests/test_cmd_breakage.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `commit` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `language_filter` | `str | None` | ✓ | `—` | | `path_filter` | `str | None` | ✓ | `—` | | `strict` | `bool` | ✓ | `—` | | `file_count` | `int` | ✓ | `—` | | `issues` | `list[_BreakageIssue]` | ✓ | `—` | | `total` | `int` | ✓ | `—` | | `errors` | `int` | ✓ | `—` | | `warnings` | `int` | ✓ | `—` | ### `_CreateOut` — [`tests/test_cmd_bundle_hardening.py`](tests/test_cmd_bundle_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `commits` | `int` | ✓ | `—` | | `blobs` | `int` | ✓ | `—` | | `size_bytes` | `int` | ✓ | `—` | | `branches` | `list[str]` | ✓ | `—` | ### `_UnbundleOut` — [`tests/test_cmd_bundle_hardening.py`](tests/test_cmd_bundle_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commits_written` | `int` | ✓ | `—` | | `snapshots_written` | `int` | ✓ | `—` | | `blobs_written` | `int` | ✓ | `—` | | `blobs_skipped` | `int` | ✓ | `—` | | `refs_updated` | `list[str]` | ✓ | `—` | ### `_VerifyOut` — [`tests/test_cmd_bundle_hardening.py`](tests/test_cmd_bundle_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `blobs_checked` | `int` | ✓ | `—` | | `snapshots_checked` | `int` | ✓ | `—` | | `all_ok` | `bool` | ✓ | `—` | | `failures` | `list[str]` | ✓ | `—` | ### `_CheckoutPayload` — [`tests/test_cmd_checkout_symbol.py`](tests/test_cmd_checkout_symbol.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `address` | `str` | ✓ | `—` | | `file` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `restored_from` | `str` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | | `changed` | `bool` | ✓ | `—` | | `appended` | `bool` | ✓ | `—` | | `current_start` | `int` | ✓ | `—` | | `current_end` | `int` | ✓ | `—` | | `historical_line_count` | `int` | ✓ | `—` | | `diff_lines` | `list[str]` | ✓ | `—` | | `verified` | `bool` | ✓ | `—` | | `verified_preview` | `bool` | ✓ | `—` | ### `_CleanOut` — [`tests/test_cmd_clean_hardening.py`](tests/test_cmd_clean_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | | `removed` | `list[str]` | ✓ | `—` | | `dirs_removed` | `list[str]` | ✓ | `—` | | `count` | `int` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `exit_code` | `int` | ✓ | `—` | ### `_ClonesPayload` — [`tests/test_cmd_clones.py`](tests/test_cmd_clones.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `commit` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `tier` | `str` | ✓ | `—` | | `min_cluster` | `int` | ✓ | `—` | | `kind_filter` | `str | None` | ✓ | `—` | | `language_filter` | `str | None` | ✓ | `—` | | `file_filter` | `str | None` | ✓ | `—` | | `exclude_same_file` | `bool` | ✓ | `—` | | `exact_clone_clusters` | `int` | ✓ | `—` | | `near_clone_clusters` | `int` | ✓ | `—` | | `total_symbols_involved` | `int` | ✓ | `—` | | `file_hotspots` | `list[_HotspotEntry]` | ✓ | `—` | | `clusters` | `list[_ClusterEntry]` | ✓ | `—` | ### `_ClusterEntry` — [`tests/test_cmd_clones.py`](tests/test_cmd_clones.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tier` | `str` | ✓ | `—` | | `hash` | `str` | ✓ | `—` | | `count` | `int` | ✓ | `—` | | `members` | `list[_MemberEntry]` | ✓ | `—` | ### `_HotspotEntry` — [`tests/test_cmd_clones.py`](tests/test_cmd_clones.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `clone_symbols` | `int` | ✓ | `—` | ### `_MemberEntry` — [`tests/test_cmd_clones.py`](tests/test_cmd_clones.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `kind` | `str` | ✓ | `—` | | `language` | `str` | ✓ | `—` | | `body_hash` | `str` | ✓ | `—` | | `signature_id` | `str` | ✓ | `—` | | `content_id` | `str` | ✓ | `—` | ### `_BoundaryEntry` — [`tests/test_cmd_codemap.py`](tests/test_cmd_codemap.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `fan_out` | `int` | ✓ | `—` | | `fan_in` | `int` | ✓ | `—` | ### `_CentralityEntry` — [`tests/test_cmd_codemap.py`](tests/test_cmd_codemap.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `callers` | `int` | ✓ | `—` | ### `_CodemapPayload` — [`tests/test_cmd_codemap.py`](tests/test_cmd_codemap.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `commit` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `language_filter` | `str | None` | ✓ | `—` | | `modules` | `list[_ModuleEntry]` | ✓ | `—` | | `import_cycles` | `list[list[str]]` | ✓ | `—` | | `high_centrality` | `list[_CentralityEntry]` | ✓ | `—` | | `boundary_files` | `list[_BoundaryEntry]` | ✓ | `—` | | `agent_safe_zones` | `list[str]` | ✓ | `—` | ### `_ModuleEntry` — [`tests/test_cmd_codemap.py`](tests/test_cmd_codemap.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `symbol_count` | `int` | ✓ | `—` | | `importers` | `int` | ✓ | `—` | | `imports` | `int` | ✓ | `—` | ### `_GrepMatchOut` — [`tests/test_cmd_content_grep_hardening.py`](tests/test_cmd_content_grep_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `line_number` | `int` | ✓ | `—` | | `line` | `str` | ✓ | `—` | | `context_before` | `list[str]` | ✓ | `—` | | `context_after` | `list[str]` | ✓ | `—` | ### `_GrepOut` — [`tests/test_cmd_content_grep_hardening.py`](tests/test_cmd_content_grep_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `source` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `pattern` | `str` | ✓ | `—` | | `total_files_matched` | `int` | ✓ | `—` | | `total_matches` | `int` | ✓ | `—` | | `results` | `list[_GrepResultOut]` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `exit_code` | `int` | ✓ | `—` | ### `_GrepResultOut` — [`tests/test_cmd_content_grep_hardening.py`](tests/test_cmd_content_grep_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `file` | `str` | ✓ | `—` | | `object_id` | `str` | ✓ | `—` | | `match_count` | `int` | ✓ | `—` | | `matches` | `list[_GrepMatchOut]` | ✓ | `—` | ### `_DescribeOut` — [`tests/test_cmd_describe_hardening.py`](tests/test_cmd_describe_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `tag` | `str | None` | ✓ | `—` | | `distance` | `int | None` | ✓ | `—` | | `short_sha` | `str` | ✓ | `—` | | `description` | `str | None` | ✓ | `—` | | `exact` | `bool` | ✓ | `—` | | `repo_id` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `exit_code` | `int` | ✓ | `—` | ### `_GcJson` — [`tests/test_cmd_gc_hardening.py`](tests/test_cmd_gc_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `collected_count` | `int` | ✓ | `—` | | `collected_bytes` | `int` | ✓ | `—` | | `reachable_count` | `int` | ✓ | `—` | | `duration_ms` | `float` | ✓ | `—` | | `grace_period_seconds` | `int` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | | `collected_ids` | `list[str]` | ✓ | `—` | ### `_ShelfEntryData` — [`tests/test_cmd_gc_hardening.py`](tests/test_cmd_gc_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot` | `dict[str, str]` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `_PurgePayload` — [`tests/test_cmd_index.py`](tests/test_cmd_index.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `purged` | `list[str]` | ✓ | `—` | | `skipped` | `list[str]` | ✓ | `—` | ### `_RebuildPayload` — [`tests/test_cmd_index.py`](tests/test_cmd_index.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | | `rebuilt` | `list[str]` | ✓ | `—` | | `symbol_history_addresses` | `int` | ✓ | `—` | | `symbol_history_events` | `int` | ✓ | `—` | | `hash_occurrence_clusters` | `int` | ✓ | `—` | | `hash_occurrence_addresses` | `int` | ✓ | `—` | ### `_StatusEntry` — [`tests/test_cmd_index.py`](tests/test_cmd_index.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `entries` | `int` | ✓ | `—` | | `updated_at` | `str | None` | ✓ | `—` | ### `_InvariantsCliJson` — [`tests/test_cmd_invariants.py`](tests/test_cmd_invariants.py) Shape of the JSON output from ``muse code invariants --json``. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `domain` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `ref` | `str` | ✓ | `—` | | `using_defaults` | `bool` | ✓ | `—` | | `rule_filter` | `str | None` | ✓ | `—` | | `strict` | `bool` | ✓ | `—` | | `rules_checked` | `int` | ✓ | `—` | | `violations_total` | `int` | ✓ | `—` | | `errors` | `int` | ✓ | `—` | | `warnings` | `int` | ✓ | `—` | | `violations` | `list[BaseViolation]` | ✓ | `—` | ### `_DeleteJson` — [`tests/test_cmd_release_hardening.py`](tests/test_cmd_release_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | | `tag` | `str` | ✓ | `—` | | `was_draft` | `bool` | ✓ | `—` | | `remote_retracted` | `bool` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | ### `_PushJson` — [`tests/test_cmd_release_hardening.py`](tests/test_cmd_release_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `status` | `str` | ✓ | `—` | | `tag` | `str` | ✓ | `—` | | `remote` | `str` | ✓ | `—` | | `release_id` | `str` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | ### `_ShowJson` — [`tests/test_cmd_release_hardening.py`](tests/test_cmd_release_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `tag` | `str` | ✓ | `—` | | `channel` | `str` | ✓ | `—` | | `commit_id` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `release_id` | `str` | ✓ | `—` | | `is_draft` | `bool` | ✓ | `—` | ### `_CherryPickPayload` — [`tests/test_cmd_semantic_cherry_pick.py`](tests/test_cmd_semantic_cherry_pick.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `schema_version` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `from_commit` | `str` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | | `results` | `list[_ResultEntry]` | ✓ | `—` | | `applied` | `int` | ✓ | `—` | | `already_current` | `int` | ✓ | `—` | | `failed` | `int` | ✓ | `—` | | `unverified` | `list[str]` | ✓ | `—` | ### `_ResultEntry` — [`tests/test_cmd_semantic_cherry_pick.py`](tests/test_cmd_semantic_cherry_pick.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `address` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `detail` | `str` | ✓ | `—` | | `old_lines` | `int` | ✓ | `—` | | `new_lines` | `int` | ✓ | `—` | | `diff_lines` | `list[str]` | ✓ | `—` | | `verified` | `bool` | ✓ | `—` | ### `_GroupOut` — [`tests/test_cmd_shortlog_hardening.py`](tests/test_cmd_shortlog_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `key` | `str` | ✓ | `—` | | `count` | `int` | ✓ | `—` | | `commits` | `list[Mapping[str, str | None]]` | ✓ | `—` | ### `_ShortlogOut` — [`tests/test_cmd_shortlog_hardening.py`](tests/test_cmd_shortlog_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `repo_id` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `groups` | `list[_GroupOut]` | ✓ | `—` | ### `_CreateOut` — [`tests/test_cmd_snapshot_hardening.py`](tests/test_cmd_snapshot_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `repo_id` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `file_count` | `int` | ✓ | `—` | | `note` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `_ExportOut` — [`tests/test_cmd_snapshot_hardening.py`](tests/test_cmd_snapshot_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot_id` | `str` | ✓ | `—` | | `output` | `str` | ✓ | `—` | | `format` | `str` | ✓ | `—` | | `file_count` | `int` | ✓ | `—` | | `size_bytes` | `int` | ✓ | `—` | ### `_ListItemOut` — [`tests/test_cmd_snapshot_hardening.py`](tests/test_cmd_snapshot_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot_id` | `str` | ✓ | `—` | | `file_count` | `int` | ✓ | `—` | | `note` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `_ReadOut` — [`tests/test_cmd_snapshot_hardening.py`](tests/test_cmd_snapshot_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot_id` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `file_count` | `int` | ✓ | `—` | | `note` | `str` | ✓ | `—` | | `manifest` | `Manifest` | ✓ | `—` | ### `_FailureOut` — [`tests/test_cmd_verify_hardening.py`](tests/test_cmd_verify_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `kind` | `str` | ✓ | `—` | | `id` | `str` | ✓ | `—` | | `error` | `str` | ✓ | `—` | ### `_VerifyOut` — [`tests/test_cmd_verify_hardening.py`](tests/test_cmd_verify_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `repo_id` | `str` | ✓ | `—` | | `refs_checked` | `int` | ✓ | `—` | | `commits_checked` | `int` | ✓ | `—` | | `snapshots_checked` | `int` | ✓ | `—` | | `objects_checked` | `int` | ✓ | `—` | | `signatures_checked` | `int` | ✓ | `—` | | `all_ok` | `bool` | ✓ | `—` | | `check_objects` | `bool` | ✓ | `—` | | `branch` | `str | None` | ✓ | `—` | | `fail_fast` | `bool` | ✓ | `—` | | `failures` | `list[_FailureOut]` | ✓ | `—` | ### `_AddJson` — [`tests/test_cmd_workspace_hardening.py`](tests/test_cmd_workspace_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `url` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | ### `_ListMemberJson` — [`tests/test_cmd_workspace_hardening.py`](tests/test_cmd_workspace_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `url` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `present` | `bool` | ✓ | `—` | | `head_commit` | `str | None` | ✓ | `—` | | `dirty` | `bool` | ✓ | `—` | | `actual_branch` | `str | None` | ✓ | `—` | | `shelf_count` | `int` | ✓ | `—` | | `feature_branches` | `list[str]` | ✓ | `—` | ### `_RemoveJson` — [`tests/test_cmd_workspace_hardening.py`](tests/test_cmd_workspace_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `removed` | `bool` | ✓ | `—` | ### `_SyncJson` — [`tests/test_cmd_workspace_hardening.py`](tests/test_cmd_workspace_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `dry_run` | `bool` | ✓ | `—` | | `workers` | `int` | ✓ | `—` | | `results` | `list[_SyncResultItemJson]` | ✓ | `—` | | `total` | `int` | ✓ | `—` | | `ok_count` | `int` | ✓ | `—` | | `error_count` | `int` | ✓ | `—` | ### `_SyncResultItemJson` — [`tests/test_cmd_workspace_hardening.py`](tests/test_cmd_workspace_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | | `ok` | `bool` | ✓ | `—` | ### `_UpdateJson` — [`tests/test_cmd_workspace_hardening.py`](tests/test_cmd_workspace_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `url` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | ### `_AddJson` — [`tests/test_cmd_worktree_hardening.py`](tests/test_cmd_worktree_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `head_commit` | `str | None` | ✓ | `—` | ### `_ListEntryJson` — [`tests/test_cmd_worktree_hardening.py`](tests/test_cmd_worktree_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `head_commit` | `str | None` | ✓ | `—` | | `is_main` | `bool` | ✓ | `—` | ### `_PruneJson` — [`tests/test_cmd_worktree_hardening.py`](tests/test_cmd_worktree_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `pruned` | `list[str]` | ✓ | `—` | | `count` | `int` | ✓ | `—` | | `dry_run` | `bool` | ✓ | `—` | ### `_RemoveJson` — [`tests/test_cmd_worktree_hardening.py`](tests/test_cmd_worktree_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `status` | `str` | ✓ | `—` | ### `_StatusJson` — [`tests/test_cmd_worktree_hardening.py`](tests/test_cmd_worktree_hardening.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `name` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `path` | `str` | ✓ | `—` | | `head_commit` | `str | None` | ✓ | `—` | | `present` | `bool` | ✓ | `—` | | `is_main` | `bool` | ✓ | `—` | ### `_LangEntry` — [`tests/test_code_commands.py`](tests/test_code_commands.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `language` | `str` | ✓ | `—` | | `files` | `int` | ✓ | `—` | | `symbols` | `int` | ✓ | `—` | | `kinds` | `_KindsMap` | ✓ | `—` | ### `_LangsJson` — [`tests/test_code_commands.py`](tests/test_code_commands.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `languages` | `list[_LangEntry]` | ✓ | `—` | ### `_ShelfEntryData` — [`tests/test_core_gc.py`](tests/test_core_gc.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `id` | `str` | ✓ | `—` | | `snapshot` | `dict[str, str]` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `_BundleDict` — [`tests/test_integrity_I1_read_verify.py`](tests/test_integrity_I1_read_verify.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `objects` | `list[Mapping[str, str | bytes]]` | ✓ | `—` | | `snapshots` | `list[_BundleSnapEntry]` | ✓ | `—` | | `commits` | `list[Mapping[str, str]]` | ✓ | `—` | | `meta` | `Mapping[str, object]` | ✓ | `—` | ### `_BundleSnapEntry` — [`tests/test_integrity_I1_read_verify.py`](tests/test_integrity_I1_read_verify.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot_id` | `str` | ✓ | `—` | | `manifest` | `Manifest` | ✓ | `—` | ### `_CommitJson` — [`tests/test_integrity_I7_history_walk.py`](tests/test_integrity_I7_history_walk.py) Shape of a single commit entry in muse log --json. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `author` | `str` | ✓ | `—` | | `committed_at` | `str` | ✓ | `—` | | `parent_commit_id` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | | `metadata` | `Manifest` | ✓ | `—` | | `sem_ver_bump` | `str` | ✓ | `—` | ### `_LogOutput` — [`tests/test_integrity_I7_history_walk.py`](tests/test_integrity_I7_history_walk.py) Shape of muse log --json output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `truncated` | `bool` | ✓ | `—` | | `commits` | `list[Mapping[str, str]]` | ✓ | `—` | ### `_CommitEntry` — [`tests/test_mpack_cmd_verify.py`](tests/test_mpack_cmd_verify.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `commit_id` | `str` | ✓ | `—` | | `snapshot_id` | `str` | ✓ | `—` | ### `_ObjectEntry` — [`tests/test_mpack_cmd_verify.py`](tests/test_mpack_cmd_verify.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `object_id` | `str` | ✓ | `—` | | `content` | `bytes` | ✓ | `—` | ### `_SnapshotEntry` — [`tests/test_mpack_cmd_verify.py`](tests/test_mpack_cmd_verify.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot_id` | `str` | ✓ | `—` | | `manifest` | `Manifest` | ✓ | `—` | ### `_ShelfEntryData` — [`tests/test_object_store_write_taxonomy.py`](tests/test_object_store_write_taxonomy.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `snapshot` | `dict[str, str]` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `_ShelfEntry` — [`tests/test_phase4_shelf_json.py`](tests/test_phase4_shelf_json.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `id` | `str` | ✓ | `—` | | `name` | `str` | ✓ | `—` | | `snapshot` | `dict[str, str]` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | | `message` | `str` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `intent_type` | `str` | ✓ | `—` | | `resumable` | `bool` | ✓ | `—` | | `metadata` | `dict[str, str]` | ✓ | `—` | ### `_CheckRefFormatResult` — [`tests/test_security_branch_ref_injection.py`](tests/test_security_branch_ref_injection.py) Shape of muse check-ref-format --json output. **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `all_valid` | `bool` | ✓ | `—` | | `valid_count` | `int` | ✓ | `—` | | `invalid_count` | `int` | ✓ | `—` | | `results` | `list[Mapping[str, str | bool | None]]` | ✓ | `—` | | `max_length` | `int` | ✓ | `—` | | `forbidden_chars` | `list[str]` | ✓ | `—` | | `forbidden_patterns` | `list[str]` | ✓ | `—` | | `notes` | `str` | ✓ | `—` | ### `_MinimalShelfEntry` — [`tests/test_security_symlink.py`](tests/test_security_symlink.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `id` | `str` | ✓ | `—` | | `snapshot` | `dict[str, str]` | ✓ | `—` | | `branch` | `str` | ✓ | `—` | | `created_at` | `str` | ✓ | `—` | ### `MidiKwargs` — [`tests/test_stress_midi_all_dims.py`](tests/test_stress_midi_all_dims.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `notes` | `list[tuple[int, int, int]]` | ✓ | `—` | | `pitchwheel` | `list[tuple[int, int]]` | ✓ | `—` | | `control_change` | `list[tuple[int, int, int]]` | ✓ | `—` | | `channel_pressure` | `list[tuple[int, int]]` | ✓ | `—` | | `poly_aftertouch` | `list[tuple[int, int, int]]` | ✓ | `—` | | `program_change` | `list[tuple[int, int]]` | ✓ | `—` | | `set_tempo` | `int` | ✓ | `—` | | `time_sig` | `tuple[int, int]` | ✓ | `—` | | `key_sig` | `str` | ✓ | `—` | | `marker` | `str` | ✓ | `—` | | `track_name` | `str` | ✓ | `—` | | `ticks_per_beat` | `int` | ✓ | `—` | ### `_HubRepo` — [`tests/test_wire_localhost.py`](tests/test_wire_localhost.py) **Bases:** `TypedDict` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `repo_id` | `str` | ✓ | `—` | | `slug` | `str` | ✓ | `—` | | `url` | `str` | ✓ | `—` | ## Protocols ### `HarmonyPlugin` — [`muse/core/harmony/engine.py`](muse/core/harmony/engine.py) Structural protocol for domain-specific similarity scoring. **Bases:** `Protocol` _No annotated fields._ ### `InvariantChecker` — [`muse/core/invariants.py`](muse/core/invariants.py) Protocol every domain invariant checker must satisfy. **Bases:** `Protocol` _No annotated fields._ ### `MuseTransport` — [`muse/core/transport.py`](muse/core/transport.py) Protocol for Muse remote transport implementations. **Bases:** `Protocol` _No annotated fields._ ### `AddressedMergePlugin` — [`muse/domain.py`](muse/domain.py) Optional extension for plugins that use address-keyed Map merge semantics. **Bases:** `MuseDomainPlugin`, `Protocol` _No annotated fields._ ### `CRDTPlugin` — [`muse/domain.py`](muse/domain.py) Optional extension for plugins that want convergent CRDT merge semantics. **Bases:** `MuseDomainPlugin`, `Protocol` _No annotated fields._ ### `HarmonyPlugin` — [`muse/domain.py`](muse/domain.py) Optional extension for plugins that provide domain-aware harmony fingerprinting. **Bases:** `MuseDomainPlugin`, `Protocol` _No annotated fields._ ### `MuseDomainPlugin` — [`muse/domain.py`](muse/domain.py) The six interfaces a domain plugin must implement. **Bases:** `Protocol` _No annotated fields._ ### `StagePlugin` — [`muse/domain.py`](muse/domain.py) Optional extension for plugins that support selective commit staging. **Bases:** `MuseDomainPlugin`, `Protocol` _No annotated fields._ ### `FrameworkPlugin` — [`muse/plugins/code/_framework.py`](muse/plugins/code/_framework.py) Protocol every framework entry-point plugin must satisfy. **Bases:** `Protocol` _No annotated fields._ ### `LanguageAdapter` — [`muse/plugins/code/ast_parser.py`](muse/plugins/code/ast_parser.py) Protocol every language adapter must implement. **Bases:** `Protocol` _No annotated fields._ ### `_DoFn` — [`tests/test_transport_fetch_phase2.py`](tests/test_transport_fetch_phase2.py) **Bases:** `Protocol` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `calls` | `list[str]` | ✓ | `—` | ### `_SideEffectFn` — [`tests/test_transport_push_mpack_put.py`](tests/test_transport_push_mpack_put.py) **Bases:** `Protocol` | Field | Type | Required | Default | |-------|------|:--------:|---------| | `calls` | `list[tuple[str, str, 'dict[str, str]', 'bytes | None']]` | ✓ | `—` |