claude_profile 1.2.0

Claude Code account credential management and token status
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
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:
  # ── features 001–014 / invariants 001–005 (original 14 edges) ────────────

  # feature/002 → feature/001: save triggers store initialization
  - {from: feature/002, to: feature/001, label: "save triggers store init"}

  # feature/004 ↔ invariant/005: switch governed by atomicity invariant
  - {from: feature/004, to: invariant/005, label: "governed by atomicity invariant"}
  - {from: invariant/005, to: feature/004, label: "enforces atomicity on switch"}

  # feature/008 → feature/004: auto_rotate delegates to switch_account
  - {from: feature/008, to: feature/004, label: "delegates to switch_account"}

  # feature/008 → feature/006: auto_rotate triggered by token expiry detection
  - {from: feature/008, to: feature/006, label: "triggered after token expiry check"}

  # feature/009 ↔ feature/013: usage vs live rate-limit are distinct
  - {from: feature/009, to: feature/013, label: "distinct from live rate-limit data"}
  - {from: feature/013, to: feature/009, label: "historical token context"}

  # feature/011 ↔ feature/012: two complementary status commands
  - {from: feature/011, to: feature/012, label: "related: account-store-free alternative"}
  - {from: feature/012, to: feature/011, label: "related: account-store-aware sibling"}

  # feature/013 → feature/011: shares name:: account selection pattern
  - {from: feature/013, to: feature/011, label: "shares name:: account selection pattern"}

  # feature/014 → feature/002: rich metadata extends save()
  - {from: feature/014, to: feature/002, label: "extends save() with metadata snapshots"}

  # feature/014 → feature/003: rich metadata extends list()
  - {from: feature/014, to: feature/003, label: "extends list() with snapshot field reading"}

  # feature/014 → feature/012: rich metadata extends credentials.status
  - {from: feature/014, to: feature/012, label: "adds opt-in fields to credentials.status"}

  # invariant/004 → invariant/001: related boundary constraints
  - {from: invariant/004, to: invariant/001, label: "related boundary constraint"}

  # ── feature/015: Account Name Shortcut Syntax ─────────────────────────────

  # shortcut resolves on switch (account.use) and delete (account.delete)
  - {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"}

  # shortcut syntax shared with renewal override command
  - {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"}

  # ── feature/016: Current Account Awareness ───────────────────────────────

  - {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"}

  # ── feature/017: Expired Token Refresh via Isolated Subprocess ───────────

  - {from: feature/017, to: feature/009, label: "extends usage command with refresh:: param"}

  # ── feature/018: Live Quota Monitor Mode ─────────────────────────────────

  - {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"}

  # ── feature/019: Browser Re-Authentication ───────────────────────────────

  - {from: feature/019, to: feature/017, label: "relogin is fallback when token refresh fails"}

  # ── feature/020: Usage Sort Strategies ───────────────────────────────────

  - {from: feature/020, to: feature/009, label: "sort strategies applied to usage output rows"}
  # feature/023 deprecated — recommendation absorbed into feature/020 (sort::)
  - {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"}

  # ── feature/021: Extended Snapshot Fields ────────────────────────────────

  - {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"}

  # ── feature/022: Org Identity Snapshot ───────────────────────────────────

  - {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"}

  # ── feature/024: Session Touch via Isolated Subprocess ───────────────────

  - {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"}
  # feature/023 deprecated — touch→recommendation now via feature/020
  - {from: feature/024, to: feature/020, label: "touch state affects sort strategy output"}

  # feature/024 ↔ feature/027: post-switch touch delegates to session touch primitive
  - {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"}

  # ── feature/025: Per-Machine Active Marker ───────────────────────────────

  - {from: feature/025, to: feature/002, label: "per-machine marker written at save time"}

  # feature/025 ↔ feature/032: assign command is the per-machine marker write operation
  - {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"}

  # ── feature/026: Subprocess Model and Effort Control ─────────────────────

  - {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"}

  # feature/026 ↔ feature/027: model/effort params forwarded to post-switch touch
  - {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"}

  # ── feature/027: .account.use Post-Switch Touch ──────────────────────────

  - {from: feature/027, to: feature/004, label: "post-switch touch triggered after account.use"}

  # ── feature/028: Usage Row Filtering and Extraction ──────────────────────

  - {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"}
  # feature/023 deprecated — filtering→recommendation now via feature/020

  # ── feature/029: Account Host and Role Metadata ───────────────────────────

  - {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"}

  # ── feature/030: Account Billing Renewal Override ────────────────────────

  - {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"}

  # ── feature/032: Account Marker Assignment ───────────────────────────────

  - {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"}

  # ── feature/033: Quota Cache Fallback ────────────────────────────────────

  - {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"}

  # ── feature/034: Explicit Session Model Override ──────────────────────────

  - {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"}

  # ── feature/035: Dedicated Model Get/Set Command ──────────────────────────

  - {from: feature/035, to: feature/034, label: ".model shares set_session_model() and map_model_shorthand() extracted from validate_set_model()"}

  # ── feature/036: Account Ownership ────────────────────────────────────────

  # 036 outbound: gates on all 9 affected features
  - {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"}

  # 036 inbound: back-references from affected features
  - {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"}

  # ── feature/039: Decision Algorithm Reference ──────────────────────────────

  - {from: feature/039, to: feature/020, label: "documents sort strategy algorithms"}
  - {from: feature/039, to: feature/040, label: "Table 6 documents quota approximation algorithm"}

  # ── feature/040: Quota Measurement History ─────────────────────────────────

  - {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"}

  # ── feature/038: Usage Strategy Rotate ─────────────────────────────────────

  - {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"}

  # 038 inbound: back-references from affected features
  - {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"}

  # ── feature/061: Solo Token Conservation ────────────────────────────────────

  - {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"}

  # 061 inbound: back-references from affected features
  - {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"}

  # ── feature/062: Unified Session Config Recommendation ─────────────────────

  - {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()"}

  # 062 inbound: back-references from affected features
  - {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: []