feat(amicode): context tree marks proprietary vault context locked - #84
Merged
kateebonner merged 1 commit intoJul 28, 2026
Conversation
Not every tree node was openable, but nothing said so: turn nodes wore a pointer cursor that clicked into nothing, and files in non-browsable (proprietary) vaults dead-ended in a Vault-panel refusal after the click. - GET /amicode/vaults now stamps each mount with `browsable`, computed by the vault-browser's fail-closed law (deployment gate + kind/marker rules) - tree leaves in a non-browsable mount render locked: dimmed dot, padlock glyph by the label, not-allowed cursor, click is a no-op, and keyboard nav announces "locked — this vault does not allow browsing" - cursor law is now honest everywhere: pointer only where a click opens something; grab (pan) on turns/skills/agents/actions; the click ring only fires on openable nodes Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
kateebonner
merged commit Jul 28, 2026
4fdaadb
into
kate/context-tree-drop-prompt-text
0 of 4 checks passed
kateebonner
added a commit
that referenced
this pull request
Jul 29, 2026
…ance fix(amicode): land #84 on mainline (locked vault context) — stacked-merge miss
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #83 (merge that first).
What
Two honesty fixes to the context tree's interactivity, from Kate's live testing:
The cursor now tells the truth. Only nodes a click actually opens (project files, browsable vault files) wear the pointer. Turn numerals, skills, agents, and bash actions — which have nothing to open — show the pan cursor (previously turns showed a pointer that clicked into nothing). The click-acknowledgement ring also only fires on openable nodes.
Proprietary context is locked, visibly and upfront. Files that live in a vault mount that refuses browsing (e.g.
armonissima, kindteam, fail-closed per Vault browsing: fail-closed by kind + public-only hackathon mode #69) render dimmed with a padlock glyph, wear anot-allowedcursor, and clicking them is a no-op. Keyboard navigation announces "locked — this vault does not allow browsing". Previously the click dead-ended in a Vault-panel refusal after the fact.How
GET /amicode/vaultsstamps each mount withbrowsable, computed by the vault-browser's existing fail-closed law (browseAlloweddeployment gate +mountBrowseRefusalkind/marker rules). Additive to the relayed wire shape; unparseable CLI bodies pass through untouched.vaultLocked(mount)predicate:browsable:false→ locked; mount missing from the list → locked (can't be browsed anyway); list unavailable or legacy server without the field → status quo (no lock claim we can't back).buildContextTreetakes the predicate; vault leaves carrylocked.not-allowedon hover, no select/ring on click.Verification
/amicode/vaultsstampsarmonia-issimo/armonia-templatebrowsable,armonissimanot; synthetic-tree engine run verifies cursor law (pointer/not-allowed/grab), click no-op on locked, padlock + dim rendering in both themes.🤖 Generated with Claude Code