docs: retire memory-bank after folding its last unique facts into docs - #889
Merged
Conversation
4 tasks
TKaltofen
force-pushed
the
docs/retire-memory-bank
branch
from
July 30, 2026 16:32
5c0fbfc to
33ec1ec
Compare
The directory was a second, ungated documentation tree. Auditing what was left in it, everything was already covered elsewhere except one table: - Architecture and component roles: docs/docs/index.md, mloda/core/README.md - Transformations over static states: docs/docs/faq.md - Dependency-free core, backends as optional extras: chapter1/compute-frameworks.md - PropertySpec lifecycle: in_depth/property-mapping.md - Cross-repo downstream state: the owning issues listed in epic #761, phase 6 The exception is the table recording which lifecycle stage observes declared (pre-default) options and which observes effective (post-default) ones. It moves into in_depth/property-mapping.md beside the materialization rules, along with three things that page does not state: the compute-boundary call is an idempotent no-op once intake has run, and carries the work only for direct FeatureSet use where colliding twins raise instead of merging; validate_input_features runs before that safety net on the direct path; and GlobalFilter calls match_feature_group_criteria again after intake, so the one classmethod observes both views. The filter pin joins the invariant map. CLAUDE.md and AGENTS.md lose their Memory Bank section in favor of a pointer to the documentation that is actually maintained, and the transient phased-work todo.md moves to the repository root, now gitignored. removes the surface instead of refreshing it a third time.
TKaltofen
force-pushed
the
docs/retire-memory-bank
branch
from
July 30, 2026 16:40
33ec1ec to
39b07b2
Compare
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.
Answers the question "can
memory-bank/be dropped?" with: yes, but not by deleting it, because one thing in it was both unique and more current than its public counterpart.What was in there
memory-bank/was a second documentation tree that nothing depended on: nomkdocs.ymlnav entry, no sdist entry, notox.inior CI reference, no.claude/reference. OnlyCLAUDE.mdandAGENTS.mdpointed at it. It had already shrunk from ten files to two, and that pass also had to delete six stale files and correct a skip count that had drifted. #800 closed on the same premise: stale context in these files misdirects work.Auditing what was left, everything was covered elsewhere:
docs/docs/index.md,mloda/core/README.mddocs/docs/faq.mddocs/docs/chapter1/compute-frameworks.mddocs/docs/in_depth/property-mapping.mdThe part worth keeping
in_depth/property-mapping.mdcalls itself the single source of truth for the option model, but it still said materialization happens "centrally at the compute boundary" and that it "never changes matching or FeatureSet splitting". The compute boundary is now the idempotent safety net, not the primary site, and the splitting half is false:Engine.add_feature_to_collectionrebinds options as a feature enters the plan, precisely so default-equivalent twins canonicalize before splitting. The memory bank described this correctly, so the public page was the stale one.That section is corrected, the declared-vs-effective stage table moves in beside it, and two tests that already pin this behavior join the invariant map. The corrected text also spells out three things the page never stated: that the engine warns on a default-equivalent merge and that the survivor's dependency declaration comes from the first-listed request, that the direct
FeatureSetpath raises rather than merging, and that filter matching callsmatch_feature_group_criteriaagain after intake and therefore sees effective options where resolution saw declared ones.Then the directory goes.
CLAUDE.mdandAGENTS.mdtrade their Memory Bank section for a pointer to the documentation that is actually maintained, including the in-tree READMEs, and the transient phased-worktodo.mdmoves to the repository root and is gitignored.Validation
toxgreen: 7374 passed, 170 skipped, plus ruff format, ruff check, licenses,mypy --strict, bandit. Thepython314env, which is the only one that executes documentation tests, was run separately. The documentation additions are prose and a table, so no new executable code block enters the mktestdocs suite.