Publish the memory and tools concept pages the personal-name ignore rules hid - #16
Closed
Parad0x-Labs wants to merge 2 commits into
Closed
Parad0x-Labs wants to merge 2 commits into
Parad0x-Labs wants to merge 2 commits into
Conversation
added 2 commits
September 21, 2026 14:07
…ules hid The bare MEMORY.md/TOOLS.md personal-file rules match the public concept pages docs/concepts/memory.md and docs/concepts/tools.md under core.ignoreCase=true (the macOS default), so git add silently refused them and git status never showed the loss -- the same silent-loss mode the memory/ negation documents. Negate exactly those two tracked pages; every other MEMORY.md/TOOLS.md anywhere stays ignored, on both ignoreCase settings (new probe test). The restored memory page drops the absolutes the owning implementation contradicts: memory lives in VOOL's data home (core/memory/files.py), not the workspace; it is one store per home, not per-workspace; MEMORY.md is a mirror of the entries store, so deleting the file is not erasure -- VOOL's forget operation rewrites both and verifies.
The tools page said changes always ask first. The mode matrix contradicts that: Auto allows creating and editing files and side-effecting commands to run on their own, while deletes, overwrites, installs, git history, deploy, messages, spending and settings still prompt (MODE_PERMISSION_MATRIX in core/mode_permission_policy.py). Say which mode does what, and that the workspace and sandbox checks stay underneath either way. Scope the workspace claim to file tools -- public retrieval is read-only too and reaches outside the workspace (PUBLIC_READ_ONLY_RETRIEVAL). The ignore comment and probe docstring overstates the case-insensitive side: with core.ignoreCase=false only the exact names are ignored; lookalike lowercase files are merely untracked. Describe the matching per setting; rules and assertions unchanged.
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.
Main CI run 35570948370 fails two docs checks:
test_summary_lists_only_pages_that_exist:docs/SUMMARY.mdlistsconcepts/memory.mdandconcepts/tools.md, which are absent from the tracked tree.test_markdown_links_inside_public_pages_resolve:docs/concepts/memory.mddoes not exist on a fresh checkout.Root cause
Demonstrated: the bare
MEMORY.mdandTOOLS.mdpersonal-file rules in.gitignorematch the public concept pages that share their names wherever matching is case-insensitive (core.ignoreCase=true, the macOS default), sogit addsilently refuses the paths andgit statusnever shows the loss - the same silent-loss mode thememory/->!core/memory/negation in.gitignorealready documents. Why the pages were originally omitted from the public tree is inferred from this mechanism, not proven.Changes
.gitignore: two exact, repository-root-relative negations (!docs/concepts/memory.md,!docs/concepts/tools.md) added after the personal-identity block. The broad personal rules are preserved:MEMORY.md/TOOLS.mdstay ignored at the root, nested, and in other casings wherever matching is case-insensitive (with case-sensitive matching only the exact names are ignored).docs/concepts/memory.md,docs/concepts/tools.md: the pages restored, with claims verified against the owning implementation and unsupported absolutes removed or qualified. Memory lives in VOOL's data home (not the workspace), is one store per home (not partitioned per workspace), andMEMORY.mdis a readable mirror of the entries store - erasure goes through VOOL's forget operation, which rewrites store and mirror together and re-reads both to verify. The tools page now states permission by operating mode: Manual asks for every change; Auto runs everyday file and command changes automatically while deletes, overwrites, installs, spending, deploying, messages, settings and git history still ask; the workspace and sandbox checks remain underneath. Workspace confinement is scoped to file tools, since public retrieval is read-only and reaches outside the workspace.tests/test_docs_site_builds.py: a probe test drives a disposable git repository holding this repository's actual.gitignoreunder bothcore.ignoreCasesettings. It pins that both public pages remain addable while root and nestedMEMORY.md/TOOLS.mdstay ignored, plus differently-cased lookalikes wherever matching is case-insensitive. It fails on the baseline configuration for the public-page case. The build-gate test additionally asserts both pages publish and appear in the generated search index.Validation
The complete docs suite passes (6 existing cases preserved + 2 new parametrized = 8 collected), the build/publication gate passes with both pages published and indexed, and pinned ruff 0.16.7 passes.
Known unrelated failures on main (run 35570948370) are out of scope for this branch.
Contributor: sls_0x