meta:
description: Cross-reference graph for feature/ and invariant/ doc instances in claude_profile
node_count: 44
edge_count: 96
component_count: 8
generated: 2026-06-21
scope_note: >
Covers feature/ and invariant/ cross-references only. CLI entities
(command, param, param_group, type, format, workflow_scenario) and
research_interactive/ are excluded — their structure is captured in
per-directory readmes, not cross-reference edges.
nodes:
- id: feature/001
file: feature/001_account_store_init.md
label: Account Store Initialization
entity: feature
- id: feature/002
file: feature/002_account_save.md
label: Save Account
entity: feature
- id: feature/003
file: feature/003_account_list.md
label: List Accounts
entity: feature
- id: feature/004
file: feature/004_account_use.md
label: Switch Account
entity: feature
- id: feature/005
file: feature/005_account_delete.md
label: Delete Account
entity: feature
- id: feature/006
file: feature/006_token_status.md
label: Token Status
entity: feature
- id: feature/007
file: feature/007_file_topology.md
label: File Topology
entity: feature
- id: feature/008
file: feature/008_auto_rotate.md
label: Auto Rotate
entity: feature
- id: feature/009
file: feature/009_token_usage.md
label: Token Usage Reporting
entity: feature
- id: feature/010
file: feature/010_persistent_storage.md
label: Persistent Storage Path
entity: feature
- id: feature/011
file: feature/011_account_status_by_name.md
label: Account Status by Name
entity: feature
- id: feature/012
file: feature/012_live_credentials_status.md
label: Live Credentials Status
entity: feature
- id: feature/013
file: feature/013_account_limits.md
label: Account Rate-Limit Utilization
entity: feature
- id: feature/014
file: feature/014_rich_account_metadata.md
label: Rich Account Metadata
entity: feature
- id: feature/015
file: feature/015_name_shortcut_syntax.md
label: Account Name Shortcut Syntax
entity: feature
- id: feature/016
file: feature/016_current_account_awareness.md
label: Current Account Awareness
entity: feature
- id: feature/017
file: feature/017_token_refresh.md
label: Expired Token Refresh via Isolated Subprocess
entity: feature
- id: feature/018
file: feature/018_live_monitor.md
label: Live Quota Monitor Mode
entity: feature
- id: feature/019
file: feature/019_account_relogin.md
label: Browser Re-Authentication for Named Account
entity: feature
- id: feature/020
file: feature/020_usage_sort_strategies.md
label: Usage Sort Strategies
entity: feature
- id: feature/021
file: feature/021_extended_snapshot_fields.md
label: Extended Snapshot Fields
entity: feature
- id: feature/022
file: feature/022_org_identity_snapshot.md
label: Org Identity Snapshot
entity: feature
- id: feature/023
file: feature/023_next_account_strategies.md
label: "Next Account Recommendation Strategies — DEPRECATED"
entity: feature
- id: feature/024
file: feature/024_session_touch.md
label: Session Touch via Isolated Subprocess
entity: feature
- id: feature/025
file: feature/025_per_machine_active_marker.md
label: Per-Machine Active Marker
entity: feature
- id: feature/026
file: feature/026_subprocess_model_effort.md
label: Subprocess Model and Effort Control
entity: feature
- id: feature/027
file: feature/027_account_use_post_switch_touch.md
label: .account.use Post-Switch Touch
entity: feature
- id: feature/028
file: feature/028_usage_row_filtering.md
label: Usage Row Filtering and Extraction
entity: feature
- id: feature/029
file: feature/029_account_host_metadata.md
label: Account Host and Role Metadata
entity: feature
- id: feature/030
file: feature/030_account_renewal_override.md
label: Account Billing Renewal Override
entity: feature
- id: feature/031
file: feature/031_account_inspect.md
label: Account Inspect
entity: feature
- id: feature/032
file: feature/032_account_assign.md
label: Account Marker Assignment
entity: feature
- id: feature/033
file: feature/033_quota_cache.md
label: Quota Cache Fallback
entity: feature
- id: feature/034
file: feature/034_explicit_session_model_override.md
label: Explicit Session Model Override
entity: feature
- id: feature/035
file: feature/035_model_command.md
label: Dedicated Model Get/Set Command
entity: feature
- id: feature/036
file: feature/036_account_ownership.md
label: Account Ownership
entity: feature
- id: feature/039
file: feature/039_decision_algorithms.md
label: Decision Algorithm Reference
entity: feature
- id: feature/038
file: feature/038_usage_strategy_rotate.md
label: Usage Strategy Rotate
entity: feature
- id: feature/040
file: feature/040_quota_measurement_history.md
label: Quota Measurement History and Polynomial Approximation
entity: feature
- id: feature/061
file: feature/061_solo_token_conservation.md
label: Solo Token Conservation Mode
entity: feature
- id: feature/062
file: feature/062_unified_session_config.md
label: Unified Session Config Recommendation
entity: feature
- id: invariant/001
file: invariant/001_zero_third_party_deps.md
label: Zero Third-Party Dependencies
entity: invariant
- id: invariant/002
file: invariant/002_cross_platform.md
label: Cross-Platform Compatibility
entity: invariant
- id: invariant/003
file: invariant/003_clear_errors.md
label: Clear Error Messages
entity: invariant
- id: invariant/004
file: invariant/004_no_process_execution.md
label: No Process Execution
entity: invariant
- id: invariant/005
file: invariant/005_atomic_switching.md
label: Atomic Account Switching
entity: invariant
- id: invariant/006
file: invariant/006_param_defaults.md
label: Parameters Default to Active Context
entity: invariant
edges:
- {from: feature/002, to: feature/001, label: "save triggers store init"}
- {from: feature/004, to: invariant/005, label: "governed by atomicity invariant"}
- {from: invariant/005, to: feature/004, label: "enforces atomicity on switch"}
- {from: feature/008, to: feature/004, label: "delegates to switch_account"}
- {from: feature/008, to: feature/006, label: "triggered after token expiry check"}
- {from: feature/009, to: feature/013, label: "distinct from live rate-limit data"}
- {from: feature/013, to: feature/009, label: "historical token context"}
- {from: feature/011, to: feature/012, label: "related: account-store-free alternative"}
- {from: feature/012, to: feature/011, label: "related: account-store-aware sibling"}
- {from: feature/013, to: feature/011, label: "shares name:: account selection pattern"}
- {from: feature/014, to: feature/002, label: "extends save() with metadata snapshots"}
- {from: feature/014, to: feature/003, label: "extends list() with snapshot field reading"}
- {from: feature/014, to: feature/012, label: "adds opt-in fields to credentials.status"}
- {from: invariant/004, to: invariant/001, label: "related boundary constraint"}
- {from: feature/015, to: feature/004, label: "shortcut resolves via prefix match on switch"}
- {from: feature/015, to: feature/005, label: "shortcut resolves via prefix match on delete"}
- {from: feature/015, to: feature/030, label: "shortcut syntax applies to renewal override"}
- {from: feature/030, to: feature/015, label: "uses name shortcut for account targeting"}
- {from: feature/016, to: feature/003, label: "current account marker displayed in list"}
- {from: feature/016, to: feature/009, label: "current account marker displayed in usage"}
- {from: feature/017, to: feature/009, label: "extends usage command with refresh:: param"}
- {from: feature/018, to: feature/009, label: "live monitor wraps usage fetch loop"}
- {from: feature/018, to: feature/017, label: "live monitor triggers refresh when expired"}
- {from: feature/019, to: feature/017, label: "relogin is fallback when token refresh fails"}
- {from: feature/020, to: feature/009, label: "sort strategies applied to usage output rows"}
- {from: feature/020, to: feature/018, label: "sort strategies apply in live monitor mode"}
- {from: feature/020, to: feature/008, label: "sort strategies consider auto-rotate candidates"}
- {from: feature/021, to: feature/014, label: "extended snapshot fields add to rich metadata"}
- {from: feature/021, to: feature/003, label: "extended fields displayed in list output"}
- {from: feature/022, to: feature/002, label: "org identity captured at save time"}
- {from: feature/022, to: feature/005, label: "org identity removed on account delete"}
- {from: feature/022, to: feature/014, label: "org identity extends rich metadata"}
- {from: feature/024, to: feature/009, label: "touch embedded in usage fetch cycle"}
- {from: feature/024, to: feature/017, label: "touch uses refresh subprocess pattern"}
- {from: feature/024, to: feature/020, label: "touch state affects sort strategy output"}
- {from: feature/024, to: feature/027, label: "post-switch touch delegates to session touch"}
- {from: feature/027, to: feature/024, label: "account.use touch uses session touch primitive"}
- {from: feature/025, to: feature/002, label: "per-machine marker written at save time"}
- {from: feature/025, to: feature/032, label: "marker write exposed via assign command"}
- {from: feature/032, to: feature/025, label: "marker assignment implements per-machine marker"}
- {from: feature/025, to: feature/004, label: "per-machine marker updated on switch"}
- {from: feature/025, to: feature/015, label: "marker resolution uses prefix shortcut"}
- {from: feature/025, to: invariant/005, label: "marker write is part of atomic switch"}
- {from: feature/026, to: feature/024, label: "model/effort control governs touch subprocess"}
- {from: feature/026, to: feature/017, label: "model/effort control governs refresh subprocess"}
- {from: feature/026, to: feature/027, label: "model/effort params forwarded to post-switch touch"}
- {from: feature/027, to: feature/026, label: "post-switch touch inherits model/effort params"}
- {from: feature/027, to: feature/004, label: "post-switch touch triggered after account.use"}
- {from: feature/028, to: feature/009, label: "row filtering applied to usage output"}
- {from: feature/028, to: feature/020, label: "filtering interacts with sort strategies"}
- {from: feature/029, to: feature/002, label: "host metadata captured at save time"}
- {from: feature/029, to: feature/009, label: "host metadata displayed in usage output"}
- {from: feature/029, to: feature/028, label: "host is a filterable field in row filtering"}
- {from: feature/029, to: feature/025, label: "host metadata written alongside per-machine marker"}
- {from: feature/030, to: feature/002, label: "renewal override stored alongside account at save"}
- {from: feature/030, to: feature/009, label: "renewal override displayed in usage output"}
- {from: feature/032, to: feature/004, label: "assign command interacts with switch primitive"}
- {from: feature/032, to: feature/029, label: "assign uses host metadata from account file"}
- {from: feature/033, to: feature/009, label: "quota cache fallback for usage reporting"}
- {from: feature/033, to: feature/024, label: "cache persists touch state"}
- {from: feature/033, to: feature/026, label: "cache persists model override decision"}
- {from: feature/033, to: feature/029, label: "cache extends account host metadata file"}
- {from: feature/034, to: feature/027, label: "explicit override bypasses auto-override in post-switch touch"}
- {from: feature/034, to: feature/026, label: "set_model:: is orthogonal to imodel:: subprocess model control"}
- {from: feature/034, to: feature/004, label: "set_model:: runs after account.use credential rotation"}
- {from: feature/034, to: feature/009, label: "set_model:: applies to .usage session-model override block"}
- {from: feature/035, to: feature/034, label: ".model shares set_session_model() and map_model_shorthand() extracted from validate_set_model()"}
- {from: feature/036, to: feature/002, label: ".account.save is ownership-neutral — account_save_routine() passes owner: None; owner field preserved via read-merge"}
- {from: feature/036, to: feature/004, label: "G5: .account.use exits 1 when not owned"}
- {from: feature/036, to: feature/005, label: "G6: .account.delete exits 1 when not owned"}
- {from: feature/036, to: feature/009, label: "G1: non-owned accounts use cache as primary fetch source; is_owned JSON field"}
- {from: feature/036, to: feature/017, label: "G2/G3: should_refresh() and apply_refresh() skip non-owned accounts"}
- {from: feature/036, to: feature/019, label: "G7: .account.relogin exits 1 when not owned"}
- {from: feature/036, to: feature/024, label: "G4: apply_touch() skips non-owned accounts"}
- {from: feature/036, to: feature/025, label: "current_identity() reuses resolve_hostname() fallback chain from active marker"}
- {from: feature/036, to: feature/029, label: "owner field extends same {name}.json as host metadata"}
- {from: feature/036, to: feature/033, label: "G1 non-owned path uses quota cache as primary; same display as cache-fallback"}
- {from: feature/036, to: feature/040, label: "G1 non-owned accounts skip history append"}
- {from: feature/002, to: feature/036, label: "save is ownership-neutral — account_save_routine() passes owner: None to save(); .accounts unclaim::1 clears ownership via write_owner(); .account.assign is marker-only — does NOT call write_owner()"}
- {from: feature/004, to: feature/036, label: "G5 ownership guard before switch_account()"}
- {from: feature/005, to: feature/036, label: "G6 ownership guard before credential deletion"}
- {from: feature/009, to: feature/036, label: "G1 non-owned fetch bypass; is_owned propagated to JSON output"}
- {from: feature/017, to: feature/036, label: "G2/G3 ownership gates in refresh predicate and apply_refresh loop"}
- {from: feature/019, to: feature/036, label: "G7 ownership guard before 6-step relogin procedure"}
- {from: feature/024, to: feature/036, label: "G4 ownership gate in apply_touch()"}
- {from: feature/029, to: feature/036, label: "host:: is display label; owner governs enforcement — distinct fields in {name}.json"}
- {from: feature/033, to: feature/036, label: "cache-as-primary interaction for non-owned accounts"}
- {from: feature/039, to: feature/020, label: "documents sort strategy algorithms"}
- {from: feature/039, to: feature/040, label: "Table 6 documents quota approximation algorithm"}
- {from: feature/040, to: feature/033, label: "extends quota cache with measurement history ring buffer"}
- {from: feature/040, to: feature/009, label: "approximated values displayed in usage output"}
- {from: feature/040, to: feature/036, label: "non-owned accounts skip history append (G1 gate)"}
- {from: feature/040, to: feature/039, label: "approximation algorithm documented as Table 6"}
- {from: feature/038, to: feature/020, label: "find_next_for_strategy() reused for rotation target selection"}
- {from: feature/038, to: feature/004, label: "switch_account() called after strategy winner selected"}
- {from: feature/038, to: feature/024, label: "post-switch touch applied from in-memory AccountQuota"}
- {from: feature/038, to: feature/036, label: "G5 ownership gate on rotation eligibility"}
- {from: feature/038, to: feature/008, label: "deprecated predecessor — .account.rotate replaced by rotate::1"}
- {from: feature/020, to: feature/038, label: "footer recommendation used as rotation target; sort strategies shared"}
- {from: feature/004, to: feature/038, label: "switch_account() primitive reused by rotate::1"}
- {from: feature/024, to: feature/038, label: "touch applied post-rotate from in-memory quota"}
- {from: feature/036, to: feature/038, label: "G5 ownership gate enforced on rotate::1"}
- {from: feature/008, to: feature/038, label: "superseded by rotate::1 on .usage"}
- {from: feature/061, to: feature/036, label: "solo gate predicate is_current && is_owned extends ownership checks"}
- {from: feature/061, to: feature/040, label: "approximate_quota() uses Feature 040 polynomial approximation for non-current accounts"}
- {from: feature/061, to: feature/033, label: "approximate_quota() reads quota cache as fallback when history absent"}
- {from: feature/061, to: feature/038, label: "mutually exclusive with rotate::1 — both present exits 1 before fetch"}
- {from: feature/036, to: feature/061, label: "is_current && is_owned used as solo gate predicate"}
- {from: feature/040, to: feature/061, label: "polynomial approximation called by approximate_quota() in solo skip path"}
- {from: feature/033, to: feature/061, label: "quota cache read by approximate_quota() as single-point fallback"}
- {from: feature/038, to: feature/061, label: "rotate::1 and solo::1 are mutually exclusive"}
- {from: feature/062, to: feature/020, label: "adds /{session_effort} suffix to footer Next line recommendation display"}
- {from: feature/062, to: feature/034, label: "set_session_effort() is counterpart to set_session_model() — same read-modify-write pattern"}
- {from: feature/062, to: feature/035, label: "set_session_effort() added as counterpart for effort persistence"}
- {from: feature/062, to: feature/038, label: "rotation dispatcher updated: apply_model_override() + set_session_effort() for winner"}
- {from: feature/062, to: feature/039, label: "recommended_model() is canonical entry point for Table 2 session model override"}
- {from: feature/062, to: feature/026, label: "session effortLevel distinct from subprocess effort:: param; managed via set_session_effort()"}
- {from: feature/020, to: feature/062, label: "footer Next line now shows /{effort} suffix"}
- {from: feature/034, to: feature/062, label: "set_session_effort() counterpart relationship"}
- {from: feature/035, to: feature/062, label: "set_session_effort() added as counterpart for effort persistence"}
- {from: feature/038, to: feature/062, label: "rotation dispatcher updated with model override and effort write for winner"}
- {from: feature/026, to: feature/062, label: "session effortLevel distinct from subprocess effort:: param"}
- {from: feature/039, to: feature/062, label: "recommended_model() documented as canonical entry point in Table 2"}
components:
- id: 1
size: 39
isolated: false
nodes:
- feature/001
- feature/002
- feature/003
- feature/004
- feature/005
- feature/006
- feature/008
- feature/009
- feature/011
- feature/012
- feature/013
- feature/014
- feature/015
- feature/016
- feature/017
- feature/018
- feature/019
- feature/020
- feature/021
- feature/022
- feature/023
- feature/024
- feature/025
- feature/026
- feature/027
- feature/028
- feature/029
- feature/030
- feature/032
- feature/033
- feature/034
- feature/035
- feature/036
- feature/038
- feature/039
- feature/040
- feature/061
- feature/062
- invariant/005
- id: 2
size: 2
isolated: true
nodes: [invariant/001, invariant/004]
gap: >
These two boundary-constraint invariants (zero deps, no process execution) have no
cross-references to the feature or feature-linked invariant components. Isolation is
expected: they govern library-level constraints rather than any specific feature flow.
- id: 3
size: 1
isolated: true
nodes: [feature/007]
gap: >
File Topology is a foundational path-registry capability consumed by all other features
but not cross-referenced back to them in the doc instances. Isolation is expected.
- id: 4
size: 1
isolated: true
nodes: [feature/010]
gap: >
Persistent Storage Path is an orthogonal path-resolution capability with no
cross-references to other doc instances. Isolation is expected.
- id: 5
size: 1
isolated: true
nodes: [feature/031]
gap: >
Account Inspect is a live-only read command (endpoints 001/002/005) that does not
extend any persisted feature flow. It has no doc-level cross-references to other
feature instances. Isolation is expected.
- id: 6
size: 1
isolated: true
nodes: [invariant/002]
gap: >
Cross-Platform Compatibility is a broad constraint that applies across all features
but is not cross-referenced from individual feature doc instances. Isolation is expected.
- id: 7
size: 1
isolated: true
nodes: [invariant/003]
gap: >
Clear Error Messages is a broad quality constraint that applies across all features
but is not cross-referenced from individual feature doc instances. Isolation is expected.
- id: 8
size: 1
isolated: true
nodes: [invariant/006]
gap: >
Parameters Default to Active Context is a cross-cutting behavioral invariant that
governs all parameter resolution but is not cross-referenced from individual feature
doc instances. Isolation is expected.
dangling_refs: []