Skip to content

feat(ingest): archive a folder by its name - #157

Merged
ApiliumDevTeam merged 1 commit into
mainfrom
feat/archived-folders
Oct 16, 2026
Merged

ApiliumDevTeam merged 1 commit into
mainfrom
feat/archived-folders

Conversation

@ApiliumDevTeam

Copy link
Copy Markdown
Contributor

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_SUFFIX and OUT_OF_SCOPE_DIR in service::ingest, checked inside the existing whole-segment exclusion loop (has_excluded_segment), so the walk, targeted ingest and every caller of is_excluded_rel agree.
  • McpPolicy::is_hidden applies 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.
  • Full aingle_cortex lib suite with mcp,mcp-http,dag: 448 passed.

Altretta's release workflow builds against aingle@main, so this needs to land before the 0.9.11 build.

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.
@ApiliumDevTeam
ApiliumDevTeam merged commit 1a9655f into main Oct 16, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant