Repository navigation
feat(ingest): archive a folder by its name - #157
Merged
Merged
Conversation
A directory whose name ends in -archived (any case), or one named _out-of-scope, now takes its subtree out of the index: its notes stay on disk and in signed history but leave search, grounded retrieval and every MCP read. McpPolicy::is_hidden applies the same rule, so an entry indexed under a folder's pre-archive path is hidden as well.
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.
What
A directory whose name ends in
-archived(any case), or one named_out-of-scope, now takes its whole subtree out of the index. Its notes stay on disk and in signed history, but leave search, grounded retrieval and every MCP read.is_archived_dir_name,ARCHIVED_DIR_SUFFIXandOUT_OF_SCOPE_DIRinservice::ingest, checked inside the existing whole-segment exclusion loop (has_excluded_segment), so the walk, targeted ingest and every caller ofis_excluded_relagree.McpPolicy::is_hiddenapplies the same rule, so an entry still indexed under a folder's path from before it was archived is hidden from every AI surface too.Why
Altretta 0.9.11 keeps Jira and Confluence scopes in their own vault folders. Changing focus archives the previous scope with a single rename, and the rule has to hold for hundreds of notes at once without touching any of them. Making it a folder-name convention means it works the same from the app or from any file manager, and un-archiving is the rename back.
Tests
archived_and_out_of_scope_folders_are_excluded: suffix on a folder at any depth, case-insensitive; not on a file name, not a bare-archived, not near misses (old-archive,archived-notes,_out-of-scope-not).archived_folders_are_hidden_without_being_listed: policy hides archived paths, including IRI and Windows forms.aingle_cortexlib suite withmcp,mcp-http,dag: 448 passed.Altretta's release workflow builds against
aingle@main, so this needs to land before the 0.9.11 build.