chore
BREAKING
main
#1 / 100
chore: ignore .hypothesis, .pytest_cache, .mypy_cache, .ruff_cache; add separation-of-concerns rules
- .museignore: add test/tool cache directories that should never be tracked - .cursorrules + AGENTS.md: enforce frontend separation of concerns (structure/behaviour/style)
+253
symbols added
~153
symbols modified
−11
symbols removed
24
files changed
427
files in snapshot
0
dead code introduced
Semantic Changes
code
417 symbols
+
_CHANNELS
var
variable _CHANNELS L71–71
+
_CHANNEL_MAP
var
variable _CHANNEL_MAP L72–77
+
_branch
func
function _branch L89–90
+
_format_release
func
function _format_release L103–126
+
_repo_id
func
function _repo_id L85–86
+
_resolve_remote_url
func
function _resolve_remote_url L93–100
+
ExitCode
import
import ExitCode L51–51
+
ReleaseChannel
import
import ReleaseChannel L53–53
+
ReleaseRecord
import
import ReleaseRecord L53–53
+
annotations
import
import annotations L42–42
+
argparse
import
import argparse L44–44
+
build_changelog
import
import build_changelog L53–53
+
delete_release
import
import delete_release L53–53
+
get_release_for_tag
import
import get_release_for_tag L53–53
+
json
import
import json L45–45
+
list_releases
import
import list_releases L53–53
+
logging
import
import logging L46–46
+
parse_semver
import
import parse_semver L53–53
+
pathlib
import
import pathlib L47–47
+
read_current_branch
import
import read_current_branch L53–53
+
require_repo
import
import require_repo L52–52
+
resolve_commit_ref
import
import resolve_commit_ref L53–53
+
sanitize_display
import
import sanitize_display L67–67
+
semver_channel
import
import semver_channel L53–53
+
semver_to_str
import
import semver_to_str L53–53
+
sys
import
import sys L48–48
+
uuid
import
import uuid L49–49
+
write_release
import
import write_release L53–53
+
logger
var
variable logger L69–69
+
register
func
function register L395–458
+
run_add
func
function run_add L134–217
+
run_delete
func
function run_delete L328–387
+
run_list
func
function run_list L220–269
+
run_push
func
function run_push L292–325
+
run_show
func
function run_show L272–289
+
_MAX_SEMANTIC_FILES
var
variable _MAX_SEMANTIC_FILES L47–47
+
_api_surface
func
function _api_surface L131–143
+
_build_api_changes
func
function _build_api_changes L146–184
+
_build_file_hotspots
func
function _build_file_hotspots L191–215
+
_build_language_stats
func
function _build_language_stats L91–115
+
_build_refactor_events
func
function _build_refactor_events L218–272
+
_build_symbol_kind_counts
func
function _build_symbol_kind_counts L118–128
+
_compute
func
function _compute L310–422
+
_empty_report
func
function _empty_report L55–74
+
_is_patch_op
func
function _is_patch_op L187–188
+
_is_public_symbol
func
function _is_public_symbol L77–88
+
compute_release_analysis
func
function compute_release_analysis L280–307
+
ApiChangeSummary
import
import ApiChangeSummary L22–22
+
ChangelogEntry
import
import ChangelogEntry L22–22
+
DomainOp
import
import DomainOp L34–34
+
FileHotspot
import
import FileHotspot L22–22
+
LanguageStat
import
import LanguageStat L22–22
+
RefactorEventSummary
import
import RefactorEventSummary L22–22
+
ReleaseRecord
import
import ReleaseRecord L22–22
+
SemanticReleaseReport
import
import SemanticReleaseReport L22–22
+
SymbolKindCount
import
import SymbolKindCount L22–22
+
SymbolRecord
import
import SymbolRecord L42–42
+
SymbolTree
import
import SymbolTree L42–42
+
annotations
import
import annotations L17–17
+
flat_symbol_ops
import
import flat_symbol_ops L35–35
+
is_semantic
import
import is_semantic L35–35
+
language_of
import
import language_of L35–35
+
logging
import
import logging L19–19
+
pathlib
import
import pathlib L20–20
+
read_snapshot
import
import read_snapshot L22–22
+
symbols_for_snapshot
import
import symbols_for_snapshot L35–35
+
touched_files
import
import touched_files L35–35
+
walk_commits_between
import
import walk_commits_between L22–22
+
logger
var
variable logger L44–44
+
TestBuildChangelog
class
class TestBuildChangelog L457–503
+
test_changelog_bounded_by_from_commit
method
method test_changelog_bounded_by_from_commit L473–484
+
test_changelog_from_commits
method
method test_changelog_from_commits L458–471
+
test_changelog_includes_agent_provenance
method
method test_changelog_includes_agent_provenance L494–503
+
test_empty_changelog_same_commit
method
method test_empty_changelog_same_commit L486–492
+
TestParseSemver
class
class TestParseSemver L106–165
+
test_alpha_pre_release
method
method test_alpha_pre_release L129–133
+
test_build_metadata
method
method test_build_metadata L135–140
+
test_invalid_raises
method
method test_invalid_raises L149–153
+
test_leading_zero_minor_valid
method
method test_leading_zero_minor_valid L161–165
+
test_missing_patch_raises
method
method test_missing_patch_raises L155–159
+
test_no_v_prefix
method
method test_no_v_prefix L117–121
+
test_pre_and_build
method
method test_pre_and_build L142–147
+
test_pre_release
method
method test_pre_release L123–127
+
test_stable_version
method
method test_stable_version L107–115
+
TestReleaseCLI
class
class TestReleaseCLI L582–736
+
test_release_add_basic
method
method test_release_add_basic L583–589
+
test_release_add_draft
method
method test_release_add_draft L607–613
+
test_release_add_duplicate_rejected
method
method test_release_add_duplicate_rejected L598–605
+
test_release_add_invalid_semver
method
method test_release_add_invalid_semver L591–596
+
test_release_add_json_output
method
method test_release_add_json_output L615–624
+
test_release_changelog_in_json_output
method
method test_release_changelog_in_json_output L727–736
+
test_release_channel_filter
method
method test_release_channel_filter L715–725
+
test_release_delete_draft
method
method test_release_delete_draft L667–674
+
test_release_delete_published_prompt_abort
method
method test_release_delete_published_prompt_abort L690–703
+
test_release_delete_published_prompt_confirm
method
method test_release_delete_published_prompt_confirm L705–713
+
test_release_delete_published_with_yes
method
method test_release_delete_published_with_yes L676–688
+
test_release_list
method
method test_release_list L626–633
+
test_release_list_empty
method
method test_release_list_empty L635–639
+
test_release_list_json
method
method test_release_list_json L641–650
+
test_release_show
method
method test_release_show L652–660
+
test_release_show_not_found
method
method test_release_show_not_found L662–665
+
TestReleaseRecordSerialisation
class
class TestReleaseRecordSerialisation L226–283
+
_make_release
method
method _make_release L227–241
+
test_draft_round_trip
method
method test_draft_round_trip L256–263
+
test_invalid_channel_defaults_to_stable
method
method test_invalid_channel_defaults_to_stable L265–283
+
test_round_trip
method
method test_round_trip L243–254
+
TestReleaseStore
class
class TestReleaseStore L291–449
+
test_delete_nonexistent_returns_false
method
method test_delete_nonexistent_returns_false L425–429
+
test_delete_release
method
method test_delete_release L403–423
+
test_filter_by_channel
method
method test_filter_by_channel L375–401
+
test_get_release_for_tag
method
method test_get_release_for_tag L431–449
+
test_list_excludes_drafts_by_default
method
method test_list_excludes_drafts_by_default L349–373
+
test_list_releases_newest_first
method
method test_list_releases_newest_first L319–347
+
test_read_missing_returns_none
method
method test_read_missing_returns_none L313–317
+
test_write_and_read
method
method test_write_and_read L292–311
+
TestSemverChannel
class
class TestSemverChannel L188–218
+
test_alpha_channel
method
method test_alpha_channel L201–205
+
test_beta_channel
method
method test_beta_channel L195–199
+
test_nightly_channel
method
method test_nightly_channel L207–211
+
test_rc_defaults_to_stable
method
method test_rc_defaults_to_stable L213–218
+
test_stable_channel_no_pre
method
method test_stable_channel_no_pre L189–193
+
TestSemverToStr
class
class TestSemverToStr L168–185
+
test_round_trip_prerelease
method
method test_round_trip_prerelease L175–179
+
test_round_trip_stable
method
method test_round_trip_stable L169–173
+
test_round_trip_with_build
method
method test_round_trip_with_build L181–185
+
TestWireTagInPack
class
class TestWireTagInPack L511–574
+
test_apply_pack_writes_tags
method
method test_apply_pack_writes_tags L550–574
+
test_build_pack_includes_tags
method
method test_build_pack_includes_tags L512–532
+
test_build_pack_no_tags_when_repo_id_omitted
method
method test_build_pack_no_tags_when_repo_id_omitted L534–548
+
_env
func
function _env L33–34
+
_init_repo
func
function _init_repo L37–52
+
_make_commit
func
function _make_commit L55–98
+
CliRunner
import
import CliRunner L21–21
+
ReleaseRecord
import
import ReleaseRecord L23–23
+
annotations
import
import annotations L13–13
+
datetime
import
import datetime L15–15
+
json
import
import json L16–16
+
pathlib
import
import pathlib L17–17
+
pytest
import
import pytest L20–20
+
uuid
import
import uuid L18–18
+
runner
var
variable runner L25–25
+
TestComputeReleaseAnalysis
class
class TestComputeReleaseAnalysis L115–183
+
test_agent_commit_counted
method
method test_agent_commit_counted L144–152
+
test_empty_manifest_yields_zero_symbols
method
method test_empty_manifest_yields_zero_symbols L130–135
+
test_exception_in_analysis_returns_empty_report
method
method test_exception_in_analysis_returns_empty_report L161–168
+
test_human_commit_counted
method
method test_human_commit_counted L137–142
+
test_missing_snapshot_returns_empty_report
method
method test_missing_snapshot_returns_empty_report L154–159
+
test_returns_semantic_report_shape
method
method test_returns_semantic_report_shape L116–128
+
test_semantic_report_roundtrips_through_release_record
method
method test_semantic_report_roundtrips_through_release_record L170–183
+
TestEmptyReport
class
class TestEmptyReport L105–112
+
test_empty_report_has_all_keys
method
method test_empty_report_has_all_keys L106–112
+
_make_release
func
function _make_release L39–97
+
ChangelogEntry
import
import ChangelogEntry L11–11
+
ReleaseRecord
import
import ReleaseRecord L11–11
+
SemVerTag
import
import SemVerTag L11–11
+
SemanticReleaseReport
import
import SemanticReleaseReport L11–11
+
_empty_report
import
import _empty_report L18–18
+
annotations
import
import annotations L3–3
+
compute_release_analysis
import
import compute_release_analysis L18–18
+
datetime
import
import datetime L7–7
+
pathlib
import
import pathlib L5–5
+
pytest
import
import pytest L9–9
+
timezone
import
import timezone L7–7
+
uuid
import
import uuid L6–6
+
write_release
import
import write_release L11–11
+
repo
func
function repo L27–36
~
table@L177
~
table@L149
−
code@L38
var
variable code@L38 L38–67
−
Branch Discipline — Absolute Rule
section Branch Discipline — Absolute Rule L78–109
−
Enforcement protocol
section Enforcement protocol L98–109
−
table@L100
section table@L100 L100–106
−
Full task lifecycle
section Full task lifecycle L82–98
−
GitHub Interactions — MCP First
section GitHub Interactions — MCP First L109–132
−
table@L113
section table@L113 L113–127
−
Enforcement chain
section Enforcement chain L165–175
−
table@L167
section table@L167 L167–172
+
code@L39
var
variable code@L39 L39–68
+
Frontend Separation of Concerns — Absolute Rule (MuseHub contributions)
section Frontend Separation of Concerns — Absolute Rule (MuseHub contributions) L183–197
+
table@L187
section table@L187 L187–192
+
MuseHub Interactions
section MuseHub Interactions L170–183
+
table@L174
section table@L174 L174–180
+
Version Control — Muse Only
section Version Control — Muse Only L79–170
+
Before merging
section Before merging L109–117
+
code@L111
var
variable code@L111 L111–116
+
Branch discipline — absolute rule
section Branch discipline — absolute rule L142–160
+
Enforcement protocol
section Enforcement protocol L160–170
+
table@L162
section table@L162 L162–167
+
Merging
section Merging L117–124
+
code@L119
var
variable code@L119 L119–123
+
Releasing
section Releasing L124–142
+
code@L126
var
variable code@L126 L126–141
+
Starting work
section Starting work L92–100
+
code@L94
var
variable code@L94 L94–99
+
The mental model
section The mental model L83–92
+
While working
section While working L100–109
+
code@L102
var
variable code@L102 L102–108
~
Muse — Agent Contract
~
Agent Role
~
Anti-Patterns (never do these)
~
Architecture
~
Testing Standards
~
Typing — Zero-Tolerance Rules
~
Verification Checklist
+
release_cmd
import
import release_cmd L110–110
~
agent_map
~
annotate
~
api_surface
~
archive
~
arpeggiate
~
attributes
~
auth
~
bisect
~
blame
~
branch
~
breakage
~
bundle
~
cadence
~
cat
~
check
~
checkout
~
checkout_symbol
~
cherry_pick
~
clean
~
clone
~
clones
~
code_check
~
code_query
~
code_stage
~
codemap
~
commit
~
compare
~
config_cmd
~
content_grep
~
contour
~
core_blame
~
coupling
~
coverage
~
dead
~
density
~
deps
~
describe
~
detect_refactor
~
diff
~
domains
~
fetch
~
find_phrase
~
find_symbol
~
forecast
~
gc
~
grep
~
harmony
~
hotspots
~
hub
~
humanize
~
impact
~
index_rebuild
~
init
~
instrumentation
~
intent
~
invariants
~
invert
~
languages
~
lineage
~
log
~
merge
~
midi_check
~
midi_compare
~
midi_query
~
midi_shard
~
mix
~
motif_detect
~
note_blame
~
note_hotspots
~
note_log
~
notes
~
patch
~
piano_roll
~
plan_merge
~
pull
~
push
~
quantize
~
query
~
query_history
~
rebase
~
reconcile
~
reflog
~
remote
~
rerere
~
reserve
~
reset
~
retrograde
~
revert
~
rhythm
~
scale_detect
~
semantic_cherry_pick
~
shard
~
shortlog
~
show
~
snapshot_cmd
~
stable
~
stash
~
status
~
symbol_log
~
symbols
~
tag
~
tempo
~
tension
~
transpose
~
velocity_normalize
~
velocity_profile
~
verify
~
voice_leading
~
whoami
~
workspace
~
worktree
~
main
~
ExitCode
+
WireTag
class
class WireTag L62–69
+
_tags_for_commits
func
function _tags_for_commits L152–169
+
TagDict
import
import TagDict L31–31
+
TagRecord
import
import TagRecord L31–31
+
get_all_tags
import
import get_all_tags L31–31
+
get_tags_for_commit
import
import get_tags_for_commit L31–31
+
write_tag
import
import write_tag L31–31
~
PackBundle
~
apply_pack
~
build_pack
~
CommitDict
~
CommitRecord
~
SnapshotDict
~
SnapshotRecord
~
read_commit
~
read_snapshot
~
write_commit
~
write_snapshot
+
_ALWAYS_PRUNE_DIRS
var
variable _ALWAYS_PRUNE_DIRS L60–78
+
_BUILTIN_SECRET_PATTERNS
var
variable _BUILTIN_SECRET_PATTERNS L83–93
+
_load_ignore_patterns
func
function _load_ignore_patterns L96–116
+
is_ignored
import
import is_ignored L53–53
+
json
import
import json L48–48
+
load_ignore_config
import
import load_ignore_config L53–53
+
resolve_patterns
import
import resolve_patterns L53–53
~
build_snapshot_manifest
~
walk_workdir
+
ApiChangeSummary
class
class ApiChangeSummary L138–144
+
ChangelogEntry
class
class ChangelogEntry L105–120
+
FileHotspot
class
class FileHotspot L147–152
+
LanguageStat
class
class LanguageStat L123–128
+
RefactorEventSummary
class
class RefactorEventSummary L155–161
+
ReleaseChannel
var
variable ReleaseChannel L80–80
+
ReleaseDict
class
class ReleaseDict L199–216
+
ReleaseRecord
class
class ReleaseRecord L631–710
+
from_dict
method
method from_dict L688–710
+
to_dict
method
method to_dict L667–685
+
SemVerTag
class
class SemVerTag L95–102
+
SemanticReleaseReport
class
class SemanticReleaseReport L164–196
+
SymbolKindCount
class
class SymbolKindCount L131–135
+
_CHANNEL_MAP
var
variable _CHANNEL_MAP L84–89
+
_RELEASES_DIR
var
variable _RELEASES_DIR L73–73
+
_SEMVER_PRE_RE
var
variable _SEMVER_PRE_RE L92–92
+
_SEMVER_RE
var
variable _SEMVER_RE L1165–1169
+
_VALID_CHANNELS
var
variable _VALID_CHANNELS L82–82
+
_releases_dir
func
function _releases_dir L734–737
+
build_changelog
func
function build_changelog L1308–1340
+
delete_release
func
function delete_release L1293–1305
+
get_release_for_tag
func
function get_release_for_tag L1247–1258
+
list_releases
func
function list_releases L1261–1290
+
parse_semver
func
function parse_semver L1172–1189
+
read_release
func
function read_release L1233–1244
+
semver_channel
func
function semver_channel L1202–1216
+
semver_to_str
func
function semver_to_str L1192–1199
+
write_release
func
function write_release L1224–1230
+
create_release
method
method create_release L807–822
+
delete_release_remote
method
method delete_release_remote L846–856
+
list_releases_remote
method
method list_releases_remote L824–844
+
push_tags
method
method push_tags L791–805
+
create_release
method
method create_release L1565–1580
+
delete_release_remote
method
method delete_release_remote L1606–1626
+
list_releases_remote
method
method list_releases_remote L1582–1604
+
push_tags
method
method push_tags L1539–1563
+
create_release
method
method create_release L487–505
+
delete_release_remote
method
method delete_release_remote L527–547
+
list_releases_remote
method
method list_releases_remote L507–525
+
push_tags
method
method push_tags L466–485
+
_coerce_sem_ver_bump
func
function _coerce_sem_ver_bump L985–993
+
_parse_releases_list
func
function _parse_releases_list L996–1059
+
ChangelogEntry
import
import ChangelogEntry L119–119
+
ReleaseDict
import
import ReleaseDict L119–119
+
SemVerTag
import
import SemVerTag L119–119
+
WireTag
import
import WireTag L110–110
~
HttpTransport
~
LocalFileTransport
~
MuseTransport
~
CommitDict
~
FetchRequest
~
ObjectPayload
~
ObjectsChunkResponse
~
PackBundle
~
PushResult
~
RemoteInfo
~
SnapshotDict
+
_BUILTIN_SECRET_PATTERNS
import
import _BUILTIN_SECRET_PATTERNS L96–96
~
CodePlugin
~
snapshot
~
stage_status
~
workdir_snapshot
~
_ALWAYS_IGNORE_DIRS
−
test_hidden_files_excluded
method
method test_hidden_files_excluded L59–64
+
test_dotfiles_tracked_when_not_ignored
method
method test_dotfiles_tracked_when_not_ignored L69–75
+
test_museignore_excludes_custom_pattern
method
method test_museignore_excludes_custom_pattern L77–84
+
test_secrets_excluded_by_builtin_blocklist
method
method test_secrets_excluded_by_builtin_blocklist L59–67
~
TestBuildSnapshotManifest
−
test_walk_excludes_hidden_paths_from_cache
method
method test_walk_excludes_hidden_paths_from_cache L376–385
+
test_walk_excludes_secrets_from_cache
method
method test_walk_excludes_secrets_from_cache L376–386
+
test_walk_tracks_non_secret_dotfiles
method
method test_walk_tracks_non_secret_dotfiles L388–398
~
TestWalkWorkdirCacheIntegration
Files Changed
427 in snapshot
+12
~12
Older
feat(git2muse): auto-run muse init --domain code when .muse/ is …
390ce2eb
All commits
Newer →
Latest on main
No comments yet. Be the first to start the discussion.